29
The Church-Turing Thesis Chapter 18 1

The Church-Turing Thesis

  • Upload
    lee

  • View
    101

  • Download
    0

Embed Size (px)

DESCRIPTION

The Church-Turing Thesis. Chapter 18. Are We Done?. FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve: ● There is a countably infinite number of Turing machines since we can lexicographically enumerate all the strings - PowerPoint PPT Presentation

Citation preview

Page 1: The Church-Turing Thesis

The Church-Turing Thesis

Chapter 18 1

Page 2: The Church-Turing Thesis

Are We Done?FSM PDA Turing machine

Is this the end of the line?

There are still problems we cannot solve:

● There is a countably infinite number of Turing machines since we can lexicographically enumerate all the strings that correspond to syntactically legal Turing machines.

● There is an uncountably infinite number of languages over any nonempty alphabet.

● So there are more languages than there are Turing machines.

2

Page 3: The Church-Turing Thesis

What Can Algorithms Do?

1. Is it possible to axiomatize all of the mathematical structures of interest in such a way that every true statement become a theorem?

Does there exist an algorithm that can examine a string and determine whether or not it is an axiom?

1. Can we decide whether a statement is a theorem?

Does there exist an algorithm that always halts and that returns True when given a theorem and False otherwise?

3

Page 4: The Church-Turing Thesis

Gödel’s Incompleteness TheoremKurt Gödel showed, in the proof of his Incompleteness Theorem [Gödel 1931], that the answer to question 1 is no. In particular, he showed that there exists no decidable axiomatization of Peano arithmetic that is both consistent and complete.

Axiom: Proposition regarded as self-evidently true without proof

Peano Arithmetic: Theory of natural numbers defined by the five Peano's axioms

First order logic: Propositional logic + quantification + predicate

4

Page 5: The Church-Turing Thesis

The Entscheidungsproblem

Entscheidungsproblem (German for “decision problem”)

Three equivalent ways to state the problem:

1. Does there exist an algorithm to decide, given an arbitrary sentence w in first order logic, whether w is valid?

2. Given a set of axioms A and a sentence w, does there exist an algorithm to decide whether w is entailed by A?

3. Given a set of axioms, A, and a sentence, w, does there exist an algorithm to decide whether w can be proved from A?

5

Page 6: The Church-Turing Thesis

The Entscheidungsproblem To answer the question, in any of these forms, requires

formalizing the definition of an algorithm:

● Turing: Turing machines.

● Church: lambda calculus.

Turing proved that Turing machines and the lambda calculus are equivalent.

The Entscheidungsproblem can be solved in neither!

6

Page 7: The Church-Turing Thesis

Church's Thesis(Church-Turing Thesis)

All formalisms powerful enough to describe everything we think of as a computational algorithm are equivalent.

This isn’t a formal statement, so we can’t prove it. But many different computational models have been proposed and they all turn out to be equivalent.

7

Page 8: The Church-Turing Thesis

Examples of equivalent formalisms:

● Modern computers (with unbounded memory)

● Lambda calculus

● Partial recursive functions

● Tag systems (FSM plus FIFO queue)

● Unrestricted grammars:

aSa B

● Post production systems

● Markov algorithms

● Conway’s Game of Life

● One dimensional cellular automata

● DNA-based computing

● Lindenmayer systems

The Church-Turing Thesis

8

Page 9: The Church-Turing Thesis

The Unsolvability of the Halting Problem

Chapter 19

Page 10: The Church-Turing Thesis

Languages and MachinesSD

D

Context-FreeLanguages

RegularLanguagesreg exps

FSMs

cfgs PDAs

unrestricted grammarsTuring Machines

Page 11: The Church-Turing Thesis

D and SD ● A TM M with input alphabet decides a language L * iff, for any string w *,

● if w L then M accepts w, and ● if w L then M rejects w.

A language L is decidable (in D) iff there is a Turing machine M that decides it.

● A TM M with input alphabet semidecides L iff for any string w *,

● if w L then M accepts w ● if w L then M does not accept w. M may reject or loop.

A language L is semidecidable (in SD) iff there is a Turingmachine that semidecides it.

Page 12: The Church-Turing Thesis

Defining the Universe What is the complement of:

•AnBn = {anbn : n 0}

•{<M, w> : TM M halts on input string w}.

Page 13: The Church-Turing Thesis

Defining the Universe L1 = {<M, w> : TM M halts on input string w}.L2 = {<M> : M halts on nothing}.L3 = {<Ma, Mb> : Ma and Mb halt on the same strings}.

For a string w to be in L1, it must: ● be syntactically well-formed. ● encode a machine M and a string w such that M halts when started on w.

Define the universe from which we are drawing strings to contain only those strings that meet the syntactic requirements of the language definition.

This convention has no impact on the decidability of any of these languages since the set of syntactically valid strings is in D. (A “checker” can be built to check the correct syntax.)

Page 14: The Church-Turing Thesis

Our earlier definition:

L1 = {x: x is not a syntactically well formed <M, w> pair}

{<M, w> : TM M does not halt on input string w}.

We will use a different definition:

Define the complement of any language L whose member strings include at least one Turing machine description to be with respect to a universe of strings that are of the same syntactic form as L.

Now we have:

L1 = {<M, w> : TM M does not halt on input string w}.

A Different Definition of Complement

Page 15: The Church-Turing Thesis

The Language H H = {<M, w> : TM M halts on input string w}

Theorem: The language:

H = {<M, w> : TM M halts on input string w}

● is semidecidable, but ● is not decidable.

Page 16: The Church-Turing Thesis

Does This Program Halt?

times3(x: positive integer) = While x 1 do: If x is even then x = x/2. Else x = 3x + 1

25

Page 17: The Church-Turing Thesis

Does This Program Halt?

times3(x: positive integer) = While x 1 do: If x is even then x = x/2. Else x = 3x + 1

2576381958

Page 18: The Church-Turing Thesis

Does This Program Halt?

times3(x: positive integer) = While x 1 do: If x is even then x = x/2. Else x = 3x + 1

2576381958

2988442211

Page 19: The Church-Turing Thesis

Does This Program Halt?

times3(x: positive integer) = While x 1 do: If x is even then x = x/2. Else x = 3x + 1

2576381958

2988442211

3417522613

Page 20: The Church-Turing Thesis

Does This Program Halt?

times3(x: positive integer) = While x 1 do: If x is even then x = x/2. Else x = 3x + 1

2576381958

402010 516

2988442211

3417522613

Page 21: The Church-Turing Thesis

Does This Program Halt?

times3(x: positive integer) = While x 1 do: If x is even then x = x/2. Else x = 3x + 1

2576381958

402010 516

2988442211

3417522613

842 1

http://www.numbertheory.org/php/collatz.html

Page 22: The Church-Turing Thesis

H is Semidecidable Lemma: The language:

H = {<M, w> : TM M halts on input string w}

is semidecidable.

Proof:

Page 23: The Church-Turing Thesis

H is Semidecidable Lemma: The language:

H = {<M, w> : TM M halts on input string w}

is semidecidable.

Proof: The TM MH semidecides H:

MH(<M, w>) = 1. Run M on w. 2. Accept

MH halts iff M halts on w. Thus MH semidecides H.

Page 24: The Church-Turing Thesis

The Unsolvability of the Halting ProblemLemma: The language:

H = {<M, w> : TM M halts on input string w}

is not decidable.

Proof: If H were decidable, then some TM MH would decide it. MH would implement the specification:

halts(<M: string, w: string>) = If <M> is a Turing machine description and M halts on input w then accept else reject

Page 25: The Church-Turing Thesis

Trouble Trouble(x: string) = if halts(x, x) then loop forever, else halt.

If there exists an MH that computes the function halts, Trouble exists:

What is Trouble(<Trouble>)? What is halts(<Trouble, Trouble>)? ● If halts reports that Trouble(<Trouble>) halts, Trouble loops. ● But if halts reports that Trouble(<Trouble>) does not halt, then Trouble halts.

C# is a Turing machine that writes x,x on the tape given x (i.e., input) on the tape

Page 26: The Church-Turing Thesis

● Lexicographically enumerate Turing machines.● Let 1 mean halting, blank mean non halting.

But Trouble behaves as:

Or maybe halts said that trouble(<trouble>) would halt. But then trouble would loop.

Viewing the Halting Problem as Diagonalization

i1 i2 i3 … <Trouble> …

machine1 1

machine2 1

machine3 1

… 1

Trouble 1 1

… 1 1 1

… 1

Trouble 1 1 1

Page 27: The Church-Turing Thesis

If H were in D

Theorem: If H were in D then every SD language would be in D.

Proof: Let L be any SD language. There exists a TM ML that semidecides it.

H = {<M, w>: TM M halts on input string w}

If H were also in D, then there would exist a Turing machine O that decides it.

Page 28: The Church-Turing Thesis

If H were in D

M'(w: string) = 1. Run O on <ML, w>. 2. If O accepts (i.e., ML will halt), then:

2.1. Run ML on w. 2.2. If it accepts, accept. Else reject.

3. Else reject.

So, if H were in D, all SD languages would be.

To decide whether w is in L(ML):

Page 29: The Church-Turing Thesis

Back to the Entscheidungsproblem Theorem: The Entscheidungsproblem is unsolvable.

Proof: (Due to Turing)1. If we could solve the problem of determining whether a given Turing machine ever prints the symbol 0, then we could solve the problem of determining whether a given Turing machine halts. 2. But we can’t solve the problem of determining whether a given Turing machine halts, so neither can we solve the problem of determining whether it ever prints 0.3. Given a Turing machine M, we can construct a logical formula F that

is true iff M ever prints the symbol 0. 4. If there were a solution to the Entscheidungsproblem, then we would be able to determine the truth of any logical sentence, including F and thus be able to decide whether M ever prints the symbol 0. 5. But we know that there is no procedure for determining whether M ever prints 0.6. So there is no solution to the Entscheidungsproblem.