Download presentation

Published byMiranda Page Modified over 4 years ago

1
Theory of Computation CS3102 – Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia

2
**Midterm Grading Don’t panic! We’re generous with extra credit**

The class is absolutely curved… usually heavily Curve assessed before extra credit I am open to requests for changing the grading scheme provided: The new scheme is proposed by a student and accompanied by a reasonable fairness argument (Have fun with this! The exercise could be useful in asking for a raise in the future.) The originally posted scheme remains a lower bound on each student’s grade The scheme is approved by class vote.

3
**Closure Properties of Decidable Languages**

Exercise: Is this language decidable? 𝐿= if Kentucky wins the tournament otherwise

4
**Closure Properties of Decidable Languages**

Theorem: The decidable langs are closed under concatenation. Using a 3-tape machine: Tape 1: save input remember factor attempts Tape 2: tape for Machine 1 Tape 3: tape for Machine 2 a b b a $ 1 input index a a b b b b a a

5
**Closure Properties of Decidable Languages**

Theorem: The decidable langs are closed under concatenation. Using non-determinism: Tape 1: input Tape 2: tape for Machine 1 Tape 3: tape for Machine 2 Copy some characters from the first tape to tape 2 Nondeterminstically decide when to copy the rest onto tape 3 a b b a a b b a

6
**Closure Properties of Decidable Languages**

Theorem: The decidable langs are closed under Kleene star. Similar to concatenation, but now we also try all possible numbers of concatenations. Tape 1: a b b a $ $ input index Number of concatenations

7
**Closure Properties of Decidable Languages**

Theorem: The decidable langs are closed under Kleene star. Similar to concatenation, but now we also try all possible numbers of concatenations. Alternative method using non-determinism: Non-deterministically insert $’s into the input. The machine must accept each of these substrings. a $ b b $ a

8
Bogus Sentences “In a very real sense, these problems are beyond the theoretical limits of computation.” [referring to problems unsolvable by Turing Machines] Why it’s not bogus: Turing machines have become the definition of computation. “Students commonly ask this question, especially when preparing solutions to exercises and problems…” [the question being about proper level of detail] My inbox last week disagrees

9
My Bogus Sentence “A turing machine can do everything a real computer can do.” Correctly guessed by Tory Steining. Why it’s bogus: Things “real” computers can do: Stop a door Lodge fish Snuggle Generate Heat

10
**We have shown now: “Can be simulated by” Regular TM 2-dimensional TM**

2-tape, 2-head TM Nondeterministic TM 3-tape, 3-head TM 2-PDA

11
**Can one TM simulate every TM?**

Can a TM simulate a TM? Yes, obviously. Can one TM simulate every TM?

12
**An every Turing Machine**

Input: < Description of some TM M, w > Output: result of running M on w M Universal Turing Machine Output Tape for running TM-M starting on tape w w How do we know these exist?

13
**Examples of Universal Turing Machines**

14
Lego Turing Machines See:

15
Tinker Toy Computers Plays tic-tac-toe!

16
**Hydraulic Computers Theorem: fluid-based “circuits”**

Wire Diode Resistor Capacitor Simple circuit Theorem: fluid-based “circuits” are Turing-complete / universal! Transistor

17
**Universal Turing Machines**

People have designed Universal Turing Machines with 4 symbols, 7 states (Marvin Minsky) 4 symbols, 5 states 2 symbols, 22 states 18 symbols, 2 states 2 states, 5 symbols (Stephen Wolfram) November 2007: 2 state, 3 symbols

18
**2-state, 3-symbol Universal TM**

Sequence of configurations

19
**Alex Smith, University of Birmingham**

Of course, simplicity is in the eye of the beholder. The 2,3 Turing machine described in the dense new 40-page proof “chews up a lot of tape” to perform even a simple job, Smith says. Programming it to calculate 2 + 2, he notes, would take up more memory than any known computer contains. And image processing? “It probably wouldn't finish before the end of the universe,” he says.

20
**Acceptance Problem How can we state this as a language problem?**

Input: A Turing Machine M and an input w. Output: Yes/no indicating if M eventually enters qAccept on input w. How can we state this as a language problem?

21
**Acceptance Language Is ATM Turing-recognizable?**

ATM = { <M, w> | M is a TM description and M accepts input w } If we can decide if a string is in ATM, then we can solve the Acceptance Problem (as defined on the previous slide). Is ATM Turing-recognizable?

22
Turing-Recognizable A language L is “Turing-recognizable” if there exists a TM M such that for all strings w: If w L eventually M enters qaccept If w L either M enters qreject or M never terminates

23
**Universal Turing Machine Recognizing ATM w**

Run a UTM on <M, w> to simulate running M on w. If the UTM accepts, <M, w> is in ATM. M Universal Turing Machine Output Tape for running TM-M starting on tape w w

24
**Recognizability of ATM**

Recognizable Languages Decidable Languages Regular Languages CFLs finite Languages Deterministic CFLs ATM Is it inside the Decidable circle?

25
Undecidability of ATM Proof-by-contradiction. We will show how to construct a TM for which it is impossible to decide ATM. Assume there exists some TM H that decides ATM. Define D (<M>) = Construct a TM that: Outputs the opposite of the result of simulating H on input <M, <M>> If M accepts its own description <M>, D(<M>) rejects. If M rejects its own description <M>, D(<M>) accepts.

26
**Reaching a Contradiction**

Assume there exists some TM H that decides ATM. Define D (<M>) = Construct a TM that: Outputs the opposite of the result of simulating H on input <M, <M>> If M accepts its own description <M>, D(<M>) rejects. If M rejects its own description <M>, D(<M>) accepts. What happens if we run D on its own description, <D>? If D accepts its own description <D>, D(<D>) rejects. If D rejects its own description <D>, D(<D>) accepts. substituting D for M…

27
**Reaching a Contradiction**

Assume there exists some TM H that decides ATM. Define D (<M>) = Construct a TM that: Outputs the opposite of the result of simulating H on input <M, <M>> If D accepts <D>: H(D, <D>) accepts and D(<D>) rejects If D rejects <D>, H(D, <D>) rejects and D(<D>) accepts Whatever D does, it must do the opposite, so there is a contraction!

28
**Proving Undecidability**

Assume there exists some TM H that decides ATM. Define D (<M>) = Construct a TM that: Outputs the opposite of the result of simulating H on input <M, <M>> Whatever D does, it must do the opposite, so there is a contraction! So, D cannot exist. But, if H exists, we know how to make D. So, H cannot exist. Thus, there is no TM that decides ATM.

Similar presentations

© 2020 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google