Efficient Algorithms for Listing Combinatorial Structures Leslie
Total Page:16
File Type:pdf, Size:1020Kb
Efficient Algorithms for Listing Combinatorial Structures Leslie Ann Goldberg Ph. D. University of Edinburgh 1991 1 Abstract This thesis studies the problem of designing efficient algorithms for listing combinatorial structures. The main notion of efficiency that we use is due to Johnson, Yannakakis, and Papadimitriou. It is called polynomial delay. A listing algorithm is said to have delay d if and only if it satisfies the following conditions whenever it is run with any input p: It executes at most d(p) machine instructions before either producing the first output or halting. After any output it executes at most d(p) machine instructions before either producing the next output or halting. An algorithm is said to have polynomial delay if its delay is bounded from above by a polynomial in the length of the input. In the thesis we also define a weaker notion of efficiency which we call cumulative polynomial delay. There are some families of combinatorial structures for which it is easy to design a polynomial delay listing algorithm. For example, it is easy to design a polynomial delay algorithm that takes as input a unary integer m and lists all n-vertex graphs. In this thesis we focus on more difficult problems such as the following. Problem 1 - Listing unlabeled graphs Design a polynomial delay algorithm that takes as input a unary inte- ger n and lists exactly one representative from each isomorphism class in the set of n-vertex graphs. Problem 2 - Listing Hamiltonian graphs Design a polynomial delay algorithm that takes as input a unary in- teger n and lists all Hamiltonian n-vertex graphs. We start the thesis by developing general methods for solving listing prob- lems such as 1 and 2. Then we apply the methods to specific combinatorial families obtaining various listing algorithms including the following. 1. A polynomial space polynomial delay listing algorithm for unlabeled graphs 11 A polynomial space polynomial delay listing algorithm for any first order one propertyf A polynomial delay listing algorithm for Hamiltonian graphs A polynomial space polynomial delay listing algorithm for graphs with cliques of specified sizes A polynomial space cumulative polynomial delay listing algorithm for k-colorable graphs We conclude the thesis by presenting some related work. First, we com- pare the computational difficulty of listing with the difficulty of solving the ex- istence problem, the construction problem, the random sampling problem, and the counting problem. Next, we consider a particular computational counting problem which is related to a listing problem described earlier in the thesis. The counting problem that we consider is the problem of evaluating Pólya's cycle index polynomial. We show that the problem of determining particular coefficients of the polynomial is #P-hard and we use this result to show that the evaluation problem is #P-hard except in certain special cases. We also show that in many cases it is NP-hard even to evaluate the cycle index polynomial approximately. f A first order graph property is called a one property if and only if it is the case that almost every graph has the property. in Acknowledgements My advisor Mark Jerrum has made a significant contribution to the work described in this thesis and to my mathematical education. I am grateful to him for suggesting the topic of this thesis, for teaching me how to develop intuition about mathematical problems, for reading my work, and for making many helpful suggestions. I am also grateful to my second advisor, Alistair Sinclair, who has read much of my work and provided encouragement and useful suggestions. I am grateful to Bob Hiromoto and Olaf Lubeck of Los Alamos and to Corky Cartwright, Ken Kennedy, and other professors at Rice for helping me to develop the academic self-confidence that sustained me during difficult times. Finally, I am grateful to the Marshall Aid Commemoration Commission of the UK and to the National Science Foundation of the USA for providing the financial support for my PhD. Table of Contents v Table of Contents Abstract.... ............................................................... j General References.....................................................vii Index of Notation and Terms.........................................viii Introduction ..........................................................1 1.1. Families of Combinatorial Structures ........................1 1.2. Motivation ....................................................... 4 1.2.1. Designing Useful Algorithms...........................4 1.2.2. Discovering General Methods for Algorithm Design. 5 1.2.3. Learning about Combinatorial Structures.............5 1.3. Listing Algorithms.............................................6 1.4. Efficient Listing Algorithms...................................8 1.5. Synopsis of the Thesis........................................10 1.6. Bibliographic Notes ..........................................13 Techniques for Listing Combinatorial Structures.................17 2.1. Basic Building Blocks ........................................17 2.1.1. Recursive Listing.......................................17 2.1.2. Random Sampling.......................................26 2.2. Using Listing Algorithms for Closely Related Families.. .43 2.2.1. The Interleaving Method..............................44 2.2.2. The Filter Method .....................................46 2.3. Avoiding Duplicates ...........................................51 2.3.1. Probabilistic Algorithms...............................51 Example 1: A family of colorable graphs ...............54 Example 2: A family of unlabeled graphs ..............57 2.3.2. Deterministic Algorithms...............................61 Example 1: A family of colorable graphs ...............65 Example 2: A family of unlabeled graphs ..............78 Applications to Particular Families of Structures .................90 3.1. First Order Graph Properties ................................92 3.2. Hamiltonian Graphs ............................... ........... 99 3.3. Graphs with Cliques of Specified Sizes .....................102 3.3.1. Graphs with Small Cliques ........................... 102 3.3.2. Graphs with Large Cliques ............................ 105 3.3.3. Graphs with Cliques whose Sizes are Between log(n) and 2log(n) ...........................110 Vi Table of Contents 3.4. Graphs which can be Colored with a Specified Number ofColors......................................................111 3.4.1. Digression - The Problem of Listing k-Colorings. 123 Directions for Future Work on Listing ...........................128 Related Results ....................................................139 5.1. Comparing Listing with other Computational Problems. 139 5.2. Evaluating the Cycle Index Polynomial...................145 5.2.1. Evaluating and Counting Equivalence Classes......150 5.2.2. The Difficulty of Evaluating the Cycle Index Polynomial.............................................151 5.2.3. The Difficulty of Approximately Evaluating the Cycle Index Polynomial..........................162 Bibliography ................................................... ...... 166 vii General References Background material and definitions of standard terms and notation can be found in the following references. Algorithms and Discrete Mathematics ........[AHU 74, CLR 90, Knu 731 Complexity Theory .......................................[GJ 79, HU 79] Graph Theory .................................... [Gib 85, Bol 85, Hof 821 Probability Theory.......................................[Fel 68, Bol 85] Permutation Groups ............................[Led 73, BW 79, Hof 821 Pólya Theory (and Burnside's Lemma) ..........[HP 73, DeB 64, PR 87] viii Index of Notation and Terms Index of Notation and Terms - (the difference operator on families) ..............................43 < (ordering of vertices by index)....................................19 < (lexicographic ordering on subsets) ...............................20 (equivalence relation on colored graphs) ...........................54 (isomorphism relation on graphs).................................57 IAut(C)I (the size of the automorphism group of every member of C) 59 CS ..............................................44 C13 (Cl (n) = set of n-vertex graphs with a j(n)-clique) ............. 102 Th ..................................................137 Fm ..................................................................135 g (g(n) = set of n-vertex graphs) ....................................1 ((n) = set of isomorphism classes of c(n)) ........................ 3 cbk (cbk(n) = set of balanced k(n)-colored n-vertex graphs) .........65 Gbk (bk(n) = set of equivalence classes under of cbk(n)) ......... 65 ck (ck(n) = set of k(n)-colored n-vertex graphs) ....................54 1i (k(n) = set of equivalence classes under of gk(n)) .............. 54 G[V] (the subgraph of C induced by the vertices in V) ...............73 Fk (rk(c) = set of graphs with coloring C) ......................... 65 rG(V) (the set of neighbors of v in C) ...............................20 ICI (the length of list C) .............................................46 C[i] (the ith structure on C) .........................................46 £[i, j] (the sub-list C[i],... , C[j]) .................................... 46 £ / C (the sub-list consisting of all structures on £ that belong to classes in C) ................................... 47 log(n) (logarithm of n to the base 2) .................................12