Está en la página 1de 9

Ciencias de la Computación I

Máquinas de Turing
Autómatas Linealmente Acotados

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Motivación
-¿Es posible diseñar un AP que reconozca el lenguaje L1?
L1 = { an bn cn / n > 0 } = {abc, aabbcc, aaabbbccc, … }
Posible estrategia cadena aabbcc

A
A
1) a a b b c c … Z0
Apilamos una A con cada a

2) a a b b c c … Desapilamos una A con cada b


Z0

No se pueden comparar las c´s,


ya que la pila quedo vacía
No existe estrategia para reconocer este tipo de lenguajes con un AP
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

1
Máquinas de Turing

Es necesario agregar algo a los AP para incrementar


su poder computacional

1) Leer y reemplazar símbolos en la cinta de entrada


2) Agregar movimientos a la cabeza lectora (Izq., Der., o No moverse)

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Máquinas de Turing
cinta de entrada (espacio infinito a izquierda y derecha, o sólo a derecha) contiene cadena a ser leída
a a b b c c

cabeza lectora (se mueve Derecha, Izquierda, No mueve)


indicador de estado
e0
e5 e1
e4 e2
e3

mecanismo de control
Estados de MT Dada una cadena x en la cinta de
entrada, si la MT lee toda la cadena y:
✓ Cantidad finita.
➢ termina en estado final →
✓ Un estado inicial.
cadena aceptada
✓ Estados finales o de aceptación.
➢ termina en estado no final →
cadena rechazada
(puede haber leído toda la cadena o no)
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

2
Máquinas de Turing Multicinta
Varias cintas (cada una un espacio ilimitado)
Una cabeza lectora independiente para cada cinta

a a b b c c

cabeza lectora cinta de entrada

indicador de estado
e0
e5 e1
cabeza lectora cinta 1
e4 e2
e3

mecanismo de control

cabeza lectora cinta k


Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Uso de las cintas


L1 = { an bn cn / n > 0 }
a a b b c c Marco inicio con X
Copio una A con cada a leída
X A A hasta encontrar b y blanco

a a b b c c
Retrocedo una A con cada b
leída. Si |A| = |b| → se lee c y X
X A A

a a b b c c
Avanzo una A con cada c
leída. Si |A| = |c| → se lee
X A A blanco y blanco

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

3
Máquina de Turing
Formalmente, una MT reconocedora determinística se define como una 7-upla
MT= <E, A, C, , e0, B, F>

✓ E es un conjunto finito de estados; E   Auxiliares  A= 


✓ A es el alfabeto de entrada AC
✓ C es el alfabeto de la cinta C = A  {B}  Auxiliares

✓  es la función de transición de estados


: E x C → E x C x {I, D, N} 1-cinta
: E x Ck → E x (C x {I, D, N})k k-cintas

✓ e0 es el estado inicial; e0  E

✓ B es el símbolo blanco B C
✓ F es el conjunto de estados finales o de aceptación; F  E
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Transiciones de MT (1 cinta)

✓  es la función de transición de estados : E x C → E x C x {I,D,N}

1) (ei, a) = (ej,Y, D)
a a b b c c a Y b b c c
ei ej

a a b b c c 2) (ei, a) = (ej, Y, I) a Y b b c c
ei ej

a a b b c c 3) (ei, a) = (ej,Y, N) a Y b b c c
ei ej

donde a, b, c, Y  C; ei , ej  E
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

4
Transiciones de MT (k-cintas)

✓  es la función de transición de estados : E x Ck → E x (C x {I,D,N})k

En cada cinta: se lee la celda apuntada por la cabeza lectora,


se reemplaza el símbolo leído y se hace un movimiento

Ejemplo 2-cintas

a a b b c c a a b b c c
(ei, c, A) = (ej, (c,D), (A,I)) ej
ei
A A A A

donde a, b, c, A  C; ei , ej  E

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Reconocimiento de lenguajes: Ejemplo

L = { an bn c2n / n > 0 } = {abcc, aabbcccc, aaabbbcccccc, … }

C1 a a b b c c c c

C2

Posible estrategia:
- Copiar an en C2
- Por cada b en C1, retroceder una a en C2.
- Cada dos c que se avanza en C1, avanzar una en C2

Función de transición de estados:


- Tabla de transición de estados
- Diagrama de transición de estados

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

5
Reconocimiento de lenguajes: Tabla de transición de estados

L = { an bn c2n / n > 0 }
Estado C1 C2 C1 C2 Nuevo
actual estado

e0 a a b b c c c c
a B a N X D e1
e1 a B a D A D e1 X A A

b B b N B I e2
e2 b A b D A I e2
c X c N X D e3 e342105
e3 c A c D A N e4 Estado actual
B B B N B N e5
e4 c A c D A D e3
e5 - - - - - - -

MT=<{e0,e1,e2,e3,e4,e5},{a, b, c},{X, A, B, a, b, c},, e0, B, {e5}>

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Reconocimiento de Lenguajes: Diagrama de transición de estados

L = { an bn c2n / n > 0 }

a,B/<a,D><A,D> b,A/<b,D><A,I>

c,X/<c,N><X,D> c,A/<c,D><A,N>
a,B/<a,N><X,D> b,B/<b,N><B,I>
e1 e2 e3 e4
e0
c,A/<c,D><A,D>

a a b b c c c c
B,B/<B,N><B,N>
X A A
e5

e342105
MT=<{e0, e1, e2, e3, e4, e5}, {a, b, c},{X, A. B, a, b, c, , e0, B, {e5}>

Estado actual
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

6
Reconocimiento de Lenguajes: Descripción instantánea
L = { an bn c2n / n > 0 }
a,B/<a,D><A,D> b,A/<b,D><A,I
>
a,B/<a,N><X,D> c,X/<c,N><X,D> c,A/<c,D><A,N>
b,B/<b,N><B,I>
e1 e2 e3 e4
e0
c,A/<c,D><A,D>
Lee aabbcccc y e5 es final
aabbcccc  L B,B/<B,N><B,N>
e5
<e0aabbcccc >├ < e1aabbcccc>├ < ae1abbcccc>├ < aae1bbcccc> ├ < aae2bbcccc>
<e0 > ├ < Xe1 > ├ < XAe1 > ├ < XAAe1 > ├ < XAe2A >

├ < aabe2bcccc> ├ < aabbe2ccc>├ < aabbe3cccc>├ < aabbce4ccc >├ < aabbcce3cc >
├ < Xe2AA > ├ < e2XAA > ├ < Xe3AA > ├ <Xe4AA > ├ <XAe3A >

├ < aabbccce4c > ├ < aabbcccce3>├ < aabbcccce5>


├ < XAe4A > ├ <XAAe3 > ├ < XAAe5 >
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Máquinas de Turing Reconocedoras


Descripción instantánea cadena ya leída estado actual
símbolo a leer
Una configuración de una MT se define < ei a >
resto de cadena por leer
✓  es la función de transición de estados
: E x C → E x C x {I,D,N} (1 cinta)
Formalmente se define una relación de transición |⎯

x1x2… xk-1ei xk xk+1…. xn |⎯ x1x2… xk-1Y ej xk+1 …. xn si (ei, xk) = (ej,Y, D)

x1x2… xk-1ei xk xk+1…. xn |⎯ x1x2… ej xk-1Y xk+1 …. xn si (ei, xk) = (ej,Y, I)

x1x2… xk-1ei xk xk+1…. xn |⎯ x1x2… xk-1 ej Y xk+1 …. xn si (ei, xk) = (ej,Y, N)

donde x1, …, xn, Y, a  C; ei , ej  E; ,   C*

Para k cintas, esta definición se aplica a cada cinta.


Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

7
Máquinas de Turing Reconocedoras
Cadena aceptada por MT
Una cadena   A* es aceptada por MT = <E, A , C, , e0, B, F> sí y sólo sí
e0  |⎯
* a e a
1 f 2 |⎯
* MT empezando en e0 con la cabeza lectora
apuntando al primer símbolo de , luego de varias
transiciones termina de leer toda la cadena , y
llega a un estado ef  F; en la cinta pueden quedar
las cadenas a1, a2  C* con la cabeza lectora
apuntando al primer símbolo de a2

Luego, el lenguaje aceptado por MT es:

L(MT) = {  * a e a y   A* y e  F y a , a C* }
/ e0  |⎯ 1 f 2 f 1 2

Los lenguajes aceptados por las Máquinas de Turing se denominan


Lenguajes Estructurados por frases o Recursivos
enumerables o de Tipo 0.

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

Ejemplo
L = { a2k b gp cn dn / p > 0, n ≥ 0 y k >n}

a2k b gp cn dn p > 0, n ≥ 0 y k > n


| | |

C1 a a a a b g c d

C2
Posible estrategia:
- Copiar ak en C2 (cada dos a copiar una)
- Leer b
- Leer gp
- Por cada c en C1 retroceder una a en C2. Al llegar a d, debe haber a en C2
- Por cada d en C1 avanzar una a en C2. Se debe llegar a blanco en C1 y C2
Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

8
Ejemplo
L = { a2k b gp cn dn / p > 0, n ≥ 0, y k >n}

g,B/<g,D><B,N> c,A/<c,D><A,I>

a,B/<a,N><X,D> g,B/<g,D><B,N> c,B/<c,N><B,I>


b,B/<b,D><B,N>
e1 e3 e4 e5
e0

B,B/<B,N><B,N>

e7
e2
B,B/<B,N><B,N>

MT=<{e0, e1, e2, e3 , e4, e5 , e6, e7}, {a, b, g. c. d}, {X, A. B, a, b, g, c, d}, , e0, B, {e7}>

Ciencias de la Computación I - Filminas de Clase – Facultad Cs. Exactas – UNCPBA - 2021

También podría gustarte