Cambios en el README
This commit is contained in:
parent
fb36a5c2b3
commit
98e9e4e135
33
README.md
33
README.md
|
@ -1,10 +1,11 @@
|
|||
# dfa-python
|
||||
|
||||
Código para construir autómatas finitos deterministas en python. Adaptado del original de **Vijaya Gajanan** (https://medium.com/swlh/automata-theory-in-python-part-1-deterministic-finite-automata-95d7c4a711f5).
|
||||
Código para construir autómatas finitos deterministas en python. Adaptado del original de **[Vijaya Gajanan](https://medium.com/swlh/automata-theory-in-python-part-1-deterministic-finite-automata-95d7c4a711f5)**.
|
||||
|
||||
La operación es interactiva, pidiendo los estados, el alfabeto, estado de enrada y estados de salida, al igual que la tabla de transiciones.
|
||||
|
||||
>Autómata Finito Determinista (DFA).
|
||||
>
|
||||
>Da la lista de estados separados por espacio:
|
||||
|
||||
Introduce los nombres de los estados, por ejemplo: q0 q1 q2 (*presiona enter*)
|
||||
|
@ -12,12 +13,15 @@ Introduce los nombres de los estados, por ejemplo: q0 q1 q2 (*presiona enter*)
|
|||
Al no poner los espacios el programa lo interpretará como un único estado.
|
||||
|
||||
>Estados : ['q0', 'q1', 'q2']
|
||||
>
|
||||
>Da el alfabeto de entrada separado por espacios:
|
||||
|
||||
De la misma manera introduce los símbolos del alfabeto, por ejemplo: 0 1
|
||||
|
||||
>Alfabeto : ['0', '1']
|
||||
>
|
||||
>Da la transición para el estado q0. De ser necesario, usa 'RECHAZO'.
|
||||
>
|
||||
>ESTADO ACTUAL : q0 ALFABETO DE ENTRADA : 0 SIGUIENTE ESTADO :
|
||||
|
||||
Introduce el estado siguiente a partir del estado q0 al leer un '0'.
|
||||
|
@ -26,12 +30,26 @@ Este proceso se repite para todos los estados y todos los símbolos del alfabeto
|
|||
A partir de los valores dados se construye la tabla de transiciones:
|
||||
|
||||
>FUNCIÓN DE TRANSICIÓN Q X SIGMA -> Q
|
||||
>
|
||||
>
|
||||
>ESTADO ACTUAL ALFABETO DE ENTRADA PRÓXIMO ESTADO
|
||||
>
|
||||
>
|
||||
>q0 0 q1
|
||||
>
|
||||
>
|
||||
>q0 1 q0
|
||||
>
|
||||
>
|
||||
>q1 0 q2
|
||||
>
|
||||
>
|
||||
>q1 1 q2
|
||||
>
|
||||
>
|
||||
>q2 0 q1
|
||||
>
|
||||
>
|
||||
>q2 1 q0
|
||||
|
||||
Enseguida se pide el estado inicial, como es un autómata finito determinista recuerda que sólo acepta un estado inicial.
|
||||
|
@ -47,17 +65,30 @@ Una vez introducidos revisará que los estados proporcionados estén en la lista
|
|||
Si los estados están en el conjunto se pide elegir la opción:
|
||||
|
||||
>Elige la opción:
|
||||
>
|
||||
>1. Correr el DFA con la cadena de entrada
|
||||
>
|
||||
>2. Cambiar el DFA
|
||||
>
|
||||
>3. Salir
|
||||
|
||||
Para correr el autómata dado se elige la opción 1, la opción 2 en caso de haber cometido un error permite definir de nuevo el autómata (desde cero), para no hacer nada más y salir se elige la opción 3 (por supuesto que en cualquier momento del proceso se puede hacer Ctrl-c).
|
||||
|
||||
>Da Opción : 1
|
||||
>
|
||||
>
|
||||
>Da la cadena de entrada : 1001
|
||||
>
|
||||
>
|
||||
>ESTADO ACTUAL : q0 SÍMBOLO DE ENTRADA : 1 PRÓXIMO ESTADO : q0
|
||||
>
|
||||
>
|
||||
>ESTADO ACTUAL : q0 SÍMBOLO DE ENTRADA : 0 PRÓXIMO ESTADO : q1
|
||||
>
|
||||
>
|
||||
>ESTADO ACTUAL : q1 SÍMBOLO DE ENTRADA : 0 PRÓXIMO ESTADO : q2
|
||||
>
|
||||
>
|
||||
>ESTADO ACTUAL : q2 SÍMBOLO DE ENTRADA : 1 PRÓXIMO ESTADO : q0
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue