Non-constructive Algorithm Existence Proofs
   HOME

TheInfoList



OR:

The vast majority of positive results about
computational problem In theoretical computer science, a computational problem is a problem that may be solved by an algorithm. For example, the problem of factoring :"Given a positive integer ''n'', find a nontrivial prime factor of ''n''." is a computational probl ...
s are
constructive proof In mathematics, a constructive proof is a method of mathematical proof, proof that demonstrates the existence of a mathematical object by creating or providing a method for creating the object. This is in contrast to a non-constructive proof (also ...
s, i.e., a computational problem is proved to be solvable by showing an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
that solves it; a computational problem is shown to be in
P (complexity) In computational complexity theory, P, also known as PTIME or DTIME(''n''O(1)), is a fundamental complexity class. It contains all decision problems that can be solved by a deterministic Turing machine using a polynomial amount of computation time ...
by showing an algorithm that solves it in time that is polynomial in the size of the input; etc. However, there are several
non-constructive In mathematics, a constructive proof is a method of mathematical proof, proof that demonstrates the existence of a mathematical object by creating or providing a method for creating the object. This is in contrast to a non-constructive proof (also ...
results, where an algorithm is proved to exist without showing the algorithm itself. Several techniques are used to provide such existence proofs.


Using an unknown finite set


In combinatorial game theory

A simple example of a non-constructive algorithm was published in 1982 by
Elwyn R. Berlekamp Elwyn Ralph Berlekamp (September 6, 1940 – April 9, 2019) was a professor of mathematics and computer science at the University of California, Berkeley.Contributors, ''IEEE Transactions on Information Theory'' 42, #3 (May 1996), p. 1048. DO10.1 ...
,
John H. Conway John Horton Conway (26 December 1937 – 11 April 2020) was an English people, English mathematician active in the theory of finite groups, knot theory, number theory, combinatorial game theory and coding theory. He also made contributions to ...
, and
Richard K. Guy Richard Kenneth Guy (30 September 1916 – 9 March 2020) was a British mathematician. He was a professor in the Department of Mathematics at the University of Calgary. He is known for his work in number theory, geometry, recreational mathemati ...
, in their book '' Winning Ways for Your Mathematical Plays''. It concerns the game of
Sylver Coinage Sylver coinage is a mathematical game for two players, invented by John H. Conway. It is discussed in chapter 18 of '' Winning Ways for Your Mathematical Plays''. This article summarizes that chapter. The two players take turns naming positive ...
, in which players take turns specifying a positive integer that cannot be expressed as a sum of previously specified values, with a player losing when they are forced to specify the number 1. There exists an algorithm (given in the book as a flow chart) for determining whether a given first move is winning or losing: if it is a
prime number A prime number (or a prime) is a natural number greater than 1 that is not a product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime because the only ways ...
greater than three, or one of a finite set of 3-smooth numbers, then it is a winning first move, and otherwise it is losing. However, the finite set is not known.


In graph theory

Non-constructive algorithm proofs for problems in
graph theory In mathematics, graph theory is the study of ''graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conne ...
were studied beginning in 1988 by
Michael Fellows Michael Ralph Fellows AC HFRSNZ MAE (born June 15, 1952 in Upland, California) is a computer scientist and the Elite Professor of Computer Science in the Department of Informatics at the University of Bergen, Norway as of January 2016. Biograph ...
and
Michael Langston Michael Allen Langston is a professor of electrical engineering and computer science at the University of Tennessee. In several publications with Michael Fellows in the late 1980s, he showed that the Robertson–Seymour theorem could be used to pr ...
. A common question in graph theory is whether a certain input graph has a certain property. For example: :::Input: a graph ''G''. :::Question: Can ''G'' be embedded in a 3-dimensional space, such that no two disjoint cycles of ''G'' are topologically linked (as in links of a chain)? There is a highly exponential algorithm that decides whether two cycles embedded in a 3d-space are linked, and one could test all pairs of cycles in the graph, but it is not obvious how to account for all possible embeddings in a 3d-space. Thus, it is a-priori not clear at all if the linkedness problem is decidable. However, there is a non-constructive proof that shows that linkedness is decidable in polynomial time. The proof relies on the following facts: * The set of graphs for which the answer is "yes" is closed under taking minors. I. e., if a graph G can be embedded linklessly in 3-d space, then every minor of G can also be embedded linklessly. * For every two graphs ''G'' and ''H'', it is possible to find in polynomial time whether ''H'' is a minor of ''G''. * By
Robertson–Seymour theorem In graph theory, the Robertson–Seymour theorem (also called the graph minor theorem) states that the undirected graphs, partially ordered by the graph minor relationship, form a well-quasi-ordering. Equivalently, every family of graphs that is cl ...
, any set of finite graphs contains only a finite number of minor-minimal elements. In particular, the set of "yes" instances has a finite number of minor-minimal elements. Given an input graph ''G'', the following "algorithm" solves the above problem: :: For every minor-minimal element ''H'': :::: If ''H'' is a minor of ''G'' then return "yes". :: return "no". The non-constructive part here is the Robertson–Seymour theorem. Although it guarantees that there is a finite number of minor-minimal elements it does not tell us what these elements are. Therefore, we cannot really execute the "algorithm" mentioned above. But, we do know that an algorithm exists and that its runtime is polynomial. There are many more similar problems whose decidability can be proved in a similar way. In some cases, the knowledge that a problem can be proved in a polynomial time has led researchers to search and find an actual polynomial-time algorithm that solves the problem in an entirely different way. This shows that non-constructive proofs can have constructive outcomes. The main idea is that a problem can be solved using an algorithm that uses, as a parameter, an unknown set. Although the set is unknown, we know that it must be finite, and thus a polynomial-time algorithm exists. There are many other combinatorial problems that can be solved with a similar technique.


Counting the algorithms

Sometimes the number of potential algorithms for a given problem is finite. We can count the number of possible algorithms and prove that only a bounded number of them are "bad", so at least one algorithm must be "good". As an example, consider the following problem. I select a vector ''v'' composed of ''n'' elements which are integers between 0 and a certain constant ''d''. You have to guess ''v'' by asking ''sum queries'', which are queries of the form: "what is the sum of the elements with indices ''i'' and ''j''?". A sum query can relate to any number of indices from 1 to ''n''. How many queries do you need? Obviously, ''n'' queries are always sufficient, because you can use ''n'' queries asking for the "sum" of a single element. But when ''d'' is sufficiently small, it is possible to do better. The general idea is as follows. Every query can be represented as a 1-by-''n'' vector whose elements are all in the set . The response to the query is just the
dot product In mathematics, the dot product or scalar productThe term ''scalar product'' means literally "product with a scalar as a result". It is also used sometimes for other symmetric bilinear forms, for example in a pseudo-Euclidean space. is an algebra ...
of the query vector by ''v''. Every set of ''k'' queries can be represented by a ''k''-by-''n'' matrix over ; the set of responses is the product of the matrix by ''v''. A matrix ''M'' is "good" if it enables us to uniquely identify ''v''. This means that, for every vector ''v'', the product ''M v'' is unique. A matrix ''M'' is "bad" if there are two different vectors, ''v'' and ''u'', such that ''M v'' = ''M u''. Using some algebra, it is possible to bound the number of "bad" matrices. The bound is a function of ''d'' and ''k''. Thus, for a sufficiently small ''d'', there must be a "good" matrix with a small ''k'', which corresponds to an efficient algorithm for solving the identification problem. This proof is non-constructive in two ways: it is not known how to find a good matrix; and even if a good matrix is supplied, it is not known how to efficiently re-construct the vector from the query replies. There are many more similar problems which can be proved to be solvable in a similar way.


Additional examples

* Some computational problems can be shown to be decidable by using the
Law of Excluded Middle In logic, the law of excluded middle (or the principle of excluded middle) states that for every proposition, either this proposition or its negation is true. It is one of the so-called three laws of thought, along with the law of noncontradic ...
. Such proofs are usually not very useful in practice, since the problems involved are quite artificial. * An example from
Quantum complexity theory Quantum complexity theory is the subfield of computational complexity theory that deals with complexity classes defined using quantum computers, a computational model based on quantum mechanics. It studies the hardness of computational problems i ...
(related to
Quantum query complexity In computational complexity the decision tree model is the model of computation in which an algorithm is considered to be basically a decision tree, i.e., a sequence of ''queries'' or ''tests'' that are done adaptively, so the outcome of the previ ...
) is given in.


References


Credits

The references in this page were collected from the following
Stack Exchange Stack Exchange is a network of question-and-answer (Q&A) websites on topics in diverse fields, each site covering a specific topic, where questions, answers, and users are subject to a reputation award process. The reputation system allows th ...
threads: * * * {{Cite web, title=Is there an algorithm that provably exists although we don't know what it is?, url=https://cs.stackexchange.com/q/32325 , website=Computer Science Stack Exchange, accessdate=21 November 2014


See also

* Existence theorem#'Pure' existence results * Constructive proof#Non-constructive proofs Computational complexity theory Constructivism (mathematics)