foundations of computer science lecture 27 unsolvable
play

Foundations of Computer Science Lecture 27 Unsolvable Problems No - PowerPoint PPT Presentation

Foundations of Computer Science Lecture 27 Unsolvable Problems No Automatic Program Verifier for Hello-World No Ultimate Debugger or Algorithm for PCP The Complexity Zoo Last Time: Turing Machines Intuitive notion of algorithm Turing Machine


  1. Foundations of Computer Science Lecture 27 Unsolvable Problems No Automatic Program Verifier for Hello-World No Ultimate Debugger or Algorithm for PCP The Complexity Zoo

  2. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 3 ( � G � is the encoding of graph G as a string.) Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  3. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  4. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 1 4 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 2 3 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . 1: Check that � G � is a valid encoding of a graph and mark the first vertex in G . Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  5. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 1 1 4 4 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 2 2 3 3 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . 1: Check that � G � is a valid encoding of a graph and mark the first vertex in G . 2: repeat: Find an edge in G between a marked and an unmarked vertex. Mark the unmarked node or goto step 3 if there is no such edge. Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  6. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 1 1 1 4 4 4 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 2 2 2 3 3 3 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . 1: Check that � G � is a valid encoding of a graph and mark the first vertex in G . 2: repeat: Find an edge in G between a marked and an unmarked vertex. Mark the unmarked node or goto step 3 if there is no such edge. Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  7. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 1 1 1 1 4 4 4 4 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 2 2 2 2 3 3 3 3 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . 1: Check that � G � is a valid encoding of a graph and mark the first vertex in G . 2: repeat: Find an edge in G between a marked and an unmarked vertex. Mark the unmarked node or goto step 3 if there is no such edge. Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  8. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 1 1 1 1 1 4 4 4 4 4 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 2 2 2 2 2 3 3 3 3 3 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . 1: Check that � G � is a valid encoding of a graph and mark the first vertex in G . 2: repeat: Find an edge in G between a marked and an unmarked vertex. Mark the unmarked node or goto step 3 if there is no such edge. Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  9. Last Time: Turing Machines Intuitive notion of algorithm Turing Machine ≡ Solvable problem Turing- decidable ≡ L = {� G � | G is connected } 1 1 1 1 1 1 4 4 4 4 4 4 � G � = 2; 1; 3; 4 # 1,2; 2,3; 1,3; 3,4 2 2 2 2 2 2 3 3 3 3 3 3 ( � G � is the encoding of graph G as a string.) M = Turing Machine that solves graph connectivity input: � G � , the encoding of a graph G . 1: Check that � G � is a valid encoding of a graph and mark the first vertex in G . 2: repeat: Find an edge in G between a marked and an unmarked vertex. Mark the unmarked node or goto step 3 if there is no such edge. 3: reject if there is an unmarked vertex remaining in G ; otherwise accept . To tell your friend on the other coast about this fancy Turing Machine M , encode its description into the bit-string � M � and send over the telegraph. You want to solve a different problem? Build another Turing Machine! Creator: Malik Magdon-Ismail Unsolvable Problems: 2 / 13 Today →

  10. Today: Unsolvable Problems Programmable Turing Machines. 1 Examples of unsolvable problems. 2 Post’s Correspondence Problem (PCP)? HalfSum ? Auto-Grade ? Ultimate-Debugger ? L tm : The language recognized by a Universal Turing Machine. 3 L tm is undecidable – cannot be solved! Auto-Grade and Ultimate-Debugger do not exist. 4 What about HalfSum ? 5 Creator: Malik Magdon-Ismail Unsolvable Problems: 3 / 13 Programmable Turing Machine →

  11. Programmable Turing Machine: Universal Turing Machine A Turing Machine M has a binary encoding � M � . Its input w is a binary string. Creator: Malik Magdon-Ismail Unsolvable Problems: 4 / 13 PCP and HalfSum →

  12. Programmable Turing Machine: Universal Turing Machine A Turing Machine M has a binary encoding � M � . Its input w is a binary string. � M � # w can be the input to another Turing Machine U tm .  halt with accept if M ( w ) = halt with accept ;          U tm ( � M � # w ) =  halt with reject if M ( w ) = halt with reject ;      loop forever if M ( w ) = loop forever ;      U tm outputs on � M � # w whatever M outputs on w . U tm simulates M Creator: Malik Magdon-Ismail Unsolvable Problems: 4 / 13 PCP and HalfSum →

  13. Programmable Turing Machine: Universal Turing Machine A Turing Machine M has a binary encoding � M � . Its input w is a binary string. � M � # w can be the input to another Turing Machine U tm .  halt with accept if M ( w ) = halt with accept ;          U tm ( � M � # w ) =  halt with reject if M ( w ) = halt with reject ;      loop forever if M ( w ) = loop forever ;  computer     U tm outputs on � M � # w whatever M outputs on w . U tm simulates M Creator: Malik Magdon-Ismail Unsolvable Problems: 4 / 13 PCP and HalfSum →

  14. Programmable Turing Machine: Universal Turing Machine A Turing Machine M has a binary encoding � M � . Its input w is a binary string. � M � # w can be the input to another Turing Machine U tm .  halt with accept if M ( w ) = halt with accept ;          U tm ( � M � # w ) =  halt with reject if M ( w ) = halt with reject ;      loop forever if M ( w ) = loop forever ;  computer program     U tm outputs on � M � # w whatever M outputs on w . U tm simulates M Creator: Malik Magdon-Ismail Unsolvable Problems: 4 / 13 PCP and HalfSum →

  15. Programmable Turing Machine: Universal Turing Machine A Turing Machine M has a binary encoding � M � . Its input w is a binary string. � M � # w can be the input to another Turing Machine U tm .  halt with accept if M ( w ) = halt with accept ;          U tm ( � M � # w ) =  halt with reject if M ( w ) = halt with reject ;      loop forever if M ( w ) = loop forever ;  computer program program input     U tm outputs on � M � # w whatever M outputs on w . U tm simulates M Creator: Malik Magdon-Ismail Unsolvable Problems: 4 / 13 PCP and HalfSum →

  16. Programmable Turing Machine: Universal Turing Machine A Turing Machine M has a binary encoding � M � . Its input w is a binary string. � M � # w can be the input to another Turing Machine U tm .  halt with accept if M ( w ) = halt with accept ;          U tm ( � M � # w ) =  halt with reject if M ( w ) = halt with reject ;      loop forever if M ( w ) = loop forever ;  computer program program input     U tm outputs on � M � # w whatever M outputs on w . U tm simulates M Challenge: U tm is fixed but can simulate any M , even one with a million states. Creator: Malik Magdon-Ismail Unsolvable Problems: 4 / 13 PCP and HalfSum →

Recommend


More recommend