50
Chapter 11 Models of Computation 國國國國國國國國 國國國國國 國國國 (Chuan-Yu Chang ) 國國 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: [email protected]. tw

Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: [email protected]

  • View
    220

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

Chapter 11Models of Computation

Chapter 11Models of Computation

國立雲林科技大學 電子工程系張傳育 (Chuan-Yu Chang ) 博士Office: ES 709

TEL: 05-5342601 ext. 4337

E-mail: [email protected]

國立雲林科技大學 電子工程系張傳育 (Chuan-Yu Chang ) 博士Office: ES 709

TEL: 05-5342601 ext. 4337

E-mail: [email protected]

Page 2: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

2

What is a Model?What is a Model?

Models are very important way of studying many physical and social phenomena.

The characteristics of modelsCaptures the essence of the real thing

The important properties of the real thing

Probably differs in scale from the real thing

Suppresses details of the real thing

Lacks the full functionality of the real thing.

Page 3: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

3

ExamplesExamples

The model might be a physical model or a pencil-and-paper mathematical model.Physical models

Model carsDollsVelcro-covered balls stuck together in a certain way to represent the molecular structure.

Mathematical modelsd = r x t (gives the distance d that a moving vehicle travels as the product of rate r and time t)Weather system

Page 4: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

4

What is a Model? (cont.)What is a Model? (cont.)

The modelsMight be a physical model or a pencil-and paper mathematical model.Can enhance our understanding of the phenomena being modeled.Give us a safe and controlled environment to play with “what ifs”Can provide environments for learning and practicing interactions with various phenomena.Can be used as design tools.

But, the information gained is only as good as the assumptions made in building the model.

Page 5: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

5

A Model of a Computing AgentA Model of a Computing Agent

We want to construct a model for the “computing agent” that will capture its fundamental properties and enable us to explore the capabilities and limitations of computation in the most general sense.

Constructing a model is to abstract the important properties of the phenomenon being modeled while suppressing lower-level details.

Page 6: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

6

Properties of A Computing AgentProperties of A Computing Agent

We shall require that any computing agentCan accept inputCan store information in and retrieve it from memoryCan take actions according to algorithm instructions, and that the choice of what action to take may depend on the present state of the computing agent as well as on the input item presently being processedCan produce output

Page 7: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

7

The Turing Machine: Historical ProspectiveThe Turing Machine: Historical Prospective

Computing: something done by electronic computerInterest in the theoretical nature of computation far predated the advent of modern computers.In 1900s, mathematicians are interested in formalizing the nature of proof, with two goals in mind:

Guarantee the correctness of a proofAllow for mechanical theorem proving

In 1931, an Austrian logician named Kurt GidelIn any reasonable system, there will be true statements about arithmetic that cannot be proved using that system (formal system).This led to interest in finding a way to recognize which statements are indeed unprovable in a formal system.Leads to the study of the nature of computation procedure itself.

We will look at the model proposed by Alan Turing.

Page 8: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

8

The Turing MachineThe Turing Machine

A Turing machine includes a (conceptual) tape that extends infinitely in both directions.The tape is divided into cells, each of which contains one symbol.The symbols must come from a finite set of symbols called the alphabet.The alphabet always contains a special symbol b (for “blank”), usually both of the symbols 0 and 1, and others.At any point in time, only a finite number of cells contain nonblank symbols.

Page 9: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

9

The Turing Machine (cont’d)The Turing Machine (cont’d)

Example:

The tape will be used to hold input to the Turing machine.The Turing machine will write its output on the tape.The tape will also serve as memory.

. b b 0 1 1 b b . .. .

Page 10: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

10

The Turing Machine (cont’d)The Turing Machine (cont’d)

The rest of the Turing machine consists of a unit that reads one cell of the tape at a time and writes a symbol in that cell.

There is a finite number k of “states” of the machine, labeled 1,2,…,k, and at any moment, the unit is in one of these states.

A Turing machine configuration:

. b b 0 1 1 b b . .. .

1 (current state of the machine)

Page 11: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

11

The Turing Machine (cont’d)The Turing Machine (cont’d)

The Turing machine is designed to carry out only one type of primitive operation.Each time such an operation is done, three actions take place:

Write a symbol in the cellGo into a new stateMove one cell left or right

The details of the actions depend on the current state of the machine and on the contents of the tape cell currently being read (the input).

Page 12: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

12

Primitive Operation (Instruction)Primitive Operation (Instruction)

Each instruction tells what to do for a specific current state and current input symbol.

If you are in state iand

you are reading symbol jthen

write symbol k onto the tapego into state smove in direction d

Page 13: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

13

Shorthand Notation for Turing Machine InstructionsShorthand Notation for Turing Machine Instructions

Five components:Current state

Current symbol

Next symbol

Next state

Direction of move

(current state, current symbol, next symbol, next state, direction of move)

Page 14: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

14

ExampleExample

If you are in state 1and

you are reading symbol 0then

write symbol 1 onto the tapego into state 2move right

Page 15: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

15

Example (cont.)Example (cont.)

(1,0,1,2,R)

. b b 0 1 1 b b . .. .

1 (current state of the machine)

. b b 1 1 1 b b . .. .

2 (current state of the machine)

Page 16: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

16

More on Turing Machine InstructionsMore on Turing Machine Instructions

What if we have (1,0,1,2,R) and (1,0,0,3,L)Avoid ambiguity by requiring that a set of instructions for a Turing machine can never contain two different instructions of the form (i,j,-,-,-) and (i,j,-,-,-) If there is no instruction that applies to the current state-current symbol for the machine, then the machine halts.Conventions about initial configuration:

The start-up will always be state 1The machine will be reading the leftmost nonblank cell on the tape.

Page 17: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

17

1. (1,0,1,2,R)

2. (1,1,1,2,R)

3. (2,0,1,2,R)

4. (2,1,0,2,R)

5. (2,b,b,3,L)

ExampleExample

. b b 0 1 1 b b . .. .

1 (1,0,-,-,-) ,選擇指令 1 來執行

Original

Page 18: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

18

Example (cont’d)Example (cont’d)

. b b 1 1 1 b b . .. .

2

. b b 1 0 1 b b . .. .

2

. b b 1 0 0 b b . .. .

2

. b b 1 0 0 b b . .. .

3

(2,1,-,-,-) ,選擇指令 4 來執行

(2,1,-,-,-) ,選擇指令 4 來執行

(2,b,-,-,-) ,選擇指令 5 來執行

(3,0,-,-,-) ,無對應指令可執行,所以 Turing machine 完成計算。

Page 19: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

19

Turing Machine as a Computing AgentTuring Machine as a Computing Agent

The Turing machine can:Accept input

Read symbols on its tape.

Store information in and retrieve it from memoryWrite symbols on its tape and, by moving around over the tape, can go back and read those symbols at a later time.

Take actions according to algorithm instructions, and the choice of action to take may depend on the present state of the computing agent and on the input item presently being processed.

The present state and symbol determine the appropriate instruction

If the Turing machine halts, what is written on the tape at that time can be considered output.

Page 20: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

20

SummarySummary

A Turing machine is a general computing machine.

It has no limit on the amount of memory.

Page 21: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

21

A Model of An AlgorithmA Model of An Algorithm

An algorithm is a collection of instructions intended for a computing agent to follow.Requirements:

Be a well-ordered collectionThe Turing machine must know which operation to carry out first and which to do next at any step.

Consists of unambiguous and effectively computable operationsEach individual Turing machine instruction describes an operation that is unambiguous, and any Truing machine is able to carry out the operation described.

Halts in a finite amount of timeWhen executing a collection of instructions, it must reach a configuration where no appropriate instruction exist.

Produce a resultWhatever is written on the tape when the machine halts is the result.

Page 22: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

22

Turing Machine ExamplesTuring Machine Examples

A state diagram is a visual representation of a Turing machine algorithm where circles represent states, and arrows represent transitions from one state to another.Along each transition arrow, we show three things:

The input symbol that causes the transitionThe corresponding outputThe direction of move

Page 23: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

23

Example 1: A Bit InverterExample 1: A Bit Inverter

Bit InverterMove along its tape inverting all of the bits.

The complete Turing machine program for the bit inverter is

(1,0,1,1,R) Change the symbol 0 to 1.

(1,1,0,1,R) Change the symbol 1 to 0.

State 1

1/0/R 0/1/R

The input symbol that caused the transition

The corresponding output symbol to be printed

The direction of move

Page 24: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

24

Example 1:A Bit Inverter (cont.)Example 1:A Bit Inverter (cont.)

Example: beginning with the string 1101 on the tape

. b 1 1 0 1 b . . .. .

1 (1,1,-,-,-) ,選擇指令 2 來執行. b 0 1 0 1 b . . .. .

1 (1,1,-,-,-) ,選擇指令 2 來執行

. b 0 0 0 1 b . . .. .

1 (1,0,-,-,-) ,選擇指令 1 來執行

. b 0 0 1 1 b . . .. .

1 (1,1,-,-,-) ,選擇指令 2 來執行. b 0 0 1 0 b . . .. .

1 (1,b,-,-,-) ,停止執行

Page 25: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

25

Example 2: A Parity Bit MachineExample 2: A Parity Bit Machine

Odd parity bit: will be set such that the number of 1s in the whole string of bits, including the parity bit, is odd.

State diagram for parity bit machine

State 1 State 2

State 3

0/0/R1/1/R 0/0/R

b/0/R

1/1/R

b/1/R

表示 even parity state

表示 odd parity state

表示 final state

Page 26: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

26

Example 2: A Parity Bit Machine (cont)Example 2: A Parity Bit Machine (cont)

The Turing machine program of parity bit machine(1,1,1,2,R): even parity state reading 1, change state(1,0,0,1,R):even parity state reading 0, don’t change state(2,1,1,1,R): odd parity state reading 1, change state(2,0,0,2,R):odd parity state reading 0, don’t change state(1,b,1,3,R): end of string in even parity state, write 1 and go to state 3(2,b,0,3,R): end of string in even parity state, write 1 and go to state 3

Page 27: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

27

Example 2: A Parity Bit Machine (cont)Example 2: A Parity Bit Machine (cont)

The initial string is 101

. b b 1 0 1 b b . .. .

1 (1,1,-,-,-) ,選擇指令 1 來執行. b b 1 0 1 b b . .. .

2 (2,0,-,-,-) ,選擇指令 4 來執行

. b b 1 0 1 b b . .. .

2 (2,1,-,-,-) ,選擇指令 3 來執行

. b b 1 0 1 b b . .. .

1 (1,b,-,-,-) ,選擇指令 5 來執行

. b b 1 0 1 1 b . .. .

3 (3,b,-,-,-) ,停止執行

Page 28: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

28

Unary IncrementingUnary Incrementing

Unary representation of numbers:In unary representation, any number n will be encoded by a sequence of n+1 1s.

Number Turing machine tape representation0 11 112 1113 1111. …..

Page 29: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

29

Unary Incrementing (cont.)Unary Incrementing (cont.)

Incrementing (algorithm 1):We need only stay in state 1 and travel over the string of 1s to the right-hand end.

When we encounter the first blank cell, we write a 1 in it and go to state 2

(1,1,1,1,R): pass to the right over 1s

(1,b,1,2,R): Add a single one at the right hand side of the string

State 1 State 2

1/1/R

b/1/R

Page 30: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

30

Unary Incrementing (cont.): Algorithm 1Unary Incrementing (cont.): Algorithm 1

. b b 1 1 1 b b . .. .

1

. b b 1 1 1 b b . .. .

1

. b b 1 1 1 b b . .. .

1

. b b 1 1 1 b b . .. .

1

. b b 1 1 1 1 b . .. .

2

Page 31: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

31

Incrementing: Algorithm 2Incrementing: Algorithm 2

Moving to the left-hand end of the string and adding a 1.

(1,1,1,1,L): pass to the left over 1s(1,b,1,2,L): Add a single 1 at the left-hand end of the string

Time complexity: 2 steps vs. n+2 stepsSpace complexity: both algorithm use n+2 cells

State 1 State 2

1/1/L

b/1/L

Page 32: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

32

Unary Incrementing (cont.): Algorithm 2Unary Incrementing (cont.): Algorithm 2

. b b 1 1 1 b b . .. .

1

. b b 1 1 1 b b . .. .

1

. b 1 1 1 1 b b . .. .

2

Page 33: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

33

Unary Addition MachineUnary Addition Machine

The two input numbers on the tape are separated by a single blank.

When the Tuning machine halts, the tape should contain the unary representation of the sum of the two numbers.

Exampleoriginal tape: …bb111b1111bb…final representation:..bbbb111111bb…

…bbb11b1111bb… (Erase the leftmost 1)

…bbbb1b1111bb… (Erase a second 1 from the left end)

…bbbbbb1111bb… (move to right and fill in the blank)

…bbbbb11111bb…

Page 34: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

34

Unary Addition Machine (cont.)Unary Addition Machine (cont.)

(1,1,b,2,R): erase the leftmost 1 and move right

(2,1,b,3,R): erase the second 1 and move right

(3,1,1,3,R):pass over any 1s until a blank is found

(3,b,1,4,R):write a 1 over the blank and halt.

State 1 State 2 State 3 State 4

1/b/R 1/b/R b/1/R

1/1/R

Page 35: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

35

The Church-Turing ThesisThe Church-Turing Thesis

是否有演算法可做,但 Turing machine 無法實現的工作?是否有演算法可做的符號操作工作,但 Turing machine無法實現的工作?

Church-Turing Thesis

If there is an algorithm to do a symbol manipulation task, then there is a Turing machine to do that task.

If we find a symbol manipulation task that no Turing machine can perform, then there is no algorithm for this task.

Turing machines define the limits of Computability.

YES

No

Page 36: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

36

The Church-Turing Thesis (cont.)The Church-Turing Thesis (cont.)

There are two really two parts to writing a Turing machine for a symbol manipulation task.

Encoding symbolic information as strings of 0s and 1s so that it can appear on Turing machine tapes.

Write the Turing machine instructions that will produce the encoded form of the correct output.

Page 37: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

37

The Church-Turing Thesis (cont.)The Church-Turing Thesis (cont.)

Emulating an Algorithm by a Turing Machine

Bit string on tape when Turing machine starts

Bit string on tape when Turing machine halts

TuringMachine

Symbolic input Symbolic output

Algorithm

Encoding Decoding

Page 38: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

38

The Church-Turing Thesis (cont.)The Church-Turing Thesis (cont.)

To perform this emulation, we mustEncode the symbolic input into a bit string on a Turing machine tape.

Write the Turing machine program that solves the problem.

Decode the resulting bit string into symbolic output

Page 39: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

39

The Church-Turing Thesis (cont.)The Church-Turing Thesis (cont.)

ThesisIt is “ statement advanced for consideration and maintained by argument”

TheoremTheorems are ideas that can be proved in a formal, mathematical way.

The Church-Turing thesis can never be proved, because the definition of an algorithm is still descriptive, not mathematical.If we find a symbol manipulation task that no Turing machine can perform, then there is no algorithm for this task.

Page 40: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

40

Unsolvable ProblemsUnsolvable Problems

Example:(1,0,1,2,R)(1,1,0,2,R)(2,0,0,2,R)(2,b,b,2,L)…b11bbb…

2…b1bbb…

1(It will never halt)

Page 41: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

41

The Halting ProblemThe Halting Problem

在較複雜的情況下,如果我們知道 Turing machine 程式和磁帶的初始內容,我們很難決定此 Turing machine 最後是否會停止。

我們可以藉由設定 time-out 機制來判斷 Turing machine 是否會停。但如果在時間內未停,是否就意謂他不會停?

Page 42: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

42

The Halting ProblemThe Halting Problem

Formal statement: Decide, given any collection of Turing machine instructions together with any initial tape contents, whether that Turing machine will ever halt if started on that tape.Can we find one Turing machine that will solve every instance of this problem?

That will give us the answer “Yes halts” or “No, never halts”

The halting problem is unsolvable, no Turing machine exists to solve this program.

we will prove it by contradiction.以矛盾證法證明:假設此機器確實存在,找出並非所有輸入均滿足此機器。

Page 43: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

43

ProofProof

Assume that P is a Turing machine that solves the halting problem. On the initial for P we will have to put a description of a collection T of Turing machine instructions, as well as the initial tape content t on which those instructions run.The initial tape for P looks like

…bbT*btbbb… (T* symbolize the binary form of T)

Page 44: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

44

Proof (cont.)Proof (cont.)

P will give us an answer Yes, halts (1)

No, never halts (0)

When begun on a tape containing T* and t,P halts with 1 on its tape exactly when T eventually halts when begun on t

P halts with 0 on its tape exactly when T never halts when begun on t

Refer to Figure 10.10

Page 45: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

45

Proof (cont.)Proof (cont.)

T*bt

P

Input

outputHalts with 1 on tape exactly when T eventually halts on t

Halts with 0 on tape exactly when T never halts on t

Page 46: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

46

Proof (cont.)Proof (cont.)

Let’s imagine adding more instructions to P to create a new machine Q that behaves just like P except that when it reaches this same configuration, it moves forever to the right on the tape instead of halting. (Refer to Figure 10.11)

Example: Pick some state not in P, say 52, and add two new instructions to P:

(9,1,1,52,R)

(52,b,b,52,R)

Page 47: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

47

Proof (cont.)Proof (cont.)

T*bt

Q

Input

outputNever halts exactly when T eventually halts on t

Halts with 0 on tape exactly when T never halts on t

Page 48: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

48

Proof (cont.)Proof (cont.)

Finally, create a new machine S which first makes a copy of what appears on its input.After S is finished with its copying job, it uses the same instruction as machine Q.What happens when machine S is run on a tape that contains S*, the binary representation of S?S first makes a copy of S* and then turn the computation over to Q, which is now running on a tape containing S* and S*.S running on input S* never halts exactly when S halts running on S*.S running on input S* halts with 0 on the tape exactly when S never halts running on S*.

Page 49: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

49

Proof (cont.)Proof (cont.)S*

S*bS*

S

Input

outputNever halts exactly when S eventually halts on S*

Halts with 0 on tape exactly when S never halts on S*

Contradiction!

Page 50: Chapter 11 Models of Computation 國立雲林科技大學 電子工程系 張傳育 (Chuan-Yu Chang ) 博士 Office: ES 709 TEL: 05-5342601 ext. 4337 E-mail: chuanyu@yuntech.edu.tw

50

Practical Unsolvable ProblemsPractical Unsolvable Problems

The unsolvability of the halting problem says that is not possible… that such a problem cannot exist.No C++ program can be written to decide whether any given C++ program always stops eventually, no matter what input.No C++ program can be written to decide whether any two C++ programs are equivalent.No C++ program can be written to decide whether any given C++ program on any given input will ever produce some specific output.