Tema 6a Maquina Turing Automata Tipo 0

9
Introdución Una máquina de Turing es un dispositivo que manipula símbolos sobre una cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de computadora. Fue descripta por Alan Turing como una “máquina automática” en 1936 en la revista Proceedings of the London Mathematical Society. La máquina de Turing no está diseñada como una tecnología de computación práctica, sino como un dispositivo hipotético que representa una máquina de computación. Las máquinas de Turing ayudan a los científicos a entender los límites del cálculo mecánico. Maquina de Turing Autómatas y Lenguajes

description

Automata

Transcript of Tema 6a Maquina Turing Automata Tipo 0

Page 1: Tema 6a Maquina Turing Automata Tipo 0

Introdución

Una máquina de Turing es un dispositivo que manipula símbolos sobre una cinta de

acuerdo a una tabla de reglas.

A pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la

lógica de cualquier algoritmo de computadora.

Fue descripta por Alan Turing como una “máquina automática” en 1936 en la

revista Proceedings of the London Mathematical Society.

La máquina de Turing no está diseñada como una tecnología de computación práctica,

sino como un dispositivo hipotético que representa una máquina de computación. Las

máquinas de Turing ayudan a los científicos a entender los límites del cálculo mecánico.

Maquina de Turing

Autómatas y Lenguajes

Page 2: Tema 6a Maquina Turing Automata Tipo 0

Turing (1948, Máquinas inteligentes) refiriéndose a su publicación de 1936, escribió que

la máquina de Turing, consistía en:

..una ilimitada capacidad de memoria obtenida en la forma de una cinta infinita marcada

con cuadrados, en cada uno de los cuales podría imprimirse un símbolo. En cualquier

momento hay un símbolo en la máquina; llamado el símbolo leído. La máquina puede

alterar el símbolo leído y su comportamiento está en parte determinado por ese símbolo,

pero los símbolos en otros lugares de la cinta no afectan el comportamiento de la máquina.

Sin embargo, la cinta se puede mover hacia adelante y hacia atrás a través de la máquina,

siendo esto una de las operaciones elementales de la máquina. Por lo tanto cualquier

símbolo en la cinta puede tener finalmente una oportunidad. (Turing 1948, p. 61)

Maquina de Turing

Autómatas y Lenguajes

Page 3: Tema 6a Maquina Turing Automata Tipo 0

Definición: una maquina de Turing o autómata de tipo 0 es una construcción lógica, que

se puede representar intuitivamente como un dispositivo mecánico.

Esquema de una Maquina de Turing.

Una cinta infinita dividida en celdas, con un cabezal de lectura/escritura que se mueve

sobre la cinta avanzando de a una celda por vez. (ver imagen diapositiva 4)

Un movimiento de la máquina de Turing depende de:

a. Estado en el que se encuentra parada la maquina de Turing

b. El símbolo explorado en la cinta

El resultado puede ser:

a. Cambio de estado

b. Reemplaza el símbolo leído en la cinta por otro nuevo

c. Se mueve el cabezal a izquierda, derecha o se para

Maquina de Turing

Autómatas y Lenguajes

Page 4: Tema 6a Maquina Turing Automata Tipo 0

Maquina de Turing

Autómatas y Lenguajes

Movimiento a izquierda

1 0 1 0 1 ….. …..

Cabezal Lectura/Escritura

Cinta

Movimiento a derecha

Celda

Notación Formal

MT = (Q, , , , q0, B, F)

Q = {conjunto de estados}

= {sub conjunto de símbolos de entrada, no incluye el blanco}

= {conjunto de símbolos permitidos en la cinta}

es la función del siguiente movimiento

B es el símbolo blanco,

q0 es el estado inicial, Q

F Q, es el subconjunto de estados finales

Page 5: Tema 6a Maquina Turing Automata Tipo 0

Maquina de Turing

Autómatas y Lenguajes

L(MT)

El lenguaje aceptado o reconocido por una maquina de Turing, que denotaremos como

L(MT), es el conjunto de palabras formadas por el alfabeto *, que hace que la maquina

de Turing se pare al alcanzar un estado final.

Una maquina de Turing reconoce un lenguaje si es capaz de reconocer todas las sentencias

de dicho lenguaje.

Page 6: Tema 6a Maquina Turing Automata Tipo 0

Maquina de Turing

Autómatas y Lenguajes

Ejemplo

Diseñar una maquina de Turing que acepte el lenguaje L={0n1n / n>0}

Cadenas de ejemplo: 01, 0011,000111, ….

Tabla de transición &

& 0 1 #

Q0 #,<,q1

Q1 #,-,q2

Q2 #,<,q3

Q3 0,<,q4 1,<,q3

Q4 0,<,q4 #,>,q5

Q5 #,-,q6

Q6 #,>,q7

Q7 0,>,q8 #,-,h

Q8 0,>,q8 1,>,q9

Q9 1,>,q9 #,<,q1

Cinta

0 0 0 1 1 # # 1 ... ...

&(0,#,#)=(<,1)

&(1,1,#)=(-,2)

&(2,#,#)=(<,3)

&(3,1,1)=(<,3)

&(3,0,0)=(<,4)

&(7,#,#)=(-,h) Aceptación

Page 7: Tema 6a Maquina Turing Automata Tipo 0

Maquina de Turing

Autómatas y Lenguajes

La M.T. que acepta el lenguaje L={0n1n / n>0}

&(0,#,#)=(<,1) &(estado 0, lee #, escribe #) = (mueve izq., pasa estado 1)

&(1,1,#)=(-,2) &(estado 1, lee 1, escribe #) = (no se mueve, pasa estado 2)

&(2,#,#)=(<,3) &(estado 2, lee #, escribe #) = (mueve izq., pasa estado 3)

&(3,1,1)=(<,3)

&(3,0,0)=(<,4)

&(4,0,0)=(<,4)

&(4,#,#)=(>,5)

&(5,0,#)=(-,6)

&(6,#,#)=(>,7)

&(7,0,0)=(>,8)

&(8,0,0)=(>,8)

&(8,1,1)=(>,9)

&(9,1,1)=(>,9)

&(9,#,#)=(<,1)

&(7,#,#)=(-,h)

&(estado corriente, símbolo lee cinta, símbolo escribe cinta) = (dirección, estado nuevo)

Page 8: Tema 6a Maquina Turing Automata Tipo 0

0,< 1,<

q0 q1

#,< q2

1,# q3

#,< q4

0,<

q5

#,>

q6

0,#

q7

#,>

q8 0,> q9

1,>

0,> 1,>

#,<

h #,-

Maquina de Turing

Autómatas y Lenguajes

Representación M.T. por grafos o diagrama de estados

Cinta

0 0 0 1 1 # # 1 ... ...

Page 9: Tema 6a Maquina Turing Automata Tipo 0

presentación correspondiente a:

Cap. 12 – Maquina de Turing

Apunte – Juan Manuel Cueva Lovelle. Univ. Oviedo

Maquina de Turing

Autómatas y Lenguajes