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

Download Presentation

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

Loading in 2 Seconds...

- 98 Views
- Uploaded on
- Presentation posted in: General

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

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

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

?

?

Context-Free Languages

Regular Languages

Recursively enumerable languages

Context-free languages

Regular Languages

Turing Machines

Push-down Automata

Finite Automata

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

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.

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

......

......

Turing Machines are deterministic

Not Allowed

Allowed

No lambda transitions allowed in TM!

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.

Example

......

......

Allowed

No transition

for input symbol

The machine halts if there are

no possible transitions to follow

Example

......

......

No possible transition

HALT!

Allowed

Not Allowed

- Final states have no outgoing transitions
- In a final state the machine halts

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

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

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

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

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

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

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:

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

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