Transformación de AF a una ER

Anuncio
Por VICTOR QUINTANA Y ALEXIS LARENAS
transformación de AF a una ER
1. Añadir un estado inicial y final al AF, con transiciones vacías.
2. Eliminar nodos intermedios en la GT (Grafo de Transición)
3. La GT se transforma en una sola ER
En la figura
siguiente:
De p1 a q1:
De p1 a qn:
De pn a q1:
De pn a qn:
anterior vemos que se puede eliminar el nodo q, quedando lo
1( 1
+ ... +
1( 1 + ... +
n( 1 + ... +
n( 1 + ... +
n)
1
n)
n
n)
1
n)
n
El grafo de cualquier AFN puede ser considerado un grafo de
transición generalizado si las etiquetas de las ligas se interpretan
apropiadamente. Una liga etiquetada con el símbolo a es interpretado como
una liga etiquetada con la expresión a, mientras que una liga etiquetada con
múltiples símbolos a,b,… es interpretada como una liga etiquetada con las
expresiones a+b+… De aquí que se sigue que para cada expresión regular,
existe un grafo de transición generalizado que la acepta. Inversamente,
cada lenguaje aceptado por un grafo de transición es regular. Debido a que
la etiqueta de cada camino en un grafo de transición generalizado es una
expresión regular, esto parece ser una consecuencia inmediata del teorema
anterior.
1
Por VICTOR QUINTANA Y ALEXIS LARENAS
La equivalencia para los grafos de transición generalizados está
definida en términos del lenguaje aceptado. Consideremos un grafo de
transición generalizado con los estados {q,qi,qj,…}, donde q no es estado
inicial ni final, y para el cual creamos un grafo de transición generalizado,
con al menos un estado eliminado q. Podemos hacer esto sin no alteramos
el lenguaje denotado por el conjunto de etiquetas que pueden ser generados
cuando vamos de q0 a qf. La construcción lograda está ilustrada en la
siguiente figura, en donde el estado q es eliminado y las ligas a,b,… se usan
para las expresiones generales.
El caso anterior es el general en el sentido de que q no tiene ligas a
todos los estados qi,q,qj. El grafo queda de la siguiente manera:
La construcción del grafo anterior muestra las ligas que han sido
introducidas de modo que el lenguaje del grafo de transición generalizado
no cambia cuando eliminamos q. El proceso completo requiere que esto sea
realizado en todos los pares (qi,qj) en K-{q} antes de eliminar q. A pesar de
que no mostramos formalmente la prueba de esto, puede mostrarse que la
construcción desemboca en un grafo de transición generalizado
equivalente.
Un argumento más riguroso, sería dar un método formal para
construir los estados y las transiciones de las máquinas combinadas a partir
de los estados y transiciones de las partes, entonces probar por inducción
sobre el número de operadores que tiene la construcción del autómata que
acepta el lenguaje denotado por cualquier expresión regular particular.
2
Por VICTOR QUINTANA Y ALEXIS LARENAS
Ejercicio. Obtener la ER para el AF siguiente:
Una aplicación de búsqueda de patrones ocurre en la edición de
textos. Todos los editores de texto permiten escanear archivos para
encontrar la ocurrencia de una cadena dada; la mayoría de los editores
extienden esta operación para permitir buscar patrones. Por ejemplo, el
editor ed en el sistema operativo UNIX reconoce el comando
/aba*c/
como una instrucción de búsqueda del archivo a la primera ocurrencia de la
cadena ab, seguido por un número arbitrario de a’s, seguido por una c.
Vemos de este ejemplo que el editor de UNIX puede reconocer expresiones
regulares.
3
Descargar