Anda di halaman 1dari 2

AUTÓMATAS FINITOS

Un autómata finito es un modelo matemático de una máquina que acepta cadenas


de un lenguaje previamente definido sobre un alfabeto A. Consiste en un conjunto
finito de estados y un conjunto de transiciones entre esos estados, que dependen
de los símbolos de la cadena de entrada. El autómata finito acepta una cadena “x”
si la secuencia de transiciones correspondientes a los símbolos de “x” conduce
desde el estado inicial a un estado final.
Tipo de control:

 Determinístico: Para cada entrada, hay sólo un estado al que el autómata


puede ir desde el estado en que se encuentre.
 No determinístico: Cuando se permite que el autómata tenga 0 o más estados
siguientes para cada par estado-entrada.
AUTÓMATA DETERMINISTA

Un AFD es un autómata finito que para cada estado en que se encuentre el


autómata, y con cualquier símbolo del alfabeto leído, existe siempre no más de una
transición posible desde ese estado y con ese símbolo.
Características:

 La transición desde un estado puede tener como destino un único estado.


 No se aceptan transiciones con cadenas vacías.
 Se permite el uso de backtracking.
 Requiere más espacio.
 Una cadena es aceptada si su transición es hacia un estado final.
AUTÓMATA NO DETERMINISTA

Un AFND es un autómata finito que, posee al menos un estado tal que para un
símbolo del alfabeto, existe más de una transición posible.
Características:

 La transición desde un estado puede tener múltiples destinos.


 Permite transiciones con cadenas vacías.
 No siempre se permite el uso de backtracking
 Requiere menos espacio
 Una cadena es aceptada si solo unas de todas sus posibles transiciones son
hacia un estado final.
Construcción de un autómata finito

Estados: los estados del autómata son representados por círculo. Los nombres de
los estados están escritos dentro de esos círculos.
o Estado inicial: Estado en el que el autómata inicia. Tiene una flecha
apuntando hacia él.

o Estados intermedios: Todos los estados intermedios tienen al menos 2


flechas, una apuntando hacia el estado y otra apuntando hacia otro estado.

o Estado final: Si una cadena es parseada exitosamente, se espera que el


autómata quede en este estado. Se representa con un circulo doble. Puede
tener una cantidad impar de flechas apuntando hacia él y una cantidad par
de flechas apuntando hacia otros estados. El número de flechas impares es
siempre uno más que el de flechas pares.

o Transición: Ocurre cuando un símbolo deseado es encontrado en la cadena


de entrada. Después de una transición, un autómata se puede mover al
siguiente estado, o quedarse en el mismo estado. El movimiento de un
estado a otro es representado con una flecha dirigida, que apunto al estado
destino. Si el autómata se queda en el mismo estado se dibuja entonces una
flecha que apunta hacia el mismo.

Ejemplo: Asumimos un autómata finito que acepta un valor tres dígitos binarios que
termina en 1. FA = { Q (q0, qf), ?(0,1), q0, qf, ?}

Podríamos mapear este autómata a la siguiente expresión regular: (0 | 1)*1

Anda mungkin juga menyukai