CDT314
Sponsored Links
This presentation is the property of its rightful owner.
1 / 129

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12 PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on
  • Presentation posted in: General

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2011. Content Chomsky’s Language Hierarchy Turing Machines Determinism Halting TM Examples Standard TM Computing Functions with TM Combining TMs Turing Thesis. The Language Hierarchy. ?.

Download Presentation

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12

An Image/Link below is provided (as is) to download presentation

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


CDT314

FABER

Formal Languages, Automata and Models of Computation

Lecture 12

Mälardalen University

2011


ContentChomsky’s Language Hierarchy Turing Machines DeterminismHaltingTM ExamplesStandard TMComputing Functions with TMCombining TMsTuring Thesis


The Language Hierarchy

?

?

Context-Free Languages

Regular Languages


Recursively enumerable languages

Context-free languages

Regular Languages


Turing Machines

Push-down Automata

Finite Automata


http://www.turing.org.uk/turing/

Who was Alan Turing?

Founder of Computability Theory,

mathematician,

philosopher,

codebreaker,

visionary man before his time.

http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html-Jack Copeland and Diane Proudfoot

http://www.turing.org.uk/turing/ The Alan Turing Home PageAndrew Hodges


1912 (23 June): Birth, London1926-31: Sherborne School1930: Death of friend Christopher Morcom1931-34: Undergraduate at King's College, Cambridge University1932-35: Quantum mechanics, probability, logic1935: Elected fellow of King's College, Cambridge1936: The Turing machine, computability, universal machine1936-38: Princeton University. Ph.D. Logic, algebra, number theory1938-39: Return to Cambridge. Introduced to German Enigma cipher machine1939-40: The Bombe, machine for Enigma decryption1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic

Alan Turing


1943-45: Chief Anglo-American crypto consultant. Electronic work.1945: National Physical Laboratory, London1946: Computer and software design leading the world.1947-48: Programming, neural nets, and artificial intelligence1948: Manchester University1949: First serious mathematical use of a computer1950: The Turing Test for machine intelligence1951: Elected FRS. Non-linear theory of biological growth1952: Arrested as a homosexual, loss of security clearance1953-54: Unfinished work in biology and physics1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire.

Alan Turing


Hilbert’s Program, 1900

Hilbert’s hope was that mathematics would be reducible to finding proofs (manipulating the strings of symbols) from a fixed system of axioms, axioms that everyone could agree were true.

Can all of mathematics be made algorithmic, or will there always be new problems that outstrip any given algorithm, and so require creative acts of mind to solve?


Turing Machines and Computability

The question Hilbert raised was whether there could be a general method or process by which one could decide whether a mathematical proposition could be proved. But what exactly was meant by a 'method' or 'process'? People had already used the concept of a 'mechanical' process, and Turing had an idea which made this quite precise: computability. Turing wrote in his first sentences:

“The "computable" numbers may be described briefly as the real numbers whose expressions as a decimal are calculable by finite means... a number is computable if its decimal can be written down by a machine. “

http://www.turing.org.uk/turing/scrapbook/machine.html


Turing Machines and Computability

The Turing machine concept involves specifying a very restricted set of logical operations, but Turing showed how other more complex mathematical procedures could be built out of these atomic components.

Turing argued that his formalism was sufficiently general to encompass anything that a human being could do when carrying out a definite method.

Turing's famous 1936-7 paper On computable numbers, with an application to the Entscheidungsproblem,  which worked out the theory of Turing machines and the definition of computability, is available as a PDF file on-line:

http://www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf


Turing Machines


Turing Machines

Turing’s "Machines". These machines are humans who calculate. (Wittgenstein)

A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing)


Turing Machine

Tape

......

......

Read-Write head

Control Unit


The Tape

No boundaries -- infinite length

......

......

Read-Write head

The head moves Left or Right


......

......

Read-Write head

The head at each time step:

1. Reads a symbol

2. Writes a symbol

3. Moves Left or Right


Example

Time 0

......

......

Time 1

......

......

1. Reads

2. Writes

3. Moves Left


Time 1

......

......

Time 2

......

......

1. Reads

2. Writes

3. Moves Right


The Input String

Input string

Blank symbol

......

......

head

Head starts at the leftmost position

of the input string


States & Transitions

Write

Read

Move Left

Move Right


Example

Time 1

......

......

current state


Time 1

......

......

Time 2

......

......


Example

Time 1

......

......

Time 2

......

......


Example

Time 1

......

......

Time 2

......

......


Determinism

Turing Machines are deterministic

Not Allowed

Allowed

No lambda transitions allowed in TM!


Determinism

Note the difference between stateindeterminismwhen not even possible future states are known in advance

and choice indeterminismwhen possible future states are known,but we do not know which state will be taken.


Partial Transition Function

Example

......

......

Allowed

No transition

for input symbol


Halting

The machine halts if there are

no possible transitions to follow


Example

......

......

No possible transition

HALT!


Allowed

Not Allowed

Final States

  • Final states have no outgoing transitions

  • In a final state the machine halts


Acceptance

If machine halts

in a final state

Accept Input

If machine halts

in a non-final state

or

If machine enters

an infinite loop

Reject Input


A TM that accepts the language

Turing Machine Example


Time 0


Time 1


Time 2


Time 3


Time 4

Halt & Accept


Rejection Example

Time 0


Time 1

No possible Transition

Halt & Reject


Another TM for language

Infinite Loop Example


Time 0


Time 1


Time 2


Time 2

Time 3

Time 4

Time 5

... infinite loop…


  • Because of the infinite loop:

    • The final state cannot be reached

    • The machine never halts

    • The input is not accepted


Another Turing Machine Example

Turing machine for the language


Time 0


Time 1


Time 2


Time 3


Time 4


Time 5


Time 6


Time 7


Time 8


Time 9


Time 10


Time 11


Time 12


Time 13

Halt & Accept


If we modify the

machine for the language

we can easily construct

a machine for the language

Observation


Formal Definitions for Turing Machines


Transition Function


Transition Function


Turing Machine

Input

alphabet

Tape

alphabet

States

Final

states

Transition

function

Initial

state

blank


Configuration

Instantaneous description:


Time 4

Time 5

A move:


Time 4

Time 5

Time 6

Time 7


Equivalent notation:


Initial configuration:

Input string


The Accepted Language

For any Turing Machine

Initial state

Final state


Standard Turing Machine

The machine we described is the standard:

  • Deterministic

  • Infinite tape in both directions

  • Tape is the input/output file


Computing FunctionswithTuring Machines


has:

A function

Domain

(domän):

Range

(värdemängd):


A function may have many parameters:

Example:

Addition function


Decimal:

5

Binary:

101

Unary:

11111

Integer Domain

We prefer unary representation:

easier to manipulate


Definition

A function is computable if

there is a Turing Machine such that:

Final configuration

Initial configuration

final state

initial state

For all

Domain


A function is computable if

there is a Turing Machine such that

In other words

Initial

Configuration

Final

Configuration

For all

Domain


is computable

The function

are integers

Example (Addition)

Turing Machine:

Input string:

unary

Output string:

unary


Start

initial state

Finish

final state


Turing machine for function


Execution Example:

Time 0

(2)

(2)

Final Result


Time 0


Time 1


Time 2


Time 3


Time 4


Time 5


Time 6


Time 7


Time 8


Time 9


Time 10


Time 11


Time 12

HALT & accept


Output string:

unary

Another Example (Multiplication)

The function

is computable

is integer

Turing Machine

Input string:

unary


Start

initial state

Finish

final state


Turing Machine Pseudocodefor

  • Replace every 1 with $

  • Repeat:

  • Find rightmost $, replace it with 1

  • Go to right end, insert 1

Until no more $ remain


Turing Machinefor


Start

Finish


Time 0


Time 1


Time 2


Time 3


Time 4


Time 5


Time 6


Time 7


Time 8


Time 9


Time 10


Time 11


Time 12


Time 13


Time 14


if

if

Input:

or

Output:

Another Example

Turing Machine for

The function is computable


Match a 1 from with a 1 from

Turing Machine Pseudocode

  • Repeat

Until all of or are matched

  • If a 1 from is not matched

  • erase tape, write 1

  • else

  • erase tape, write 0


Combining Turing Machines


Block Diagram

Turing

Machine

input

output


Example

if

if

Adder

Comparer

Eraser


Turing’s Thesis


Question:

Do Turing machines have

the same power with

a digital computer?

Intuitive answer: Yes

There is no formal answer!


Turing’s thesis

Any computation carried out

by mechanical means

can be performed by a Turing Machine

(1930)

http://www.engr.uconn.edu/~dqg/papers/myth.pdf The Origins of the Turing Thesis Myth Goldin & Wegner


And, the other way round:

A computation is mechanical

if and only if

it can be performed by a Turing Machine

Strong Turing Thesis: There is no known model of computation

more powerful than Turing Machines

Wrong! Asynchronous parallel computation is more powerful than TM model, and cannot be reduced to TM.


An algorithm for function

is a Turing Machine which computes

Definition of Algorithm


Algorithms are Turing Machines

When we say

There exists an algorithm

It means

There exists a Turing Machine


Languages, Grammars, Machines

properly inclusive


Unrestricted grammarlanguages

TURING MACHINES

Context-free languages

PUSH-DOWN AUTOMATA

Regular Languages

FINITE AUTOMATA


Interestingfurtherreading

Computational and evolutionary aspects of language

http://www.nature.com/nature/journal/v417/n6889/full/nature00771.html

Turing’sthesis

http://www.ams.org/notices/200610/fea-feferman.pdf

http://www.mathcomp.leeds.ac.uk/turing2012/give-page.php?408

2012 The Alan Turing World

https://sites.google.com/site/naturalcomputingaisbiacap2012 Symposium on Natural/Unconventional Computing AISB/IACAP World Congress


  • Login