slide1
Download
Skip this Video
Download Presentation
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY

Loading in 2 Seconds...

play fullscreen
1 / 37

FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

15-453. FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY. * Read chapter 4 of the book for next time * . Lecture9x.ppt. REVIEW. A Turing Machine is represented by a 7-tuple T = (Q, Σ , Γ , , q 0 , q accept , q reject ): . Q is a finite set of states.

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 'FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY' - felix


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
slide1
15-453

FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY

* Read chapter 4 of the book for next time *

Lecture9x.ppt

slide3
A Turing Machine is represented by a 7-tuple T = (Q, Σ, Γ, , q0, qaccept, qreject):

Q is a finite set of states

Σ is the input alphabet, where   Σ

Γ is the tape alphabet, a superset of Σ;   Γ

 : Q Γ→ Q Γ  {L, R}is the transition func

q0 Q is the start state

qaccept Q is the accept state

qreject Q is the reject state, and qreject qaccept

slide4
CONFIGURATION:(1) tape contents, (2) current state, (3) location of read/write head.

11010q700110

slide5
A TM recognizesa language iff it accepts all and only those strings in the language.

A language L is called Turing-recognizable or recursively enumerable

iff some TM recognizes L.

A TM decides a language L iff it accepts all strings in L andrejects all strings not in L.

A language L is called decidable or recursiveiff some TM decides L.

slide6
A language is called Turing-recognizable or recursively enumerable (r.e.) if some TM recognizes it.

A language is called decidable or recursiveif some TM decides it.

slide7
Theorem: If A and A are r.e. then A is decidable.

Given:

a Turing Machine TMA that recognizes A and

a Turing Machine TMR that recognizes A,

we can build a new machine that decides A.

How can we prove this?

  • Run TMA and TMR in parallel. (Or more precisely, interleave them.)
  • One of them will eventually recognize the input string.
  • If TMA recognizes it, then accept.
  • If TMR recognizes it, then reject.
slide8
2n

A TM that decides { 0 | n ≥ 0 }

  • We want to accept iff:
  • the input string consists entirely of zeros, and
  • the number of zeros is a power of 2.
  • High-Level Idea.
  • Repeatedly divide the number of zeros in half until it becomes an odd number.
  • If we are left with a single zero, then accept.
  • Otherwise, reject.
slide9
2n

A TM that decides { 0 | n ≥ 0 }

PSEUDOCODE:

  • Sweep from left to right, cross out every other 0.(Divides number in half.)
  • If in step 1, the tape had only one 0, accept.
  • Else if the tape had an odd number of 0’s, reject.
  • Move the head back to the first input symbol.
  • Go to step 1.
slide10
C = {aibjck | k = i×j, and i, j, k ≥ 1}

Example

aaabbbbcccccccccccc

3

4

3×4 = 12

slide11
C = {aibjck | k = i×j, and i, j, k ≥ 1}
  • High-Level Idea.
  • For each occurrence of a: {
    • For each occurrence ofb: {
      • Delete an occurrence of c.
    • }
  • }
slide12
C = {aibjck | k = i×j, and i, j, k ≥ 1}

PSEUDOCODE:

  • If the input doesn’t match a*b*c*, reject.
  • Move the head back to the leftmost symbol.
  • Cross off an a, scan to the right until b. Sweep between b’s and c’s, crossing out one of each until all b’s are out. If too few c’s, reject.
  • Uncross all the b’s. If there’s another aleft, then repeat stage 3.If all a’s are crossed out, Check if all c’s are crossed off. If yes, then accept, else reject.
slide13
C = {aibjck | k = i×j, and i, j, k ≥ 1}

aabbbcccccc

xabbbcccccc

xayyyzzzccc

xabbbzzzccc

xxyyyzzzzzz

slide14
TURING-MACHINE VARIANTS

Turing machines can be extended in various ways, but so long as a new TM only reads and writes a finite number of symbols in each step,an old TM can still simulate it!

Example: Turing machines with multiple tapes.

Input comes in on one tape, and

other tapes are used for scratch work.

slide15
FINITE STATE CONTROL

MULTITAPE TURING MACHINES

 : Q Γk→ Q Γk  {L,R}k

slide16
FINITE STATE CONTROL

FINITE STATE CONTROL

Theorem: Every Multitape Turing Machine can be transformed into a single tape Turing Machine

1

0

0

.

.

.

#

#

1

0

0

#

slide17
FINITE STATE CONTROL

FINITE STATE CONTROL

Theorem: Every Multitape Turing Machine can be transformed into a single tape Turing Machine

1

0

0

.

.

.

#

#

1

0

0

#

slide18
THE CHURCH-TURING THESIS

Anything that can be computed by algorithm (in our intuitive sense of the term “algorithm”)

can be computed by a Turing Machine.

slide19
We can encode a TM as a string of 0s and 1s

start state

reject state

n states

0n10m10k10s10t10r10u1…

m tape symbols

(first k are input symbols)

blank symbol

accept state

( (p, a), (q, b, L) ) = 0p10a10q10b10

( (p, a), (q, b, R) ) = 0p10a10q10b11

slide20
Similarly, we can encode DFAs, NFAs, CFGs, etc. into strings of 0s and 1s

So we can define the following languages:

ADFA = { (B, w) | B is a DFA that accepts string w }

ANFA = { (B, w) | B is an NFA that accepts string w }

ACFG = { (G, w) | G is a CFG that generates string w }

slide21
ADFA = { (B, w) | B is a DFA that accepts string w }

Theorem: ADFA is decidable

Proof Idea: Simulate B on w

ANFA = { (B, w) | B is an NFA that accepts string w }

Theorem: ANFA is decidable

ACFG = { (G, w) | G is a CFG that generates string w }

Theorem: ACFG is decidable

Proof Idea: Transform G into Chomsky Normal Form. Try all derivations of length 2|w|-1

slide23
w  Σ*

w  Σ*

TM

TM

w  L ?

w  L ?

no

yes

no

yes

accept

reject or no output

accept

reject

L is semi-decidable

(recursively enumerable, Turing-recognizable)

L is decidable

(recursive)

Theorem: L is decidable if both L and L are recursively enumerable

slide24
There are languages over {0,1} that are not decidable.

If we believe the Church-Turing Thesis, this is major: it means there are things that formal computational models inherently cannot do.

We can prove this using a counting argument. We will show there is no functionfrom the set of all Turing Machines ontothe set of all languages over {0,1}. (Works for any Σ.)

Then we will prove something stronger: There are semi-decidable (r.e.) languages that are NOT decidable.

slide25
Languages over {0,1}

Turing Machines

slide26
Cantor’s Theorem

Let L be any set and 2L be the power set of L

Theorem: There is no map from L onto 2L

Assume, for a contradiction, that there is an onto map f : L  2L

Proof:

Let S = { x  L | x  f(x) }

We constructed S so that, for every elem x in L, the set S differs from f(x):

S ≠ f(x) because x  S iff x  f(x)

slide27
Theorem: There is no onto function from the positive integers to the real numbers in (0, 1)

Proof:

Suppose f is such a function:

0.28347279…

2

1

2

3

4

5

:

0.88388384…

8

0.77635284…

6

0.11111111…

1

5

0.12345678…

:

1 if [ nth digit of f(n) ]  1

[ nth digit of r ] =

0 otherwise

f(n)  r for all n ( Here, r = 0.11101... )

slide28
Sidenote

Let Z+ = {1,2,3,4…}. There exists a bijection between Z+ and Z+ Z+

(or Q+)

(1,1) (1,2) (1,3) (1,4) (1,5) …

(2,1) (2,2) (2,3) (2,4) (2,5) …

(3,1) (3,2) (3,3) (3,4) (3,5) …

(4,1) (4,2) (4,3) (4,4) (4,5) …

(5,1) (5,2) (5,3) (5,4) (5,5) …

: : : : : ∙.

slide29
THE MORAL:

For any set L,

2Lalways has ‘more’ elements than L

slide30
Not all languages over {0,1} are decidable, in fact:

not all languages over {0,1} are semi-decidable

{decidable languages over {0,1}}

{semi-decidable langs over{0,1}}

{Languages over {0,1}}

{Turing Machines}

{Strings of 0s and 1s}

{Sets of strings of 0s and 1s}

Powerset of L: 2L

Set L

slide31
THE ACCEPTANCE PROBLEM

ATM = { (M, w) | M is a TM that accepts string w }

Theorem: ATM is semi-decidable (r.e.) but NOTdecidable

ATM is r.e. :

Define a TM U as follows:

On input (M, w), U runs M on w. If M ever accepts, accept. If M ever rejects, reject.

U is a universal TM

Therefore,

U accepts (M,w) M accepts w (M,w)  ATM

Therefore, U recognizes ATM

slide32
Accept if M accepts w

Reject if M does not accept w

Reject if M accepts M

Accept if M does not accept M

ATM = { (M,w) | M is a TM that accepts string w }

ATM is undecidable:

(proof by contradiction)

Assume machine H decides ATM

H( (M,w) ) =

Construct a new TM D as follows: on input M, run H on (M,M) and output the opposite of H

D

D

D( M ) =

Contradiction!

D

D

D

slide33
Theorem: ATM is r.e. but NOT decidable

Theorem: ATM is not even r.e.!

The Halting Problem is Not Decidable

slide34
We have shown:

Given any presumed machine H for ATM,we can effectively construct a TM D such that (D,D) ATM but H fails to tell us that.

In other words,

For any machine H that recognizes ATMwe can effectively give an instance where H fails to decide ATM

In other words,

Given any good candidate for deciding the Halting Problem, we can effectively construct an instance where the machine fails.

slide35
THE HALTING PROBLEM

HALTTM = { (M,w) | M is a TM that halts on string w }

Theorem: HALTTM is undecidable

Assume, for a contradiction, that TM H decides HALTTM

Proof:

We use H to construct a TM D that decides ATM

On input (M,w), D runs H on (M,w)

If H rejects then reject

If H accepts, run M on w until it halts:

Accept if M accepts and

Reject if M rejects

slide36
In many cases, one can show that a language L is undecidable by showing that if it is decidable, then so is ATM

We reduce deciding ATM to deciding the language in question

ATM ≤ L

We just showed:ATM ≤ HaltTM

Is HaltTM ≤ ATM ?

ad