
DECIDING ST-CONNECTIVITY IN UNDIRECTED GRAPHS USING LOGARITHMIC SPACE MASTERS THESIS Presented in Partial Fulfillment of the Requirements for the Degree Master of Science in the Graduate School of the Ohio State University By Peter Lawson Maceli, B.A. ***** The Ohio State University 2008 Approved by Thesis Committee: Professor Neil Robertson, Advisor Advisor Professor Timothy Carlson Graduate Program in Mathematics ABSTRACT In 2004 Omer Reingold gave a deterministic log-space algorithm which solves the problem of st-connectivity in undirected graphs. The motivating idea behind Rein- gold’s algorithm was the observation that this problem is essentially trivial for con- stant degree graphs with logarithmic diameter. The crux of Reingold’s algorithm is that an arbitrary undirected graph can be transformed in log-space into such a graph. Though this transformation results in a much more complicated graph it allows us to solve this fundamental algorithmic question in log-space. Additionally, the problem of undirected st-connectivity is complete for the space complexity class SL, the class of problems solvable by symmetric, non-deterministic, log-space computations. And so as a corollary to Reingold’s log-space algorithm we have that SL=L, where L is the class of problems solvable by deterministic log-space computations. In this thesis, we examine this algorithm in depth and discuss a number of its consequences. ii Dedicated to my father iii ACKNOWLEDGMENTS Mathematically, I would like to thank my advisor Professor Neil Robertson and Pro- fessor Tim Carlson for all their help and support in preparing this thesis. Additionally, I would also like to thank the following teachers who have had a great impact on me: Professor Yuiji Ilyashenko at Cornell University, Professor David Brown at Ithaca College, Professor Heather Johnston at Vassar College, Professor Alan Greenleaf at the University of Rochester, as well as Dave Bock, Marytherese Pasquale-Bowen, Roselyn Teukolsky and Steve Weissburg at Ithaca High School. Personally, I would like to thank the following people for all their years of friend- ship: Emile and the entire Bokaer family, Andrew Douglas, Mike Erb, Anthony Fischetti, Jake Hascup, George and Sarah Herman, Daniel Hochman, Jesse Pompilio, John George Regula, Damon Vorce and Alexis Zaharris. Finally, I would like to thank my family: My sister Monica, my mother Alison and my father John. iv VITA 2006-Present . Graduate Teaching Associate, The Ohio State University 2006 . B.A. in Mathematics, cum laude, Cornell University PUBLICATIONS Research Papers • D. Brown, Symmetric Fractal Trees in Three Dimensions, Chaos, Solitons & Fractals, 32(2): 284-295, 2007. • T. Brendle and B. Farb, The Birman-Craggs-Johnson Homomorphism and Abelian Cycles in the Torelli Group, Mathematische Annalen, 338(1): 33-53, 2007. FIELDS OF STUDY Major Field: Mathematics Specialization: Combinatorics v TABLE OF CONTENTS Abstract . ii Dedication . iii Acknowledgments . iv Vita......................................... v CHAPTER PAGE 1 Introduction . 1 2 Preliminaries . 3 2.1 Computational complexity basics . 3 2.2 Expander graphs . 9 2.3 The problem of undirected st-connectivity . 18 3 Undirected st-connectivity in log-space . 24 3.1 ST-Connectivity in constant degree expander graphs . 24 3.2 The zig-zag product . 26 3.3 Transforming graphs into expanders . 30 3.4 Reingold’s log-space algorithm for USTCON . 35 4 Consequences of Reingold’s algorithm . 39 4.1 SL=L . 39 4.2 Additional problems solvable in log-space . 40 Bibliography . 41 vi CHAPTER 1 INTRODUCTION Imagine you find yourself in a new city with no map and only the address of the house where you’re staying. Assuming that you’re too stubborn to stop and ask for directions, you instead opt to set off on foot in hopes of finding the house. In doing so you are effectively creating your own map of the city. And so if you’re careful you can be sure to not to go around in circles, visiting the same streets and places again and again. This approach will eventually get you to your destination but it requires a tremendous amount of time and memory, linear in the size of the city. However, suppose you don’t have anything to write with and thus you can only remember the address of the house you’re trying to find, where you currently are and perhaps a few more items of that magnitude, logarithmic in the size of the city. That is, suppose you could only remember an effectively finite number of streets, landmarks and locales. Could you ever hope to arrive at your destination? Mathematically, this situation can be viewed as a problem exploring a given undirected graph. Specifically, the problem of determining whether we can find a path between two particular vertices. In this thesis we present a (surprising) algorithm, due to Reingold, which allows us to answer this fundamental question when we only allow ourselves an extremely limited amount of memory. 1 In Chapter 2, we present the necessary background material and work needed to define and analyze this problem. In particular, we present some computational complexity basics which allow us to rigorously define the amount of space required by a computation. We then give a short introduction to expander graphs, which are the central underlying mathematical object of this thesis. Finally, we give a brief summary of the previous work done on this problem. In Chapter 3, we present in full Reingold’s log-space undirected st-connectivity algorithm. We begin with the motivating result that the problem is essentially trivial for constant-degree expander graphs. We then define the zig-zag graph product which is of great use as it allows us to increase the expansion of a given graph via powering while maintaining a graph of constant degree. This graph product in then used to define a log-space transformation capable of converting a general inputed undirected graph into an expander graph of constant-degree. Finally, we show how Reingold used this transformation to give an algorithm capable of solving undirected st-connectivity in logarithmic space. In Chapter 4, we examine the consequences of Reingold’s algorithm in the context of the space complexity hierarchy surrounding logarithmic space. In doing so we obtain his celebrated result that SL = L. We also present a number of other graph theoretic problems which as a result of this reduction can now also be solved in logarithmic space. 2 CHAPTER 2 PRELIMINARIES 2.1 Computational complexity basics Definition 2.1.1. A k-string Turing machine, where k ≥ 1 is an integer, is a quadru- ple M = (K, Σ, δ, s). Where K is a finite set of states that the machine may assume and s ∈ K is the initial state. Σ is a finite set of symbols, referred to as the alpha- bet of M, which we assume is disjoint from K. Additionally, Σ always contains the special symbols t and . : The blank and the first symbol. Finally, δ is a transition function which maps K × Σk to (K ∪ {h, “yes”, “no”}) × (Σ × {←, →, −})k. Where the halting state h, the accepting state “yes”, the rejecting state “no” and the cursor directions ← for “left,” → for “right” and − for “stay” are not in K ∪ Σ. We think of δ as the “program” of our machine. For given a state and read symbols δ dictates the next step our machine takes. That is, δ(q, σ1, . , σk) = (p, ρ1,D1, . , ρk,Dk) means that if M is in state q and the cursor on the ith string reads in a σi then the next state of M will be p and cursor on the ith string will write ρi and then move in the direction indicated by Di. A configuration of a k-string Turing machine is a (2k + 1)-tuple (q, w1, u1, . , wk, uk), where q is the current state, the ith string reads wiui and 3 the cursor on the ith string is reading in the last symbol of wi.A k-string Turing machine M starts its computation on an input string x ∈ (Σ − {t})∗ with the configuration (s, ., x, ., , . , ., ). If M halts at a “yes” configuration after some M ∗ number of steps, which we denote (s, ., x, ., , . , ., ) −−→ (“yes”, w1, u1, . , wk, uk) for some strings w1, u1, . , wk, uk, then we say that M(x) = “yes”. Likewise, if M ∗ halts at a “no” configuration after some number of steps, say (s, ., x, ., , . , ., ) −−→M (“no”, w1, u1, . , wk, uk), then we say that M(x) = “no”. Definition 2.1.2. A language L is a subset L ⊂ (Σ − {t})∗, that is, a set of strings of symbols. Let M be a Turing machine such that, for any string x ∈ (Σ − {t})∗, if x ∈ L then M(x) = “yes” and if x∈ / L then M(x) = “no”. Then we say M decides L. This set up may seem too simplistic to tackle very complex programming problems but in fact this is all we need. It is also enough to define the intuitive notion of run- time. Definition 2.1.3. Suppose that for a k-string Turing machine M and input x M t (s, ., x, ., , . , ., ) −−→ (H, w1, u1, . , wk, uk) for some H ∈ {h, “yes”, “no”}. Then the time required by M on input x is t. Furthermore, suppose that f is a function from N to N. We say that the Turing machine M operates within the time bound f(n) if for any input string x the time required by M on x is at most f(|x|), where |x| denotes the length of the string x. That is, the time required for a “program” to run is simply the number of steps required for the corresponding Turing machine to halt.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages49 Page
-
File Size-