12
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 q 4 0 1 q 2 0 1 q 1 q 0 q 3 q 0 q 0 q 0 q 0 q 0 q 0 q 3 q 1 q 3 q 3 q 1 0 0 1 0 0 1 0 0 q 4 q 4 0 1 1 1 Ejemplo:

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 q4q4 0 1 q2q2

Embed Size (px)

Citation preview

Page 1: 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 q4q4 0 1 q2q2

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:

Page 2: 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 q4q4 0 1 q2q2

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.

Page 3: 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 q4q4 0 1 q2q2

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}

Page 4: 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 q4q4 0 1 q2q2

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)

Page 5: 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 q4q4 0 1 q2q2

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

Page 6: 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 q4q4 0 1 q2q2

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

ε ε

Page 7: 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 q4q4 0 1 q2q2

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}

Page 8: 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 q4q4 0 1 q2q2

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)}

Page 9: 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 q4q4 0 1 q2q2

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 ≠

Page 10: 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 q4q4 0 1 q2q2

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 δ´

Page 11: 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 q4q4 0 1 q2q2

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)

Page 12: 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 q4q4 0 1 q2q2

Ejemplos

1.

q0 q1

q2 q3