Language Theory

download Language Theory

of 40

Transcript of Language Theory

  • 7/26/2019 Language Theory

    1/40

    1

    Computing Functions

    withTuring Machines

  • 7/26/2019 Language Theory

    2/40

    2

    A function )(wf

    Domain:

    Result Region:

    has:

    D Dw

    S Swf )(

  • 7/26/2019 Language Theory

    3/40

    3

    A function may have many parameters:

    yxyxf +=),(

    Example: Addition function

  • 7/26/2019 Language Theory

    4/40

    4

    nteger Domain

    !nary:

    "inary:

    Decimal:

    #####

    #$#

    %

    &e prefer unaryrepresentation:

    easier to manipulate

  • 7/26/2019 Language Theory

    5/40

    5

    Definition:

    A function is computa'le if

    there is a Turing Machine such that:

    f

    M

    nitial configuration Final configuration

    Dw Domain

    0q

    w

    fq

    )(wf

    final stateinitial state

    For all

  • 7/26/2019 Language Theory

    6/40

    6

    )(0 wfqwq f

    nitial

    Configuration

    Final

    Configuration

    A function is computa'le if

    there is a Turing Machine such that:

    f

    M

    n other words:

    Dw DomainFor all

  • 7/26/2019 Language Theory

    7/407

    Example

    The function yxyxf +=),( is computa'le

    Turing Machine:

    nput string: yx0

    unary

    (utput string: 0xy unary

    yx, are integers

  • 7/26/2019 Language Theory

    8/408

    0

    0q

    1 1 1 1

    x y

    1

    0

    fq

    1 1

    yx +

    11

    )tart

    Finish

    final state

    initial state

  • 7/26/2019 Language Theory

    9/409

    0q

    Turing machine for function

    1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    yxyxf +=),(

  • 7/26/2019 Language Theory

    10/4010

    Execution Example:

    11=x

    11=y

    0

    0q

    1 1 1 1

    Time $

    x y

    Final Result

    0

    4q

    1 1 1 1yx +

    *+,

    *+,

  • 7/26/2019 Language Theory

    11/4011

    0

    0q

    1 1Time $

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    1 1

  • 7/26/2019 Language Theory

    12/4012

    0q

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    01 11 1Time #

  • 7/26/2019 Language Theory

    13/4013

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    0

    0q

    1 1 1 1Time +

  • 7/26/2019 Language Theory

    14/4014

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    1q

    1 11 11Time -

  • 7/26/2019 Language Theory

    15/40

  • 7/26/2019 Language Theory

    16/4016

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    1q

    1 11 11Time %

  • 7/26/2019 Language Theory

    17/4017

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    2q

    1 1 1 11Time /

  • 7/26/2019 Language Theory

    18/4018

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    3q

    1 11 01Time 0

  • 7/26/2019 Language Theory

    19/40

    19

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    3q

    1 1 1 01Time 1

  • 7/26/2019 Language Theory

    20/40

  • 7/26/2019 Language Theory

    21/40

    21

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    3q

    1 1 1 01Time #$

  • 7/26/2019 Language Theory

    22/40

    22

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    3q

    1 11 01Time ##

  • 7/26/2019 Language Theory

    23/40

    23

    0q 1q 2q 3qL,

    L,01

    L,11

    R,

    R,10

    R,11

    4q

    R,11

    4q

    1 1 1 01

    3A4T 5 accept

    Time #+

  • 7/26/2019 Language Theory

    24/40

    24

    Another Example

    The function xxf 2)( =

    is computa'le

    Turing Machine:

    nput string: x unary

    (utput string: xx unary

    x is integer

  • 7/26/2019 Language Theory

    25/40

    25

    0q

    1 1

    x

    1

    1

    fq

    1 1

    x2

    11

    )tart

    Finish

    final state

    initial state

  • 7/26/2019 Language Theory

    26/40

    26

    Turing Machine 6seudocode for xxf 2)( =

    7Replace every #with 8

    7Repeat:

    7Find rightmost 89 replace it with #

    7o to right end9 insert #!ntil no more 8remain

  • 7/26/2019 Language Theory

    27/40

    E l

  • 7/26/2019 Language Theory

    28/40

    28

    0q 1q 2q

    3q

    R,1$

    L,1

    L,

    R$,1 L,11 R,11

    R,

    Example

    0q

    1 1

    3q

    1 11 1

    )tart Finish

  • 7/26/2019 Language Theory

    29/40

  • 7/26/2019 Language Theory

    30/40

    30

    Turing Machine for

    nput: yx0

    (utput: 1 0or

    =),( yxf

    0

    1 yx >

    yx

    if

    if

  • 7/26/2019 Language Theory

    31/40

    31

    Turing Machine 6seudocode:

    Match a #from with a #fromx y

    7Repeat

    !ntil all of or is matchedx y

    7fa #from is not matched erase tape9 write #

    else

    erase tape9 write $

    x

  • 7/26/2019 Language Theory

    32/40

    32

    Com'ining Turing Machines

  • 7/26/2019 Language Theory

    33/40

    33

    Block Diagram

    Turing

    Machineinput output

  • 7/26/2019 Language Theory

    34/40

    34

    Example:

    =),( yxf

    0

    yx + yx>

    yx

    if

    if

    Comparer

    Adder

    Eraser

    yx,

    yx,

    yx>

    yx

    yx +

    0

  • 7/26/2019 Language Theory

    35/40

    35

    Turing;s Thesis

  • 7/26/2019 Language Theory

    36/40

    36

    Do Turing machines have

    the same power with

    a digital computer>>

    Question:

  • 7/26/2019 Language Theory

    37/40

    37

    Turings thesis:

    Any computation carried out

    'y mechanical means

    can 'e performed 'y a Turing Machine

    *#2-$,

  • 7/26/2019 Language Theory

    38/40

    38

    Computer )cience 4aw:

    A computation is mechanical

    if and only if

    it can 'e performed 'y a Turing Machine

    There is no ?nown model of computation

    more powerful than Turing Machines

  • 7/26/2019 Language Theory

    39/40

    39

    Definition of Algorithm:

    An algorithm for functionis a

    Turing Machine which computes

    )(wf

    )(wf

  • 7/26/2019 Language Theory

    40/40

    &hen we say:

    There exists an algorithm

    Algorithms are Turing Machines

    &e mean:

    There exists a Turing Machine