This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Module 9 Undecidability What computers can’t do. CS 360: Introduction to the Theory of Computing Daniel G. Brown, University of Waterloo 9.1 Topics for this module • A language that is not decidable • Other undecidable languages • Reduction: how to prove languages undecidable • Undecidable problems in automata theory • End of the course This is by far the most important and interesting material in CS 360. 9.2 1 An undecidable language A language that is not decidable Remember from before: • A language L is decidable or recursive if there exists a Turing machine M such that L = L ( M ) and M halts on all inputs. • A language L is recursively enumerable if there exists a Turing machine M such that L = L ( M ) . Are all languages recursive? No. 9.3 Diagonalization argument We can show this important fact by an argument similar to the one that shows there are more real numbers than integers. This seems counterintuitive; is one version of infinity bigger than another? Yes. • We say two sets S and T are of equal cardinality if there exists a bijection f between S and T . • If S and T are finite, this makes sense in the natural way: they are of equal cardinality if they have the same size. • But for infinite sets it can feel a bit odd: if S = { even integers } , and T = { all integers } , and f ( x ) = x / 2, then we have a bijection between S and T . • So S and T are of equal cardinality, even though S feels “half” the size of T . Are there bigger and smaller infinities? 9.4 1 Countable sets • A set S is countably infinite if S is of equal cardinality as Z or any infinite subset of Z . • A set S is countable if S is of equal cardinality with a subset of Z . • There’s a reason for the name: a countable set S can be described by listing the members: S = { s 1 , s 2 , s 3 ,... s n } if S is finite, or S = { s 1 , s 2 , s 3 ,... } if it is infinite. • A set S is uncountable if it is not countable. • Any listing S = { s 1 , s 2 , s 3 ,... } misses some members of S . Are there any uncountable sets? 9.5 The real numbers between 0 and 1 are uncountable. Consider S = R ∩ [ , 1 ] . Is S countable? • Assume it is. Then S = { s 1 , s 2 ,... } . • Write down the binary representations of all of the numbers of S , in the order s 1 , s 2 ,... • Consider the number a that we get by concatenating the opposite of the i th bit at all positions s i in the list. s 1 = . 11011010111 ... s 2 = . 1 0001111111 ... s 3 = . 11 1 000011101 ... s 4 = . 110 1 11100101 ... ... In this example, a = . 1000 ... . 9.6 The real number a is not one of the s i ! We’ve constructed a so that it is not one of the s i . • It differs from s 1 in the first bit....
View
Full
Document
This note was uploaded on 01/14/2012 for the course CS 360 taught by Professor Johnwatrous during the Winter '08 term at Waterloo.
 Winter '08
 JohnWatrous

Click to edit the document details