SlideShare ist ein Scribd-Unternehmen logo
1 von 25
AUTOMATAS Y LENGUAJES FORMALES
TRABAJO COLABORATIVO DOS
LENGUAJES INDEPENDIENTES DEL CONTEXTO
PRESENTADO A:
INGENIERO MSC
CARLOS ALBERTO AMAYA TARAZONA
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
UNAD CEAD DUITAMA – BOYACA
NOVIEMBRE 2012
INTRODUCCION
El presente trabajo corresponde al desarrollo del trabajo colaborativo número dos del curso de
Autómatas y lenguajes formales, en el aplicaremos los contenidos temáticos que se han adquirido del
estudio de la unidad dos del curso Lenguajes independientes del contexto.
Cuando necesitamos validar campos de texto en programación como por ejemplo nombres, números
de cedula, fechas de nacimiento entre otros muchos campos más y para realizarlo de una manera
sencilla y precisa podremos emplear los lenguajes regulares. Existen diversidad de métodos para
validar esta información contenida entre estos para ello se encuentran los Autómatas 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 Autómatas Finitos y no Finitos. Un autómata con pila o autómata de pila o autómata a pila o
autómata apilador 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 a pila pertenece al grupo de los lenguajes de contexto libre en la
clasificación de la Jerarquía de Chomsky.
OBJETIVOS
GENERAL
Reconocer los lenguajes independientes del contexto y sus diversas aplicaciones.
OBJETIVOS ESPECIFICOS
 Analizar la estructura de las gramáticas independientes del contexto.
 Estudiar el concepto de los autómatas de pila, su funcionamiento y los lenguajes
utilizados.
 Distinguir los lenguajes independientes del contexto existentes y sus propiedades, así
como los algoritmos de decisión.
 Generalizar los conceptos de autómatas finitos y gramáticas regulares.
 Reconocer el potencial de procesamiento del lenguaje del autómata con los
 Autómatas de pila.
1. Calcular el autómata mínimo correspondiente al siguiente autómata finito determinista.
ACTIVIDADES ANTES DE MINIMIZAR.
1. Identifique los componentes del autómata (que tipo de tupla es).
Autómata Finito No Determinista por lo cual su tupla es:
5-tupla A= (Q, Σ, q0, δ, A)
 Q es un conjunto de estados;
 Σ es un alfabeto;
 δ: Q x Σ → Q es una función de transición para un AFD;
 q0 ϵ Q es el estado inicial;
 A C Q es un conjunto de estados finales o de aceptación.
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}
2. Identifique la tabla de transición
0 1
 # q0 q1 q6
q1 q2 q3
# q2 q1 q5
# q3 q1 q4
# q4 q7 q4
# q5 q7 q3
q6 q7 q3
q7 q7 q3
Cada fila la corresponde a un estado q ∈ Q
El estado inicial se precede del símbolo →
Cada estado final se precede del símbolo #
Cada columna corresponde a un símbolo de entrada x ∈ Σ
Se debe identificar la función δ
3. Identifique el lenguaje que reconoce y las posibles cadenas.
L= {A ϵ {1, 0} | A= 1i
0i
,i >=1}
Posibles cadenas
110000101
110101
00101
01
011
11101
110000000101
111101
1111011111111
4. Encuentre la expresión regular válida. (Compruebe una cadena válida de esa expresión regular en
el simulador). Identifique sus componentes.
La expresión regular válida para el autómata es:
((0+1(0+111*0)*10)(10+111*0(0+111*0)*10)*0)*(λ+1(0+111*0)*(1+111*)+(0+1(0+111*0)*10)(10
+111*0(0+111*0)*10)*(1+111*+111*0(0+111*0)*(1+111*)))
Comprobación en simulador:
Comprobación de cadenas validas en el simulador
El propósito de las ER (que no son más que simples fórmulas) es representar cada una de ellas
un lenguaje.
5. Encuentre su gramática que sea válida para la función de transición (describa sus componentes y
como se escriben matemáticamente). Justifíquela si la convierte a la Izquierda o a la derecha.
Plásmela en el simulador y recréela. (Debe quedar documentado en el texto el paso a paso que
realizan en el simulador)
La gramática válida para la función de transición es:
Izquierda Derecha
S → λ
S → 0A
F → 1C
C → 1D
G → 1C
A → 0B
B → 0A
E → 0G
B → λ
S → 1F
C → 0A
C → λ
A → 1C
E → 1C
D → 1D
G → 0G
D → 0G
F → 0G
D → λ
B → 1E
La conversión se hace a la Izquierda porque es lineal a la derecha ya que el mismo lenguaje es
generado por la siguiente gramática línea por la derecha.
Gramatical en Jflap
Abrimos el Simulador y seleccionamos gramática:
Luego ingresamos la gramática en el simulador:
Ahora comprobamos si las cadenas que son válidas con respecto a la gramática del autómata para
ello nos vamos a Input y luego a multiple brute forcé parse e ingresamos las cadenas que deseamos
validar:
El simulador nos indica que cadenas fueron aceptadas y cuales rechazadas.
Las gramáticas son mecanismos generadores de lenguajes, es decir, nos dicen cómo podemos
obtener o construir palabras de un determinado lenguaje.
6. Realice el árbol de Derivación de esa gramática.
El árbol de derivación es demasiado grande para ser plasmado gráficamente.
Un árbol ordenado y etiquetado es un árbol de derivación para una gramática libre de contexto
7. Identifique si ese árbol ó gramática es ambigua o no y plasme las razones de su afirmación.
La gramática del árbol no es ambigua se trata de una gramática univoca ya que es una
gramática libre de contexto que tiene asociado un solo árbol de derivación para toda cadena del
lenguaje.
Ejemplo para la cadena (101) el único árbol de la gramática que la puede representar es el
siguiente:
8. Si el árbol de transición es demasiado grande, a su criterio seleccione una regla en la que se
detenga por cualquier rama (izquierda o derecha) y plásmelo hasta ahí.
La siguiente es una regla para detener el árbol de transición por la derecha:
(S→1F)(F→1C)(C→0A)(A→1C)(C→0A)(A→1C)(C→ λ)
Regla Derivación Árbol
S → 1F
F → 1C
C → 0A
A → 1C
C → 0A
A → 1C
C → λ
S
1F
11C
110A
1101C
11010A
110101C
110101
ACTIVIDADES PARA EL EJERCICIO A MINIMIZAR O YA MINIMIZADO:
9. Explicar el proceso de Minimización (que estados se suprimen y porque).
Paso 1: Se crean dos subconjuntos, uno formado por los estados no finales y el otro por los
estados finales.
No finales Finales
{q1, q5, q6, q7} {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 transición “0”.
No finales Finales
{q1, q5, q6, q7} {q0, q2, q3, q4}
0 q2, q7, q7, q7 q1, q1, q1, q7
Paso 3: Se separan del subconjunto los estados de un subconjunto que al aplicarle la
transición se comporta de manera diferente a los demás estados del subconjunto. Esto es, el
que se desplaza hacia el estado final en nuestro caso es q1 para los estados no finales y q4
para los estados finales.
No finales Finales
{q1, q5, q6, q7} {q1} {q0, q2, q3} {q4}
Repetimos el paso dos
Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las transiciones del AFD,
en este caso aplicaremos para los subconjuntos la transición “1”.
No finales Finales
{q5, q6, q7} {q1} {q0, q2, q3} {q4}
1 q3, q3, q3, q1 q6, q5, q4 q4
Repetimos el paso tres
Paso 3: Se separan del subconjunto los estados de un subconjunto que al aplicarle la
transición se comporta de manera diferente a los demás estados del subconjunto. Esto es, el
que se desplaza hacia el estado final en nuestro caso es q0 para los estados no finales y q3
para los estados finales.
No finales Finales
{q5, q6, q7} {q1} {q0, q2} {q3} {q4}
Repetimos el paso dos
Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las transiciones del AFD,
en este caso aplicaremos para los subconjuntos la transición “1” y “0”.
No finales Finales
{q5, q6, q7} {q1} {q0, q2} {q3} {q4}
1 q3, q3, q3, q3 q6, q5 q4 q4
0 q7, q7, q7 q2 q1, q1 q1 q7
Como no se reflejan cambios al aplicar este paso hemos llegado al final de los procedimientos
a seguir por lo tanto tenemos nuestro autómata al mínimo.
Paso 4: Elaboramos la tabla de transición del autómata minimizado, en base a los
subconjuntos formados. Para los subconjuntos que tengan más de un estado se debe elegir un
estado que sea representante del subconjunto y remplazarlo en la tabla de transición por su
respectivo representante esto con el fin de eliminar estados repetidos.
Autómata Minimizado Eliminación Estados Nuevo Autómata
Estados
Finales
1 0
q0 q6 q1
q2 q5 q1
q3 q4 q1
q4 q4 q7
1 0
q0 q5 q1
q0 q5 q1
q3 q4 q1
q4 q4 q5
1 0
q0 q5 q1
q3 q4 q1
q4 q4 q5
Estados No
finales
1 0
q5 q5 q7
q6 q3 q7
q7 q3 q7
q1 q3 q2
1 0
q5 q3 q5
q5 q3 q5
q5 q3 q5
q1 q3 q0
1 0
q5 q3 q5
q1 q3 q0
Paso 5: En este paso se elabora la tabla de transición y se grafica el nuevo autómata
minimizado.
Para realizar la tabla de transición de nuestro autómata minimizado se ordenaran los estados y
se asignan nuevos estados ordenados en base a las transiciones del autómata minimizado.
Equivalencia ordenada de estados Nueva tabla de estados
1 0
q0 = q0
q3 = q1
q4 = q2
q5 = q3
q1= q4
q0
q1
q2
q3
q4
q3
q2
q2
q1
q1
q4
q4
q3
q3
q0
10. Que transiciones se reemplazan o resultan equivalentes.
Las transiciones equivalentes son:
1 0
q0 q6 q1
q2 q5 q1
q5 q5 q7
q6 q3 q7
q7 q3 q7
Por lo tanto podemos eliminar por ser equivalentes:
δ:=(q2,1) = {q5} δ:=(q2,0) = {q1}
δ:=(q6,1) = {q3} δ:=(q6,0) = {q7}
δ:=(q7,1) = {q3} δ:=(q7,0) = {q7}
11. Escribir la función de transición del nuevo autómata.
Función de transición
δ= 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 expresión regular (explicarla en la lectura matemática que se le debe hacer).
La expresión regular para el autómata minimizado es:
(00+ (10*1+01) (01+11*00*1)*00)*(λ+(10*1+01)(01+11*00*1)*(λ+11*))
13. Compruebe una cadena válida para esa expresión regular.
14. Identificar el lenguaje que reconoce y las posibles cadenas.
L= {A ϵ {1, 0} | A= 1i
0i
,i >=1}
Posibles cadenas
110000101
110101
00101
01
011
15. Identificar su gramática. Demuéstrela para una cadena válida del autómata.
Gramática del autómata Demostración de una cadena valida
S → 0D
S → 1C
S → λ
D → 0S
A → 0D
D → 1A
B → 1B
C → 0C
A → 1B
B → 0C
B → λ
A → λ
C → 1A
16. Expresarlo o graficarlo con su respectivo diagrama de Moore.
17. Identificar sus tablas de Transición (plasmarlas)
1 0
 # q0
# q1
# q2
q3
q4
q3
q2
q2
q1
q1
q4
q4
q3
q3
q0
18. Plasmar los pasos de minimización en el simulador y capturar los procesos en imágenes para ser
documentadas en el texto.
Primer paso: Construir el autómata en el simulador
Segundo Paso: Seleccionar en el menú convert luego vamos a la opción 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 botón completar para realizar las
transiciones.
Quinto paso: Damos click en el botón Done? el programa nos envía una ventana de mensaje
en la cual nos dice que la minimización del autómata está hecha y que se abrirá una nueva
ventana con el autómata minimizado, damos aceptar y listo ya tenemos nuestro autómata
minimizado, ahora solo debemos ordenarlo para que se pueda visualizar mejor.
2. Construya el autómata de Pila Correspondiente
Diseñe un AP que acepte el Lenguaje x n+1
yn
para cualquier número natural n.
L= { x n+1
yn
}
Las posibles cadenas que acepta el autómata pueden ser:
(xxy) (xxyxxy) (xxyxxyxxy)
Un autómata con pila puede ser descrito como una séptupla M= (Q, A, B, δ, q0, Z0 F)
M= ({q0, q1, q2, q3}, {x, y},{A}, δ, q0, x, {q3}
19. 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).
Graficado en JFLAP
Traceback para las Transiciones
20. Plasme las imágenes y capturas en el documento. (Documente el proceso)
Traza para la cadena (xxy)
Para comprobar la validez de esta cadena hacemos click en Input luego nos vamos a step with
closure, nos aparece otra ventana allí digitaremos la cadena que deseamos comprobar y le
diremos que hasta el estado final, Seguido daremos click en step para recorrer el autómata 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 ejecución
para esa cadena.
21. Muestre el diagrama correspondiente de estados.
Diagrama de estados
Para los autómatas con pila se pueden hacer diagramas de estados, similares a los ya conocidos, pero
resultan de poca utilidad práctica ya que el procesamiento completo de una cadena de entrada
depende del contenido de la pila, el cual puede cambiar en cada paso computacional.
ESTADO POR LEER PILA
q
q
q
q
xxy
xxy
xy
y
x
xx
xxy
22. Identifique los contenidos de la pila y el estado de parada.
3. Construcción de Autómatas
Para los siguientes dos autómatas:
23. Identifique la tupla que los define y justifique en que difieren.
Una tupla está definida por: M=(S,Σ,T,s A)
AUTOMATA A AUTOMATA B
TUPLA M=({q6,q2}, {x,y},δ, q6, {q2})
δ:=(q6,x) = {q6} δ:=(q6,y) = {q2}
δ:=(q2,x) = {q2} δ:=(q2,y) = {q2, q6}
M=({q5,q0, q4}, {x,y},δ, q5, {q0,q4})
δ:=(q5,x) = {q5} δ:=(q5,y) = {q0}
δ:=(q0,x) = {q0} δ:=(q0,y) = {q4}
δ:=(q4,x) = {q4} δ:=(q4,y) = {q4}
El autómata A difiere del autómata B principalmente en el número de estados ya que para A el número
de estados es dos mientras que para B es de tres estados, De igual forma para el autómata A se tiene
que posee un solo estado de aceptación mientras que el autómata B posee dos estados de
aceptación, Partiendo de estos hechos notaremos que la función de transición es diferente.
24. Que lenguaje reconoce cada Autómata y justifique si es el mismo o no.
AUTOMATA A AUTOMATA B
Lenguaje L= {A ϵ {x, y} | A= xn
yn
,n >=1} L= {A ϵ {x, y} | A= xn
yn
,n >=1}
El lenguaje que reconocen los dos autómatas es el mismo ya que ambos lenguajes generan cadenas
validas en base a las transiciones del autómata, 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 autómata o para clasificarlo como tal)
Tanto el autómata A como el autómata B son autómatas finitos no deterministas AFND. Porque
nuestro autómata A en el estado q2 salen dos transiciones con el mismo símbolo e
independientemente de esta regla también tiene más de una transición en sus estados. Igual caso
para el autómata B este posee más de una transición en uno o mas estados.
26. Plásmelo en los simuladores y genere la ER de cada uno y evalúelas (compárelas).
Autómata A
Expresión regular
(x*x(y+x)*y)*x*x(y+x)*
Autómata B
Expresión regular
ER= yx*+yx*y(x+y)
4. Gramáticas
Sean L1 el lenguaje generado por la gramática G1 y L2 el lenguaje generado por la gramática G2
S → xABy
A → xzS | B
B → yz | λ
S → xAyzy | xAy
A → xzS | yz | λ
Gramática G1 Gramática G2
27. Obtener el autómata Finito para cada gramática (plasme los diagramas de Moore)
Gramática G1
Autómata Finito Diagrama de Moore
Gramática G2
Autómata Finito Diagrama de Moore
28. Justifique si las gramáticas son idénticas o no he identifique el Lenguaje que generan.
Las gramáticas no son idénticas 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 idénticos ya que no se alteran los estados de aceptación y la gramática se mantiene.
29. Identifique la ER para cada Autómata generado.
La expresión regular para el autómata de la gramática G1 es: xy (zy+yz*) y
La expresión regular para el autómata de la gramática G2 es: xy (yz*) y
30. Identifique y demuestre la palabra generable común tanto por la Gramática 1 como por la
Gramática 2. (Use el simulador para verificarla).
La Gramática 1 y la Gramática 2 generan dos palabras comunes del lenguaje que son:
xyzy
xyzyzy
Usaremos el simulador para verificar estas palabras:
Verificación palabra xyzy para la Gramática 1
Verificación palabra xyzy para la Gramática 2
Verificación palabra xyzyzy para la Gramática 1
Verificación palabra xyzyzy para la Gramática 1
BIBLIOGRAFIA
MODULO
AUTÓMATAS Y LENGUAJES FORMALES
Edgar Alberto Quiroga Rojas Actualización: Carlos Alberto Amaya Tarazona
Gramáticas formales http://gramaticasformales.wordpress.com/
Grammatical regular http://es.wikipedia.org/wiki/Gram%C3%A1tica_regular
Gramaticas libres de context http://luzem.dyndns.org/2010/05/05/practica-8-gramaticas-
libres-de-contexto-en-jflap/
Gramatica libre de contexto
a pila http://luzem.dyndns.org/tag/gramatica-libre-de-contexto-a-
automata-de-pila/
lengujaes libres de Contexto http://teodelacomp.blogspot.com/2011/03/automatas-
pushdown-presentan-ing.html
Minimizacion de un autómata http://www.youtube.com/watch?v=jd4cQ9yJj2c
Automata de pila http://www2.dis.ulpgc.es/~mluengo/automatas/teoria/tema4.pdf
Gramaticas y autómatas
De pila http://informatica.utem.cl/~rcorbin/files/talf/APUNTES_Y_GUIAS/Capitulo3.pdf

Weitere ähnliche Inhalte

Was ist angesagt? (19)

Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)Autómatas finitos deterministas (afd)
Autómatas finitos deterministas (afd)
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Automatas de estado finito
Automatas de estado finitoAutomatas de estado finito
Automatas de estado finito
 
Comandos de raptor c# y java
Comandos de raptor c# y javaComandos de raptor c# y java
Comandos de raptor c# y java
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
MANDALA
MANDALAMANDALA
MANDALA
 
MATEMATICAS IV
MATEMATICAS IVMATEMATICAS IV
MATEMATICAS IV
 
instrucciones
instruccionesinstrucciones
instrucciones
 
Las estructuras de control
Las estructuras de controlLas estructuras de control
Las estructuras de control
 
Operadores C SHARP
Operadores C SHARPOperadores C SHARP
Operadores C SHARP
 
comandos
comandoscomandos
comandos
 
Las variables y constantes
Las variables y constantesLas variables y constantes
Las variables y constantes
 
Clase 05-expresiones-regulares
Clase 05-expresiones-regularesClase 05-expresiones-regulares
Clase 05-expresiones-regulares
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
 
Automatas[1]
Automatas[1]Automatas[1]
Automatas[1]
 
Módulo 5 (sin estilo)
Módulo 5 (sin estilo)Módulo 5 (sin estilo)
Módulo 5 (sin estilo)
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Teoría de Autómata
Teoría de AutómataTeoría de Autómata
Teoría de Autómata
 

Andere mochten auch

Modulo calculo integral
Modulo calculo integralModulo calculo integral
Modulo calculo integralRobert Tamara
 
Integrales directas 45
Integrales directas 45Integrales directas 45
Integrales directas 45LOCUCAL
 
Trabajo colaborativo 2
Trabajo colaborativo 2Trabajo colaborativo 2
Trabajo colaborativo 2mmoramo
 
Taller 3 calculo integral
Taller 3 calculo integralTaller 3 calculo integral
Taller 3 calculo integralgiomaraster123
 
Unidad 2 2013 Càlculo Integral
Unidad 2 2013 Càlculo IntegralUnidad 2 2013 Càlculo Integral
Unidad 2 2013 Càlculo IntegralSilvia Sequeda
 
Resumen de Integrales (Cálculo Diferencial e Integral UNAB)
Resumen de Integrales (Cálculo Diferencial e Integral UNAB)Resumen de Integrales (Cálculo Diferencial e Integral UNAB)
Resumen de Integrales (Cálculo Diferencial e Integral UNAB)Mauricio Vargas 帕夏
 
Calculo integral aporte fase ii
Calculo integral aporte fase iiCalculo integral aporte fase ii
Calculo integral aporte fase iiUNAD
 
100412 125 trabajo colaborativo fase_2
100412 125 trabajo colaborativo fase_2100412 125 trabajo colaborativo fase_2
100412 125 trabajo colaborativo fase_2Rodrigo Sanabria
 
Calculo Integral[1]
Calculo Integral[1]Calculo Integral[1]
Calculo Integral[1]guestf6ea15
 

Andere mochten auch (17)

Modulo calculo integral
Modulo calculo integralModulo calculo integral
Modulo calculo integral
 
100411 210 trabajo_fase_1
100411 210 trabajo_fase_1100411 210 trabajo_fase_1
100411 210 trabajo_fase_1
 
100411 454 trabajo_fase_1 (1)
100411 454 trabajo_fase_1 (1)100411 454 trabajo_fase_1 (1)
100411 454 trabajo_fase_1 (1)
 
277 colaborativo no.1.
277 colaborativo no.1.277 colaborativo no.1.
277 colaborativo no.1.
 
Integrales directas 45
Integrales directas 45Integrales directas 45
Integrales directas 45
 
Trabajo colaborativo 2
Trabajo colaborativo 2Trabajo colaborativo 2
Trabajo colaborativo 2
 
Taller 3 calculo integral
Taller 3 calculo integralTaller 3 calculo integral
Taller 3 calculo integral
 
208019 g15 (2)
208019 g15 (2)208019 g15 (2)
208019 g15 (2)
 
Unidad 2 2013 Càlculo Integral
Unidad 2 2013 Càlculo IntegralUnidad 2 2013 Càlculo Integral
Unidad 2 2013 Càlculo Integral
 
Matemática II
Matemática IIMatemática II
Matemática II
 
Resumen de Integrales (Cálculo Diferencial e Integral UNAB)
Resumen de Integrales (Cálculo Diferencial e Integral UNAB)Resumen de Integrales (Cálculo Diferencial e Integral UNAB)
Resumen de Integrales (Cálculo Diferencial e Integral UNAB)
 
Trabajo Colaborativo 2
Trabajo Colaborativo 2Trabajo Colaborativo 2
Trabajo Colaborativo 2
 
Modulo calculo integral
Modulo calculo integralModulo calculo integral
Modulo calculo integral
 
Calculo integral aporte fase ii
Calculo integral aporte fase iiCalculo integral aporte fase ii
Calculo integral aporte fase ii
 
100412 125 trabajo colaborativo fase_2
100412 125 trabajo colaborativo fase_2100412 125 trabajo colaborativo fase_2
100412 125 trabajo colaborativo fase_2
 
Trabajo colaborativo uno_
Trabajo colaborativo uno_Trabajo colaborativo uno_
Trabajo colaborativo uno_
 
Calculo Integral[1]
Calculo Integral[1]Calculo Integral[1]
Calculo Integral[1]
 

Ähnlich wie 33col2301405 121126110801-phpapp02

Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredithyeredith1
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado_05mauricio
 
Unidad temática iv
Unidad temática ivUnidad temática iv
Unidad temática ivJackieHee27
 
Presentacion Autómata finito No deterministico
Presentacion Autómata finito No deterministicoPresentacion Autómata finito No deterministico
Presentacion Autómata finito No deterministicoAnyela Baez
 
Presentación Autómatas Finito No Deterministico
Presentación  Autómatas Finito No DeterministicoPresentación  Autómatas Finito No Deterministico
Presentación Autómatas Finito No DeterministicoScarlinr
 
Mapa mental (maquinas de estado finito)
Mapa mental (maquinas de estado finito)Mapa mental (maquinas de estado finito)
Mapa mental (maquinas de estado finito)Victor Escalona
 
Trabajo colaborativo 1
Trabajo colaborativo 1Trabajo colaborativo 1
Trabajo colaborativo 1anarojasparra
 
Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Yamilee Valerio
 
No determinista autómatas finitos
No determinista autómatas finitosNo determinista autómatas finitos
No determinista autómatas finitosJuan Garcia
 
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxRepresentecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxSANTOS400018
 
Presentacion Enguelbert Garcia
Presentacion Enguelbert GarciaPresentacion Enguelbert Garcia
Presentacion Enguelbert GarciaEnguelbert Garcia
 
Automatas 2014 s1 guía
Automatas 2014 s1 guíaAutomatas 2014 s1 guía
Automatas 2014 s1 guíaraflhax
 

Ähnlich wie 33col2301405 121126110801-phpapp02 (20)

33 col2 301405
33 col2 30140533 col2 301405
33 col2 301405
 
Introducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by YeredithIntroducción a la Teoría de Autómatas by Yeredith
Introducción a la Teoría de Autómatas by Yeredith
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Autómata finito
Autómata finitoAutómata finito
Autómata finito
 
Unidad temática iv
Unidad temática ivUnidad temática iv
Unidad temática iv
 
Presentacion Autómata finito No deterministico
Presentacion Autómata finito No deterministicoPresentacion Autómata finito No deterministico
Presentacion Autómata finito No deterministico
 
Presentación Autómatas Finito No Deterministico
Presentación  Autómatas Finito No DeterministicoPresentación  Autómatas Finito No Deterministico
Presentación Autómatas Finito No Deterministico
 
Mapa mental (maquinas de estado finito)
Mapa mental (maquinas de estado finito)Mapa mental (maquinas de estado finito)
Mapa mental (maquinas de estado finito)
 
Trabajo colaborativo 1
Trabajo colaborativo 1Trabajo colaborativo 1
Trabajo colaborativo 1
 
Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.Equivalencia de autómatas finitos y expresiones regulares.
Equivalencia de autómatas finitos y expresiones regulares.
 
Unidad 3 Busqueda.pdf
Unidad 3 Busqueda.pdfUnidad 3 Busqueda.pdf
Unidad 3 Busqueda.pdf
 
No determinista autómatas finitos
No determinista autómatas finitosNo determinista autómatas finitos
No determinista autómatas finitos
 
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptxRepresentecion-EspectraDAxz<x<zx<zxz<l.pptx
Representecion-EspectraDAxz<x<zx<zxz<l.pptx
 
Teoría de autómatas
Teoría de autómatasTeoría de autómatas
Teoría de autómatas
 
Presentacion Enguelbert Garcia
Presentacion Enguelbert GarciaPresentacion Enguelbert Garcia
Presentacion Enguelbert Garcia
 
Articulo
ArticuloArticulo
Articulo
 
Tipos de autómatas, y operaciones de conjunto entre autómatas
Tipos de autómatas, y operaciones de conjunto entre autómatasTipos de autómatas, y operaciones de conjunto entre autómatas
Tipos de autómatas, y operaciones de conjunto entre autómatas
 
Mapa mental
Mapa mentalMapa mental
Mapa mental
 
Automatas 2014 s1 guía
Automatas 2014 s1 guíaAutomatas 2014 s1 guía
Automatas 2014 s1 guía
 
Conversion
ConversionConversion
Conversion
 

Kürzlich hochgeladen

119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.docMarbellaLedsma
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfARACELIGINESZARATE1
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfrgsteveo32
 
EJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdf
EJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdfEJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdf
EJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdfFrancini Cervantes
 
3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver
3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver
3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniverakermansara040
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Yes Europa
 
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxcarlosdaniellujandel1
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasErnesto840942
 
Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Yes Europa
 
Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....MAICKELSANCHEZ2
 
Cirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfCirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfginpao14
 
UA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfaUA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfaRODRIGOGAVINOAVILAGA
 

Kürzlich hochgeladen (12)

119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
119672964-Place-de-Infeccion-de-Vias-Urinarias.doc
 
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdfUNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
UNIDAD 2 REGISTRO Y CONTROL DE MERCANCIAS.pdf
 
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdfPROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
PROGRAMA DE EMPRENDIMIENTOS RENTABLES ARGENTINA.pdf
 
EJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdf
EJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdfEJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdf
EJEMPLO PRÁCTICO CESANTÍA PARA PRACTICAR.pdf
 
3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver
3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver
3RA - 4 TA CLASE SO1 SEMANA 3.pptxuniver
 
Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024Explora el boletín de 17 de abril de 2024
Explora el boletín de 17 de abril de 2024
 
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptxPRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
PRÁCTICAS PRE PROFESIONALES SESION_N°4.pptx
 
Material modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivasMaterial modulo para AFP integra en diapositivas
Material modulo para AFP integra en diapositivas
 
Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024Descubre el boletín del 12 de Abril de 2024
Descubre el boletín del 12 de Abril de 2024
 
Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....Banco central de Reserva del Perú...,.....
Banco central de Reserva del Perú...,.....
 
Cirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdfCirugía Oral…………………………………………………..……..pdf
Cirugía Oral…………………………………………………..……..pdf
 
UA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfaUA 2 - Uniformes del Ejercito.pdfasfdasfa
UA 2 - Uniformes del Ejercito.pdfasfdasfa
 

33col2301405 121126110801-phpapp02

  • 1. AUTOMATAS Y LENGUAJES FORMALES TRABAJO COLABORATIVO DOS LENGUAJES INDEPENDIENTES DEL CONTEXTO PRESENTADO A: INGENIERO MSC CARLOS ALBERTO AMAYA TARAZONA UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD CEAD DUITAMA – BOYACA NOVIEMBRE 2012
  • 2. INTRODUCCION El presente trabajo corresponde al desarrollo del trabajo colaborativo número dos del curso de Autómatas y lenguajes formales, en el aplicaremos los contenidos temáticos que se han adquirido del estudio de la unidad dos del curso Lenguajes independientes del contexto. Cuando necesitamos validar campos de texto en programación como por ejemplo nombres, números de cedula, fechas de nacimiento entre otros muchos campos más y para realizarlo de una manera sencilla y precisa podremos emplear los lenguajes regulares. Existen diversidad de métodos para validar esta información contenida entre estos para ello se encuentran los Autómatas 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 Autómatas Finitos y no Finitos. Un autómata con pila o autómata de pila o autómata a pila o autómata apilador 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 a pila pertenece al grupo de los lenguajes de contexto libre en la clasificación de la Jerarquía de Chomsky.
  • 3. OBJETIVOS GENERAL Reconocer los lenguajes independientes del contexto y sus diversas aplicaciones. OBJETIVOS ESPECIFICOS  Analizar la estructura de las gramáticas independientes del contexto.  Estudiar el concepto de los autómatas de pila, su funcionamiento y los lenguajes utilizados.  Distinguir los lenguajes independientes del contexto existentes y sus propiedades, así como los algoritmos de decisión.  Generalizar los conceptos de autómatas finitos y gramáticas regulares.  Reconocer el potencial de procesamiento del lenguaje del autómata con los  Autómatas de pila.
  • 4. 1. Calcular el autómata mínimo correspondiente al siguiente autómata finito determinista. ACTIVIDADES ANTES DE MINIMIZAR. 1. Identifique los componentes del autómata (que tipo de tupla es). Autómata Finito No Determinista por lo cual su tupla es: 5-tupla A= (Q, Σ, q0, δ, A)  Q es un conjunto de estados;  Σ es un alfabeto;  δ: Q x Σ → Q es una función de transición para un AFD;  q0 ϵ Q es el estado inicial;  A C Q es un conjunto de estados finales o de aceptación. 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}
  • 5. 2. Identifique la tabla de transición 0 1  # q0 q1 q6 q1 q2 q3 # q2 q1 q5 # q3 q1 q4 # q4 q7 q4 # q5 q7 q3 q6 q7 q3 q7 q7 q3 Cada fila la corresponde a un estado q ∈ Q El estado inicial se precede del símbolo → Cada estado final se precede del símbolo # Cada columna corresponde a un símbolo de entrada x ∈ Σ Se debe identificar la función δ 3. Identifique el lenguaje que reconoce y las posibles cadenas. L= {A ϵ {1, 0} | A= 1i 0i ,i >=1} Posibles cadenas 110000101 110101 00101 01 011 11101 110000000101 111101 1111011111111
  • 6. 4. Encuentre la expresión regular válida. (Compruebe una cadena válida de esa expresión regular en el simulador). Identifique sus componentes. La expresión regular válida para el autómata es: ((0+1(0+111*0)*10)(10+111*0(0+111*0)*10)*0)*(λ+1(0+111*0)*(1+111*)+(0+1(0+111*0)*10)(10 +111*0(0+111*0)*10)*(1+111*+111*0(0+111*0)*(1+111*))) Comprobación en simulador: Comprobación de cadenas validas en el simulador El propósito de las ER (que no son más que simples fórmulas) es representar cada una de ellas un lenguaje.
  • 7. 5. Encuentre su gramática que sea válida para la función de transición (describa sus componentes y como se escriben matemáticamente). Justifíquela si la convierte a la Izquierda o a la derecha. Plásmela en el simulador y recréela. (Debe quedar documentado en el texto el paso a paso que realizan en el simulador) La gramática válida para la función de transición es: Izquierda Derecha S → λ S → 0A F → 1C C → 1D G → 1C A → 0B B → 0A E → 0G B → λ S → 1F C → 0A C → λ A → 1C E → 1C D → 1D G → 0G D → 0G F → 0G D → λ B → 1E La conversión se hace a la Izquierda porque es lineal a la derecha ya que el mismo lenguaje es generado por la siguiente gramática línea por la derecha. Gramatical en Jflap Abrimos el Simulador y seleccionamos gramática:
  • 8. Luego ingresamos la gramática en el simulador: Ahora comprobamos si las cadenas que son válidas con respecto a la gramática del autómata para ello nos vamos a Input y luego a multiple brute forcé parse e ingresamos las cadenas que deseamos validar: El simulador nos indica que cadenas fueron aceptadas y cuales rechazadas.
  • 9. Las gramáticas son mecanismos generadores de lenguajes, es decir, nos dicen cómo podemos obtener o construir palabras de un determinado lenguaje. 6. Realice el árbol de Derivación de esa gramática. El árbol de derivación es demasiado grande para ser plasmado gráficamente. Un árbol ordenado y etiquetado es un árbol de derivación para una gramática libre de contexto 7. Identifique si ese árbol ó gramática es ambigua o no y plasme las razones de su afirmación. La gramática del árbol no es ambigua se trata de una gramática univoca ya que es una gramática libre de contexto que tiene asociado un solo árbol de derivación para toda cadena del lenguaje. Ejemplo para la cadena (101) el único árbol de la gramática que la puede representar es el siguiente: 8. Si el árbol de transición es demasiado grande, a su criterio seleccione una regla en la que se detenga por cualquier rama (izquierda o derecha) y plásmelo hasta ahí. La siguiente es una regla para detener el árbol de transición por la derecha: (S→1F)(F→1C)(C→0A)(A→1C)(C→0A)(A→1C)(C→ λ) Regla Derivación Árbol S → 1F F → 1C C → 0A A → 1C C → 0A A → 1C C → λ S 1F 11C 110A 1101C 11010A 110101C 110101
  • 10. ACTIVIDADES PARA EL EJERCICIO A MINIMIZAR O YA MINIMIZADO: 9. Explicar el proceso de Minimización (que estados se suprimen y porque). Paso 1: Se crean dos subconjuntos, uno formado por los estados no finales y el otro por los estados finales. No finales Finales {q1, q5, q6, q7} {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 transición “0”. No finales Finales {q1, q5, q6, q7} {q0, q2, q3, q4} 0 q2, q7, q7, q7 q1, q1, q1, q7 Paso 3: Se separan del subconjunto los estados de un subconjunto que al aplicarle la transición se comporta de manera diferente a los demás estados del subconjunto. Esto es, el que se desplaza hacia el estado final en nuestro caso es q1 para los estados no finales y q4 para los estados finales. No finales Finales {q1, q5, q6, q7} {q1} {q0, q2, q3} {q4} Repetimos el paso dos Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las transiciones del AFD, en este caso aplicaremos para los subconjuntos la transición “1”. No finales Finales {q5, q6, q7} {q1} {q0, q2, q3} {q4} 1 q3, q3, q3, q1 q6, q5, q4 q4 Repetimos el paso tres Paso 3: Se separan del subconjunto los estados de un subconjunto que al aplicarle la transición se comporta de manera diferente a los demás estados del subconjunto. Esto es, el que se desplaza hacia el estado final en nuestro caso es q0 para los estados no finales y q3 para los estados finales. No finales Finales {q5, q6, q7} {q1} {q0, q2} {q3} {q4}
  • 11. Repetimos el paso dos Paso 2: Aplicar a los dos subconjuntos formados en el paso anterior, las transiciones del AFD, en este caso aplicaremos para los subconjuntos la transición “1” y “0”. No finales Finales {q5, q6, q7} {q1} {q0, q2} {q3} {q4} 1 q3, q3, q3, q3 q6, q5 q4 q4 0 q7, q7, q7 q2 q1, q1 q1 q7 Como no se reflejan cambios al aplicar este paso hemos llegado al final de los procedimientos a seguir por lo tanto tenemos nuestro autómata al mínimo. Paso 4: Elaboramos la tabla de transición del autómata minimizado, en base a los subconjuntos formados. Para los subconjuntos que tengan más de un estado se debe elegir un estado que sea representante del subconjunto y remplazarlo en la tabla de transición por su respectivo representante esto con el fin de eliminar estados repetidos. Autómata Minimizado Eliminación Estados Nuevo Autómata Estados Finales 1 0 q0 q6 q1 q2 q5 q1 q3 q4 q1 q4 q4 q7 1 0 q0 q5 q1 q0 q5 q1 q3 q4 q1 q4 q4 q5 1 0 q0 q5 q1 q3 q4 q1 q4 q4 q5 Estados No finales 1 0 q5 q5 q7 q6 q3 q7 q7 q3 q7 q1 q3 q2 1 0 q5 q3 q5 q5 q3 q5 q5 q3 q5 q1 q3 q0 1 0 q5 q3 q5 q1 q3 q0 Paso 5: En este paso se elabora la tabla de transición y se grafica el nuevo autómata minimizado. Para realizar la tabla de transición de nuestro autómata minimizado se ordenaran los estados y se asignan nuevos estados ordenados en base a las transiciones del autómata minimizado. Equivalencia ordenada de estados Nueva tabla de estados 1 0 q0 = q0 q3 = q1 q4 = q2 q5 = q3 q1= q4 q0 q1 q2 q3 q4 q3 q2 q2 q1 q1 q4 q4 q3 q3 q0
  • 12. 10. Que transiciones se reemplazan o resultan equivalentes. Las transiciones equivalentes son: 1 0 q0 q6 q1 q2 q5 q1 q5 q5 q7 q6 q3 q7 q7 q3 q7 Por lo tanto podemos eliminar por ser equivalentes: δ:=(q2,1) = {q5} δ:=(q2,0) = {q1} δ:=(q6,1) = {q3} δ:=(q6,0) = {q7} δ:=(q7,1) = {q3} δ:=(q7,0) = {q7} 11. Escribir la función de transición del nuevo autómata. Función de transición δ= 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 expresión regular (explicarla en la lectura matemática que se le debe hacer). La expresión regular para el autómata minimizado es: (00+ (10*1+01) (01+11*00*1)*00)*(λ+(10*1+01)(01+11*00*1)*(λ+11*)) 13. Compruebe una cadena válida para esa expresión regular.
  • 13. 14. Identificar el lenguaje que reconoce y las posibles cadenas. L= {A ϵ {1, 0} | A= 1i 0i ,i >=1} Posibles cadenas 110000101 110101 00101 01 011 15. Identificar su gramática. Demuéstrela para una cadena válida del autómata. Gramática del autómata Demostración de una cadena valida S → 0D S → 1C S → λ D → 0S A → 0D D → 1A B → 1B C → 0C A → 1B B → 0C B → λ A → λ C → 1A 16. Expresarlo o graficarlo con su respectivo diagrama de Moore.
  • 14. 17. Identificar sus tablas de Transición (plasmarlas) 1 0  # q0 # q1 # q2 q3 q4 q3 q2 q2 q1 q1 q4 q4 q3 q3 q0 18. Plasmar los pasos de minimización en el simulador y capturar los procesos en imágenes para ser documentadas en el texto. Primer paso: Construir el autómata en el simulador Segundo Paso: Seleccionar en el menú convert luego vamos a la opción miniminize DFA
  • 15. 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 botón completar para realizar las transiciones. Quinto paso: Damos click en el botón Done? el programa nos envía una ventana de mensaje en la cual nos dice que la minimización del autómata está hecha y que se abrirá una nueva ventana con el autómata minimizado, damos aceptar y listo ya tenemos nuestro autómata minimizado, ahora solo debemos ordenarlo para que se pueda visualizar mejor.
  • 16. 2. Construya el autómata de Pila Correspondiente Diseñe un AP que acepte el Lenguaje x n+1 yn para cualquier número natural n. L= { x n+1 yn } Las posibles cadenas que acepta el autómata pueden ser: (xxy) (xxyxxy) (xxyxxyxxy) Un autómata con pila puede ser descrito como una séptupla M= (Q, A, B, δ, q0, Z0 F) M= ({q0, q1, q2, q3}, {x, y},{A}, δ, q0, x, {q3} 19. 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). Graficado en JFLAP
  • 17. Traceback para las Transiciones 20. Plasme las imágenes y capturas en el documento. (Documente el proceso) Traza para la cadena (xxy) Para comprobar la validez de esta cadena hacemos click en Input luego nos vamos a step with closure, nos aparece otra ventana allí digitaremos la cadena que deseamos comprobar y le diremos que hasta el estado final, Seguido daremos click en step para recorrer el autómata por cada uno de sus estados hasta el estado final.
  • 18. Si hacemos click en Trace se abre otra ventana en la cual nos muestra la traza de ejecución para esa cadena. 21. Muestre el diagrama correspondiente de estados. Diagrama de estados Para los autómatas con pila se pueden hacer diagramas de estados, similares a los ya conocidos, pero resultan de poca utilidad práctica ya que el procesamiento completo de una cadena de entrada depende del contenido de la pila, el cual puede cambiar en cada paso computacional. ESTADO POR LEER PILA q q q q xxy xxy xy y x xx xxy 22. Identifique los contenidos de la pila y el estado de parada. 3. Construcción de Autómatas Para los siguientes dos autómatas:
  • 19. 23. Identifique la tupla que los define y justifique en que difieren. Una tupla está definida por: M=(S,Σ,T,s A) AUTOMATA A AUTOMATA B TUPLA M=({q6,q2}, {x,y},δ, q6, {q2}) δ:=(q6,x) = {q6} δ:=(q6,y) = {q2} δ:=(q2,x) = {q2} δ:=(q2,y) = {q2, q6} M=({q5,q0, q4}, {x,y},δ, q5, {q0,q4}) δ:=(q5,x) = {q5} δ:=(q5,y) = {q0} δ:=(q0,x) = {q0} δ:=(q0,y) = {q4} δ:=(q4,x) = {q4} δ:=(q4,y) = {q4} El autómata A difiere del autómata B principalmente en el número de estados ya que para A el número de estados es dos mientras que para B es de tres estados, De igual forma para el autómata A se tiene que posee un solo estado de aceptación mientras que el autómata B posee dos estados de aceptación, Partiendo de estos hechos notaremos que la función de transición es diferente. 24. Que lenguaje reconoce cada Autómata y justifique si es el mismo o no. AUTOMATA A AUTOMATA B Lenguaje L= {A ϵ {x, y} | A= xn yn ,n >=1} L= {A ϵ {x, y} | A= xn yn ,n >=1} El lenguaje que reconocen los dos autómatas es el mismo ya que ambos lenguajes generan cadenas validas en base a las transiciones del autómata, 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 autómata o para clasificarlo como tal) Tanto el autómata A como el autómata B son autómatas finitos no deterministas AFND. Porque nuestro autómata A en el estado q2 salen dos transiciones con el mismo símbolo e independientemente de esta regla también tiene más de una transición en sus estados. Igual caso para el autómata B este posee más de una transición en uno o mas estados.
  • 20. 26. Plásmelo en los simuladores y genere la ER de cada uno y evalúelas (compárelas). Autómata A Expresión regular (x*x(y+x)*y)*x*x(y+x)* Autómata B
  • 21. Expresión regular ER= yx*+yx*y(x+y) 4. Gramáticas Sean L1 el lenguaje generado por la gramática G1 y L2 el lenguaje generado por la gramática G2 S → xABy A → xzS | B B → yz | λ S → xAyzy | xAy A → xzS | yz | λ Gramática G1 Gramática G2 27. Obtener el autómata Finito para cada gramática (plasme los diagramas de Moore) Gramática G1 Autómata Finito Diagrama de Moore
  • 22. Gramática G2 Autómata Finito Diagrama de Moore 28. Justifique si las gramáticas son idénticas o no he identifique el Lenguaje que generan. Las gramáticas no son idénticas 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 idénticos ya que no se alteran los estados de aceptación y la gramática se mantiene. 29. Identifique la ER para cada Autómata generado. La expresión regular para el autómata de la gramática G1 es: xy (zy+yz*) y La expresión regular para el autómata de la gramática G2 es: xy (yz*) y 30. Identifique y demuestre la palabra generable común tanto por la Gramática 1 como por la Gramática 2. (Use el simulador para verificarla). La Gramática 1 y la Gramática 2 generan dos palabras comunes del lenguaje que son: xyzy xyzyzy
  • 23. Usaremos el simulador para verificar estas palabras: Verificación palabra xyzy para la Gramática 1 Verificación palabra xyzy para la Gramática 2
  • 24. Verificación palabra xyzyzy para la Gramática 1 Verificación palabra xyzyzy para la Gramática 1
  • 25. BIBLIOGRAFIA MODULO AUTÓMATAS Y LENGUAJES FORMALES Edgar Alberto Quiroga Rojas Actualización: Carlos Alberto Amaya Tarazona Gramáticas formales http://gramaticasformales.wordpress.com/ Grammatical regular http://es.wikipedia.org/wiki/Gram%C3%A1tica_regular Gramaticas libres de context http://luzem.dyndns.org/2010/05/05/practica-8-gramaticas- libres-de-contexto-en-jflap/ Gramatica libre de contexto a pila http://luzem.dyndns.org/tag/gramatica-libre-de-contexto-a- automata-de-pila/ lengujaes libres de Contexto http://teodelacomp.blogspot.com/2011/03/automatas- pushdown-presentan-ing.html Minimizacion de un autómata http://www.youtube.com/watch?v=jd4cQ9yJj2c Automata de pila http://www2.dis.ulpgc.es/~mluengo/automatas/teoria/tema4.pdf Gramaticas y autómatas De pila http://informatica.utem.cl/~rcorbin/files/talf/APUNTES_Y_GUIAS/Capitulo3.pdf