2. AUTÓMATA FINITOS DETERMINISTICO
Autómata Finito Deterministico .(AFD)
Autómata: Es una maquina o sistema que puede aceptar una
entrada y posiblemente producir una salida, y que tendrá algún
tipo de memoria interna que podrá registrar cierta información de
las entradas previas.
Definición de AFD: Un AFD, es una colección de cinco
elementos(5-tupla) denotada por: M=(Q, , s, F, ) donde:
- Q: Es una colección finita de estados.(Q= q ,q ,....,q )
- : Es un alfabeto de entrada.
- s: Representa el estado inicial (s Q, s=q )
- F: Es una colección de estados finales o de aceptación .
- : Es una función de transición de la forma:
: QX ---------- Q donde
3. AUTÓMATA FINITOS DETERMINISTICO
i , se tiene que:
q , a =q , con a (a, es un símbolo), significa que sea
cual sea el estado actual y el carácter de la entrada, siempre
hay un estado siguiente asociado a este par y el mismo es
único.
Para toda cadena “W” y símbolo a de entrada se tiene que :
q , Wa = W ,a .
4. AUTÓMATA FINITOS DETERMINISTICO
Representación: Existen dos formas de representar un AFD.
Diagrama de Transición de Estado(DTE): Es una colección
finita de círculos los cuales se pueden rotular(anotar, apuntar) con
fines de referencia, conectados con flechas que reciben el
nombre de arcos. Cada uno de estos arcos se etiqueta con un
simbo0lo o categoría de símbolo (ej. Letras o dígitos) que podrían
estar presentes en la cadena que se analiza.
- Uno de los círculos es designado con un apuntador, y
representa la posición inicial.
- Por lo menos unos de los círculos se representa como un
circulo doble, estos círculos dobles designan posiciones del
diagrama en las cuales se ha reconocido una cadena valida.
5. AUTÓMATA FINITOS DETERMINISTICO
Tabla de Transición(TT): Es un arreglo bidimensional cuyos
elementos proporcionan el resumen del diagrama de transición de
estado. En las filas se colocan los estados de Q, en las columnas
los símbolos del alfabeto , y en la posición (q , a) se coloca (q
, a). A continuación se presenta un ejemplo de un AFD:
6. AUTÓMATA FINITOS DETERMINISTICO
Cadena Valida o Aceptada: Se dice que una cadena es aceptada por un
DTE, si los símbolos que aparecen en la cadena (de izquierda a derecha),
corresponden a una secuencia de arcos rotulados que conducen del estado
inicial a un circulo doble.
Ejemplo: Sea el AFD dado por: M=(Q, , s, F, ) donde, Q= q0 , q1 ;
0, 1 ; s=q0 ;F= q1 ; : dada por:
q0 ,0 =q0 ; q0 ,1 =q1 ; q1 ,0 =q1 ; q1 ,1 =q0
- Obtenga la tabla de transición y el diagrama de transición de estado
asociado al AFD dado.
- Verifique la validez de las cadenas siguientes para el AFD dado.
W =01000; w =01001
8. AUTÓMATA FINITOS DETERMINISTICO
Evaluando la cadena w =01000, se tiene que
(q , 01000)= q ,0),1),0),0),0)=q ; La cadena no es
Aceptada
(q , 010011)= q ,0),1),0),0),1)=q ; La cadena es
Aceptada.
Definición: Si “M” es un AFD, entonces el lenguaje aceptado
por M es:
L(M)= W / W es aceptada por M .
Ejemplo: Sea el AFD, dado por:
9. AUTÓMATA FINITOS DETERMINISTICO
El lenguaje aceptado por el AFD dado anteriormente es:
L(M)= W / W=(Cadenas de cero o más yes (“Y”) que
contienen un numero par de equis(X) ) .
Nota: Es importante resaltar que L(M), esta formada por todas
las cadenas aceptadas por “M”, y no que es un conjunto de
cadenas que son todas aceptadas por “M”.
10. AUTÓMATA FINITO NO DETERMINISTICO
Si se permite que desde un estado, se realicen cero, una o más
transiciones mediante el mismo símbolo de entrada, se dice que
el autómata es no deterministico. El no determinismo consiste
(intuitivamente) en agregar transiciones que antes estaban
prohibidas: saltos con varios símbolos sobre la flecha, saltos
vacíos y saltos a más de un estado con el mismo símbolo.
Definición: Un AFND, va a estar formado mediante una
colección de cinco elementos, denotados por: M=(Q, , s, F, )
donde
Q: Conjunto finito de Estados
Σ: Alfabeto de Entrada
s: Representa el estado Inicial(s=q ).
F С Q: Colección o conjunto de Estados finitos o de aceptación
Δ: Relación sobre Q x Σ x Q y se llama relación de transición
11. AUTÓMATA FINITO NO DETERMINISTICO
Observación: puesto que Δ es una relación para todo par (q,0)
compuesto por el estado actual y el símbolo de la entrada. Δ(q,0),
es una colección de ceros o más estados. es decir, Δ(q,0) Q .
Esto significa que, para todo estado q, se puede tener cero o mas
alternativas a elegir como estado siguiente, todas para el mismo
símbolo de entrada.
Representación de un AFND: Al igual que los AFDS, los AFND,
pueden ser representados por medio de la tabla de transición
y por medio del diagrama de transición de estado. A
continuación se describen cada una de estas dos formas.
12. AUTÓMATA FINITO NO DETERMINISTICO
Tabla de transición.
En las filas estarán los estados q Q
El estado inicial se precederá del símbolo
Cada estado final se precederá del símbolo *
En las columnas estarán los símbolos a { }
En la posición (q,a) estarán los estados en (q,a)
Diagrama de transición de estado.
- En los nodos estarán los estados
- El estado inicial tendrá un arco entrante no etiquetado
- Los estados finales estarán rodeados de doble circulo
- Habrá un arco etiquetado con a ( ) entre el nodo qi si qj
(qi,a)
13. AUTÓMATA FINITO NO DETERMINISTICO
Ejemplo: Sea el AFND M dado por:
Q= q 0, q1 , q2 , q3 , q4 ; a, b ; s= q0 ; F= q2 ,q3,q4 ;
: dada por:
a b
q0 {q1,q4 {q3}
}
q1 {q1} {q2}
q2 Φ Φ
q3 Φ Φ
q4 Φ {q4}
14. AUTÓMATA FINITO NO DETERMINISTICO
El Diagrama de Transición Asociado a M, se
muestra a continuación:
15. AUTÓMATA FINITO NO DETERMINISTICO
Observación: Como se aprecia en la tabla de relación de transición las celdas
son conjuntos. Las celdas con vacío( ), indican que no existe ninguna
transición desde el estado actual mediante la entrada correspondiente. Que
para un estado actual, símbolo de entrada exista mas de un posible estado
siguiente, significa que se puede elegir entre las distintas posibilidades. El
ejemplo dado no existe nada que determine la elección hacia un único estado,
por tal razón se dice que el comportamiento del autómata es no deterministico.
Definición: Si “M” es un AFND, entonces el lenguaje aceptado por M es:
L(M)= W / W es aceptada por M .
Nota: En el caso particular del ejemplo anterior cabe destacar que el
lenguaje aceptado por dicho autómata es:
L(M)=
17. EQUIVALENCIA ENTRE AFD Y AFND
Ejemplo: Sea el AFND M dado por: Q={q0, q1,q2}; ∑={a,b};
S={q0} y F={q0} y : dada por:
a b
q0 {q1} Φ
q1 Φ {q0,q2}
q2 {q0} Φ
Obtenga un AFD M = (Q , , s F , ) que sea equivalente.
Defina todas las componentes.
20. EQUIVALENCIA ENTRE AFD Y AFND
A continuación se presenta el diagrama de transición de estado
resultante:
21. AFND CON Ε-TRANSICIONES
- transiciones: Son aquellas transiciones que al realizarse no
consumen ningún símbolo de entrada,, es decir; son transiciones
de un estado a otro que no dependen de ninguna entrada.
Ejemplo: Sea el AFND, dado por:
22. AFND CON Ε-TRANSICIONES
Comentario: El autómata puede cambiar su estado de q0 sin
consumir nada en la entrada. q1 , es el único estado de
aceptación del AFND presentado, si W es cualquier cadena
de cero o más a‟es, el autómata cicla sobre q0 hasta que
consuma las a‟es, una vez que la cadena se vacía se desplaza a
q1 y la acepta.
Ejemplo: Sea El AFND dado por:
23. AFND CON Ε-TRANSICIONES
Comentario: El AFND dado puede moverse de q a q sin
consumir nada en la entrada. En los ejemplos citados, la decisión
de elegir una -transición, se realiza de la misma forma que la
de cualquier otra transición con elección múltiple que exista en
un AFND. Por lo tanto las -transiciones son consistentes con el
matiz no deterministico de los AFND.
Construcción de la Tabla de Transición: Si un AFND tiene -
transiciones, la relación asocia pares de Q X ( U( )) X Q con
subconjuntos de Q .( Es decir es una relación sobre Q X
( U( )) X Q, se puede añadir una nueva columna en la tabla de
para colocar los pares de la forma (q, ).
Ejemplo: Para el DTE del ejemplo anterior se tiene que la tabla
seria:
24. AFND CON Ε-TRANSICIONES
a b ε
q0 {q1} Φ Φ
q1 Φ {q2} Φ
q2 {q0} Φ {q0}
Nota: Cuando hay -transiciones en n AFND es conveniente suponer que cada estado
tiene una -transición que cicla en ese estado. En el caso del ejemplo anterior la tabla
quedaría de la siguiente forma
a b ε
q0 {q1} Φ {q0}
q1 Φ {q2} {q1}
q2 {q0} Φ {q0,q2}
25. AFND CON Ε-TRANSICIONES
Nota: Para calcular el conjunto de estados siguientes en un
AFND, que contiene -transiciones se deben tener en cuenta las -
transiciones anteriores y posteriores a la transición etiquetada
con .
Ejemplo: Sea el AFND dado por.
26. AFND CON Ε-TRANSICIONES
Conjunto de estados siguientes a:
(q , a)= q , q
(q , b)= q , q , q
Nota: Para él calculo del conjunto de estados siguientes en un
AFND con -transiciones se deben tener en consideración las
definiciones dadas a continuación.
Definición: Para todo estado q Q, se define la -cerradura de q
como sigue.
-c(q)= p / p es accesible desde q sin consumir nada en la
entrada , ampliando la definición dada para todo el conjunto
de estados se tiene que:
28. AFND CON Ε-TRANSICIONES
Definición: Para todo q Q y , se tiene que d(q, )=
p / hay una transición de q a p etiquetada con ,
ampliando esta definición a todo el conjunto Q, se tiene que.
Ejemplo: Para el AFND del ejemplo dado anteriormente
obtener, d(q0,a); d(q1, b); d q3,q4 , b .
Solución:
d(q0,a)= q3 ; d(q0, b)= ;
d q3,q4 , b = d q3 , b)U q4 , b = q4 U q0 = q0,q4
29. AFND CON Ε-TRANSICIONES
Definición: A partir de un AFND que tiene transiciones se
puede tener un AFND sin -transiciones que acepte el mismo
lenguaje. Se define M =(Q, , s, F , ) donde:
F = FU q / - c(q)ΠF
(q, )= - c(q, )= - c (d( - c(q), ))
Ejemplo: Sea el AFND con - transiciones dado por:
32. AFND CON Ε-TRANSICIONES
A continuación se muestra el DTE asociado al AFND sin -
transiciones.
33. CONCEPTOS RELATIVOS A AFD Y AFND
Extensión a palabras: dado que la solo transita cuando recibe
un símbolo de entrada, se puede generalizar para cuando recibe
una palabra formada por mas de un símbolo o por palabra vacía.
Aceptación de palabras: x * es aceptada o reconocida por un
AFD si f „(qo, x) F. Es decir, si se parte del estado inicial y
recibe la palabra de entrada x, se transita a un estado que pertenece
al conjunto de estados finales o de aceptación F.
34. CONCEPTOS RELATIVOS A AFD Y AFND
Lenguaje reconocido por un AFD: es el conjunto de palabras aceptadas por un
AFD. Así se comprueba que existe entre autómatas y lenguajes de forma que
cada autómata reconoce un lenguaje determinado (regular en el caso de la Af),
generando como salida una aceptación si la palabra de entrada pertenece al
lenguaje y una no-aceptación si la palabra de entrada no pertenece al lenguaje.
También existe la relación inversa que permite asegurar que, para cada lenguaje
regular, hay un AF que reconoce palabras de ese lenguaje y no reconoce
ninguna palabra que no pertenezca al lenguaje.
Accesibilidad entre estados: p Q es accesible desde q Q, pAp, si existe
una palabra x * tal que f „(q, x)=p. A efectos de simplificar los autómatas,
todos aquellos estados no accesibles desde el inicial, se pueden borrar, ya que
no afectaran al comportamiento del autómata al no poder llegar nunca a ellos.
35. CONCEPTOS RELATIVOS A AFD Y AFND
Autómatas Conexos: Un AFD es conexo si para cada estado
qi Q, qi es accesible desde qj .
Equivalencia entre estados: Dos estados p, q Q son
equivalentes pEq, si
x , (p,x) F (q,x) F
Nota: Si las transiciones de p con la entrada x llegan a un estado
final las transiciones de q con x también tienen que llegar, y si
las transiciones de p con x no llegan a un estado final las
transiciones de q con x tampoco deben llegar.