Cómo convertir un autómata finito en la expresión regular
autómatas finitos (FA - autómatas finitos) pertenecen a un modelo matemático capaz de reconocer cadenas de idiomas regulares. El estudio de la FA es una parte importante de los fundamentos de la teoría de la computación. El modelo puede generar lenguajes regulares cadenas son expresiones regulares (RE - Expresiones Regulares) (el mismo utilizado en varios lenguajes de programación como Java). Ahora, vamos a aprender cómo convertir una FA en un RE.
pasos
1
Comience por crear una FA o el uso de un suministra como ejercicio. La figura FA servirá como un ejemplo.
2
El procedimiento consiste en eliminar uno por uno los estados de FA, sustituyendo el estado retirado por las nuevas transiciones cuyas etiquetas son las etiquetas de las transiciones de todos los posibles caminos a través de ese nodo.
3
Elija uno de los estados de "colapso". En nuestro ejemplo, q2 fue escogido.
4
Elige un nuevo estado de quitar.
5
Elige otro estado para eliminar. En el ejemplo, ahora quitar q3.
6
A veces es necesario para representar trayectorias circulares mediante el operativo cierre de Kleene (* - asterisco) y hacer los pasos intermedios. En la figura, los caminos entre q0 y q4 quien falleció q1 Ellos se convirtieron a las transiciones.
7
Continuar para eliminar los estados, hasta que sólo alrededor de un estado inicial y un estado final. Escriba la expresión regular que representa los vínculos con las operaciones de cierre.
consejos
- Trate de obtener los estados que tienen el menor número de maneras. Puede haber una explosión combinatoria si intenta quitar un estado muy "activo" antes.
- A veces, las expresiones regulares resultantes pueden parecer muy compleja. Y la mayoría de las veces se pueden simplificar.
- El JFLAP puede convertir en FA RE automáticamente. De ello se desprende otro método (usando transiciones lambda) a, y que genera no están optimizados.
Vídeo: Expresion Regular a DFA en JFlap
Vídeo: Ejemplo conversión de ER a AFD
De esta manera? Compartir en redes sociales: