Documentos de Académico
Documentos de Profesional
Documentos de Cultura
33col2301405 121126110801 Phpapp02
33col2301405 121126110801 Phpapp02
PRESENTADO A:
INGENIERO MSC
CARLOS ALBERTO AMAYA TARAZONA
INTRODUCCION
El presente trabajo corresponde al desarrollo del trabajo colaborativo nmero dos del curso de
Autmatas y lenguajes formales, en el aplicaremos los contenidos temticos que se han adquirido del
estudio de la unidad dos del curso Lenguajes independientes del contexto.
Cuando necesitamos validar campos de texto en programacin como por ejemplo nombres, nmeros
de cedula, fechas de nacimiento entre otros muchos campos ms y para realizarlo de una manera
sencilla y precisa podremos emplear los lenguajes regulares. Existen diversidad de mtodos para
validar esta informacin contenida entre estos para ello se encuentran los Autmatas de Pila que
contienen las expresiones regulares, que tienen parecido a una especie de lenguaje que se puede
usar para buscar, remplazar y sobreponer ciertos patrones en un texto, trabajable casi de manera igual
que los Autmatas Finitos y no Finitos. Un autmata con pila o autmata de pila o autmata a pila o
autmata apilador es un modelo matemtico de un sistema que recibe una cadena constituida por
smbolos de un alfabeto y determina si esa cadena pertenece al lenguaje que el autmata reconoce. El
lenguaje que reconoce un autmata a pila pertenece al grupo de los lenguajes de contexto libre en la
clasificacin de la Jerarqua de Chomsky.
OBJETIVOS
GENERAL
OBJETIVOS ESPECIFICOS
A= (Q, , q0, , A)
Q es un conjunto de estados;
es un alfabeto;
q0 Q es el estado inicial;
A= ({q0, q2, q3, q4, q5, q6, q7}, {1, 0}, , {q0, q0, q2, q3, q4})
:=(q0,0) = {q1}
:=(q0,1) = {q6}
:=(q1,0) = {q2}
:=(q1,1) = {q3}
:=(q2,0) = {q1}
:=(q2,1) = {q5}
:=(q3,0) = {q1}
:=(q3,1) = {q4}
:=(q4,0) = {q7}
:=(q4,1) = {q4}
:=(q5,0) = {q7}
:=(q5,1) = {q3}
:=(q6,0) = {q7}
:=(q6,1) = {q3}
:=(q7,0) = {q7}
:=(q7,1) = {q3}
# q0
q1
# q2
# q3
# q4
# q5
q6
q7
0
q1
q2
q1
q1
q7
q7
q7
q7
110000101
110101
00101
01
011
11101
110000000101
111101
1111011111111
1
q6
q3
q5
q4
q4
q3
q3
q3
4. Encuentre la expresin regular vlida. (Compruebe una cadena vlida de esa expresin regular en
el simulador). Identifique sus componentes.
El propsito de las ER (que no son ms que simples frmulas) es representar cada una de ellas
un lenguaje.
5. 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)
La gramtica vlida para la funcin de transicin es:
Izquierda
S
S
F
C
G
A
B
E
B
S
C
C
A
E
D
G
D
F
D
B
Derecha
0A
1C
1D
1C
0B
0A
0G
1F
0A
1C
1C
1D
0G
0G
0G
1E
Ahora comprobamos si las cadenas que son vlidas con respecto a la gramtica del autmata para
ello nos vamos a Input y luego a multiple brute forc parse e ingresamos las cadenas que deseamos
validar:
Las gramticas son mecanismos generadores de lenguajes, es decir, nos dicen cmo podemos
obtener o construir palabras de un determinado lenguaje.
6. Realice el rbol de Derivacin de esa gramtica.
El rbol de derivacin es demasiado grande para ser plasmado grficamente.
Un rbol ordenado y etiquetado es un rbol de derivacin para una gramtica libre de contexto
7. Identifique si ese rbol gramtica es ambigua o no y plasme las razones de su afirmacin.
La gramtica del rbol no es ambigua se trata de una gramtica univoca ya que es una
gramtica libre de contexto que tiene asociado un solo rbol de derivacin para toda cadena del
lenguaje.
Ejemplo para la cadena (101) el nico rbol de la gramtica que la puede representar es el
siguiente:
Derivacin
S
1F
11C
110A
1101C
11010A
110101C
110101
rbol
Finales
{q0, q2, q3, q4}
Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las transiciones del AFD,
en este caso aplicaremos para los subconjuntos la transicin 0.
No finales
{q1, q5, q6, q7}
q2, q7, q7, q7
Finales
{q0, q2, q3, q4}
q1, q1, q1, q7
{q1}
Finales
{q0, q2, q3}
{q4}
No finales
{q5, q6, q7}
q3, q3, q3,
{q1}
q1
Finales
{q0, q2, q3}
q6, q5, q4
{q4}
q4
No finales
{q5, q6, q7}
{q1}
Finales
{q0, q2} {q3}
{q4}
Autmata Minimizado
1
0
Eliminacin Estados
1
0
Nuevo Autmata
1
0
q0
q2
q6
q5
q1
q1
q0
q0
q5
q5
q1
q1
q0
q5
q1
q3
q4
q1
q3
q4
q1
q3
q4
q1
q4
q4
q7
q4
q4
q5
q4
q4
q5
q5
q6
q7
q5
q3
q3
q7
q7
q7
q5
q5
q5
q3
q3
q3
q5
q5
q5
q5
q3
q5
q1
q3
q2
q1
q3
q0
q1
q3
q0
Estados No
finales
0
q4
q4
q3
q5 = q3
q1= q4
q3
q4
q1
q1
q0
q6
q1
q2
q5
q1
q5
q5
q7
q6
q3
q7
q7
q3
q7
:=(q2,1) = {q5}
:=(q2,0) = {q1}
:=(q6,1) = {q3}
:=(q6,0) = {q7}
:=(q7,1) = {q3}
:=(q7,0) = {q7}
= Q x Q
:=(q0,0) = {q4}
:=(q0,1) = {q3}
:=(q1,0) = {q4}
:=(q1,1) = {q2}
:=(q2,0) = {q3}
:=(q2,1) = {q2}
:=(q3,0) = {q3}
:=(q3,1) = {q1}
:=(q4,0) = {q0}
:=(q4,1) = {q1}
12. Identificar la expresin regular (explicarla en la lectura matemtica que se le debe hacer).
La expresin regular para el autmata minimizado es:
(00+ (10*1+01) (01+11*00*1)*00)*(+(10*1+01)(01+11*00*1)*(+11*))
13. Compruebe una cadena vlida para esa expresin regular.
q3
q0
110000101
110101
00101
01
011
15. Identificar su gramtica. Demustrela para una cadena vlida del autmata.
Gramtica del autmata
S 0D
S 1C
S
D 0S
A 0D
D 1A
B 1B
C 0C
A 1B
B 0C
B
A
C 1A
1
q3
q2
q2
q1
q1
0
q4
q4
q3
q3
q0
18. Plasmar los pasos de minimizacin en el simulador y capturar los procesos en imgenes para ser
documentadas en el texto.
Primer paso: Construir el autmata en el simulador
Segundo Paso: Seleccionar en el men convert luego vamos a la opcin miniminize DFA
Tercer Paso: Seleccionamos los estados no finales y hacemos click en Complete Subtree,
ahora hacemos click en los estados finales y luego hacemos clic en Complete Subtree.
Cuarto Paso: Damos click en Finish y luego en el botn completar para realizar las
transiciones.
Quinto paso: Damos click en el botn Done? el programa nos enva una ventana de mensaje
en la cual nos dice que la minimizacin del autmata est hecha y que se abrir una nueva
ventana con el autmata minimizado, damos aceptar y listo ya tenemos nuestro autmata
minimizado, ahora solo debemos ordenarlo para que se pueda visualizar mejor.
19. 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).
Graficado en JFLAP
diremos que hasta el estado final, Seguido daremos click en step para recorrer el autmata por
cada uno de sus estados hasta el estado final.
Si hacemos click en Trace se abre otra ventana en la cual nos muestra la traza de ejecucin
para esa cadena.
POR LEER
xxy
xxy
xy
y
PILA
x
xx
xxy
TUPLA
M=(S,,T,s A)
AUTOMATA A
AUTOMATA B
:=(q6,x) = {q6}
:=(q2,x) = {q2}
:=(q5,x) = {q5}
:=(q0,x) = {q0}
:=(q4,x) = {q4}
:=(q6,y) = {q2}
:=(q2,y) = {q2, q6}
:=(q5,y) = {q0}
:=(q0,y) = {q4}
:=(q4,y) = {q4}
El autmata A difiere del autmata B principalmente en el nmero de estados ya que para A el nmero
de estados es dos mientras que para B es de tres estados, De igual forma para el autmata A se tiene
que posee un solo estado de aceptacin mientras que el autmata B posee dos estados de
aceptacin, Partiendo de estos hechos notaremos que la funcin de transicin es diferente.
AUTOMATA A
Lenguaje
AUTOMATA B
L= {A {x, y} | A= xn yn ,n >=1}
L= {A {x, y} | A= xn yn ,n >=1}
El lenguaje que reconocen los dos autmatas es el mismo ya que ambos lenguajes generan cadenas
validas en base a las transiciones del autmata, el lenguaje nos dice que A pertenece a (x) y (y) tal
que A es igual a (xn) y (yn) donde n es mayor o igual a uno.
25. Identifique si son AFD o AFND. (Tenga en cuenta todas las variables a tener en cuenta para
calificar un autmata o para clasificarlo como tal)
Tanto el autmata A como el autmata B son autmatas finitos no deterministas AFND. Porque nuestro
autmata A en el estado q2 salen dos transiciones con el mismo smbolo e independientemente de
esta regla tambin tiene ms de una transicin en sus estados. Igual caso para el autmata B este
posee ms de una transicin en uno o mas estados.
Expresin regular
(x*x(y+x)*y)*x*x(y+x)*
Autmata B
Expresin regular
ER= yx*+yx*y(x+y)
4. Gramticas
Gramtica G2
Autmata Finito Diagrama de Moore
28. Justifique si las gramticas son idnticas o no he identifique el Lenguaje que generan.
Las gramticas no son idnticas pero generan el mismo lenguaje. Para verlo, basta sustituir el
no-terminal B por las secuencias que puede generar. En los diagramas de moore podemos ver
que son idnticos ya que no se alteran los estados de aceptacin y la gramtica se mantiene.
29. Identifique la ER para cada Autmata generado.
La expresin regular para el autmata de la gramtica G1 es: xy (zy+yz*) y
La expresin regular para el autmata de la gramtica G2 es: xy (yz*) y
30. Identifique y demuestre la palabra generable comn tanto por la Gramtica 1 como por la
Gramtica 2. (Use el simulador para verificarla).
La Gramtica 1 y la Gramtica 2 generan dos palabras comunes del lenguaje que son:
xyzy
xyzyzy
Usaremos el simulador para verificar estas palabras:
Verificacin palabra xyzy para la Gramtica 1
BIBLIOGRAFIA
MODULO
AUTMATAS Y LENGUAJES FORMALES
Edgar Alberto Quiroga Rojas Actualizacin: Carlos Alberto Amaya Tarazona
Gramticas formales
http://gramaticasformales.wordpress.com/
Grammatical regular
http://es.wikipedia.org/wiki/Gram%C3%A1tica_regular
http://luzem.dyndns.org/2010/05/05/practica-8-gramaticaslibres-de-contexto-en-jflap/
http://luzem.dyndns.org/tag/gramatica-libre-de-contexto-aautomata-de-pila/
http://teodelacomp.blogspot.com/2011/03/automataspushdown-presentan-ing.html
Minimizacion de un autmata
http://www.youtube.com/watch?v=jd4cQ9yJj2c
Automata de pila
http://www2.dis.ulpgc.es/~mluengo/automatas/teoria/tema4.pdf
Gramaticas y autmatas
De pila
http://informatica.utem.cl/~rcorbin/files/talf/APUNTES_Y_GUIA
S/Capitulo3.pdf