Vous êtes sur la page 1sur 17

Autómatas y Lenguajes Formales

Estudiantes:

Alejandro Guerra Palmera


Código: 1065656739
Omar Pedraza Valle
Codigo: 1065655932
Yenis Paola Bolaños
Codigo :1068389279
Marcos Ortiz
Codigo:

Curso: 301405_4

Facultad

Ing. De Sistemas

Tutor:

Jaime Jose Valdes

Universidad Nacional Abierta y a Distancia (UNAD)

Valledupar – Cesar

2017
Ejercicio 1.
Teniendo en cuenta siguiente autómata realizar el proceso de minimización. Se debe
realizar el procedimiento paso a paso.

1. Realice la descripción (notación) (caracterización) matemática del autómata (antes


de minimizar)
2. Plasme la tabla de transición del autómata. (No es la que generas VAS). (Antes de
minimizar)
3. Identifique El Lenguaje que reconoce. (Antes de minimizar)
4. Identifique los estados Distinguibles y los No distinguibles
5. En el proceso de eliminación de estados, identifique que transiciones se eliminan y
cuáles se re direccionan. Muestre la tabla de estados distinguibles Para el autómata
ya minimizado:
6. Realice la descripción (notación) (caracterización) matemática del autómata ya
minimizado
7. Identifique El Lenguaje que reconoce.
8. Identifique su gramática (de forma manual) por la derecha y caracterícela. Debe
incluir el diagrama de estados con los componentes de la gramática
9. asociados a las variables y a las constantes.
Solución

1. Realice la descripción (notación) (caracterización) matemática del autómata.


(Antes de minimizar)

Estados de los autómatas:


𝑇𝑢𝑝𝑙𝑎 = |𝑞0, 𝑞1, 𝑞2, 𝑞3, 𝑞4, 𝑞5, 𝑞6, 𝑞7|
Estado Inicial𝑬𝑰 = 𝒒𝟎
Alfabeto de Autómata ∑ |𝟏, 𝟐|
Estado de aceptación𝑬𝑭 = |𝒒𝟒, 𝒒𝟕|
2. Plasme la tabla de transición del autómata. (No es la que generas VAS). (Antes
de minimizar).

Función delta Paso a Paso

𝛿(𝑞0,1) = 𝑞1 𝛿(𝑞4,2) = 𝑞5
q0 con q4 con
transición 1 transición 2
nos lleva a q1. nos lleva a q5.

𝛿(𝑞0,2) = 𝑞2 𝛿(𝑞5,1) = 𝑞3
q0 con q5 con
transición 2 transición 1
nos lleva a q2. nos lleva a q3.
𝛿(𝑞1,1) = 𝑞5 𝛿(𝑞5,2) = 𝑞7
q1 con q5 con
transición 1 transición 2
nos lleva a q5. nos lleva a q7.

𝛿(𝑞1,2) = 𝑞3 𝛿(𝑞6,1) = 𝑞4
q1 con q6 con
transición 2 transición 1
nos lleva a q3. nos lleva a q4.

𝛿(𝑞2,1) = 𝑞6 𝛿(𝑞6,2) = 𝑞1
q2 con q6 con
transición 1 transición 2
nos lleva a q6. nos lleva a q1.

𝛿(𝑞2,2) = 𝑞4 𝛿(𝑞7,1) = 𝑞1
q2 con q7 con
transición 2 transición 1
nos lleva a q4. nos lleva a q1.

𝛿(𝑞3,1) = 𝑞7 𝛿(𝑞7,2) = 𝑞2
q3 con q7 con
transición 1 transición 2
nos lleva a q7. nos lleva a q2.

𝛿(𝑞3,2) = 𝑞1 q3 con
transición 2
nos lleva a q1

𝛿(𝑞4,1) = 𝑞1 q4 con
transición 1
nos lleva a q1

3. Identifique El Lenguaje que reconoce. (Antes de minimizar)

Lenguaje que reconoce es:


𝑳 = (𝟏, 𝟐)

La descripción que se emplea para la minimización del autómata es por conjuntos ya que
nos permite llegar a la forma reducida del autómata
Clasificamos los estados que se pueden denominar en conjunto de “Estados de aceptación
y estados de no aceptación” e identificamos el alfabeto que en este caso sería

 ={1, 2} procedemos a hacer los conjuntos los cuales serían:


X= {q4, q7}
Y= {q0, q1, q2, q3, q5, q6}
Clasificación de los estados
Estados de aceptación.
X= {q4, q7}

Estados de No Aceptación.
Y= {q0, q1, q2, q3, q5, q6}

Una vez identificado los conjuntos de estados de aceptación procedemos a hacer la


tabla de transición.

Tabla de Transición de Estados de Aceptación


1 2
Q4 Y Y
Q7 Y Y

Tabla de Transición de Estados de No Aceptación


1 2
Q0 Y Y
Q1 Y Y
Q2 Y X
Q3 X Y
Comparten la

característica
misma

Q5 Y X
Q6 X Y
Identifique El Lenguaje que reconoce. (Antes de minimizar)

El Lenguaje que reconoce el autómata es


L = 1, 2
Podemos ver en la tabla de Estados de No Aceptación hay varios estados que
comprenden la misma característica podemos decir que se pueden unificar. Procedemos
a hacer nuevos conjuntos para los estados que comparten las mismas características.
Tenemos:

Conjunto X= {q4, q7}


Y = {q0, q1}
A = {q2, q5}
Z = {q3, q6}

Debido a los nuevos conjuntos procedemos a hacer una nueva tabla de transición.
Para cada conjunto

Tabla de Transición Conjunto X


1 2
Q4 Y A
Q7 Y A

Tabla de Transición Y
1 2
Q0 Y A
Q1 A Z

Tabla de Transición A
1 2
Q2 Z X
Q5 Z X

Tabla de Transición Z
1 2
Q3 X Y
Q6 X Y

Podemos ver que tenemos un factor problema en todas las tablas de transición entonces nos
toca volver a hacer una partición
Conjunto X= {q4, q7}
Y = {q0, q1}
A = {q2, q5}
Z = {q3, q6}

X= {q4, q7}
Y = {q0}
P = {q1}
A = {q2, q5}
Z = {q3, q6}

Tabla de Transición Conjunto X


1 2
Q4 P A
Q7 P A

Tabla de Transición Y
1 2
Q0 P A

Tabla de Transición P
1 2
Q1 A Z

Tabla de Transición A
1 2
Q2 Z X
Q5 Z X

Tabla de Transición Z
1 2
Q3 X P
Q6 X P

Aquí podemos ver a nuestro autómata minimizado


Evaluamos nuestro autómata con la siguiente cadena
121212
Por lo tanto esta cadena si es aceptada por nuestro autómata ya minimizado.

6. Realice la descripción (notación) (caracterización) matemática del autómata ya


minimizado
Es un autómata de la forma:
M = ((𝑣, 𝑤, 𝑥, 𝑦, 𝑧), (1,2), 𝑦, x, 𝛿)
El autómata es una tupla de 5 elementos que son:

M = (𝑄, Σ, s, 𝐹, 𝛿)

Colección de estados

𝑄 = {𝑣, 𝑤, 𝑥, 𝑦, 𝑧}

Alfabeto

Σ = {1,2}

Estado inicial

s = {𝑦}
Estado final

𝐹 = {𝑥}

Función de transición

𝛿 = 𝑄𝑥Σ → Q

1 2

v Z W

w x V

x V Z

y v Z

z w x

El Lenguaje que reconoce el autómata es


L = 1, 2

8. Identifique su gramática (de forma manual) por la derecha y caracterícela. Debe


incluir el diagrama de estados con los componentes de la gramática asociados a las
variables y a las constantes.
Desarrollo del autómata

1
A v X
2 D
C D
2 1
W
1

2
S 1
Y
2
1

2 Z

Comenzamos Con el estado inicial: B


S -> 1A
B -> 2D
D -> 2B
A -> 1B
C -> 2A
A -> 2C
D ->𝜆
C -> 1D
S -> 2B

Ejercicio 2:
Diseñe un AP que lea el siguiente lenguaje L ={(ab*) | (c*d*)} ; es decir todas las combinaciones
posibles de cadenas conformadas por los símbolos (a)(b*) o (c*)(d*) (con pila vacía).
1. Describa el autómata en notación matemática
2. Determine el lenguaje que reconoce el AP.
3. Justifique y asocio o evidencie si el diseño es un APND o un APD
4. Grafíquelo en JFLAP y realice el “Traceback” para las transiciones. (Las columnas para un AP
son: El estado en que se encuentra el autómata, lo que falta por leer de la palabra de entrada, y el
contenido de la pila).
5. Plasme las imágenes del recorrido de ese Traceback para cada movimiento en el documento. (Se
debe apoyar en JFLAP) (Documente el proceso)
Solución

Ejercicio 2
Diseñe un Autómata Pila que lea el siguiente lenguaje 𝐿 = {(𝑎𝑏 ∗) | (𝑐 ∗ 𝑑 ∗)} ; es decir
todas las combinaciones posibles de cadenas conformadas por los símbolos (𝑎) (𝑏 ∗) o (𝑐 ∗
)(𝑑 ∗) (con pila vacía).

B,z1 C,z1 D,z0


A C,z1 D,z1
q0 q1 q2 q3

1. Describa el autómata en notación matemática

δ(q 0 , a, Z0 ) = {q1 , Z1 }
estando en q 0 con a pasa a q1
δ(q1 , b, Z1 ) = {q1 , Z1 }
estando en q1 con b sigue en q1
δ(q 2 , c, Z1 ) = {q 2 , Z1 }
estando en q 2 con c sigue en q 2
δ(q 3 , d, Z1 ) = {q 3 , Z0 }
estando en q 3 con d sigue en q 3

Un autómata de pila es un modelo matemático de un sistema que recibe una cadena constituida por
símbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autómata reconoce. El
lenguaje que reconoce un autómata con pila pertenece al grupo de los lenguajes libres de contexto en
la clasificación de la Jerarquía de Chomsky.

El autómata de pila se forma por la séxtupla:

𝐾 = {𝑞0 , 𝑞1 , 𝑞2 } Estado actual del autómata

∑{𝑎, 𝑏} Sub-cadena de entrada que aún no se ha analizado

𝑟 = {𝑧0 , 1,0} Contenido actual de la pila

𝑆 = {𝑞0 } Estado inicial de la pila

𝑍0 Símbolo inicial de la pila

𝐹 = {𝑞2 } Estado final de la pila

El autómata es un APND ya que dado un estado, un símbolo del alfabeto de entrada y otro del
alfabeto de la pila, puede pasar a distintos estados y reemplazar el tope con distintas cadenas,
avanzando o no la cabeza lectora una posición.

2. Determine el lenguaje que reconoce el AP.


𝐿 = {𝑤 ∈ (𝑎𝑏 ∗ )|(𝑐 ∗ 𝑑∗ ) | 𝑤 =Para todas las cadenas que empiezan por 𝒂; seguidos de una o muchas
cadenas conformadas por 𝒃, 𝒄 y 𝒅 }

El leguaje que reconoce el AP es:


L = {a, b, c, d}

3. Justifique y asocio o evidencie si el diseño es un APND o un APD


El autómata es un APND ya que dado un estado, un símbolo del alfabeto de entrada y otro del alfabeto
de la pila, puede pasar a distintos estados y reemplazar el tope con distintas cadenas, avanzando o no
la cabeza lectora una posición.
Podemos decir que el diseño del AP es un APND ya que tiene varios estados de transición o varias
entradas de datos en un mismo estado.

4. Grafíquelo en JFLAP y realice el “Traceback” para las transiciones. (Las


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

5. Plasme las imágenes del recorrido de ese Traceback para cada movimiento en el
documento. (Se debe apoyar en JFLAP) (Documente el proceso).

Ingresamos la cadena de aceptación: 𝑎𝑏𝑏𝑐𝑐𝑑𝑑𝑑𝑑.


 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑎 𝑛𝑜𝑠 𝑙𝑙𝑒𝑣𝑎 𝑎 𝑞1

 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑏 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞1 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎 1


 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑏 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞1 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎 1

 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑐 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞2 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎 1

 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑐 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞2 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑎𝑙𝑚𝑎𝑐𝑒𝑛𝑎 1


 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑑 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞3 𝑑𝑒 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑠𝑎𝑙𝑒 1

 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑑 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞3 𝑑𝑒 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑠𝑎𝑙𝑒 1

 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑑 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞3 𝑑𝑒 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑠𝑎𝑙𝑒 1


 𝐼𝑛𝑔𝑟𝑒𝑠𝑎𝑚𝑜𝑠 𝑑 𝑛𝑜𝑠 𝑑𝑒𝑗𝑎 𝑒𝑛 𝑞3 𝑑𝑒 𝐿𝑎 𝑝𝑖𝑙𝑎 𝑠𝑎𝑙𝑒 1, 𝑒𝑛𝑡𝑟𝑎𝑚𝑜𝑠 𝑒𝑛 𝑒𝑠𝑡𝑎𝑑𝑜 𝑑𝑒 𝑎𝑐𝑒𝑝𝑡𝑎𝑐𝑖ó𝑛 𝑐𝑜𝑛 𝑝𝑖𝑙𝑎 𝑣𝑎𝑐𝑖𝑎.

Vous aimerez peut-être aussi