Académique Documents
Professionnel Documents
Culture Documents
Presentado por:
ANYELO ENRIQUE FORERO Cd. 80171768
OSCAR JOS RAMREZ CARDONA Cd. 79810115
WILMER CEBALLOS MATEUS Cd.
Tutor
CARLOS ALBERTO AMAYA TARAZONA
Introduccin
El siguiente trabajo corresponde al desarrollo del trabajo colaborativo del curso de Autmatas
y lenguajes formales, en el aplicaremos los contenidos temticos que hemos adquirido del
estudio de la unidad dos.
Los lenguajes independientes del contexto que tambin se conocen con el nombre de
gramticas de contexto libre son un mtodo recursivo sencillo de especificacin de reglas
gramaticales con las que se pueden generar cadenas de un lenguaje.
Es factible producir de esta manera todos los lenguajes regulares, adems de que existen
ejemplos sencillos de gramticas de contexto libre que generan lenguajes no regulares. Las
reglas gramaticales de este tipo permiten que la sintaxis tenga variedad y refinamientos
mayores que los realizados con lenguajes regulares, en gran medida sirven para especificar la
sintaxis de lenguajes de alto nivel y otros lenguajes formales.
Objetivos
OBJETIVO GENERAL:
Reconocer las distintas gramticas ya que existen diferentes formas que generan un
mismo lenguaje. El hecho de no restringir la forma de las reglas se tiene inters en los
casos en que se desea disear una gramtica para un lenguaje dado.
OBJETIVOS ESPECFICOS:
Analizar la estructura de las gramticas independientes del contexto.
Estudiar el concepto de los autmatas de pila, su funcionamiento y los lenguajes
utilizados. Distinguir los lenguajes independientes del contexto existentes y sus
propiedades, as como los algoritmos de decisin.
Generalizar los conceptos de autmatas finitos y gramticos regulares.
Reconocer el potencial de procesamiento del lenguaje del autmata con los Autmatas
de pila
PARTE 1
Calcular el autmata mnimo correspondiente al siguiente autmata finito.
(3 , 0) = 2
(3 , 1) = 7
(4 , 0) = 7
(4 , 1) = 6
(5 , 0) = 6
(5 , 1) = 1
(6 , 0) = 3
(6 , 1) = 4
(7 , 0) = 4
(7 , 1) = 5
0 =
= {3 , 5 } =
3. Identifique la tabla de transicin correspondiente
0
q0
q2
q1
q1
q4
q5
q2
q3
q4
# q3
q2
q7
q4
q7
q6
# q5
q6
q1
q6
q3
q4
q7
q4
q5
0101
101000
00011100011010
10010110
Expresiones NO Vlidas
0111
1001100
1011
01001
010011
Verificacin en JFLAP
5. Encuentre la expresin regular vlida. (se genera de forma manual, asociando cada
operador y sentencia al diagrama de moore de forma explicativa). No se genera con el
JFLAP.
Se asocian los posibles caminos desde el estado inicial a cada uno de los estados finales as:
Estado inicial: q0 y los estados finales son:{3 , 5 }
Camino 1: 0 , 2 , 4 , 6 , 3
Camino 2: 0 , 2 , 3
Camino 3: 0 , 2 , 4 , 7 , 5
Camino 4: 0 , 1 , 4 , 6 , 3
Camino 5: 0 , 1 , 4 , 7 , 5
Camino 6: 0 , 1 , 5 , 6 , 3
Camino 7: 0 , 2 , 3 , 7 , 5
Camino 8: 0 , 1 , 5
Entonces la expresin regular del autmata sera la siguiente:
(01(1+1)0+0(0+0)+01(0+0)1+10(1+1)0+10(0+0)1+1(1+1)00+0(0+0)11+1(1+1))
7
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. 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 (, , , , , , , )
= Es el alfabeto de constantes {0,1}
R = Es el conjunto de reglas, es un subconjunto finito de ( )
S= Es el smbolo inicial y es un elemento de V
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
Para nuestro caso:
A 1E
E 1A
= (, , R, S)
= [{, , , , , , , }, {0,1}, { 1, 1, 1, 0, 1, 1,
1, 1, 0, 0, , 0, 0, 0, 0,
0, 1, , 0}]
Gramtica ordenada
= (0 , 0) = 2
= (1 , 0) = 4
= (2 , 0) = 3
= (3 , 0) = 2
= (4 , 0) = 7
= (5 , 0) = 6
= (6 , 0) = 3
= (7 , 0) = 4
= (0 , 1) = 1
= (1 , 1) = 5
= (2 , 1) = 4
= (3 , 1) = 7
= (4 , 1) = 6
= (5 , 1) = 1
= (6 , 1) = 4
= (7 , 1) = 5
10
Si se observa:
Del estado 1 sale el smbolo 0 y llega al estado 4 . Del estado 7 sale el smbolo 0 y llega
al estado 4 .
Del estado 1 sale el smbolo 1 y llega al estado 5 . Del estado 7 sale el smbolo 1 y llega
al estado 5 .
Entonces quiere decir que, si 1 7 , al cambiar 1 por 7 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 1 por 7 (se acaba en el estado final).
Las flechas que salen del estado mencionado son eliminadas.
Las flechas que llegan son dirigidas a su estado equivalente.
Eliminado 7
= (0 , 0) = 2
= (1 , 0) = 4
= (2 , 0) = 3
= (3 , 0) = 2
= (4 , 0) = 1
= (5 , 0) = 6
= (6 , 0) = 3
= (0 , 1) = 1
= (1 , 1) = 5
= (2 , 1) = 4
= (3 , 1) = 1
= (4 , 1) = 6
= (5 , 1) = 1
= (6 , 1) = 4
11
Eliminado 6
= (0 , 0) = 2
= (1 , 0) = 4
= (2 , 0) = 3
= (3 , 0) = 1
= (4 , 0) = 0
= (5 , 0) = 2
= (0 , 1) = 1
= (1 , 1) = 5
= (2 , 1) = 4
= (3 , 1) = 0
= (4 , 1) = 2
= (5 , 1) = 1
12
= (0 , 0) = 2
= (1 , 0) = 4
= (2 , 0) = 3
= (3 , 0) = 2
= (4 , 0) = 0
= (0 , 1) = 1
= (1 , 1) = 0
= (2 , 1) = 4
= (3 , 1) = 0
= (4 , 1) = 2
13
= (1 , 1) = 5
= (7 , 1) = 5
= (2 , 0) = 3
= (6 , 0) = 3
= (2 , 1) = 4
= (6 , 1) = 4
= (0 , 0) = 2
= (5 , 0) = 4
= (0 , 1) = 1
= (5 , 1) = 1
q1
q2
q3
q4
q5
q6
q7
X
X
X
X
X
X
X
X
X
X
(q0,q5)
X
X
X
X
X
(q2,q6)
X
X
(q1,q7)
X
X
q0
q1
q2
q3
X
X
X
q4
X
X
q5
X
q6
X = Estados distinguibles
= {4 }
= {2 }
= (0 , 0) = 3
= (1 , 0) = 4
= (2 , 0) = 1
= (3 , 0) = 0
= (4 , 0) = 1
= (0 , 1) = 1
= (1 , 1) = 0
= (2 , 1) = 3
= (3 , 1) = 4
= (4 , 1) = 3
15
16
8. Compare la gramtica con el autmata antes de minimizar (ya sea por la izquierda o
derecha).
ANTES DE MINIMIZAR
DESPUS DE MINIMIZAR
17
18
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.
Paso 1.
Seleccionar convert
Paso 2.
Clic en Mininize DFA
19
Paso 3.
Clic sobre los nmeros 0, 1, 2, 3
Paso 4
Clic en complete subtree
20
Paso 5
Paso 6
Clic en Finish
21
Paso 7
Paso 8.
Clic en Complete
22
Paso 9
Paso 10
Clic en Done
23
Paso 11
Paso 12
24
PARTE 2
Disee un APD que acepte cadenas de este tipo: {(aabc) (aaaaaabc) (aaabcc) (aaabc)
(aaaabcc)} Encuentre en primera instancia una regla que evales estas cadenas y que
cumpla las condiciones de las mismas.
Regla: anbcn Para cualquier cadena del lenguaje.
1. Describa el autmata en notacin matemtica, identificando el tipo de cadenas que
reconoce de forma generalizada (es decir su lenguaje).
= {0 , 1 }
= {, , }
r = Z 0, 1
0 = 0
= 1
= [{0 , 1 , 2 }{, , }, { 0,1}, 0 , , {3 }
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).
25
aabc
Estado inicial del autmata
Al realizar la lectura de b, se
inicia el borrado de la cinta.
26
aaaaaabc
Iniciamos con el solo estado inicial
del AP Z0
27
aaabc
Iniciando el autmata programable
Ingresamos caracteres de la
cadena
28
29
aaaaaabc
30
aaabcc
31
32
5. Identifique los contenidos (el recorrido para cada interaccin) de la pila y el estado de
parada. Realcelo con una cadena vlida.
(0 , , 0 ) = {(1 , 10 )}
(0 , , 0 ) = {(1 , 11)}
(1 , , 0 ) = {(2 , )}
(2 , , 0 ) = {(2 , )}
33
Bibliografa
Amaya Tarazona, Carlos Alberto (2014): 301405 Autmatas y Lenguajes Formales.
Duitama, Boyac.
34