turing machines barath raghavan

Post on 02-Feb-2017

257 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Theory ofComputation

Turing machines

Barath RaghavanCS 361 Fall 2009Williams College

MISC

Homework 2 back

What isCOMPUTATION?

1. Computation without storage.(Finite automata, regular expressions)

2. Computation with storage.(Pushdown automata, context-free grammars)

3. Limits of computation.(Turing machines, undecidability)

4. Complexity of computation.(Complexity classes, reductions)

1. Computation without storage.(Finite automata, regular expressions)

2. Computation with storage.(Pushdown automata, context-free grammars)

3. Limits of computation.(Turing machines, undecidability)

4. Complexity of computation.(Complexity classes, reductions)

What isCOMPUTATION?

ALANTURING

What were the limitations of automata?

Suppose you have

infinite storage.

Direct access to storage.

Σ, ΓQ set of states

input, tape alphabet

transitionfunction

q0 ∈ Q start state

accept / rejectstates

TMs

δ : Q× Γ→ Q× Γ× {L, R}

Qaccept ∈ QQreject ∈ Q

Properties of a Turing Machine1. Has an infinite tape.

2. Can read/write from/to the tape.3. Can move left/right on the tape.

4. Has states and transitions that govern its actions.

L = {w#w | w ∈ {0, 1}∗}

How do we recognize this language?

Turing Machine Operation

1. Input starts on the tape.2. Rest of tape is blank.3. No blanks in input.4. TM follows transition rules.5. TM cannot move past left end of tape.6. TM halts on accept/reject.

L = {w#w | w ∈ {0, 1}∗}

How do we recognize this language?

A language is

Turing RecognizableorRecursively Enumerable if some TM recognizes it.

RELanguage Class

A language is

Decidableor

Recursiveif some TM decides it.

Language Class R

Turing machines are more powerful than

pushdown automata.

Let’s build something more powerful than a

Turing machine.

Suppose a Turing machine had

multiple tapes.

Suppose a Turing machine were

nondeterministic.

What if we had a machine that

enumeratedthe strings in a language?

A language is in

only if some enumerator

enumerates it.

RE

What else is equivalent to Turing Machines?

Universal Models of Computation

Lambda Calculus [Church 1936]

Turing Machines [Turing 1936]

Random Access Machines [von Neumann/Turing 1940s]

Programming Languages [Backus 1954]

Cellular Automata [Ulam/von Neumann 1966]

Every universal model of computation allows for

the design of algorithms.

Church-Turing thesis

For every algorithm that solves some problem there is a Turing Machine for that same problem.

Implications of the Church-Turing thesis:

1. No conventional language is more powerful than any other.

2. A problem that can’t be solved on a Turing machine can’t be solved.

Broad unresolved, potential implications of the Church-Turing thesis:

1. The universe is a Turing machine(or if not a Turing machine it still cannot be used for non-recursive computation.)

2. There is no problem solvable by a human brain that cannot be solved by a Turing machine.

As with all science,

this theory is falsifiable:

1. Devise a task a computer cannot do.2. Show that a physical process cannot be replicated by a digital computer.

Reading: Sipser 3.1-3.3

top related