2. Autómata no-determinista: el autómata puede estar en varios estados
al mismo tiempo. Las transiciones de un estado a otro pueden ocurrir
de manera espontánea, es decir, en respuesta a la palabra vacía λ
como entrada.
El lenguaje reconocido por un Autómata finito no determinista (AFND)
puede definirse casi igual que el lenguaje reconocido por un autómata
finito determinista AFD, si utilizamos la definición de función de
transición sobre palabras (f’ para el AFND).
2
3. Sólo hay que tener en cuenta que, en el caso del AFND, al
obtenerse por medio de f’ varios estados, la condición de
aceptación será que alguno de dichos estados sea un estado final
del autómata.
Un autómata no-determinista se puede convertir en un autómata
determinista equivalente el cual puede ser “ejecutado” por una
computadora convencional.
3
4. Un automata finito no determinista es una quintupla
A=(Q,∑,f,q0,δ
- Q es un conjunto de estados
- ∑ es el alfabeto de entrada
- qo es el estado inicial y este pertenece a los estados
- f es el conjunto de los estados finales
- δ es la funcion de transcision.
4
5. 5
30 25 20 15 10 5 0
d d d d d
n n n n n n
d
q q q q q
q
n,d,q
El periódico cuesta 30 centavos
n: niquel (5c)
d: dime (10c)
q: quarter (25c)
8. Este es un autómata no-determinístico ya que hay transiciones no definidas. En general, los autómatas
no-determinísticos son más simples que los determinísticos.
(Reconocimiento de Patrones).-Supongamos un ejemplo de tranmisión de datos entre barcos. El
receptor de un barco debe de estar siempre esperando la trasmisión de datos que puede llegar en
cualquier momento. Cuando no hay trasmisión de datos hay un ruido de fondo (sucesión aleatoria de 0,
1).
Para comenzar la trasmisión se manda una cadena de aviso, por ejemplo. 010010. Si esa cadena se
reconoce hay que registrar los datos que siguen. El programa que reconoce esta cadena puede estar
basado en un autómata finito. La idea es que Este no pueda llegar a un estado no final mientras no se
reciba la cadena inicial.
En ese momento el autómata pasa a un estado final. A partir de ahí todo lo que llegue se registra. el
propósito es hacer un autómata que llegue a un estado final tan pronto como se reconozca 010010.
Intentar hacer un autómata finito determinístico directamente puede ser complicado, pero es muy fácil el
hacer un AFND, como el de la Figura 10.
Hay que señalar que esto sería solamente el esquema de una sola parte de la trasmisión. Se podría
complicar incluyendo también una cadena para el fin de la trasmisión.
8
9. 9
Un automata no deterministico que reconoce la cadena 010010
Lo que necesitariamos en un
AFD
Lo hacemos en un AFDN de esta manera
10. Se caracterizan porque, a diferencia de los AFD,
en un estado puede haber más de una
transición posible para un mismo símbolo de
entrada (alfabeto). Es decir /λ(q,a)/ ≥ 1 para
algún "q" perteneciente a Q y para algún
símbolo "a" perteneciente a T.
11. El lenguaje reconocido por un Autómata finito no
determinista (AFND) puede definirse casi igual que el lenguaje
reconocido por un autómata finito determinista AFD, Sólo hay que
tener en cuenta que, en el caso del AFND, al obtenerse por medio
de f’ varios estados, la condición de aceptación será que alguno de
dichos estados sea un estado final del autómata.
El conjunto de todas las palabras aceptadas por un autómata finito
no determinista (AFND) es el lenguaje aceptado por ese AFND.
12. Una cadena x€∑* es aceptada por un AFND M=(Q,∑,f,q0,F) si y
solo si
f’(q0,x) F≠ф
En otro caso se dice que la cadena es rechazada por el autómata.
Dado un AFND M=(Q,∑,f,q0,F) se llama lenguaje aceptado o
reconocido por dicho autómata al conjunto de las palabras de ∑*
que acepta,
L(M)={xє∑* / f’(q0,x)Fф}
12
13. Convertir al equivalente AFD.
Mantener un conjunto de datos de todos los
estados en que la máquina podría estar en la
actualidad.
Crear múltiples copias, por cada n forma de la
decisión, el AFND crea hasta n-1 copias de la
máquina. Cada uno de ellos entrara en un estado
independiente.