 If G is a graph then H is a minor of G if H can be obtained by removing vertices, removing edges, and constracting edges (that is, replacing edge (u,v) with just one vertex that has all the neighbors that u and v had).
 The formal statement of the Graph Minor Theorem (GMT)is: the set of graphs with the minor ordering is a well quasi order. This means that you cannot have an infinite descending sequence of graphs or an infinite set of incomparable graphs, using this ordering.
 The GMT has a hard nonconstructive proof. It was proven in a sequence of papers by Robertson and Seymour entitled `Graph Minors I' `Graph Minors II' etc. It was finally proved in Graph Minors XX. This website claims that it was proven in 1988 but was not published until 2004.
 The proof is not only nonconstructive, but it is provably nonconstructive using Harvey Frideman's Reverse Mathematics framework.

The following two facts, one a corollary of the GMT,
is what yields polytime algorithms:
 For a fixed graph H, there is an O(n^{3}) algorithm for the problem: Given G, is H a minor of G.
 If X is a set of graphs closed under minor then there exists a FINITE set of graphs H_{1},...,H_{a} such that G \in X iff NONE of H_{1},...,H_{a} are minors of G. (This is the corollary to GMT.) EXAMPLE: a graph is planar iff it does not have K_{3,3} or K_{5} as a minor. In this case we know the obstruction set. The proof of GMT does not yield this information.

One easily obtains poly time algorithms (indeed O(n^{3})) for
many problems. Here are two such.
 Fix k. Test if a graph has Vertex Cover of size &le k. (VC_{k})
 Fix g. Test if a graph has genus &le g.
 There are constructive linear time algorithms for the VC_{k}. Last time I checked it was down to O(n + (1.34)^{k}). For the Genus problem I don't know whats known. (Commentators please comment.)
 Fellows and Langston showed how to convert most algorithms (including those for VC and Genus) from poly nonconst to poly constructive. The degree does not go up much (either by 0 or 1), but the order constant gets even worse.
 NOW for the commentators question: is the converse true: does an algorithm for (say) genus g that is in time O(n^{3}) (the order constant may depend on g) imply GMT. I doubt this is true. It may be provably not true given that GMT has a provably nonconstructive proof.

Are there other nonconstructive algorithms? A cheap example are
things like
f(k) = 1 if SAT is in TIME(n^{k}), 0 otherwise
which is in P (its just a step function or the always 0 function) but do not know how to compute it. Are there examples for problems we care about being in P through nonconstructive means that are NOT from GMT? I do not know. Commentatorsplease comment.  There are many problems in NP where if you fix one parameter they are in O(f(k)p(n)) and not O(n^{f(k)}). Such problems are called FIXED PARAMETER TRACTABLE. Downey and Fellows wrote a book on it a while back, though there are more books out now.
 Are there more legit examples? Commentators please comment.
 I will have a later post on nonconstructive things in math.
Computational Complexity and other fun stuff in math and computer science from Lance Fortnow and Bill Gasarch
Friday, January 04, 2008
Graph Minor Theorem and Non Const Algorithms
The last comment on the last post had some questions about
the graph minor theorem and (implicitly) nonconstructive algorithms
in general. Here is some background and answers.
Bojan Mohar describes an algorithm to determine whether a graph as genus at most g in f(g)*O(n) time [STOC 1996, SIAM Discrete Math 1999]. The algorithm either constructs an embedding or finds a forbidden subgraph. I believe the dependence on g is doublyexponential. (The graphgenus problem is NPhard [Thomassen 1989], so exponential in g is the best one can hope for.) A side effect of Mohar's algorithm is a constructive proof of Robertson and Seymour's theorem that genusg graphs have a finite number of forbidden minors.
ReplyDeleteSee also Kawarabayashi and Reed's STOC 2007 paper. They describe an algorithm to determine in f(k)*O(n) time whether a graph can be drawn in the plane with at most k crossings.
A side effect of Mohar's algorithm is a constructive proof of Robertson and Seymour's theorem that genusg graphs have a finite number of forbidden minors.
ReplyDeletePresumably this doesn't actually give an effective way of generating the list of forbidden minors, since such a list is unknown even for g=1.
Does the following problems also follows from GMT:
ReplyDeleteFor a fixed graph H, give a polytime algorithm which given an edgeweighted graph G returns the minimum weight minor of H.
Corrections in previous post,
ReplyDeleteFor a fixed graph H, give a polytime algorithm which given an edgeweighted graph G returns the minimum weight subgraph that contains a minor of H.
The oxymoronic phrase "nonconstructive algorithm" sounds like a Yogiism. Is that expression actually used in the literature, or is it just blogging shorthand for something longer which, while more technically correct, doesn't exactly roll off the tongue (in which case maybe we should call "nonconstructive algorithm" a Gasarchism)?
ReplyDeleteI think the term 'nonconstructive algorithm' makes a lot of sense.
ReplyDeleteConsider primality testing algorithms.
Any currently known fast primality testing algorithm could be considered 'nonconstructive' because in certain cases when they return that a number is composite it proves that there is a factor of the input, but it doesn't tell you what it is.
I don't think "nonconstructive algorithm" is an instantly recognizable, universal technical term, but I've heard it before.
ReplyDeletePrimality testing is not an example in the sense of this posting. What Gasarch is talking about is cases in which you can prove that an algorithm exists but the proof does not actually tell you an algorithm.
This is what happens with the graph minor theorem. Given any minorclosed family of graphs, there is always an algorithm for testing membership. Specifically, the family is characterized by a finite set of excluded minors, and you just need to check for them. However, the proof of the theorem gives no method for actually writing down the excluded minors, and without that this method doesn't lead to an actual algorithm, even though it proves that an algorithm definitely exists.
This comment has been removed by a blog administrator.
ReplyDeleteWhat Gasarch is talking about is cases in which you can prove that an algorithm exists but the proof does not actually tell you an algorithm.
ReplyDeleteThen, from my understanding, an unambiguous way to describe this would be 'nonconstructive proof of existence of an algorithm' since it is the proof which does not supply a construction.
The word 'nonconstructive' is an adjective that, in my usage, means what it modifies does not construct something.
Therefore 'nonconstructive algorithm' would be an algorithm that does not construct something. Further 'nonconstructive proof' would be a proof which does not construct something.
In this case the proof does not construct, but proves the existence of, an algorithm. Hence it is a 'nonconstructive proof', but I do not think the algorithm proven to exist should be called 'nonconstructive' (unless it is also a 'nonconstructive proof' as in the primality testing example).
The example I gave is in fact a 'nonconstructive proof', but since the proof is an algorithm I think the term 'nonconstructive' could be applied. Should it? I think this discussion indicates that it is probably safer to stick with the term 'nonconstructive proof' in which case BG's query (as I currently understand it) becomes "Do there exist more nonconstructive proofs which prove the existence of an algorithm?"
Commenter 9 is correct,
ReplyDeleteso the question should be
Are there OTHER (poly time)
algorithms for problems of
interest where the proof
that the algorithm works,
OR the proof that it terminates
in poly time, is nonconstructive.
bill g.