Turing Machines and Equivalent Models

1 / 29

# Turing Machines and Equivalent Models - PowerPoint PPT Presentation

Turing Machines and Equivalent Models. Section 13.2 The Church-Turing Thesis. Section 13.2 The Church-Turing Thesis. The Church-Turing Thesis: Anything that is intuitively computable can be computed by a Turing machine.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' Turing Machines and Equivalent Models' - mariko-ryan

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Turing Machines and Equivalent Models

Section 13.2 The Church-Turing Thesis

Section 13.2 The Church-Turing Thesis
• The Church-Turing Thesis: Anything that is intuitively computable can be computed by a Turing machine.
• It is a thesis rather than a theorem because it relates the informal notion of intuitively computable to the formal notion of a Turing machine.
Computational Models
• A computational model is a characterization of a computing process that describes the form a program and describes how the instructions are executed.
• Example. The Turing machine computational model describes the form of TM instructions and how to execute them.
• Example. If X is a programming language, the X computational model describes the form of a program and how each instruction is executed.
Equivalence of Computational Models
• Two computational models are equivalent in power if they solve the same class of problems.
• Any piece of data for a program can be represented by a string of symbols and any string of symbols can be represented by a natural number.
• So even though computational models may process different kinds of data, they can still be compared with respect to how they process natural numbers.
• We’ll make the assumption that there is an unlimited amount of memory available. So we can represent any natural number or any finite string.
• Each of the following models of computation is equal in power to the TM model.
The Simple Programming Language
• This imperative programming model processes natural numbers. The language is defined as follows:
• Variables have type N.
• Assignment statements:

X := 0; X := succ(Y); X := pred(Y). (assume pred(0) = 0)

• Composition of statements: S1; S2.
• while X ≠ 0 do S od.
• This simple language model has the same power as the Turing machine model.
• For input and output use the values of the variables before and after execution.
Some Macros

X := Y

X := 2

Z := Z + X

Z := X + Y

Z := X monus Y

while X < Y do S od

if X ≠ 0 then S1 else S2 fi

Macro Expansion

X := succ(Y); X := pred(X).

X := 0; X := succ(X); X := succ(X).

C := X;

while C ≠ 0

do Z := succ(Z); C := pred(C) od.

Z := X; C := Y;

while C ≠ 0

do Z := succ(Z); C := pred(C) od.

Z := X; C := Y;

while C ≠ 0 do Z := pred(Z); C := pred(C) od.

T := Y monus X;

while T ≠ 0 do S; T := Y monus X od.

U := X; V := 1;

while U ≠ 0 do S1; V := 0; U := 0 od;

while V ≠ 0 do S2; V := 0 od.

Example/Quiz

To demonstrate the power of this language, define the following macros.

Partial Recursive Functions
• This model consists of a set of functions that take natural numbers as arguments and as values. The functions are defined as follows, where x can represent zero or more arguments.
• Initial functions: zero(x) = 0, succ(n) = n + 1, and projections (e.g., p2(a, b, c) = b).
• Composition: e.g., ƒ(x) = h(g1(x), …, gm(x)), where h, g1, …, gm are partial recursive.
• Primitive recursion:

ƒ(x, 0) = h(x) (h is partial recursive)

ƒ(x, succ(y)) = g(x, y, ƒ(x, y)) (g is partial recursive).

• Unbounded search (minimalization):

ƒ(x) = min(y, g(x, y) = 0) (g is total partial recursive).

• This means that ƒ(x) = y is the minimum y such that g(x, y) = 0, if such a y exists.
• This model for constructing functions has the same power as the Turing machine model.
Example
• The predecessor and monus functions are partial recursive as follows:
• pred(0) = 0
• pred(succ(y)) = y, which can be written in the form p1(y, pred(y)).
• monus(x, 0) = x
• monus(x, succ(y)) = pred(monus(x, y)), which can be written pred(p3(x, y, monus(x, y))).
Quiz
• Show that pred(monus(x, y)) = monus(pred(x), y)).
• Proof: The equation is true if x = 0 or y = 0. So assume x > 0 and y > 0. Then we have:
• pred(monus(x, y)) = if x > y then x – y – 1 else 0
• monus(pred(x), y)) = if x – 1 > y then x – 1 – y else 0.

Although x > y and x – 1 > y are different, the if-then-else values are equal. QED.

Quiz
• Let p and q be partial recursive with p(x), q(x) ∊ {0, 1}, for false and true. Show that the logical operations p(x) Λq(x), ¬ p(x), and p(x) Vq(x), are partial recursive functions.
• Solutions:

p(x) Λq(x) = p(x)q(x)

¬ p(x) = monus(1, p(x))

p(x) Vq(x) = p(x) + monus(1, p(x))q(x).

Examples

Unbounded Search, Minimalization

• ƒ(x) = min(y, xy = 0) defines ƒ(x) = 0.
• ƒ(x) = min(y, x + y = 0)

defines ƒ(x) = if x = 0 then 0 else undefined.

• ƒ(x) = min(y, monus(x, y) = 0) defines ƒ(x) = x.
• ƒ(x) = min(y, monus(y, x) = 0) defines ƒ(x) = 0.
• ƒ(x, y) = min(z, monus(x + z, y) = 0)

defines ƒ(x, y) = if x ≤ y then 0 else undefined

Example/Quiz
• For y ≠ 0, let ƒ(x, y) = min(z, monus(x, yz) = 0). What function does ƒ compute?
• Answer: ƒ(x, y) = ⌈x / y ⌉. To see this, notice that the definition

ƒ(x, y) = min(z, monus(x, yz) = 0)

means that ƒ(x, y) = z is the smallest natural number such that monus(x, yz) = 0.

The definition of monus tells us that

monus(x, yz) = 0 means that x ≤ yz.

So z is the smallest natural number such that x ≤ yz. In other words, we have

y(z – 1) < x ≤ yz.

Divide by y to obtain z – 1 < x/y ≤ z. Therefore z = ⌈x / y ⌉.

Markov Algorithms
• This model processes strings. An algorithm consists of a finite, ordered, sequence of productions of the form x → y, where x, y ∊A* for some alphabet A.
• Any production can be suffixed with (halt) although this is not required.
• Execution

Given an input string w ∊A*, perform the following execution step repeatedly.

• Scan the productions x → y sequentially to see whether x occurs as a substring of w. If so,
• replace the leftmost occurrence of x in w by y and reset w to this string. Otherwise halt.
• If the x → y is labeled with (halt), then halt.
• Assumption: w = Λw. So a production of the form Λ → y would transform w to yw.
• The Markov algorithm model has the same power as the Turing machine model.
Examples
• Example. The Markov algorithm consisting of the single production a → Λ will delete all a’s from any string.
• Example. A more instructive Markov algorithm to delete all a’s from any string over {a, b} can be written as the following sequence of productions (# is an extra symbol).

1. #a → #

2. #b → b#

3. # → Λ (halt)

4. Λ → #.

An example trace: abab (input)

#abab (by 4)

#bab (by 1)

b#ab (by 2)

b#b (by 1)

bb# (by 2)

bb (by 3, halt).

Quiz
• Find a Markov algorithm to replace each a with aa in strings over {a, b}.
• Answer. Modify the previous example:

1. #a → aa#

2. #b → b#

3. # → Λ (halt)

4. Λ → #.

Example/Quiz
• Find a Markov algorithm to delete the rightmost b from strings over {a, b}.
• Solution:

1. #a → a#

2. #b → b#

3. # → @

4. [email protected] → @a

5. [email protected] → Λ (halt)

6. @ → Λ (halt)

7. Λ → #.

Example/Quiz
• Find a Markov algorithm to implement succ(x), where x is a natural number represented in binary. Assume no leading zeros (except 0 itself).
• Solution:

1. #0 → 0#

2. #1 → 1#

3. 0# → 1 (halt)

4. 1# → @0

5. [email protected] → @0

6. [email protected] → 1 (halt)

7. @ → 1 (halt)

8. Λ → #.

Post Algorithms
• This model processes strings. An algorithm consists of a finite set of productions of the form s → t where s and t are strings over the union of an input alphabet A with a set of variables and other symbols. Restriction: If a variable X occurs in t then X occurs in s. A production can be suffixed with (halt) although this is not required.
• Execution

Given an input string w ∊A*, perform the following execution step repeatedly.

• Find a production x → y such that w matches x.
• If so, use the match and y to construct a new string w. Otherwise halt.
• If the x → y is labeled with (halt), then halt.
• Assumption: A variable may match Λ.
Examples
• Example. If the input string is 1, then 1 matches 1X. So a production like 1X → 1X0 would transform 1 into 10.
• The Post algorithm model has the same power as the Turing machine model.
• Example. A Post algorithm with the single production XaY → XY will delete all a’s from any string. Notice the nondeterminism.
Example
• A Post algorithm to replace each a with aa in strings over {a, b}.
• Solution:

1. aX → @aa#X

2. bX → @b#X

3. X#aY → Xaa#Y

4. X#bY → Xb#Y

5. @X# → X (halt).

Example
• A Post algorithm to delete the rightmost b from any string over {a, b}.
• Solution:

1. Xb → X (halt)

2. Xa → X#[email protected]

3. Xa#Y → X#aY

4. Xb#[email protected] → XY (halt)

5. #[email protected] → X (halt).

Example/Quiz
• Find a Post algorithm to implement succ(x), where x is a natural number represented in binary. Assume no leading zeros (except 0 itself).
• Solution:

1. X0 → X1 (halt)

2. X1 → X#0#

3. X1#Y# → X#0Y#

4. X0#Y# → X1Y (halt)

5. #Y# → 1Y (halt).

Post Systems
• This model generates a set of strings from axioms (a given set of strings) and inference rules (a given set of productions that map strings to strings by matching).
• Execution: Match the left side of a production with an axiom string or a string that has already been constructed. Then use the match and the right side to construct a new string.
Example
• A Post system to generate the binary representations of natural numbers:
• Axioms: 0, 1
• Inference Rules:

1X → 1X0

1X → 1X1.

• The system generates the set {0, 1, 10, 11, 100, 101, 110, 111, … }.
Quizzes
• Quiz. Find a Post system to generate {a}*.
• Solution:
• Axiom: Λ
• Inference rule: X → aX.
• Quiz. Find a Post system to generate the set {anbncn| n ∊N}.
• One of Many Solutions:
• Axioms: Λ, abc
• Inference rule: aXbcY→ aaXbbccY.
Post system and Turing machine

The Post system model has the same power as the Turing machine model in the following sense: A function ƒ : A* → A* is Post-computable if there is a Post system to compute the function as a set of ordered pairs in the form {x#ƒ(x) | x ∊A*}. Post-computable functions coincide with Turing-computable functions.

Example/Quiz
• Generate the function ƒ : {a}* → {a}* where ƒ(an) = a2n.
• Solution:
• Axiom: Λ#Λ
• Inference rule:

X#Y → Xa#Yaa (or the simpler X → aXaa)

• This system generates the set {Λ#Λ, a#aa, aa#aaaa, …, an#a2n, … }.
Example/Quiz
• Generate the function ƒ : N → N defined by ƒ(n) = n2, where n is represented as a string over {a} of length n.
• A Solution:
• Axiom: Λ#Λ
• Inference rule: X#Y → Xa#YXXa.
• Proof:
• In terms of natural numbers, from the pair n#n2 we must construct (n + 1)#(n + 1)2.
• We can write (n + 1)2 = n2 + 2n + 1 = n2 + n + n + 1.
• So from n#n2 we must get (n + 1)#(n2 + n + n + 1).
• In terms of strings over {a}, we transform X#Y into Xa#YXXa. QED.