domingo, 20 de mayo de 2007

Expresiones Regulares a AF y viceversa

1.Obtenga el AF equivalente a las siguientes ER (Expresiones Regulares)

Primero que nada, cabe destacar que para la realización de dichas ejercicios se hace uso de las siguientes operaciones:




Una vez teniendo esto, procedamos a la solución:



  • (ab+cb)* bc + a*c (ba+ca)

Siguiendo el procedimiento colocamos dos estados y en medio del conector entre estos, la expresión regular. Posteriormente, dependiendo de la operación realizada ( suma, producto, o u operador estrella) transformamos a su expresión compleja como se observa:


continuando tenemos:

Finalmente tenemos:




  • (a* + b* ) *
Para dicho ejercicio procedemos de igual manera que el anterior, sólo que ahora modificaremos la expresión regular dada:



como se observa, tenemos dos estados que tienen una variable con (*) lo que implica que debemos transformar nuevamente , obteniendo así:






      • (c+ba)* aa (ab+c) *

      Realizando el mismo procedimiento tenemos:




      Como se puede observar tenemos aún variables operadas por productos y por el operador (*), por lo que simplificamos una vez más obteniendo:



      Finalmente






      2. Obtenga la ER equivalente al AF mostrado

      Para dichos ejercicios se procede de igual manera pero en reversa, es decir , ahora partiremos de una Automata Finito y lo convertiremos en una expresión regular.


      a)

      Este autómata no se puede expresar en Expresión Regular ya que observamos que en sentido de las flechas que van hacia el estado q3 , es el mismo, y el autómata en este caso no llegaría al estado final por los caminos (a,b,a) , (a,b,b) y (a,a,b).




      b)
      Procediendo de manera contraria a lo que solíamos hacer en los primeros tres ejemplos, tenemos:

      Volviendo a simplificar

      Finalmente tenemos:


      Por lo que, la expresión regular resultante es [(a+b)[a(bba* + aa) + ba]](b*)











































































































































































































































































































































































































































































































































































































      martes, 1 de mayo de 2007

      ER

      Diseñe la ER que construye el lenguaje en {a,b,c}, en el que las palabras deben empezar con “abc”, contienen dos veces la subcadena “aca”y terminan con “cba”.

      (abc) (C1) aca . aca (C2) (cba)

      (abc) . (a+b+c+ab+cb) aca . aca (a+b+c+ab+cb) (cba)

      (abc) . (a+b+c+ab+cb)* aca . aca (a+b+c+ab+cb)* (cba)