andreas björklund. undirected hamiltonicity instance: undirected graph g=(v,e) on n vertices....

33
Determinant Sums (and Labeled Walks) for Undirected Hamiltonicity Andreas Björklund

Upload: bryce-tansley

Post on 14-Dec-2015

222 views

Category:

Documents


4 download

TRANSCRIPT

  • Slide 1

Andreas Bjrklund Slide 2 Undirected Hamiltonicity Instance: Undirected graph G=(V,E) on n vertices. Question: Is there a vertex permutation v 1,v 2,,v n such that v i v i+1 in E for all i, including v n v 1 ? Slide 3 Examples Yes No Slide 4 History Introduced by Kirkman 1855. Popularized by Hamilton 1857. Special case of traveling salesman problem studied since 1930. Exact algorithm for TSP in O*(2 n ) time in 1962 by Bellman, Held and Karp, and Gonzalez. Proved NP-complete in Karps 1972 paper. Polynomial space O*(2 n ) time algorithm by Kohn, Gottlieb, and Kohn 1977, Karp 1982, and Bax 1993. Slide 5 Gerhard Woegingers 2003 Survey Open problem: Construct an exact algorithm for the travelling salesman problem with complexity O*(c n ) for some c>n. 3) Assign values from F to x ij,l for all ij in E and labels l in L, uniformly and independently at random. 4) Compute 5) If H nonzero return Yes, else return No."> Algorithm Input: Bipartite graph G=(U,V,E) on n vertices. 1) Reduce to labeled Hamiltonicity instance G=(V,E) and labels L=U. 2) Fix field F of characteristic two of size >>n. 3) Assign values from F to x ij,l for all ij in E and labels l in L, uniformly and independently at random. 4) Compute 5) If H nonzero return Yes, else return No. Slide 20 Analysis Runtime O*(2 |L| ) = O*(2 n/2 ) since computing a numerical determinant is a polynomial time task. No false positives: if H is nonzero there must be a Hamiltonian cycle. False negatives with exponentially small probability of failure (in n): H is an n-degree multivariate polynomial and is zero in at most n/|F| points by the Schwartz-Zippel Lemma. Slide 21 General Graphs vs Bipartite Ones We dont have a natural a priori way of partitioning a graphs vertices in labels and vertices of a labeled Hamiltonicity instance. First idea: we can use subsets (not just singletons) of a label set to label the edges in a labeled cycle cover. We will use a random equipartitioning of the vertices. Problem: We cannot label edges with the empty set. Second idea: we add a few labels on every direct edge. Slide 22 1 4 2 Subset Labeled Hamiltonicity 2 3 4 5 1 3 5 B C A E D {B} {C} n=10 vertices n=n/2=5 vertices |L|=n/2+|L|=7 edge labels L={a,b} {AD} {b} {ADE} {DE} {b} {C} {E}{BADE} {AB} {C} {BADE} {a} {b} Slide 23 How Many Direct Edge Labels are Needed? Consider a fixed Hamiltonian cycle H. If we choose an equipartition of the input graphs vertices and use half of them as vertices in a subset labeled Hamiltonicity instance, we get n/4 direct edges in expectation along H. We need in total n/2+n/4=3n/4 labels. Can we still find a O*(2 |L| ) time algorithm for Subset Label Hamiltonicity? Slide 24 Going Exponential Instead of one matrix per label, we imagine one matrix T X per label subset X. Now gives us what we want. Slide 25 Computing We can use a recursion like the Bellman-Held-Karp- Gonzalez dynammic programming to compute all matrices T X in O*(2 n-n ) time. We can use the fast zeta transform to compute and tabulate the inner sum for all Xs in O*(2 |L| ) time. Slide 26 Analysis and Extensions We still have O*(2 |L| ) time algorithm, and remembering |L|=3n/4 we get O*(1.682 n ) time. We can trade a few labels for a modest exponential number of runs to get an O*(1.657 n ) time algorithm. We can use walks instead of paths in the labels construction getting a polynomial space algorithm with the same running time. By adjoining a new indeterminate we can embed a min-sum semiring in the polynomial and solve for TSP. Slide 27 Another Related Technique (Joint work with Husfeldt, Kaski, and Koivisto) Idea: Count labeled walks instead of labeled cycle covers. We dont need determinants. Previous reductions from Hamiltonicity to Subset Labeled Hamiltonicity still in play. Slide 28 Labeled Walks 1 3 6 5 4 2 F F A B A C D E B D C + E B,D,E Slide 29 Why Label at All? 1 3 6 5 4 2 Counted only once! Slide 30 Aha! Just dont Backtrack 1 3 6 5 4 2 1->6->3->4->6->3->11->6->4->3->6->3->1 Slide 31 What about k-Path? Given undirected graph G=(V,E) and positive integer k, determine if there is a simple path of length k in G. Just count labeled walks of length k instead of closed labeled walks of length n. Then we only need a k/n fraction of the labels! Poly(n,k)1.657 k time algorithm. Slide 32 Open Questions Could 1.657 really be the optimal base? Can we find other k-vertex subgraphs faster with labeling techniques? Can we derandomize the bipartite Hamiltonicity algorithm? Is characteristic two essential? Slide 33 Thank you for listening!