Clases_18_19

download Clases_18_19

of 21

description

Clases_18_19

Transcript of Clases_18_19

  • Clases 18 y 19: Mquina de Turing

    1M. en C. Edgardo Adrin Franco Martnez http://computacion.cs.cinvestav.mx/~efranco

    @efranco_escom

    [email protected]

  • Contenido Mquinas de Turing

    Definicin formal de la mquina de Turing

    Funcionamiento de la mquina de Turing

    Ejemplo 01

    Representacin grfica

    Descripciones instantneas

    Movimiento

    Cierre transitivo de (serie de movimientos) Ejemplo 02

    Lenguaje reconocido por una MT

    Definicin

    Convenciones

    Ejemplo 03

    Funcin computada por una MT

    Convenciones

    Ejemplo 04

    Compiladores (Lenguajes y gramticas - Edgardo A. Franco)

    2

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

  • 3T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Dispositivo capaz de adoptar un estado

    determinado (de Q) y que est conectado a una

    cabeza lectura/escritura que puede leer y escribir

    smbolos en una cinta infinita.

  • 4T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Una mquina de Turing se puede definir

    formalmente como una sptupla:

    M= (,,,Q,q0,f,F)

    : Es el alfabeto de smbolos de la cinta.

    : Es el alfabeto de smbolos de entrada, .

    : Es el smbolo blanco que no pertenece a , .

    Q: Es un conjunto finito de estados.

    q0: Es el estado inicial, y cumple q0 Q.

    f: Es una funcin de transicin parcial, de la forma:

    f: Q Q{L,R}

    F: Es el conjunto de estados finales, F Q.

  • 5T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    En cada accin o movimiento:

    La mquina lee el smbolo de la cinta en la posicin

    donde se encuentra la cabeza de lectura/escritura.

    En funcin del smbolo ledo y del estado actual la

    mquina:

    a. Pasa a un nuevo estado (de forma determinista).

    b. Imprime un smbolo en la cinta en la misma posicin

    donde acaba de leer el smbolo actual.

    c. Mueve la cabeza de lectura/escritura una posicin a la

    izquierda (L), o a la derecha (R).

  • 6T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Inicialmente, la cinta (infinita a ambos lados)

    contiene un nmero finito de smbolos de ,

    precedidos y seguidos por un nmero infinito de

    blancos. La cinta se comporta como un dispositivo

    de entrada/salida.

  • 7T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    M= ({a,b,},{a,b},,{q0,q1},q0,f,{q1})

    f(q0,a)=(q0,a,R)

    f(q0,b)=(q1,,L)

    a a b

    q0

    a a

    q1 para en

  • 8T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    pasa todos los as que haya y cuando encuentra una b

    lo cambia por y para en el estado q1

    a a

    q0

    a a

    q0 para en

  • 9T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Cada nodo corresponde a un estado de la MT.

    Cada transicin f(qi,a)=(qj,b,X) con qi,qjQ, a,b y

    X{L,R} corresponde a un arco del nodo qi al nodo

    qj marcado con la etiqueta (a,b,X).

    El estado inicial se marca con y los estado finales

    con *.

  • 10

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Contiene el contenido de la cinta (slo escribiremos

    los blancos cuando sea necesario).

    Se incluye el estado de la mquina en la posicin

    delante del smbolo donde se encuentra la cabeza

    lectora/escritora.

    q0aaaab

    aaaabq1

  • 11

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    q0aaab aq0aab posible si y slo si f(q0,a)=(q0,a,R) q0aaab q0baab posible si y slo si f(q0,a)=(q0,b,L) aaaq0b aaaq1 posible si y slo si f(q0,b)=(q1,,R)

  • 12

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    q0aaab * aaaq1 si existe q0aaab ... aaaq1

    Una MT comienza en un estado inicial con alguna

    informacin en la cinta, x1qix2 ,realiza una serie de

    movimientos y posiblemente:

    1. Entre en un bucle infinito (no pare nunca):

    x1qix2*

    2. Llegue a una configuracin en la que no es posible

    ningn movimiento:

    x1qix2 * y1qjay2 (para algn qj y a, tal que f(qj,a) noesta definido)

  • 13

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Si, adems, qjF, decimos que la mquina para en un

    estado final. (por convencin no definimos

    transiciones f(qj,a) para ningn estado final qj)

  • 14

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    M= ({a,b,},{a,b},,{q0,q1,q2},q0,f,{q2})

    f(q0,a)=(q1,a,R) f(q1,b)=(q0,b,L) f(q1,)=(q0,,L)

    f(q0,b)=(q2,b,R) f(q1,a)=(q0,a,L)

    diferentes casos:

    1. q0 para en q0

    2. q0bx1x2...xn bq2x1x2...xn para en q23. q0ax1x2...xn aq1x1x2...xn q0ax1x2...xn ... (bucle infinito)

  • 15

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    El contenido de la cinta al iniciar una mquina puede

    interpretarse como una palabra de un determinado

    lenguaje.

    Sea M= (,,,Q,q0,f,F) una MT. El lenguaje

    aceptado por M es:

    L(M) = {x | q0x * y1qiay2, con qiF, x*,y1,y2*, a y f(qi,a) no esta definido}

  • 16

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Inicialmente la cinta contiene una palabra x y la

    cabeza de lectura/escritura se encuentra en la

    posicin del primer smbolo de x en el estado q0:

    q0x.

    La mquina acepta x si se para en un estado final.

    El contenido de la cinta al parar es irrelevante.

    Se rechaza x si la mquina no se para nunca o se

    para en un estado que no es final.

    Si la palabra es , la configuracin inicial es q0.

  • 17

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

  • 18

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Las MTs pueden transformar entradas en salidas:

    La entrada son todos los smbolos no blancos en la

    cinta en el momento inicial.

    El contenido de la cinta (los smbolos no blancos) al

    final de la computacin (cuando la mquina se para

    en un estado final) se considera como salida.

    En otras palabras, se puede considerar una MT como

    la implementacin de una funcin f: y=f(x) si para la

    configuracin inicial q0x la mquina M para en una

    configuracin qfy, donde qf es un estado final de M:

    q0xM*qfy

  • 19

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    Codificacin de los nmeros naturales en el sistema

    unario:

    Se representa cada x por una palabra w(x){1}+

    tal que |w(x)|-1=x

    (01; 111; 2111; 31111 ...)

    (se pueden usar otros tipos de codificaciones)

    Al inicio y al final de la ejecucin la cabeza se

    encuentra sobre el primer 1 a la izquierda.

    No hay transiciones definidas para estados finales.

  • 20

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    z

    M= ({1,},{1},,{q0,q1,q2,q3,q4,q5},q0,f,{q5})

    f(q0,1)=(q0,1,R) f(q2,1)=(q3,,L)

    f(q0,)=(q1,1,R) f(q3,1)=(q4,,L)

    f(q1,1)=(q1,1,R) f(q4,1)=(q4,1,L)

    f(q1,)=(q2,,L) f(q4,)=(q5,,R)

  • 21

    T

    e

    o

    r

    a

    c

    o

    m

    p

    u

    t

    a

    c

    i

    o

    n

    a

    l

    C

    l

    a

    s

    e

    s

    1

    8

    y

    1

    9

    :

    M

    q

    u

    i

    n

    a

    d

    e

    T

    u

    r

    i

    n

    g

    P

    r

    o

    f

    .

    E

    d

    g

    a

    r

    d

    o

    A

    d

    r

    i

    n

    F

    r

    a

    n

    c

    o

    M

    a

    r

    t

    n

    e

    zq011111 1q01111 11q0111111q011 1111q111 11111q11111111q1 11111q21 1111q31111q41 11q411 1q4111q41111 q41111 q51111

    q011111*q51111

    calcula la suma de dos enteros positivos x+y,

    donde x e y se representan mediante notacin

    unaria:1n corresponde al nmero n-1 . Es decir, x=0

    se representa con 1, x=1 se representa con 11.