Anda di halaman 1dari 26

MOMENTO 2

FABER YAMID ORTIZ CAICEDO


CODIGO: 1125183043

GRUPO: 301405 _20

TUTOR: CARLOS ALBERTO AMAYA TARAZONA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA, UNAD


CURSO AUTMATAS Y LENGUAJES FORMALES
INGENIERIA DE SISTEMAS
ABRIL DE 2015

PROBLEMAS A DESARROLLAR

Parte 1: Calcular el autmata mnimo correspondiente al siguiente autmata finito.

1.

Enuncie
autmata en notacin matemtica

{q 0 , q 1 , q 2 , q 3, q4 , q 5 } , {0,1,2 } , , q 0 , { q0 , q1 , q4 , q 5 }
M =
K={q0 , q1 , q2 , q3, q 4 , q5 }
={0,1,2}
F={ q 0 , q 1 , q 4 , q5 }
S={q0 }
=funcinde transicin

Donde la funcin :
{ q 0 , q 1 , q 2 , q 3, q4 , q 5 } x { 0,1,2 } q 0 , { q 0 , q 1 , q 2 , q3, q4 , q5 }
Viene dada por:
=( q 0 ,0 )=q 2 =( q0 , 1 )=q2 =( q0 , 2 )= =( q0 , ) =q1

el

=( q 1 , 0 ) =q 3 =( q1 ,1 ) =q 2 =( q1 ,2 ) =
=( q 2 , 0 )= =( q 2 , 1 ) =q2 =( q 2 , 2 ) =q5
=( q 3 ,0 )= =( q 3 ,1 ) = =( q 3 , 2 )= =( q3 , ) =q2
=( q 4 , 0 ) = = ( q 4 ,1 ) =q2 =( q 4 , 2 )=q5
=( q 5 ,0 )= =( q 5 ,1 ) =q3 =( q5 , 0 )=q5
En las transiciones

=( q 0 , )=q 1

=( q 3 , )=q 2

es equivalente escribir la

letra lambda =( q 0 , )=q1 , =( q 3 , )=q 2 ; no altera las transiciones.


2. Identifique los componentes del autmata (que tipo de tupla es)
Una mquina de estados finitos M es un quntuplo ( K , , , s , F ) , donde:
Identifica el conjunto de estados {q 0 , q1 ,q 2 ,q 3, q 4 ,q 5 }
= Es el alfabeto de entrada {0,1,2 }
K=

S Q= Estado inicial

F Q=

{q 0 }

(tambin es estado final)

Es el conjunto de estados finales

=:Qx Q

{q 0 , q 1 , q 4 , q5 }

Es la funcin de transicin, que a partir de un estado y un

smbolo del alfabeto obtiene un nuevo estado.


Donde la funcin :
{q 0 , q 1 , q 2 , q 3, q4 , q 5 } x { 0,1,2 } q 0 , {q 0 , q 1 , q 2 , q3, q4 , q5 }
En este caso, el estado inicial es
estados finales

q 0 y se presentan cuatro (4) estados finales

{ q 0 , q 1 , q 4 , q5 } .

3. Identifique la tabla de transicin correspondiente


Tabla de transicin

# q0

q2

q2

q1

# q1

q3

q2

q2

q2

q5

q3

q4

q2

# q4

q2

q5

# q5

q3

q5

Tabla 1. Tabla de transicin

4. Identifique el lenguaje que reconoce y enuncie cinco posibles cadenas


vlidas que terminen en el estado halt y cinco cadenas no vlidas
w=

L={w { 0,1,2, } El conjunto de las posibles cadenas que puedan


empezar por 0 o por 1 y terminen en 2.
Las cadenas que inician en 1 o 0 deben seguir un 1 o 1`s, seguidos de un 2 y
terminar en un estado final con un 2 o 2s. Aunque se puede seguir un 1 y
luego terminar en otro estado final con 2.
Es decir que la cadena en el orden de 1 o 1`s seguidos de 2 o 2`s sern
cadenas vlidas.
cinco posibles cadenas vlidas
0112
1112
0222
0212
1222
5. Encuentre la expresin regular vlida.
Los lenguajes aceptados por los autmatas nitos se pueden describir
fcilmente por expresiones simples llamadas expresiones regulares.
((1+0+1)1*2+01*2+02(2+11*2))(2+11*2+12(2+11*2))*
6. Encuentre su gramtica que sea vlida para la funcin de transicin (describa
sus componentes y como se escriben matemticamente). Justifquela si la
convierte a la Izquierda o a la derecha (eso significa que debe hacerla por
ambos lados y verificar cual es vlida sustentando el por qu). Plsmela en el
simulador y recrela. (Debe quedar documentado en el texto el paso a paso
que realizan en el simulador).

Definimos o caracterizamos una gramtica regular como: Un cudruplo (V,


, R, S) en donde:
V = Es el alfabeto de variables (C, E,S,D, B, A)
= Es el alfabeto de constantes (0, 1, 2)
R = Es el conjunto de reglas, es un subconjunto finito de V x (V U )
(C 2 D)
( E 1 C )
(E)
(S )
( D )

(C B)
(B 1 B)

(S A)

(B 2 E )
( A 1 B )

( S OB )
( E 2 E )

(S 1 B )
( D 2 E )

( D 1 B )
(A )

( A 0 C )

S= Es el smbolo inicial y es un elemento de V (C)


Esta gramtica, tiene las producciones por la derecha, es decir que es:
Lineal por la derecha.- Cuando todas las producciones tienen la forma
A aB o bien A a

7. Realice el rbol de Derivacin de esa gramtica


Las GLC tienen la propiedad de que las derivaciones pueden ser

representadas en forma arborescente. Las producciones son originadas por la


derecha.

8. Identifique si ese rbol o gramtica es ambigua o no y plasme las razones de


su afirmacin.
La gramtica para este ejercicio no es ambigua, puesto que cada forma
sentencial puede contener nicamente un solo smbolo no terminal, y una
gramtica regular es ambigua solamente si alguna cadena tiene arboles de
derivacin con etiquetas distintas en sus nodos interiores.
Sea G una gramtica tal que toda produccin es de la forma AaB o bien
A, donde A, B son variables y a es terminal. Entonces diremos que G es
una gramtica regular. El lenguaje generado por un una gramtica regular
ser llamado lenguaje regular.
Observemos primero que podemos considerar permitidas, en las gramticas
regulares, las producciones del tipo Aa pues se pueden obtener por
composicin de las permitidas en la denicin. Una observacin importante
es que cualquier cadena con smbolos terminales y no terminales que se
obtiene por derivacin a partir del smbolo inicial, tiene a lo sumo una
variable y sta se ubican en el extremo derecho de la cadena. Esto implica
que cuando se dice que se usa ciertas producciones para realizar una
derivacin, no haya ambigedad en la forma en que hay que aplicarla.

9. Si el rbol de transicin es demasiado grande, a su criterio seleccione una


regla en la que se detenga por cualquier rama (izquierda o derecha) y
plsmelo hasta ah. (es decir seleccione una cadena vlida para este tem).
El rbol o gramtica es generado por la derecha.
Regla seleccionada:

(S 1 B )

( C 2 D ) ( D )
Cadena valida usada: 11212

(B 1 B)

(B 2 E )

( E 1 C )

ACTIVIDADES PARA EL EJERCICIO A MINIMIZAR O YA MINIMIZADO


1. Explicar el proceso de Minimizacin (que estados se suprimen y porque).
Realice la tabla de estados distinguibles.

Se
llama
minimizacin a la obtencin de un autmata con el menor nmero posible de
estados. Una de las mejores cualidades de los AFD es que existen mtodos
mecnicos para simplificarlos, hasta poder llegar al AFD ms sencillo posible
para un lenguaje dado.
En el caso de los AFD, vamos a entender por simplificacin la reduccin en el
nmero de estados, pero aceptando el mismo lenguaje que antes de la
simplificacin. (Tomado del Mdulo-Autmatas)
Dos estados son equivalentes, q4 q5 si al intercambiar uno por otro en
cualquier configuracin no altera la aceptacin o rechazo de toda palabra.
Este automta tiene dos estados que no son finales, lo que nos induce que puden
ser analizados. Y efectivamente as es, los estados q2 y q3 son excluyentes, (ya
que ambos cumplen la misma funcin) y al eliminar uno u otro no altera la
aceptacin o no de una cadena. Analizamos los estados:
Del estado q2 sale el smbolo 1 y llega al mismo estado q2
Del estado q3 sale el smbolo 1 y llega al estado q2 (esto lo facilita el estado lambda)
Del estado q2 sale el smbolo 2 y llega al estado q5
Del estado q3 sale el smbolo 2 y llega al estado q4
Se puede decir, que si q2 q3, al cambiar q2 por q3 en la configuracin, la
palabra va a ser aceptada (se acaba en el estado final) si y slo si de todos modos
iba a ser aceptada sin cambiar q2 por q3 (se acaba en el estado final).
Lo mismo se hace con los estados q4 q5, y los estados q0 q1.
Si es eliminado el estado inicial, su equivalente pasar a ser un nuevo estado
inicial.

Los estados que se suprimen son: q3, q1, y q4; dado que tienen sus respectivos
equivalentes (q2, q0 y q5)
En resumen:
Estados distinguibles: q0, q1, q4, q5
Estados no distinguibles: q2, q3
Estados equivalentes: q0 q1, q2 q3, q4 q5
Estados suprimidos: q0, q3, q4
Tabla de estados disntinguibles
q1 (q1,q0)
q2
x
q3
x
q4
x
q5
x
q0

X
X
X
X
q1

(q3,q2)
x
x
q2

x
x
q3

x
(q4,q5)
q4

X
q5

X Estados distinguibles
Tabla 2. Tabla de estados disntinguibles

Estados distinguibles, quiere decir que si dos estados son distinguibles, ya no


pueden ser equivalentes. La definicin es inductiva:
Los estados q0 y q2 son distinguibles si son incompatibles (es decir, uno es final
y el otro no final). Esta es la base de la induccin.
2. Que transiciones se reemplazan o resultan equivalentes.
Las transiciones que se reemplazan son:
q
q
( 2 , 2)=q 5
( 2 ,1)=q2 =
=
q
q
( 3 , 2)=q 5
( 3 , 1)=q2 =
=

q
q
( 4 , 2)=q 5
( 4 ,1)=q2 =
=
q
q
( 5 , 2)=q 5
( 5 , 1)=q2 =
=
=( q 1 , 0 ) =q 0 =( q1 , 1 )=q 3
q
q
( 0 , 1)=q3
( 0 , 0)=q 0 =
=
Al suprimir los estados q0, q3, y q4; en el autmata estn presente los estados
q1, q2 y q5 respectivamente.
3. Escribir la funcin de transicin del nuevo autmata.
M =( , K , , q0 , F)
Donde;
={0,1,2}
K={q1 , q2 , q5 }
=funcinde transicin

F={q 1 , q 5 }
S={q1 }
=( q 1 , 0 ) =q 2 =( q1 ,1 ) =q 2 =( q1 ,2 ) =
q
q
( 2 ,1)=q2 =( q2 , 2 )=q5
( 2 , 0 )= =
=

q
q
( 5 , 1)=q2 =( q 5 , 2 ) =q5
( 5 , 0 )= =
=

4. Identificar la expresin regular (explicarla en la lectura matemtica que se le


debe hacer).
ER: (1+0)1*2(2+11*2)*

Notamos que hay dos ciclos, lo que indica que habrn muchos ciclos
representados con (*) estrellas de kleene.
De q1 sale un 1 o un 0 a q2, y se presenta un ciclo con 1
De q1 a q2 se obtendra (1+0)1*
Hacemos esta segunda parte, desde el estado q2
Se inicia un ciclo con 1(una estrella de kleene)
De q2 sale un 2 y llega al estado q5 donde hay un ciclo con 2 (22*)
Luego de q5 pasa a q2 con 1
Pero todo este proceso se repite, se incluye una estrella de kleene mas (*)
Ahora se contina del estado q2 para llegar a q5. (Proceso igual)
1*22*
As, la ER final es: (1+0)1*(1*22*1)*1*22*
5. Compruebe una cadena vlida para esa expresin regular.
Cadena vlida: 01222

Cadena Vlida
(1

0)
0

1*
1

(1*

2*

1*)

1*

2
2

2*
22

OK

Comprobacin Cadena Vlida


Tabla3. Comprobacin Cadena Vlida
As, la ER es: (1+0)1*(1*22*1)*1*22*

El orden de prioridad de los operadores, de mayor a menor:


Estrella de kleene: *
Concatenacin (.)
Unin (+)
Esto puede alterarse mediante parntesis, de forma anloga a como se hace con
las expresiones aritmticas.
La jerarqua de operadores nos induce a iniciar por ya sea por un 1 o por un 0; y
finalizar en un 2.

6. Identificar el lenguaje que reconoce y cinco posibles cadenas vlidas.


Reconoce el mismo lenguaje que el encontrado en el punto 4 antes de minimizar
el autmata.
w=

L={w { 0,1,2 } El conjunto de las posibles cadenas que puedan empezar por
0 o por 1 y terminen en 2.
Las cadenas que inician en 1 o 0 deben seguir un 1 o 1s, seguidos de un dos, y
terminar en un 2 o 2s.
De este estado final pasa al estado anterior (se regresa) con 1 y hay un ciclo con
1, seguidos de un dos, y terminar en un 2 o 2s.
cinco posibles cadenas vlidas
0122
1222
1112
1212
1122
7. Identificar su gramtica. Demustrela para una cadena vlida del autmata.

Gramtica generada con la cadena vlida: 12122


Regla seleccionada:

(S 1 A )

( A 2 B )

(B 1 A )

( A 2 B )

(B )

8. Compare la gramtica con el autmata antes de minimizar (ya sea por la


izquierda o derecha).

Gramtica antes de minimizar

Gramtica

despus de
minimizar

La gramtica sigue siendo lineal por la derecha despus de minimizado el autmata.


Las variables de esta gramtica son A, B, S y las constantes 0, 1, 2.

9. El autmatas nuevo expresarlo o graficarlo con su respectivo diagrama de


Moore.

10. Identificar sus tablas de Transicin (plasmarlas).

# q1

q2

q2

q2

q2

q5

# q5

q2

q5

11. Plasmar los pasos de minimizacin en el simulador (comprelos con el proceso


manual que est explicando) y capturar los procesos en imgenes para ser
documentadas en el texto.
Las flechas que salen son eliminadas
Las flechas que llegan son dirijidas a su estado equivalente
Primer paso.

Iniciamos desde el autmata dado, mirando los posibles estados a ser


equivalentes
Segundo paso.

Los estados q2 y q3 son equivalentes, por lo tanto podemos eliminar a q3

Tercer paso.

Los estados q4 y q5 son equivalentes, por lo tanto podemos eliminar a q4

Los estados q0 y q1
tanto podemos eliminar a q0

son equivalentes, por lo

El estado incial pasa a ser q1.


Y finalmente, se obtiene el autmata minimizado. Donde quedan solo tres (3)
estados.

Autmata Minimizado con el simulador JFLAP

Autmata Minimizado con proceso Manual

Aunque con nombres diferentes los estados, pero es un automata equivalente.


Por lo tanto, es vlido el proceso, dado que acepta las mismas cadenas.
El automta realizado manualmente realiza las mismas transiciones, que el
comparado con el JFLAP.

PARTE 2: Disee un APD que acepte cadenas de este tipo (con pila vaca):
{(abc) (aabcc) (aaabccc) (aaaabcccc) (aabccccc) (abccccc) (aabcccc)
(aaaaaabcccccccccc) (aaabccccc) (aaabccccccccccc)}
Cadenas no vlidas. {(bcc) (ac) (aabc) (aaaabcc) (aaaccccb) (acb) (aaaaabcc)
(aaabcc)}
1. Describa el autmata en notacin matemtica, y encuentre en primera
instancia una regla que evale estas cadenas y que cumpla las condiciones de
las mismas.
Un autmata con pila (PDA) es esencialmente un autmata nito que posee
control sobre una pila, es decir una lista de la cual solo se puede leer,
poner osacarel primer elemento. Dado el estado actual del autmata y el
primer elemento de la pila, un smbolo de input nos llevar (posiblemente en
forma no determinstica) el estado siguiente y a la modicacin que se debe
hacer en el primer elemento de la pila.
Diremos que una cadena es aceptada por pila vaca por el PDA si cuando la
aplicamos obtenemos una pila vaca. Diremos que una cadena es aceptada
por estado nal por el PDA si lleva el estado inicial a uno nal.

Los lenguajes aceptados por los autmatas con pila, tantos los aceptados por
pila vaca o por estado nal, son los mismos que los aceptados por las
gramticas libres de contexto e incluyen estrictamente a los lenguajes
regulares.

apbrcs
donde p es mayor o igual a 1
r es igual a 1
s es igual o mayor a p
este APD acepta un numero igual de as y de cs o un nmero mayor de cs; y
una sola b. En su orden abc.
El autmata de pila es un sptuplo (K, , , , s, F) en donde:
K es el conjunto de estados (q0, q1, q2, q3)
es el alfabeto de entrada (abc)
es el alfabeto de la pila (AZ)
s K es el estado inicial (q0)
Z0 es el smbolo inicial de la pila (Z) (o tambin se denota como Z
simplemente)
F es el estado final (q3)
(K x * x ) x (K x *) es la relacin (funcin) de transicin.

2. Grafquelo en JFLAP y realice el Traceback para las transiciones. (Las


columnas para un AP son: El estado en que se encuentra el autmata, lo que
falta por leer de la palabra de entrada, y el contenido de la pila).

PASO 1: El estado en que se encuentra el autmata q0, lo que falta por leer de la
palabra de entrada abc, y el contenido de la pila Z.
PASO 2: El estado en que se encuentra el autmata q0, lo que falta por leer de la
palabra de entrada bc, y el contenido de la pila AZ.
PASO 3: El estado en que se encuentra el autmata q1, lo que falta por leer de la
palabra de entrada c, y el contenido de la pila AZ.
PASO 4: El estado en que se encuentra el autmata q2, lo que falta por leer de la
palabra de entrada (nada), y el contenido de la pila Z.
PASO 5: El estado en que se encuentra el autmata q3 (estado final), lo que falta
por leer de la palabra de entrada (nada), y el contenido de la pila vacia.

Se aaden las cadenas tanto vlidas como no vlidas dadas en el ejercicio,


mostradas en el JFLAP.

3. Plasme las imgenes y capturas en el documento. (Documente el proceso)


La cadena valida (abc). Se utiliza la misma cadena utilizada en el traceback.

Para comprobar la validez de esta cadena, se hace clic en la barra de


herramientas Input, el autmata an no realiza ningn proceso, y luego la
opcin de fast run.

Luego El autmata no ha recibido sobre que cadena realizar el traceback,


debemos digitar la cadena, digitamos abcc y clic en aceptar.

Clic en aceptar (nuevamente)

Y se vizualiza el traceback de la cadena seleccionada.

Internamente, el simulador recorre la cadena vlida abcc, y deja ver desde el


estado que inicia, y los siguientes estados hasta llegar al estado de aceptacin. Al
igual que los estados en que se encuentra la pila y las cadenas que hacen falta
por recorrer para llegar a un estado halt.
4. Muestre el diagrama correspondiente de estados.

ESTADO
q0
q0
q1
q2
q3

POR LEER
abc
bc
c

PILA
Z
AZ
AZ
Z

5. Identifique los contenidos (el recorrido para cada interaccin) de la pila y el


estado de parada. Realcelo con una cadena vlida.

Cadena vlida aabcc

El autmata parte del estado inicial q0, falta por leer aabcc y el contenido de la
pila es Z.

El autmata se mantiene en el mismo estado inicial q0, falta por leer abcc y el
contenido de la pila es AZ.

El autmata se mantiene en el mismo estado inicial q0, falta por leer bcc y el
contenido de la pila es AAZ.

El autmata se desplaza al estado q1, falta por leer cc y el contenido de la pila es


AAZ.

El autmata se desplaza al estado q2, falta por leer c y el contenido de la pila es


AZ.

El autmata se mantiene en el estado q2, no falta por leer ninguna letra y el


contenido de la pila es Z.

El autmata se desplaza del estado q2 al estado q3, no falta por leer ninguna
letra y el contenido de la pila es vacia.