Sie sind auf Seite 1von 42

1

Temas a Tratar
Autmatas No Determinsticos
Conversin a autmatas
Determinsticos
Lema del Bombeo
2
Algoritmo No Determinista y
Autmata No Determinista
Sabemos que un algoritmo No Determinista
con la misma entrada ofrece muchos posibles
resultados. No se puede saber de antemano cul
ser el resultado de su ejecucin.
Sabemos que un AFND puede pasar por varios
estados a la vez, generndose una ramificacin
de las configuraciones existentes en un
momento dado.
3
Autmatas Finitos
Determinsticos
Para cada estado y para cada smbolo se determina
unvocamente un solo estado:
e
0
e
1
b
a, c
a, c
b
No Determinsticos
Para algunos estados, dado un smbolo a, existe un
conjunto de estados siguientes para elegir en un AFN
Dada una cadena w existe
slo una forma de recorrer el
diagrama de transicin de
estados del AFD
e
0
e
1
b
a, b, c
Desde e
0
con b podemos
quedarnos en e
0
pasar a e
1
4
Computacin
Determinstica
Computacin
No Determinstica
Estado aceptado
o rechazado
rechazado rechazado
Estado aceptado
5
Q es el conjunto de estados
es el alfabeto
o : Q

2
Q
es la funcin de transicin
Q
0
_ Q es el conjunto de estados iniciales
F _ Q es el conjunto de estados aceptados
La definicin formal de un autmata finito no
determinista (AFN) es una quntupla a saber:
N = (Q, , o, Q
0
, F)
2
Q
es el conjunto de subconjuntos de Q
y

= {}
6
- Cerradura
The -cerradura de un estado es el conjunto de
todos los estados, incluido el propio S, que se
puede llegar a travs de -transiciones. La
direccin de cierre del estado S se denota: S.
La -cerradura del estado
1: 1 = { 1, 2, 4 }
La -cerradura del estado
3: 3 = { 3, 2, 4 }
7
Ejemplo de -Cerradura
8
Ejemplo de un AFN
En cada estado podemos tener cualquier nmero
de arcos de salida para cualquiera letra tal que :
e

= {}
9
1
0
0
q
1
q
2
q
3
q
4

10
1
0
0
q
1
q
2
q
3
q
4
N = (Q, , o, Q
0
, F)
Q = {q
1
, q
2
, q
3
, q
4
}
= {0,1}
Q
0
= {q
1
, q
2
}
F = {q
4
} _ Q

0 1
q
1
q
2
q
3
q
4
11
1
0
0
q
1
q
2
q
3
q
4
N = (Q, , o, Q
0
, F)
Q = {q
1
, q
2
, q
3
, q
4
}
= {0,1}
Q
0
= {q
1
, q
2
}
F = {q
4
} _ Q
0 1
q
1
{q
3
} C C
q
2
C {q
4
}

C
q
3
{q
4
} C {q
2
}
q
4
C C C

12
1
0
0
q
1
q
2
q
3
q
4
N = (Q, , o, Q
0
, F)
Q = {q
1
, q
2
, q
3
, q
4
}
= {0,1}
Q
0
= {q
1
, q
2
}
F = {q
4
} _ Q
, 0
0 1
q
1
{q
3
} C C
q
2
C {q
4
}

C
q
3
{q
2
,q
4
} C {q
2
}
q
4
C C C
00 e L(N)?
01 e L(N)?
13
Sea we * y suponga que w puede ser escrita
como w
1
... w
n
donde w
i
e

( cadena vaca)

Entonces N acepta w si estuvieran r
0
, r
1
, ..., r
n

e Q tal que:

1. r
0
e Q
0
2. r
i+1
e

o(r
i
, w
i+1
) para i = 0, ..., n-1, y
3. r
n
e F
El lenguaje L es reconocido por un AFN N
si L = L (N).
L(N) = El lenguaje de la mquina N
= El conjunto de todas las cadenas
que la mquina N acepta
14
1
0
0
q
1
q
2
q
3
q
4
N = (Q, , o, Q
0
, F)
Q = {q
1
, q
2
, q
3
, q
4
}
= {0,1}
Q
0
= {q
1
, q
2
}
F = {q
4
} _ Q
, 0
0 1
q
1
{q
3
} C C
q
2
C {q
4
}

C
q
3
{q
2
,q
4
} C {q
2
}
q
4
C C C
00 e L(N)?
01 e L(N)?
15
Q' = 2
Q
o' : Q' Q'
o'(R,o) = ( o(r,o) )
reR
q
0
' = (Q
0
)
F' = { R e Q' | f e R para algn f e F }
Desde un AFN a un AFD
Entrada: N = (Q, , o, Q
0
, F)
Salida: M = (Q', , o', q
0
', F')
*
Para R _ Q, la -cerradura de R, (R) = {q que se puede
llegar desde algun r e R al viajar desde cero o ms arcos}.
*
16
a
a , b
a
2

3

1

b

Dado un: AFN N = ( {1,2,3}, {a,b}, o , {1})
Construir: el equivalente AFD M
({1}) = {1,3}
N
17
18
19
20
21
22
23
24
25
26
a
a, b
a
2

3

1

b

Dado un AFN N = ( {1,2,3}, {a,b}, o , {1} , {1})
Construir el equivalente AFD M
({1}) = {1,3}
N
N = ( Q, , o, Q
0
, F )
= (Q', , o', q
0
', F')
o' a b
C C C
{1} C {2}
{2}
{2,3}
{3}
{3}
{1,3}
C
{1,2}
{2,3} {2,3}
{1,3}
{1,3}
{2}
{2,3}
{1,2,3}
{3}
{1,2,3}
{1,2,3}
{2,3}
q
0
' =
27
a
a, b
a
2

3

1

b

Dado un: AFN N =( {1,2,3}, {a,b}, o , {1} , {1} )
Construir el: equivalente AFD M
({1}) = {1,3}
N
N = ( Q, , o, Q
0
, F )
= (Q', , o', q
0
', F')
o' a b
C C C
{1} C {2}
{2}
{2,3}
{3}
{3}
{1,3}
C
{1,2}
{2,3} {2,3}
{1,3}
{1,3}
{2}
{2,3}
{1,2,3}
{3}
{1,2,3}
{1,2,3}
{2,3}
q
0
' =
28
Mostrar : L(N) = L*

1. L(N) L*

2. L(N) L*
29
Los lenguajes regulares estn cerrados
bajo las operaciones normales
Unin: A B = { w | w e A or w e B }
Interseccin: A B = { w | w e A y w e B }
Negacin: A = { w e * | w e A }
Reverso: A
R
= { w
1
w
k
| w
k
w
1
e A }
Concatenacin: A B = { vw | v e A y w e B }
Estrella: A* = { w
1
w
k
| k 0 y cada w
i
e A }
30
El Lema de Bombeo y
expresiones regulares
31
Lema del Bombeo
Ya sabemos que los lenguajes regulares
tienen propiedades muy buenas (se pueden
definir usando autmatas.
Pero cualquier lenguaje es regular?
Presentaremos una introduccin al Lema del
Bombeo que se usa a menudo para probar
que un lenguaje particular no es regular
32
Algunos Lenguajes son
NO REGULARES
B = {0
n
1
n
| n 0} No ES regular!
33
Cul de estos son REGULARES ?
C = { w | w tiene igual nmero de 1s y 0s}
D = { w | w tiene igual nmero de
ocurrencias de 01 y 10}
NO ES REGULAR
ES REGULAR!!!
34
Bucles en los Autmatas
35
El Lema del Bombeo
Slo cuando el autmata acepta un nmero finito
de palabras podra no haber bucles.
Pero los lenguajes finitos no interesan, son todos
regulares
El lema de bombeo dice que si un lenguaje es
regular, las palabras largas se pueden bombear, es
decir, se puede alargar la palabra repitiendo un
bucle.

36
Ejemplo de una palabra
Una palabra aceptada por este
autmata es 010110100101
con computacin
(A,B,A,B,A,D,A,D,A,B,A,B,A).

Podemos repetir el bucle
(desde A) B,A con subcadenas
01, por ejemplo obteniendo
01(01)
100
10100101 tambien
aceptada
37
EL LEMA DE BOMBEO
Sea L un lenguaje regular con |L| =
Entonces existe un entero positivo P
tal que
1. |y| > 0
2. |xy| P
3. xy
i
z e L para cualquier i 0
Si w e L y |w| P
entonces w = xyz, donde:
Versin Fcil del Lema
39
Versin til del Lema
Slo he cambiado lenguaje aceptado por un autmata
por lenguaje regular y |xy| n (porque para y = wa+1 . . .
wb, b n en la demostracin anterior)
40
AFD
AFN
Lenguaje
Regular

Expresin
Regular
DEF
Utilidad del Lema del
Bombeo
Hemos visto que todos los lenguajes
regulares se pueden buclear o bombear.
Lo que nos interesa es el converso, si un
lenguaje no se puede bombear entonces no
es regular.
Preguntas..!!

Das könnte Ihnen auch gefallen