You are on page 1of 13

1.

Identifique los componentes de la Mquina de Turing (descrbala).

Una mquina de Turing es un modelo computacional que realiza una lectura/escritura de


manera automtica sobre una entrada llamada cinta, generando una salida en esta
misma. Transforma un INPUT en un OUTPUT despus de algunos pasos debido a que en
cada instante la mquina puede leer un solo dato de la secuencia y realiza ciertas
acciones en base a una tabla, en la cul tiene en cuenta el estado actual y el ltimo dato
ledo. La mquina tiene una serie de estados internos finitos que tambin se pueden
numerar en binario. Para llevar a cabo algn algoritmo, la mquina se inicializa en algn
estado interno arbitrario. A continuacin, se pone en marcha y la mquina lee el bit que se
encuentra en ese momento en su interior y ejecuta alguna operacin con ese bit. Despus
se mueve hacia la derecha o hacia la izquierda, y vuelve a procesar el siguiente bit de la
misma manera. Al final se para, dejando el resultado al lado izquierdo por ejemplo.
Definicin formal
Una mquina de Turing con una sola cinta puede ser definida como una 7-tupla
M={Q,,,s,b,F,}, donde:
Q = {q0, q1 y q2}
= {0,1,}
= {0,1, }
s Q es el estado inicial: q0.
b es un smbolo denominado blanco = {}.
FQ es el conjunto de estados finales de aceptacin. El estado final es q2
:Q x Q x x{L,R} = {q0, q1 y q2}x{B} {q0, q1 y q2}x{B}x{L,R,N}

2. Que significa el comportamiento de una mquina de Turing como transductor.


Asocie lo que interprete con el diseo que realiza (evale si es transductor o no y
por qu)
Se puede considerar que una mquina de Turing computa una determinada funcin sobre
una cadena o un posible conjunto de ellas en lugar de computarla sobre un conjunto de
enteros:
Entonces en ste caso hablamos de transduccin
Ejemplos sencillos son:

Dividir una palabra en dos.

Aplicar un homomorfismo.

Desplazar (rotar) los smbolos un nmero de veces a derecha o izquierda.

Modelo del transductor

Entradas

Salida
Modelo transductor
Transforma entradas en salidas

Salida=f(entradas)
Configuracin = (estado+contenido_cinta+posicin_cabezal).
El contenido de la cinta es finito.
En un tiempo finito de posicin tan solo se ha podido modificar un nmero finito de
posiciones. Para describir el contenido de la cinta, basta con una palabra finita.
Descripcin del movimiento de transicin definido por la funcin de transductor definido
por la funcin de la siguiente manera:
(

Entonces si la MT est en el estado 0 con el estado inicial en q0, lo que va a hacer es


volver a su posicin cambiando ve valor 0 a 1 y movindose hacia la derecha para leer el
otro valor, lo mismo sucede si encuentra un 1. Luego si encuentra un espacio en blanco y
a recorrido la palabra, entonces se mover haca la izquierda sin cambiar valores. Pero si
no ha ledo toda la cadena se parar el sistema y terminar.
Si la MT est en el estado Q1 y recibe un 1 o un 0, ste no cambiar ningn valor
movindose haca el lado izquierdo hasta que haya ledo todos los valores de la nueva
cadena que ya pas por el estado q0. Ahora si est en el estado q1 y ya ley toda la
cadena y llega a un espacio en blanco ste hace un movimiento haca la derecha para
quedar en el primer valor de la nueva cadena y salta al estado 2, terminando as el
proceso.

3. Disela en un Diagrama de Moore.


Se piensa disear una Mquina de Turing que calcule el complemento a 1 de un nmero
binario. Es decir, sustituir los 0s por 1s y los 1s por 0s.
Se necesita implementar una mquina de touring que se comporte como un transductor,
porque genera una salida en la cinta.
Tendremos que un solo estado, que ser el inicial, q0, sobre el que se realizan todas las
transiciones:
(*

+*

* +)

Si adems se exige que el transductor termine con un estado final y pare, si la entrada es
correcta es decir, una simple secuencia de ceros y unos y adems el estado final quedase
al inicio de la palabra, la solucin sera:
(*

+*

+)

4. Recorra la mquina con al menos una cadena vlida explicando lo sucedido tanto
en la cinta como en la secuencia de entrada.

La cadena que se introdujo fue 1001, la cul es vlida debido a que el algoritmo va a
intercambiar los 1s por 0s y los 0s por 1s.
Entonces se empieza a leer el primer dgito el cul es 1, ste valor lo que hace es que el
siguiente estado sea 0 y se mueva haca la derecha, por lo tanto va a leer el 0. Al leer el
cero, ste vuelve y cambia a 1 movindose haca la derecha el cabezal leyendo as el
siguiente 0. El siguiente 0 tambin cambia de valor y tambin se mueve haca la derecha,
lo mismo sucede con el ltimo valor que es 1. Luego de moverse a la derecha encuentra
un espacio vaco, lo que hace que se mueva haca la izquierda el cabezal y cambie de
estado de q0 a q1. En ste punto lo que va a hacer es recorrer la cinta pero ahora hacia la
izquierda sin cambiar valores, hasta llegar a un espacio en blanco. De ah al pasar a un
estado en blanco el cabezal se mueve haca el lado derecho quedando en el primer valor
de la nueva secuencia de nmeros y pasando al estado final q2, dando por terminado el
proceso.

5. Identifique una cadena que no sea vlida y justifquela porque. (recorriendo cinta y
datos de entrada)

El sistema tiene como lenguaje los valores 0 y 1, como a su vez tiene el smbolo de
espacio en blanco debido a que ste es quin da el salto haca los otros estados.

Utilizamos el mismo cdigo anterior 1001, pero ahora con un espacio entre los nmeros.
Entonces empezamos por el 1 se deja un espacio en blanco, luego el 0 se deja otra
espacio en blanco, seguidamente otro 0 despus un espacio en blanco y por ltimo el 1.
Como lo que se defini fue un problema para cambiar 1 a 0 y 0 a 1, al recibir un espacio
en blanco el cul est definido para hacer un cambio de estado y hacer un movimiento
haca la izquierda o hacia la derecha segn sea el caso. Por lo tanto al iniciar el sistema
est en el estado q0 lo va a rechazar por lo tanto no va a generar ningn cambio ni
movimiento, por lo tanto es una cadena no vlida.
6. Ejecute el RunTest a la cadena aceptada (mustrela en la captura de imagen que le
genera JFLAP asociada a cada transicin para el trabajo). El RunTest iplica identificar
cada iteraccin en la que se muestre el carcter ledo, e contenido de la cinta, lo que falta
por leer.

En sta imagen se aprecia la lectura del primer elemento el cul es 1, as que se espera
que no cambia de estado, cambie el valor a 0 y se mueva haca la derecha.

En sta imagen se aprecia la lectura del primer elemento el cul es 0, as que se espera
que no cambia de estado, cambie el valor a 1 y se mueva haca la derecha.

En sta imagen se aprecia la lectura del primer elemento el cul es 0, as que se espera
que no cambia de estado, cambie el valor a 1 y se mueva haca la derecha.

En sta imagen se aprecia la lectura del primer elemento el cul es 1, as que se espera
que no cambia de estado, cambie el valor a 0 y se mueva haca la derecha.

Debido a que lee un espacio en blanco, cambia de estado haca q1 y se mueve hacia la
izquierda sin hacer ningn cambio en el ltimo registro.

En sta imagen se ve que lee un 0 por lo tanto no cambiar el valor, mantendr el estado
q1 y se mover haca la izquierda.

En sta imagen se ve que lee un 1 por lo tanto no cambiar el valor, mantendr el estado
q1 y se mover haca la izquierda.

En sta imagen se ve que lee un 1 por lo tanto no cambiar el valor, mantendr el estado
q1 y se mover haca la izquierda.

En sta imagen se ve que lee un 0 por lo tanto no cambiar el valor, mantendr el estado
q1 y se mover haca la izquierda.

En ste punto se lee un espacio en blanco lo que quiere decir que se mover haca la
derecha, sin cambiar ningn valor y saltar al estado q2.

Ya en el estado q2, el cul es el estado final o de salida, el sistema acaba y termina el


proceso. De sta manera se comporta como haciendo el complemento a 1, de un nmero
binario.

7. Identifique en que momento la mquina se detiene.


La mquina se detiene, cuando despus de un nmero lee un espacio en blanco y no
tiene definido el siguiente estado para ese espacio en blanco. Por ejemplo el 1001,
primero lee todos los caracteres y se queda en el estado q0, luego de recorrer por la
cadena lee un estado en blando de la cinta, entonces salta al siguiente estado por el lado
izquierdo, si fuera el derecho seguira leyendo blanco y as sucesivamente. Luego vuelve
y lee la cadena cambiando valores y movindose hacia la izquierda hasta encontrar otra
vez el espacio en blanco, de ah pasa al estado q2 y como no tiene que otra accin que
hacer termina. Pero en el caso de 1 (espacio) 0 (espacio) 0 (espacio) 1, al leer el primer
valor se queda en q0 sin embargo al leer el (espacio) no tiene definido esa funcin ya que
si se mueve al lado izquierdo vuelve al valor anterior por lo tanto se para la mquina.
8. Visualice las salidas (como transductor) para 5 cadenas vlidas en el simulador JFLAP

9. Identifique si el diseo de la Mquina de Turing obedece a un complemento a 1 de un


nmero binario. Justifique su respuesta y documntela. (tenga en cuenta citas y
referencias de autores).
Por supuesto que s, debido a que el complemento a uno lo que hace es coger un nmero
binario es intercambiar los valores, es decir si es un 1111 cambiarlo a 0000 o si es un
0110 cambiarlo a 1001, por lo tanto ste ejercicio planteado lo que hace es intercambiar
los valores, sin embargo no es as para todas las aplicaciones de la Mquina Turing.

You might also like