Laboratorio 1: Resumen teórico
Breve repaso de DFA (Autómata Finito Determinístico)
#
Composición de un DFA- Alfabeto
- Conjunto de estados
- Función de transición
- Estado inicial
- Estados de aceptación
Un DFA es una tupla .
Esta definición tiene su equivalente en código en el archivo common.ts
, donde Alphabet
() y State
() son parámetros de tipo.
export interface MachineDescription<Alphabet, State> { transition: Transition<Alphabet, State>; initial: State; acceptance: State[];}
#
Cómo visualizar un DFAEl siguiente DFA detecta un número impar de letras a
.
- Alfabeto : letras sobre las transiciones
- Conjunto de estados : cada círculo es un estado
- Función de transición : flechas entre estados con una letra al lado
- Estado inicial : La apunta una flecha que viene desde afuera
- Estados de aceptación : Estado con un reborde.
#
Cómo describir un DFAA continuación se describe el mismo DFA sin un diagrama.
- Alfabeto
- Conjunto de estados
- Estado inicial
- Estados de aceptación
- Función de transición : tabla a continuación
estado | letra | nuevo estado |
---|---|---|
#
Para qué sirven las DFA- Análisis estático que extrae DFA de tu código java
- Las expresiones regulares representan DFA
- redux usa conceptos similares
- Es una excelente forma de modelar el estado y los cambios de estado de nuestros programas