CDT314
Download
1 / 129

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


  • 120 Views
  • Uploaded on

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. ?.

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

PowerPoint Slideshow about ' CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 12' - hilel-harrison


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
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
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


Alan turing

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


Alan turing1

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 Program, 1900 work.

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 work.

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 work.

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 machines1
Turing Machines work.

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 work.

Tape

......

......

Read-Write head

Control Unit


The Tape work.

No boundaries -- infinite length

......

......

Read-Write head

The head moves Left or Right


...... work.

......

Read-Write head

The head at each time step:

1. Reads a symbol

2. Writes a symbol

3. Moves Left or Right


Example work.

Time 0

......

......

Time 1

......

......

1. Reads

2. Writes

3. Moves Left


Time 1 work.

......

......

Time 2

......

......

1. Reads

2. Writes

3. Moves Right


The Input String work.

Input string

Blank symbol

......

......

head

Head starts at the leftmost position

of the input string


States & Transitions work.

Write

Read

Move Left

Move Right


Example work.

Time 1

......

......

current state


Time 1 work.

......

......

Time 2

......

......


Example work.

Time 1

......

......

Time 2

......

......


Example work.

Time 1

......

......

Time 2

......

......


Determinism
Determinism work.

Turing Machines are deterministic

Not Allowed

Allowed

No lambda transitions allowed in TM!


Determinism1
Determinism work.

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
Partial Transition Function work.

Example

......

......

Allowed

No transition

for input symbol


Halting
Halting work.

The machine halts if there are

no possible transitions to follow


Example work.

......

......

No possible transition

HALT!


Final states

Allowed work.

Not Allowed

Final States

  • Final states have no outgoing transitions

  • In a final state the machine halts


Acceptance
Acceptance work.

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


Turing machine example

A TM that accepts the language work.

Turing Machine Example


Time 0 work.


Time 1 work.


Time 2 work.


Time 3 work.


Time 4 work.

Halt & Accept


Rejection Example work.

Time 0


Time 1 work.

No possible Transition

Halt & Reject


Infinite loop example

Another TM for language work.

Infinite Loop Example


Time 0 work.


Time 1 work.


Time 2 work.


Time 2 work.

Time 3

Time 4

Time 5

... infinite loop…


  • Because of the work.infinite loop:

    • The final state cannot be reached

    • The machine never halts

    • The input is not accepted


Another turing machine example
Another Turing Machine Example work.

Turing machine for the language


Time 0 work.


Time 1 work.


Time 2 work.


Time 3 work.


Time 4 work.


Time 5 work.


Time 6 work.


Time 7 work.


Time 8 work.


Time 9 work.


Time 10 work.


Time 11 work.


Time 12 work.


Time 13 work.

Halt & Accept


If we modify the work.

machine for the language

we can easily construct

a machine for the language

Observation


Formal definitions for turing machines

Formal Definitions work.for Turing Machines




Turing Machine work.

Input

alphabet

Tape

alphabet

States

Final

states

Transition

function

Initial

state

blank


Configuration work.

Instantaneous description:


Time 4 work.

Time 5

A move:


Time 4 work.

Time 5

Time 6

Time 7



Initial configuration: work.

Input string


The Accepted Language work.

For any Turing Machine

Initial state

Final state


Standard turing machine
Standard Turing Machine work.

The machine we described is the standard:

  • Deterministic

  • Infinite tape in both directions

  • Tape is the input/output file


Computing functions with turing machines

Computing Functions work.withTuring Machines


has: work.

A function

Domain

(domän):

Range

(värdemängd):


A function may have many parameters: work.

Example:

Addition function


Decimal: work.

5

Binary:

101

Unary:

11111

Integer Domain

We prefer unary representation:

easier to manipulate


Definition work.

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 work.

there is a Turing Machine such that

In other words

Initial

Configuration

Final

Configuration

For all

Domain


Example addition

is computable work.

The function

are integers

Example (Addition)

Turing Machine:

Input string:

unary

Output string:

unary


Start work.

initial state

Finish

final state



Execution Example: work.

Time 0

(2)

(2)

Final Result


Time 0 work.


Time 1 work.


Time 2 work.


Time 3 work.


Time 4 work.


Time 5 work.


Time 6 work.


Time 7 work.


Time 8 work.


Time 9 work.


Time 10 work.


Time 11 work.


Time 12 work.

HALT & accept


Another example multiplication

Output string: work.

unary

Another Example (Multiplication)

The function

is computable

is integer

Turing Machine

Input string:

unary


Start work.

initial state

Finish

final state


Turing Machine Pseudocode work.for

  • Replace every 1 with $

  • Repeat:

  • Find rightmost $, replace it with 1

  • Go to right end, insert 1

Until no more $ remain


Turing Machine work.for


Start work.

Finish


Time 0 work.


Time 1 work.


Time 2 work.


Time 3 work.


Time 4 work.


Time 5 work.


Time 6 work.


Time 7 work.


Time 8 work.


Time 9 work.


Time 10 work.


Time 11 work.


Time 12 work.


Time 13 work.


Time 14 work.


Another example

if work.

if

Input:

or

Output:

Another Example

Turing Machine for

The function is computable


Match a work.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



Block Diagram work.

Turing

Machine

input

output


Example work.

if

if

Adder

Comparer

Eraser



Question: work.

Do Turing machines have

the same power with

a digital computer?

Intuitive answer: Yes

There is no formal answer!


Turing’s thesis work.

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: work.

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 work.

is a Turing Machine which computes

Definition of Algorithm


Algorithms are Turing Machines work.

When we say

There exists an algorithm

It means

There exists a Turing Machine


Languages, Grammars, Machines work.

properly inclusive


Unrestricted grammar work.languages

TURING MACHINES

Context-free languages

PUSH-DOWN AUTOMATA

Regular Languages

FINITE AUTOMATA


Interesting further reading
Interesting work.furtherreading

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


ad