140 likes | 245 Views
Understanding Heuristics for the Hamilton Cycle Problem (what I would like to see other people figure out) R Taylor - DSTO December 2012. Summary. Optimisation form Approximation theory Inapproximation theory Known & Unknown Average case analysis A fuller picture. Optimisation form.
E N D
Understanding Heuristics for theHamilton Cycle Problem(what I would like to see other people figure out)R Taylor - DSTODecember 2012
Summary • Optimisation form • Approximation theory • Inapproximation theory • Known & Unknown • Average case analysis • A fuller picture
Optimisation form • Let M(G), |G|=n be the maximum number of edges in any graph H in which HG and HCn. So M(G)=n G is Hamiltonian. • Consider the optimisation problem of computing M(G). • Equivalent to the Hamiltonian k-completion problem. • G has a Hamiltonian k-completion iff M(G)≥n−k. • M(G)=m iff G has a Ham n−m completion but no n−m−1 completion. • Clearly computing M(G) is NP-hard.
Approximation results • Can find a 2-approximation of M(G) within time n2.5 by using a maximum matching.
…. …. Approximation results • Can find a (3/2)-approximation of M(G) within time n2.5 by building on a maximum matching. • If G is cubic can find a (4/3)-approximation of M(G) within time n1.5 by building on a maximum matching.
Approximation results α-approximation complexity for M(G) 1 1+n−ε 1+1/logn? 1+ε? 3/2 ∞ NP Hard 4/3 P α-approximation complexity for longest path n/logn 1 1+n−ε 1+1/logn? 1+ε? ∞ P NP Hard
Average case analysisof approximation • With a given approximation target compute expected run time • With a given run time compute expected approximation
Unfortunately Approximation results and/or average case results still don’t tell the whole complexity story Say an algorithm for an optimisation problem completes in 2n steps for 1/n2 of the instances, and n steps for 1-1/n2of the instances Then the average case complexity is 1/n2×2n + n×(1-1/n2)→2n/n2
A more complete complexity measure A problem has an (a(n),b(n),c(n)) algorithm, 0≤b(n)≤1, if some b(n) of the instances have a c(n)-approximation algorithm that always completes in time a(n). For all b(n) and c(n) there is a corresponding a(n) which defines a surface. a(n) b(n) c(n)
a(n) - complexity t(n)= # cubic graphs on n vertices f(n)= # non ham cubic graphs on n vertices 1.25n - Print n 1 - b(n) 1 0 coverage A more complete complexity measure Consider cross section defined by c(n)=1, for the problem of computing M(G) in a cubic graph.
c(n) - approximation 10/3 - a(n)=n 4/3 - a(n)=n1.5 1 - b(n) 1 0 coverage A more complete complexity measure Consider cross sections defined by a(n)=n, n2.5, for the problem of computing M(G) in a cubic graph.
a(n) - complexity 1.25n n2.5 1 - c(n) 4/3 1 approx A more complete complexity measure Consider cross sections defined by b(n)=1, for the problem of computing M(G) in a cubic graph.
Cubic graphs Let Cm(n) be the complexity of finding a subgraph H of a hamiltonian cubic graph G (|G|=n) with HCn and |H|≥n−m. Then
Cubic graph construction m copies