SlideShare una empresa de Scribd logo
1 de 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;

      ACQ 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= 1i0i ,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 multiplebrute 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
S → 1F               1F
F → 1C               11C
C → 0A               110A
A → 1C               1101C
C → 0A               11010A
A → 1C               110101C
C→λ                  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,q4q4


       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 q4q4
      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              1     0                            1     0                1    0
Finales
              q0    q6       q1                  q0    q5    q1          q0     q5     q1
              q2    q5       q1                  q0    q5    q1

              q3    q4       q1                  q3    q4    q1          q3     q4     q1

              q4    q4       q7                  q4    q4    q5          q4     q4     q5

Estados No           1        0                         1     0                  1      0
finales
              q5    q5       q7                  q5    q3     q5         q5    q3      q5
              q6    q3       q7                  q5    q3     q5
              q7    q3       q7                  q5    q3     q5

              q1    q3       q2                  q1    q3     q0         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                          q0               q3                 q4
                   q3 = q1                            q1             q2                 q4
                   q4 = q2                            q2             q2                 q3
                   q5 = q3                            q3             q1                 q3
                   q1= q4                             q4             q1                 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             q3           q4
                                 # q1              q2           q4
                                 #q2               q2           q3
                                    q3             q1           q3
                                    q4             q1           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 Finishy 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+1yn para cualquier número natural n.

       L= {xn+1yn}

       Las posibles cadenas que acepta el autómata pueden ser:

       (xxy) (xxyxxy) (xxyxxyxxy)

Un autómata con pila puede ser descrito como una séptuplaM= (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
      stepwithclosure, 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, similaresa 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               xxy
                                 q               xxy                    x
                                 q                xy                   xx
                                 q                 y                  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})                    M=({q5,q0, q4}, {x,y},δ, q5, {q0,q4})


          δ:=(q6,x) = {q6}        δ:=(q6,y) = {q2}          δ:=(q5,x) = {q5}      δ:=(q5,y) = {q0}
          δ:=(q2,x) = {q2}        δ:=(q2,y) = {q2, q6}      δ:=(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= xnyn ,n>=1}              L= {A ϵ {x, y} | A= xnyn ,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 L2el lenguaje generado por la gramática G2

                   S → xABy                     S → xAyzy | xAy
                   A → xzS | B                  A → xzS | yz | λ
                   B → 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 pilahttp://informatica.utem.cl/~rcorbin/files/talf/APUNTES_Y_GUIAS/Capitulo3.pdf

Más contenido relacionado

La actualidad más candente

Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajesJean Bernard
 
Pruebas de Uniformidad
Pruebas de UniformidadPruebas de Uniformidad
Pruebas de UniformidadEwing Ma
 
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1Victor Asanza
 
Articulo ieee proyecto de grado
Articulo ieee proyecto de gradoArticulo ieee proyecto de grado
Articulo ieee proyecto de gradoJoc Dueñas
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon javaNestor Paucar Carhuatanta
 
Lenguajes Regulares y Autómatas Finitos - Clase 6
Lenguajes Regulares y Autómatas Finitos - Clase 6Lenguajes Regulares y Autómatas Finitos - Clase 6
Lenguajes Regulares y Autómatas Finitos - Clase 6UTN-FRT Tucumán Argentina
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Agentes reactivos basados en modelos
Agentes reactivos basados en modelosAgentes reactivos basados en modelos
Agentes reactivos basados en modelosSaúl Hulse
 
Trabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracerTrabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracerJairo Rosas
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de ContextoBrayhan Acosta
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Capa de Red del modelo OSI
Capa de Red del modelo OSICapa de Red del modelo OSI
Capa de Red del modelo OSINeryEdaly
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 

La actualidad más candente (20)

Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Operaciones entre lenguajes
Operaciones entre lenguajesOperaciones entre lenguajes
Operaciones entre lenguajes
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Pruebas de Uniformidad
Pruebas de UniformidadPruebas de Uniformidad
Pruebas de Uniformidad
 
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1
⭐⭐⭐⭐⭐ SISTEMAS EMBEBIDOS, CAPÍTULO 1
 
Articulo ieee proyecto de grado
Articulo ieee proyecto de gradoArticulo ieee proyecto de grado
Articulo ieee proyecto de grado
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Simulacion de pi - monte carlo - buffon java
Simulacion de pi - monte carlo - buffon  javaSimulacion de pi - monte carlo - buffon  java
Simulacion de pi - monte carlo - buffon java
 
Lenguajes Regulares y Autómatas Finitos - Clase 6
Lenguajes Regulares y Autómatas Finitos - Clase 6Lenguajes Regulares y Autómatas Finitos - Clase 6
Lenguajes Regulares y Autómatas Finitos - Clase 6
 
Notación Asintótica
Notación AsintóticaNotación Asintótica
Notación Asintótica
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Agentes reactivos basados en modelos
Agentes reactivos basados en modelosAgentes reactivos basados en modelos
Agentes reactivos basados en modelos
 
Trabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracerTrabajo protocolo icmp ejemlo en packet tracer
Trabajo protocolo icmp ejemlo en packet tracer
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Capa de Red del modelo OSI
Capa de Red del modelo OSICapa de Red del modelo OSI
Capa de Red del modelo OSI
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Examen final de redes
Examen final de redesExamen final de redes
Examen final de redes
 

Destacado

Trabajo colaborativo 1
Trabajo colaborativo 1Trabajo colaborativo 1
Trabajo colaborativo 1anarojasparra
 
Unidad 1 lenguajes regulares
Unidad 1 lenguajes regularesUnidad 1 lenguajes regulares
Unidad 1 lenguajes regularesluisita91
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Vikky Moscoso
 
52 rec1 301405
52 rec1 30140552 rec1 301405
52 rec1 301405luisita91
 
Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...
Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...
Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...luis mendez
 
S5 -equivalencia_y_minimizacion_af_ds
S5  -equivalencia_y_minimizacion_af_dsS5  -equivalencia_y_minimizacion_af_ds
S5 -equivalencia_y_minimizacion_af_dsdwonga
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatasPedro Roman
 
AUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALESAUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALESvmtorrealba
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatasequipolf
 
Trabajo colaborativo diapositivas[1]
Trabajo colaborativo diapositivas[1]Trabajo colaborativo diapositivas[1]
Trabajo colaborativo diapositivas[1]sindulfonaum
 
7 Tecnica del Arbol para la toma de decisiones
7  Tecnica del Arbol para la toma de decisiones7  Tecnica del Arbol para la toma de decisiones
7 Tecnica del Arbol para la toma de decisionesdecisiones
 
Trabajo final colaborativo 1
Trabajo final colaborativo 1Trabajo final colaborativo 1
Trabajo final colaborativo 1JEALVARADOMO
 

Destacado (18)

Trabajo colaborativo 1
Trabajo colaborativo 1Trabajo colaborativo 1
Trabajo colaborativo 1
 
Unidad 1 lenguajes regulares
Unidad 1 lenguajes regularesUnidad 1 lenguajes regulares
Unidad 1 lenguajes regulares
 
Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.Conversión de un AFN a un AFD.
Conversión de un AFN a un AFD.
 
52 rec1 301405
52 rec1 30140552 rec1 301405
52 rec1 301405
 
Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...
Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...
Guía de actividades y rúbrica de evaluación fase 1 debatir y desarrollar los ...
 
Unidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatasUnidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatas
 
S5 -equivalencia_y_minimizacion_af_ds
S5  -equivalencia_y_minimizacion_af_dsS5  -equivalencia_y_minimizacion_af_ds
S5 -equivalencia_y_minimizacion_af_ds
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
 
AUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALESAUTOMATAS Y LENGUAJES FORMALES
AUTOMATAS Y LENGUAJES FORMALES
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Teoria de automatas
Teoria de automatasTeoria de automatas
Teoria de automatas
 
Trabajo colaborativo diapositivas[1]
Trabajo colaborativo diapositivas[1]Trabajo colaborativo diapositivas[1]
Trabajo colaborativo diapositivas[1]
 
7 Tecnica del Arbol para la toma de decisiones
7  Tecnica del Arbol para la toma de decisiones7  Tecnica del Arbol para la toma de decisiones
7 Tecnica del Arbol para la toma de decisiones
 
Trabajo final colaborativo 1
Trabajo final colaborativo 1Trabajo final colaborativo 1
Trabajo final colaborativo 1
 
Formato Carta
Formato CartaFormato Carta
Formato Carta
 
Control por PLC
Control por PLCControl por PLC
Control por PLC
 

Similar a 33 col2 301405

33col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp0233col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp02nayis_bonillav
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesDiego Perdomo
 
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
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Examen abril 2010 resuelto
Examen abril 2010 resueltoExamen abril 2010 resuelto
Examen abril 2010 resueltopedrocano307
 
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
 
Máquinas de turing o máquinas con cola
Máquinas de turing o máquinas con colaMáquinas de turing o máquinas con cola
Máquinas de turing o máquinas con colaIvan Vladimir Meza-Ruiz
 
301405_34-Tarea1-Danilo Coral.pptx
301405_34-Tarea1-Danilo Coral.pptx301405_34-Tarea1-Danilo Coral.pptx
301405_34-Tarea1-Danilo Coral.pptxharolw1
 
Teoria de Conjuntos
Teoria de Conjuntos Teoria de Conjuntos
Teoria de Conjuntos Asu RaGu
 
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
 
Funcion de transferencia.pptx
Funcion de transferencia.pptxFuncion de transferencia.pptx
Funcion de transferencia.pptxMiles21994
 

Similar a 33 col2 301405 (20)

33col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp0233col2301405 121126110801-phpapp02
33col2301405 121126110801-phpapp02
 
Examen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes FormalesExamen final Autómatas y Lenguajes Formales
Examen final Autómatas y Lenguajes Formales
 
Autómata finito
Autómata finitoAutómata finito
Autómata finito
 
Conversion
ConversionConversion
Conversion
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Unidad temática iv
Unidad temática ivUnidad temática iv
Unidad temática iv
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Conversion
ConversionConversion
Conversion
 
Examen abril 2010 resuelto
Examen abril 2010 resueltoExamen abril 2010 resuelto
Examen abril 2010 resuelto
 
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
 
Máquinas de turing o máquinas con cola
Máquinas de turing o máquinas con colaMáquinas de turing o máquinas con cola
Máquinas de turing o máquinas con cola
 
Filtros caf
Filtros cafFiltros caf
Filtros caf
 
301405_34-Tarea1-Danilo Coral.pptx
301405_34-Tarea1-Danilo Coral.pptx301405_34-Tarea1-Danilo Coral.pptx
301405_34-Tarea1-Danilo Coral.pptx
 
Matematica discreta
Matematica discreta Matematica discreta
Matematica discreta
 
Automatas de pila
Automatas de pilaAutomatas de pila
Automatas de pila
 
Expocision u3
Expocision  u3Expocision  u3
Expocision u3
 
Teoria de Conjuntos
Teoria de Conjuntos Teoria de Conjuntos
Teoria de Conjuntos
 
Teoría de Autómata
Teoría de AutómataTeoría de Autómata
Teoría de Autómata
 
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.
 
Funcion de transferencia.pptx
Funcion de transferencia.pptxFuncion de transferencia.pptx
Funcion de transferencia.pptx
 

33 col2 301405

  • 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;  ACQ 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= 1i0i ,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 multiplebrute 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 S → 1F 1F F → 1C 11C C → 0A 110A A → 1C 1101C C → 0A 11010A A → 1C 110101C C→λ 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,q4q4 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 q4q4 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 1 0 1 0 1 0 Finales q0 q6 q1 q0 q5 q1 q0 q5 q1 q2 q5 q1 q0 q5 q1 q3 q4 q1 q3 q4 q1 q3 q4 q1 q4 q4 q7 q4 q4 q5 q4 q4 q5 Estados No 1 0 1 0 1 0 finales q5 q5 q7 q5 q3 q5 q5 q3 q5 q6 q3 q7 q5 q3 q5 q7 q3 q7 q5 q3 q5 q1 q3 q2 q1 q3 q0 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 q0 q3 q4 q3 = q1 q1 q2 q4 q4 = q2 q2 q2 q3 q5 = q3 q3 q1 q3 q1= q4 q4 q1 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 q3 q4 # q1 q2 q4 #q2 q2 q3 q3 q1 q3 q4 q1 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 Finishy 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+1yn para cualquier número natural n. L= {xn+1yn} Las posibles cadenas que acepta el autómata pueden ser: (xxy) (xxyxxy) (xxyxxyxxy) Un autómata con pila puede ser descrito como una séptuplaM= (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 stepwithclosure, 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, similaresa 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 xxy q xxy x q xy xx q y 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}) M=({q5,q0, q4}, {x,y},δ, q5, {q0,q4}) δ:=(q6,x) = {q6} δ:=(q6,y) = {q2} δ:=(q5,x) = {q5} δ:=(q5,y) = {q0} δ:=(q2,x) = {q2} δ:=(q2,y) = {q2, q6} δ:=(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= xnyn ,n>=1} L= {A ϵ {x, y} | A= xnyn ,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 L2el lenguaje generado por la gramática G2 S → xABy S → xAyzy | xAy A → xzS | B A → xzS | yz | λ B → 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 pilahttp://informatica.utem.cl/~rcorbin/files/talf/APUNTES_Y_GUIAS/Capitulo3.pdf