Vous êtes sur la page 1sur 27

TRABAJO COLABORATIVO # 3

AUTOMATAS Y LENGUAJES FORMALES

ESTUDIANTES:
JUAN CAMILO CORREA C.C: 1058818590
RAFAEL AUGUSTO GUARIN B C.C:71175124

TUTORA:
ANGELA MARA GONZALES

UNIVERSIDAD NACIONAL ABIERTA Y DISTANCIA


UNAD CEAD MEDELLIN
JUNIO 2015

INTRODUCCION
La Mquina de Turing es un automata que, a pesar de su simplicidad, es
capaz de realizar cualquier calculo que pueda ser realizado por un
computador y no existe ningn otro modelo con mayor poder
computacional. Es por ello que se considera como modelo formal del
concepto de Algoritmo, si bien es cierto que existen otros modelos que
definen la misma clase de problemas, pudindose establecer equivalencias
entre todos ellos.
Hay dos puntos de vista para estudiarla:
1. La clase de lenguajes que define: es un reconocedor de lenguajes de
tipo 0, segn la jerarqua de Chomsky.
2. La clase de funciones que computa: es el solucionador de problemas
ms potente que hay.
Como autmata, la Maquina de Turing responde al siguiente modelo
mecnico:

1. Tiene una cinta infinita, pero limitada a la izquierda. Sus celdas


siempre estn llenas: o bien por caracteres formando una secuencia
de entrada/salida o bien por el carcter especial blanco (B).
2. Tiene un cabezal de lectura/escritura, que puede desplazarse tanto a
la derecha como a la izquierda, con el nico lmite de que no es
posible moverse a la izquierda de la primera celda.
3. Su funcionamiento est basado en un paso elemental, transicin, que
se compone siempre de tres acciones:
a) Cambio de estado.
b) Escritura de un smbolo en la celda de la cinta que examina,
reemplazando al que hubiera antes.
c) Desplazamiento a izquierda (L) o derecha (R) una posicin.

4. En el control finito se controla el funcionamiento: cul es el estado


actual de la mquina y cules son las posibles transiciones. El nmero
de estados siempre es finito.

OBJETIVOS

Afianzar los conceptos adquiridos sobre los autmatas y la mquina de


Turing

Desarrollar los ejercicios propuestos en la gua dada.

Realizar el trabajo en equipo con e fin de desarrollar capacidades de


trabajo en grupo.

DESARROLLO ACTIVIDAD

1. DISEO DE UNA MT COMO TRANSDUCTOR

La mquina de Turing se puede comportar como transductor: Un transductor


computa una determinada funcin sobre una cadena en lugar de computarla
sobre un conjunto de enteros o de smbolos independientes. Construyen una
respuesta especfica (una salida) para un problema planteado. Modifica el
contenido de la cinta realizando cierta funcin.

Ejemplos:
Calcula el complemento A1y el complemento A2

Cuenta el nmero de smbolos de una palabra

Divide una palabra en dos

Desplaza smbolos en la cadena a izquierda y derecha

Calcula la paridad de las cadenas

Sustitucin de dgitos

Adicin de bits bajo condiciones especficas matemticas) Son


muchsimas las aplicaciones que como transduccin puede generar una
Mquina de Turing

Ejemplo: La siguiente mquinas de Turing se puede comportar como


transductor cuando reconoce cualquier combinacin de ceros y unos, (tambin
reconoce ); pero que tiene como salida el inverso de los smbolos que han
entrado (cambia 0s por 1s y 1s por 0s). Observe que en este caso el
mismo alfabeto se usa tanto para las cadenas de entrada como para la cinta.

Actividades a desarrollar:
Disee Una MT que se comporte como transductor que reconozca el
lenguaje L = {a}* (NO incluye o NO acepta la cadena ). La transduccin
(salida) debe ser que por cada smbolo que entre duplique el smbolo del
alfabeto de la cinta: Ejemplo: para la cadena (aa) la salida ser (bbbb). El
alfabeto de la cinta es debe ser diferente al alfabeto de entrada. Es decir el
alfabeto de entrada es a y el de la cinta b con sus respectivos
smbolos blanco si es que los necesita en su diseo
La Mquina de Turing es un modelo matemtico que se puede definir como un
Sptuplo (, , , , , , , ) en donde:
= es un conjunto de estados tal forma que h K donde h es el estado de
aceptacin y pertenece al conjunto de estados K. K={0, 1, 2, 3, 4, 5, 6,
7}
= es el alfabeto de entrada (palabras de entrada) donde .
={, , , }
(Smbolo blanco pertenece al alfabeto de la cinta no al alfabeto de las
palabras que se van a reconocer)
s K es el estado inicial que pertenece al conjunto de estados K. s={0}
T K es el estado final que pertenece al conjunto de estados K. T = {7}
B es el smbolo carcter blanco que est inmerso en el alfabeto de la cinta
.
= es el alfabeto de la cinta, donde y . ={, , , , , }
(Smbolo blanco pertenece al conjunto de smbolos del alfabeto de la cinta de y
el alfabeto de la cinta contiene al alfabeto de entrada)
: Es la funcin de transicin ( {} ) ( {, })

(q0, a) = (q1, Q, D)
(q1, K) = (q1, K, D)
(q1, a) = (q1, D, D)
(q1, B) = (q2, K, D)
(q2, B) = (q3, B, I)
(q3, K) = (q4, K, I)
(q0, P) = (q3, a, D)
(q4, O) = (q1, K, D)
(q4, D) = (q4, O, D)
(q4, K) = (q4, K, I)
(q4, B) = (q4, K, D)
(q4, Q) = (q5, K, D)
(q5, K) = (q5, K, D)
(q5, B) = (q6, B, I)
(q6, K) = (q6, b, I)
(q6, B) = (q7, B, D)

2. Disela en un Diagrama de Moore.

3. Recorra la mquina con al menos una cadena vlida explicando lo sucedido


tanto en la cinta como en la secuencia de entrada.

La cadena vlida usada en este punto: aa

La mquina inicia en el estado q0 y el cabezal de la cinta se ubica en la primera


a del extremo izquierdo.

Del estado q0 pasa al estado q1, lee una a, escribe una Q y se desplaza hacia
la derecha.

La mquina se mantiene en el mismo estado q1, lee una a, escribe una D y se


desplaza hacia la derecha.

Del estado q1 pasa al estado q2, lee un espacio en blanco, escribe una K y se
desplaza hacia la derecha.

Del estado q2 pasa al estado q3, lee un espacio en blanco, escribe una K y se
desplaza hacia la izquierda.

Del estado q3 pasa al estado q4, lee y escribe una K, se desplaza hacia la
izquierda.

La mquina se mantiene en el mismo estado q4, lee una D, escribe una O y se


desplaza hacia la derecha.

La mquina se mantiene en el mismo estado q4, lee y escribe una K y se


desplaza hacia la izquierda.

Del estado q4 pasa al estado q1, lee una O, escribe una K y se desplaza hacia
la izquierda.

La mquina se mantiene en el mismo estado q1, lee y escribe una K y se


desplaza hacia la derecha.

Del estado q1 pasa al estado q2, lee un espacio en blanco, escribe una K y se
desplaza hacia la derecha.

Del estado q2 pasa al estado q3, lee un espacio en blanco, escribe una K y se
desplaza hacia la izquierda.

Del estado q3 pasa al estado q4, lee y escribe una K, se desplaza hacia la
izquierda.

La mquina se mantiene en el mismo estado q4, lee y escribe una K y se


desplaza hacia la izquierda.

Repite el mismo proceso anterior, se mantiene en el mismo estado q4, lee y


escribe una K y se desplaza hacia la izquierda.

Del estado q4 pasa al estado q5, lee una Q, escribe una K y se desplaza hacia
la derecha.

La mquina se mantiene en el mismo estado q5, lee y escribe una K y se


desplaza hacia la derecha.

Sigue la mquina en el mismo estado q5, lee y escribe una K y se desplaza


hacia la derecha.

An sigue la mquina en el mismo estado q5, lee y escribe una K y se


desplaza hacia la derecha.

Del estado q5 pasa al estado q6, lee y escribe un espacio en blanco, y se


desplaza hacia la izquierda.
En este estado q6, lee todas las K y coloca una b se desplaza hacia la
izquierda.

En el estado q6, lee la primera K de la izquierda, coloca una b y se desplaza


hacia la izquierda.

Del estado q6 pasa al estado final q7, lee y escribe un espacio en blanco, y se
desplaza hacia la derecha.

4. Identifique una cadena que no sea vlida y justifquela porque.


Cadena no vlida: ac

Esta cadena no es vlida, porque no llega a un estado de aceptacin, y


adems la c no es un elemento que hace parte del alfabeto de entrada ni del
alfabeto de la cinta, ya que el lenguaje dado en el ejercicio es L = {a}* (una
misma letra, sea cualquiera). Cuando queremos que una palabra no sea
aceptada, desde luego debemos evitar que la MT llegue al halt. Podemos
asegurarnos de ello haciendo que la MT caiga en un ciclo infinito. Para este
caso la c hace que no llegue al estado final q7.
5. Ejecute el Run Test a una cadena aceptada que tenga al menos cinco
smbolos.
Cadena aceptada o vlida: aaaaa

6. Identifique en que momento la mquina se detiene.


La MT se llega al final de un clculo cuando se alcanza un estado
especial llamado halt en el control finito, como resultado de una transicin,
para este caso el estado final q7. Al llegar al halt, se detiene la operacin
de la MT, y se acepta la palabra de entrada (que para nuestro ejemplo de
cadena vlida se tom aaaaa). Adems a esto, la cabeza lectora queda
ubicada en la primera a del lado izquierdo de la cinta.
Es decir, cuando llega al estado q7 de aceptacin o estado halt la mquina
se detiene en el estado final q7 generando una salida de aaaaaaaaaa,
cuando la entrada es aaaaa.

7. Lo que acaba de disear es una MUT o una MT. Justifique su respuesta.

MUT: Una mquina de Turing computa una determinada funcin parcial de


carcter definido y unvoca, definida sobre las secuencias de posibles
cadenas de smbolos de su alfabeto. En este sentido se puede considerar
como equivalente a un programa de ordenador, o a un algoritmo. Sin
embargo es posible realizar una codificacin de la tabla que representa a
una mquina de Turing, a su vez, como una secuencia de smbolos en un
determinado alfabeto; por ello, podemos construir una mquina de Turing
que acepte como entrada la tabla que representa a otra mquina de

Turing; son un solo propsito.


MT: Clase ms general de autmata, que representa la mquina abstracta
ms potente hasta ahora definida
En resumen, el diseo del punto 2 es una MT, dado que esta son utilizadas
para hacer clculos, y las MUT son utilizadas para procesar informacin de una
misma MT o dado el caso en muchas MT.
2 EJERCICIO: DISEO DE UN TRANSDUCTOR

No necesariamente un Transductor tiene que ser una MT.


Actividades a desarrollar:
Disee un Transductor (MAQUINA DE MEALY) que realice la misma
transduccin del ejercicio anterior.
1. Identifique los componentes de la Mquina (descrbala).
Una mquina de Mealy es un a tupla de 6 (S, S 0, , ,T,G) que consiste de:
S: Es el conjunto finito de estados. (q0,q1)
S0: Estado inicial. (q0)
: Conjunto finito- es el alfabeto de entrada. (a)
: Es el alfabeto de salida. (b)
Una Funcin de transicin (T: S S)
Una funcion de salida:(G: S )

2. Disela en diagrama (Mquina de Mealy).

3. Recorra la mquina con al menos una cadena vlida explicando lo sucedido


tanto en la cinta como en la secuencia de entrada.
Cadena vlida: aa

Parte del estado q0. Como es visualizado en la grfica.

Pasa del estado qo al q1: entra una a y salen bb

En el estado q1: entra otra a y salen bb. Dando por terminado el proceso en el
estado q1.

4. Identifique una cadena que no sea vlida y justifquela porque.


Cadena no vlida: ab

Esta cadena ab no es vlida dado que solamente la a pertenece al lenguaje de


entrada, ms no la b.

5. Ejecute el RunTest a una cadena aceptada que tenga al menos tres smbolos
Cadena vlida: aaa

6. Identifique en que momento la mquina se detiene.


Cuando entra la tercera a, y esta sera la ltima entrada en la mquina de Mealy,
por lo tanto esto hace que la mquina de detenga.

7. Explique cinco caractersticas de la Mquina de Mealy y encuentre cinco


diferencias con las Mquinas de Turing (MT).

Caractersticas -Diferencias
En su diseo presentan una entrada y una salida.
Presenta transicin y salida diferente a las MT

3. EJERCICIO: DISEO DE UNA MT QUE ACEPTE CADENAS CON LA


CINTA VACIA
La mquinas de Turing pueden reconocer cadenas llegando a un estado de
aceptacin o de parada halt aun cuando la cinta no se haya desocupado o
an tenga caracteres. Dependiendo los fines con que se construya la mquina
y el tipo de informacin a tratar, los diseos de MT reconocedoras de lenguajes
con cinta vaca al final de cada cadena aceptada pueden ser de gran utilidad y
podero computacional.
Actividades a desarrollar:
Disee Una MT que reconozca el lenguaje L = {0}* (incluye la cadena ). Y
que al final del recorrido de la cadena aceptada, la cinta quede vaca solo
con los caracteres blanco. El alfabeto de la cinta debe ser diferente al
alfabeto de entrada
1. Identifique los componentes de la Mquina de Turing (descrbala).
La Mquina de Turing es un modelo matemtico que se puede definir como un
Sptuplo (, , , , , , , ) en donde:
= es un conjunto de estados tal forma que h K donde h es el estado de
aceptacin y pertenece al conjunto de estados K. K={4, 5, 6}
= es el alfabeto de entrada (palabras de entrada) donde . ={0, }
(Smbolo blanco pertenece al alfabeto de la cinta no al alfabeto de las
palabras que se van a reconocer)
s K es el estado inicial que pertenece al conjunto de estados K. s={4}
T K es el estado final que pertenece al conjunto de estados K. T = {6}
B es el smbolo carcter blanco que est inmerso en el alfabeto de la cinta
.
= es el alfabeto de la cinta, donde y . ={}
(Smbolo blanco pertenece al conjunto de smbolos del alfabeto de la cinta de y
el alfabeto de la cinta contiene al alfabeto de entrada)
: Es la funcin de transicin ( {} ) ( {, })
(q4, 0) = (q4, K, D)
(q4, B) = (q5, B, I)
(q5, K) = (q5, B, I)
(q5, B) = (q6, B, D)

2. Disela en un Diagrama de Moore.

3. Recorra la mquina con al menos una cadena vlida explicando lo sucedido


tanto en la cinta como en la secuencia de entrada.
Cadena vlida: 000

La mquina inicia en el estado q4, con la cabeza lectora ubicada en el primer 0


de la izquierda.

Estando en el estado q4, lee un 0, escribe una k y se desplaza a la derecha.

Se mantiene en el mismo estado q4, lee un 0, escribe una K y se desplaza a la


derecha nuevamente.

Se mantiene en el mismo estado q4, lee un 0, escribe una K y se desplaza a la


derecha nuevamente.

Pasa al estado q5, lee y escribe un carcter en blanco, se desplaza a la


izquierda.

En el mismo estado q5, lee una K, escribe un carcter en blanco y se desplaza


a la izquierda.

En el mismo estado q5, lee una K, escribe un carcter en blanco y se desplaza


a la izquierda.

Realiza el paso anterior nuevamente.

Pasa del estado q5 al estado final q6, lee y escribe un carcter en blanco, se
desplaza hacia la derecha.
4. Identifique una cadena que no sea vlida y justifquela porque.

Cadena no vlida: 00a

Se mantiene en el estado q4, dado que la a no es dato valido en esta cadena y


adems la cadena 00aa no llega al estado halt, o estado final q6.

5. Ejecute el Run Test a una cadena aceptada que tenga al menos


cinco smbolos

6. Identifique en que momento la mquina se detiene.


La mquina se detiene en el estado final q5 generando una salida de tres
(3) caracteres en blanco, cuando la entrada es 000, (tomando como
cadena vlida 000).
Es decir, recorre los diferentes estados en la mquina con la cadena de entrada
000 y posteriormente llega al estado final q5, acepta la cadena y se detiene en
este estado halt con caracteres en blanco.
4. MT QUE SE COMPORTA COMO COMPUTADORA DE
FUNCIONES

La siguiente Mquina de Turing hace que se comporte como calculadora


computacional de una funcin especfica:

1. Identifique la funcin(escrbala)
M = h_, Q, , f, q0, B, Fi
2. Identifique los componentes de la Mquina de Turing (descrbala).

El lenguaje asociado a esta mquina, se define como

L(M) es el conjunto de cadenas de entrada que llevan a la maquina a un


estado final,
Independientemente de la posicin que ocupe el cabezal

Vous aimerez peut-être aussi