121,665 research outputs found
Bipartite Perfect Matching in Pseudo-Deterministic NC
We present a pseudo-deterministic NC algorithm for finding perfect matchings in bipartite graphs. Specifically, our algorithm is a randomized parallel algorithm which uses poly(n) processors, poly(log n) depth, poly(log n) random bits, and outputs for each bipartite input graph a unique perfect matching with high probability. That is, on the same graph it returns the same matching for almost all choices of randomness. As an immediate consequence we also find a pseudo-deterministic NC algorithm for constructing a depth first search (DFS) tree. We introduce a method for computing the union of all min-weight perfect matchings of a weighted graph in RNC and a novel set of weight assignments which in combination enable isolating a unique matching in a graph.
We then show a way to use pseudo-deterministic algorithms to reduce the number of random bits used by general randomized algorithms. The main idea is that random bits can be reused by successive invocations of pseudo-deterministic randomized algorithms. We use the technique to show an RNC algorithm for constructing a depth first search (DFS) tree using only O(log^2 n) bits whereas the previous best randomized algorithm used O(log^7 n), and a new sequential randomized algorithm for the set-maxima problem which uses fewer random bits than the previous state of the art.
Furthermore, we prove that resolving the decision question NC = RNC, would imply an NC algorithm for finding a bipartite perfect matching and finding a DFS tree in NC. This is not implied by previous randomized NC search algorithms for finding bipartite perfect matching, but is implied by the existence of a pseudo-deterministic NC search algorithm
Biconnectivity, Chain Decomposition and st-Numbering Using O(n) Bits
Recent work by Elmasry et al. (STACS 2015) and Asano et al. (ISAAC 2014) reconsidered classical fundamental graph algorithms focusing on improving the space complexity. Elmasry et al. gave, among others, an implementation of depth first search (DFS) of a graph on n vertices and m edges, taking O(m lg lg n) time using O(n) bits of space improving on the time bound of O(m lg n) due to Asano et al. Subsequently Banerjee et al. (COCOON 2016) gave an O(m + n) time implementation using O(m+n) bits, for DFS and its classical applications (including testing for biconnectivity, and finding cut vertices and cut edges). Recently, Kammer et al. (MFCS 2016) gave an algorithm for testing biconnectivity using O(n + min{m, n lg lg n}) bits in linear time.
In this paper, we consider O(n) bits implementations of the classical applications of DFS. These include the problem of finding cut vertices, and biconnected components, chain decomposition and st-numbering. Classical algorithms for them typically use DFS and some Omega(lg n) bits of information at each node. Our O(n)-bit implementations for these problems take O(m lg^c n lg lg n) time for some small constant c (c leq 3). Central to our implementation is a succinct representation of the DFS tree and a space efficient partitioning of the DFS tree into connected subtrees, which maybe of independent interest for space efficient graph algorithms
Fast and Compact Distributed Verification and Self-Stabilization of a DFS Tree
We present algorithms for distributed verification and silent-stabilization
of a DFS(Depth First Search) spanning tree of a connected network. Computing
and maintaining such a DFS tree is an important task, e.g., for constructing
efficient routing schemes. Our algorithm improves upon previous work in various
ways. Comparable previous work has space and time complexities of bits per node and respectively, where is the highest
degree of a node, is the number of nodes and is the diameter of the
network. In contrast, our algorithm has a space complexity of bits
per node, which is optimal for silent-stabilizing spanning trees and runs in
time. In addition, our solution is modular since it utilizes the
distributed verification algorithm as an independent subtask of the overall
solution. It is possible to use the verification algorithm as a stand alone
task or as a subtask in another algorithm. To demonstrate the simplicity of
constructing efficient DFS algorithms using the modular approach, We also
present a (non-sielnt) self-stabilizing DFS token circulation algorithm for
general networks based on our silent-stabilizing DFS tree. The complexities of
this token circulation algorithm are comparable to the known ones
Indexing Graph Search Trees and Applications
We consider the problem of compactly representing the Depth First Search (DFS) tree of a given undirected or directed graph having n vertices and m edges while supporting various DFS related queries efficiently in the RAM with logarithmic word size. We study this problem in two well-known models: indexing and encoding models. While most of these queries can be supported easily in constant time using O(n lg n) bits of extra space, our goal here is, more specifically, to beat this trivial O(n lg n) bit space bound, yet not compromise too much on the running time of these queries. In the indexing model, the space bound of our solution involves the quantity m, hence, we obtain different bounds for sparse and dense graphs respectively. In the encoding model, we first give a space lower bound, followed by an almost optimal data structure with extremely fast query time. Central to our algorithm is a partitioning of the DFS tree into connected subtrees, and a compact way to store these connections. Finally, we also apply these techniques to compactly index the shortest path structure, biconnectivity structures among others
๊ณต๊ฐ ํจ์จ์ ์ธ ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ ๋ถ์
ํ์๋
ผ๋ฌธ (์์ฌ)-- ์์ธ๋ํ๊ต ๋ํ์ : ๊ณต๊ณผ๋ํ ์ปดํจํฐ๊ณตํ๋ถ, 2019. 2. Satti, Srinivasa Rao.Various graphs from social networks or big data may contain gigantic data. Searching such graph requires memory scaling with graph. Asano et al. ISAAC (2014) initiated the study of space e๏ฌcient graph algorithms, and proposed algorithms for DFS and some applications using sub-linear space which take slightly more than linear time. Banerjee et al. ToCS 62(8), 1736-1762 (2018) proposed space e๏ฌcient graph algorithms based on read-only memory(ROM) model. Given a graph G with n vertices and m edges, their BFS algorithm spends O(m + n) time using 2n + o(n) bits. The space usage is further improved to nlg3 + o(n) bits with O(mlgn f(n)) time, where f(n) is extremely slow growing function of n. For DFS, their algorithm takes O(m + n) time using O(mlg(m/n)). Chakraborty et al. ESA (2018) introduced in-place model. The notion of in-place model is to relax the read-only restriction of ROM model to improve the space usage of ROM model. Algorithms based on in-place model improve space usage exponentially, to O(lgn) bits, at the expense of slower runtime. In this thesis, we focus on exploring proposed space e๏ฌcient graph algorithms of ROM model and in-place model in detail and evaluate performance of those algorithms. We implemented almost all the best-known space-efficient algorithms for BFS and DFS, and evaluated their performance. Along the way, we also implemented several space-e๏ฌcient data structures for representing bit vectors, strings, dictionaries etc.์์
๋คํธ์ํฌ๋ ๋น
๋ฐ์ดํฐ๋ก๋ถํฐ ์์ฑ๋ ๋ค์ํ ๊ทธ๋ํ๋ค์ ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๊ณ ์๋ค. ์ด๋ฌํ ๊ทธ๋ํ๋ฅผ ํ์ํ๊ธฐ ์ํด์๋ ๊ทธ๋ํ์ ํฌ๊ธฐ์ ๋น๋กํ์ฌ ํ์ํ ๋ฉ๋ชจ๋ฆฌ์ ์ฉ๋์ด ๋์ด๋๋ค. Asano ๋ฑ(ISAAC (2014))์ ๊ณต๊ฐ ํจ์จ์ ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ ์ฐ๊ตฌ๋ฅผ ๊ฐ์ํ๋ค. ์ด ์ฐ๊ตฌ๋ฅผ ํตํด ์ ํ์ ์๊ฐ๋ณด๋ค ์ฝ๊ฐ ๋ ๊ฑธ๋ฆฌ๋ ๋์ ์ ์ ํ์ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ DFS ์๊ณ ๋ฆฌ์ฆ๊ณผ ํ์ฉ ๋ฐฉ์๋ค์ด ์ ์๋๋ค. Banerjee ๋ฑ(ToCS 62(8), 1736-1762 (2018))์ ROM ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ณต๊ฐ ํจ์จ์ ์ธ ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ ์ํ๋ค. ๊ทธ๋ํ G์ n๊ฐ์ ์ ์ ๊ณผ m๊ฐ์ ๊ฐ์ ์ด ์ฃผ์ด์ก์ ๋, O(m + n)์ ์๊ฐ๊ณผ 2n + o(n) ์ ๋นํธ๋ฅผ ์ฌ์ฉํ๋ BFS๊ฐ ์ ์๋๊ณ , f(n)์ n์ ๋น๋กํด์ ๋งค์ฐ ๋๋ฆฌ๊ฒ ์ปค์ง๋ ํจ์๋ผ๊ณ ํ์ ๋, O(mlgnf(n))์ ์๊ฐ๊ณผ nlg3 + o(n)์ ๋นํธ๋ฅผ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์๋๋ค. DFS์ ๊ฒฝ์ฐ, O(m + n)์ ์๊ฐ๊ณผ O(mlg m n )์ ๋นํธ๋ฅผ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์๋๋ค. Chakraborty ๋ฑ(ESA (2018))์ ROM ๋ชจ๋ธ์ด ๊ฐ์ง๊ณ ์๋ ํ๊ณ์ ์ ๋๊ธฐ ์ํด ROM ๋ชจ๋ธ์ ์ ํ์ ์ ์ํ์ํค๋ in-place ๋ชจ๋ธ์ ์๊ฐํ๋ค. In-place ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์๊ณ ๋ฆฌ์ฆ๋ค์ n + O(lgn)์ ๋นํธ๋ฅผ ์ฌ์ฉํ์ฌ BFS์ DFS๋ฅผ ์ํํ ์ ์๊ณ , ์ถ๊ฐ์ ์ผ๋ก ๋ ๊ธด ์๊ฐ์ ์์ํ์ฌ O(lgn) ๋นํธ์ ๊ณต๊ฐ๋ง์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ํํ ์ ์๋ค. ์ด ๋
ผ๋ฌธ์์๋ ROM ๋ชจ๋ธ๊ณผ in-place ๋ชจ๋ธ์์ ์ ์๋ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ฐ๊ตฌ ๋ฐ ๊ตฌํํ๊ณ ์คํ์ ํตํ์ฌ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ์ํ ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๋ค.Abstract i
Contents iii
List of Figures v
List of Tables vi
Chapter 1 Introduction 1
1.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Organization of the Paper . . . . . . . . . . . . . . . . . . . . . . 2
Chapter 2 Preliminaries 4
2.1 ROM Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 In-place Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Succinct Data Structure . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Changing Base Without Losing Space . . . . . . . . . . . . . . . 6
2.5 Dictionaries With Findany Operation . . . . . . . . . . . . . . . 7
Chapter 3 Breadth First Search 9
3.1 ROM model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Rotate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Implicit model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
iii
Chapter 4 Depth First Search 14
4.1 ROM model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Rotate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3 Implicit model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Chapter 5 Experimental Results 22
5.1 BFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 DFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Chapter 6 Conclusion 40
์์ฝ 46
Acknowledgements 47Maste
- โฆ