ejemplo de afn ej. diseña un afn que acepte todas las cadenas que contengan dos ceros consecutivos...
TRANSCRIPT
Ejemplo de AFN
Ej. Diseña un AFN que acepte todas las cadenas que contengan dos ceros consecutivos o dos unos consecutivos.
Solución AFN
q4
0
1
q2
0
1q1q0
q3
q0 q0 q0 q0 q0 q0
q3 q1 q3 q3 q1
00
10010
0
q4 q4
0
1 1
1
Ejemplo:
Equivalencia de los AFD’s y los AFN’s
• AFD AFN⊆Dado que todo AFD es un AFN, es claro que la clase de lenguajes aceptado por los AFN´s incluye los aceptados por los AFD.
• AFN AFN⊆Teorema. Sea L un lenguaje aceptado por un AFN. Entonces existe un AFD que acepta L.
• Demostración
Sea M= (K, Σ, δ, q0, F) un AFN que acepta el lenguaje L.
Definamos un DFA. M´= (K’, Σ’, δ’, q0’, F’) de tal manera que:
1) Los estados de M´son todos subconjuntos del conjunto de estados de M. Esto es:
K´ = 2k = P(K)
Los nombres de dichos conjuntos se generarán de la siguiente manera:
[q1,…, qi] es un solo estado del AFD correspondiendo a un conjunto de estados en 1 AFN.
Equivalencia de los AFD’s y los AFN’s
2) F´es el conjunto de todos los estados en K´ que contenga estado que pertenezca a F.
3) q’0 = [q0]
4)Definimos δ’ como:
δ’([q1, q2,…., qi] , a) = [P1, P2,…, Pi]
Si y sólo si
δ({q1, q2,…., qi} , a) = {P1, P2,…, Pi}
Equivalencia de los AFD’s y los AFN’s
Demostremos ahora por inducción sobre la longuitud de la cadena de entrada, que:
δ’(q´0 , x) = [q1, q2,…., qi] Si y solo si
δ(q0 , x) = {q1, q2,…., qi}
Demostración:1) Para |x| = 0 , x = ε
δ’(q´0 , ε) = [q0]
δ(q0 , ε) = {q0}2) H.I. , |x| = m
δ’(q´0 , x) = [r1, r2,…., rn]
δ(q0 , x) = {r1, r2,…., rn}3) Demostrar para |w| = |xa| = m+1
δ’(q´0 , xa) = δ’( δ’(q´0 , x) a)
Equivalencia de los AFD’s y los AFN’s
Por definición de δ’ tenemos:δ’ ([r1, r2,…., ri] , a) = [P1, P2,…, Pi] δ ({r1, r2,…., ri} , a) = {P1, P2,…, Pi}
Así tenemos que:δ’( δ’(q´0 , x) a) = δ ({r1, r2,…., ri} , a) = {P1, P2,…, Pi} LQQD
∴ AFN = AFD
Problema. Sea M = ({q0, q1}, {0,1}, q0, {q,})un AFN , donde:
q0 {q0,q1} {q,}
q1 {q0, q1}
Construya un AFD que acepte L(M) q0
q1
1
1
10
0
Autómata Finito No-Deterministico con Movimiento - ε
Ejemplo:
Definición: Un autómata finito no- determinístico con movimientos – consiste en un quíntuplo (K, q0, F) en donde K , q0 y F se definen de la misma manera que el autómata finito no – determinístico, y con:
δ : K x ( Σ ∪ {ε}) → 2K
La intención es que q, a) consista de todos los estados Pj, tales que existe una transición etiquetada a, desde q hasta Pj. En donde a es el símbolo o cualquier símbolo en
q2v
2
q1q0Start
0
1
ε ε
Autómata Finito No-Deterministico con Movimiento - ε
Función de transición del ejemplo anterior:
0 1 2 e
q0 {q0} f f {q1}
q1 f {q1} f {q2}
q2 f f {q2} f
Def. denominamos CERRADURA – e(q) a todos aquellos vértices (estados) rj, tales que existe una ruta de p a q, consistente en transiciones e.
ej. CERRADURA
ej. CERRADURA – e(q0) = {q0, q1, q2}
Autómata Finito No-Deterministico con Movimiento - ε
Def. llamamos CERRADURA - ε q) al conjunto de todos los nodos p tales que existe una ruta de q a p etiquetada ε
Es fácil extender esta definición a la CERRADURA - ε(p) en donde P es un conjunto de estados:
Sea Uqεp CERRADURA – ε (q), definimos δ’ como: 1) δ’ (q, ε ) = CERRADURA - ε (q) 2) Para ε Σ*y a ε δ’q, a) = CERRADURA – ε (P)en donde P = {p | para algún r ε δ’(qy p ε (r,a)}
Autómata Finito No-Deterministico con Movimiento - ε
Es conveniente extender y ’ a conjuntos de estados de la manera siguiente:
• δ (R, a ) = UqεR δ (q, a )
• δ’ (R, w ) = UqεR δ’ (q, w )
Para conjuntos en estados R.
Definamos L(M) el lenguaje aceptado por un M= (Q, q0, F) (un AFN con MOVs - ), ser:
L(M) = δ’(q0 , ) ∩ F ≠
Equivalencias de entre un AFN y un AFN con movimientos - ε
Teorema. Si L es aceptado por un AFN con MOVs – εDemo. Sea M = (Q, S, d, q0, F) un AFN con MOVs - ε .Construya un M´= (Q, S,
d, q0, F´) donde:
F´= F ∪ {q0} si la CERRADURA - ε (q0) contiene algún estado de F.
F caso extraño
y δ’ (q0, x) = Ŝ (q, a) para q ε Q y a ε Σ
Resta demostrar por inducción sobre |x| que δ’(q0, x) = Ŝ (q0, x)Base : |x| = 1 x= a , a ε Σ. δ’(q0, a) = Ŝ (q0, a) por def. de δ´
Equivalencias de entre un AFN y un AFN con movimientos-ε
Inducción: |x| > 1 , Sea x = wa , a ε Σ entonces:
δ’(q0, wa) = δ’(δ’(q0, w) a)
Por Hipótesis de Inducción
δ’(q0, w) = Ŝ(q0, w)
Sea Ŝ (q0, ) = , por demostrar ´( , a) = Ŝ (q0, a).
´ a) = UqεR ´(q, a) = UqεR Ŝ (q, a)
Entonces por la regla 2 de la definición de Ŝ
δ’(q0, wa) = Ŝ (q0, wa)
Ejemplos
1.
q0 q1
q2 q3