Download presentation

Presentation is loading. Please wait.

Published byMiranda Page Modified over 2 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

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google