ejemplo de afn ej. diseña un afn que acepte todas las cadenas que contengan dos ceros consecutivos...

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:

Upload: gertrudis-vicario

Post on 23-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

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