Download presentation
Presentation is loading. Please wait.
Published byJustin Mathews Modified over 8 years ago
1
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All
2
Some Background At one time, mathematics was used as the model of “Truth”. Plato’s Theory of Forms Natural Law Theory Blaise Pascal (1623-1662)
3
Georg Cantor (1845-1918) Cantor developed the Theory of Sets Out of this theory came several paradoxes –Infinity comes in different sizes –There is some set that is bigger than the universal set. These results, along with others such as non-Euclidean Geometry, left mathematicians feeling “uneasy”.
4
David Hilbert (1862-1943) Wanted all of mathematics characterized by precise definitions, explicit axioms, and rigorous proofs. Felt that this would make the Cantor paradoxes go away. Wanted to find methods that would enable humans to construct proofs of all the true statements in mathematics.
5
Hilbert 2 Hilbert wanted a precise routine for producing results, something formulaic: an algorithm. Hilbert wanted to develop algorithms for solving various types of mathematical problems, perhaps even one algorithm that could solve all mathematical problems in a finite number of steps.
6
David Hilbert –Mathematics is consistent: We cannot prove both a statement and its opposite. We cannot prove something like 1 = 2. –Mathematics is complete: Every true mathematical statement can be proven. Every mathematical assertion can be either proved or disproved. –Mathematics is decidable: For every type of mathematical problem, there is an algorithm that, in theory, will give a solution
7
In 1930, Kurt Gödel shocked the world by proving that the first two are not both true. This was his Incompleteness Theorem. Today, most people hope that it is the second point that is not true. In 1936, Alonzo Church, Stephen Kleene, Emil Post, and Alan Mathison Turing showed that the third point is false.
8
In the previous chapter, we divided problems into 2 categories: tractable (problems with reasonable solutions) and intractable (problems with no reasonable solution). In this chapter, we add a third category: noncomputable. These are problems that have no solution at all. If the problem is a decision problem, it is called undecidable.
9
Some Examples Your textbook presents several sample problems: The Tiling Problem, The Domino Snake Problem, The Word Correspondence Problem, and The Program Verification Problem. The best known example, however, is The Halting Problem.
10
The Halting Problem An Example: Input is integer X (1) while X 1 do (1.1) if (X is even) X = X/2 (1.2) else X = 3*X + 1 (2) halt Does this halt for all integers X?
11
The Halting Problem asks: Given a sufficiently high level programming language, L, can a program, Q, be written in L that will take for input any program, P, written L together with a legal input, X, for P such that Q can determine if P will halt on input X?
12
Proving the Undecidability of the Halting Problem Outline of a proof given by Marvin Minsky Outline of a proof using diagonalization. This technique was “invented” by Georg Cantor
13
Proving Problems Are Undecidable A problem can be shown to be undecidable by reducing a known undecidable problem to it. This is similar to showing a problem is NP- complete. However, there is no restriction that the reduction must be polynomial.
14
Oracle If problem P reduces to problem Q, then P can be decided by an algorithm that transforms an input for P to an input for Q and asks Q for an answer. This type of algorithm is called an oracle. The existence of an oracle means that P’s decidability cannot be any worse than Q’s decidability
15
Reducing the Halting problem to Algorithmic Verification The first undecidable problem was the Halting Problem. This is analogous to SAT and NPC There is a simple reduction from the Halting Problem to the Verification Problem.
16
Certificates for Undecidable Problems Just as an NP-complete problem has a polynomial-sized certificate, so too an undecidable problem can have a certificate. However, certificates for undecidable problems only need to be finite in length. They can be unreasonably long provided they are finite.
17
If an undecidable problem has a certificate, it can be only a 1-way certificate: either a yes-certificate or a no-certificate. An undecidable problem that has a 1-way certificate is termed a partially decidable problem. If the 1-way certificate is a yes certificate, the problem is called recursively enumerable (r.e.).
18
Problems That Are Less Decidable The Halting Problem reduces to the Verification Problem; however, the converse is not true. In some sense, verification is less decidable than halting. Just as there is a hierarchy of complexity classes for tractability, there is a hierarchy of classes for decidability
19
Levels of Algorithmic Behavior Tractable Intractable Undecidable Highly Undecidable Fixed-Width Bounded Dominos Bounded Dominoes Unbounded Dominos Recurring Dominos Figure 8.11, Page 213
20
Computability: Good and Bad Tractable Intractable Undecidable Highly Undecidable Tractable Intractable Undecidable Highly Undecidable In PrincipleIn Practice
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.