Sie sind auf Seite 1von 33

Autmatas finitos

Tomado de Sudkamp:
Languages and Machines
Cap. 6.
Q
q
0

q
1

q
2

Autmatas Finitos
(determinsticos)
M=(E,Q,o,q
0
,F)
Alfabeto
Conjunto
de
estados
Estado
inicial
Estados
finales
Funcin de
transicin
: Q Q o E
E a b
q
0
q
2
q
1
a
a
a
b
b
b
q
1

q
2

q
0

q
2

q
2

q
1

Funcionamiento del
autmata
q
0
q
2
q
1
a
a
a
b
b
b
M=(E,Q,o,q
0
,F)
( )
* ,
i i
q q o =
( ) ( )
( )
* , * , ,
i i
q u q u o e o o e =
o*(aab,q
1
)= o (o*(aa,q
1
),b)= o( o (o*(a,q
1
),a),b)= o (o( o (o*(,q
1
),a),a),b)=
o (o( o (q
1
,a),a),b)= o (o( q
1
,a),b)= o ( q
1
,b)= q
2
( )
{ }
0
( ) : * , L M q F e o e = e
Palabras que
contienen a ab
Q Q E
* *
: o
[q
1
,aab][q
1
,ab][q
1
,b][q
2
,]
Ejemplos
Palabras que contienen
exactamente 2 as
Palabras que contienen
exactamente 3k bs
Lenguaje representado por la
expresin aa*b
q
0
a
b
a
q
1
b
q
3
a b
a
q
2
b
q
1
q
0
q
2
q
1
q
2
q
3
q
0
Autmatas finitos no
determinsticos
q
1
q
0
q
2
q
1
q
0
q
2
q
1
q
2
q
3
q
0
q
1
q
2
q
0
Autmatas finitos no
determinsticos
Palabras que empiezan por ab y
terminan con ba
q
1
q
2
q
0
q
4
q
3
q
5
q
6
a(ba wb(awb)*ba)
Autmatas finitos no
determinsticos
M=(E,Q,o,q
0
,F)
) ( : Q Q E o
q
1
q
2
q
0
q
4
q
3
q
0
q
1

q
2
q
3
q
4


a q1

|

q
2
q
4
|
b | q
2
q
2
,q
3
| |

Autmatas finitos no
determinsticos
) ( :
* *
Q Q E o
) ( : Q Q E o
M=(E,Q,o,q
0
,F)
)) , ( ) , ( ( ) , (
* *
u q q w q q q wu q q
k j i k k i j
o o o e . e - e
q
i
q
k
q
j
w u
Autmatas FND
) ( :
* *
Q Q E o
) ( : Q Q E o
M=(E,Q,o,q
0
,F)
))} , ( ( | { ) (
* *
w q q F q w M L
o
o e e - E e =
Ejemplos AFND
Ejemplos AFND (6.4.6)
} 0 | { > i b a
i i
} 0 | { n i b a
i i
s s
{, ab, aabb, aaabbb}
?

Autmatas con transiciones
-AFN
) ( }) { ( : Q Q E o
M=(E,Q,o,q
0
,F)
q
21
a
b
q
20
b
q
12
a,b
q
10
a,b
b
b
q
11
q
12
a,b
q
10
a,b
b
b
q
11
q
21
a,b
a
b
q
20
b
q
0


) ( ) ( ) (
2 1
M L M L M L =
Clausura con -AFN
) ( ) ( ) (
2 1
M L M L M L =
) ( ) ( ) (
2 1
M L M L M L =
Si M
1
y M
2
son -AFN
existen -AFN tales
que:
*
1
) ( ) ( M L M L =
M
1
M
2
M
1
M
2




Clausura con -AFN
) ( ) ( ) (
2 1
M L M L M L =
) ( ) ( ) (
2 1
M L M L M L =
q
11
Si M
1
y M
2
son -AFN
existen -AFN tales
que:
*
1
) ( ) ( M L M L =
M
1
M
2
M
1
M
2


M
1



Concluimos.
Toda expresin regular tiene al menos un
correspondiente -AFND que acepta
exactamente las palabras
correspondientes a la expresin.
Eliminando el indeterminismo
) (
i i
q Cl q e
) (
)) , ( ) ( (
i k
j k i j
q Cl q
q q q Cl q
e
e . e

o
) ( : Q Q t E
La clausura Lambda, para cada estado q
i,
se
construye recursivamente as:
BASE:
Paso
recursivo
La funcin de transicin de entradas t para un
-AFND se define as:

) (
)) , ( ( ) , (
i j
q Cl q
j i
a q Cl a q t
e
=

o
Ejemplo 6.6.1
b
a
q
2
q
0
a
a
q
1

c
o q
0
q
1

q
2

a q
0
,q1,q2

|

|
b | | q
2

c | q
1
|
| q
2
|
t q
0
q
1

q
2

a q
0
,q1,q2

|

|
b | q
2
q
2

c | q
1
,q
2
|
Algoritmo 6.6.3
Construction of DM, a DFA Equivalent to NFA- M
Input: an NFA- M=(Q,,o,q
0
,F).
input transition fuction t of M
1. initialize Q to -Cl(q
0
)
2. repeat



until done
2.1 if there is a node XQ and a symbol a with no arc leaving X labeled a then

X q
i
i
a q t Y
e
= ) , (
2.1.1 let
} { ' : ' Y Q Q = ' Q Y e
2.1.2 if then set
2.1.3 add an arc from X to Y labeled a
else done:=true
3. The set of accepting states of DM is F={XQ| X contiene algn elemento de F}
Ejemplo
b
a
q
2
q
0
a
a
q
1

c
t q
0
q
1

q
2

a q
0
,q
1
,q
2

|

|
b | q
2
q
2

c | q
1
,q
2
|
q
0
q
0
,q
1
,q
2
a
|
b,c
a,b,c
a
q
2
b
q
1
,q
2
c

a,c
b
b
a
c
Grafos de expresiones
q
1
q
0
q
2 q
0
q
2
a*ba*b
q
0
a*ba*ba*ba*
(a*ba*ba*ba*)*
Eliminar el estado intermedio i
i k
j
w
ji
w
ik
w
ik
j
k
w
ji
i
j
w
ji
k
w
ik
w
ii
(w
ii
)
*
w
ik
j
k
w
ji
i debe ser diferente de j y de k pero puede ser j=k
Situaciones finales
w
W*
w
1 w
3
w
4
w
2
w
1
* w
2
(w
3
w w
4
w
1
*w
2
)*
Grafos de expresiones
q
1
q
0
q
2
q
0
q
2
ba*b
(a*ba*b)(a* w ba*ba*b)*
Expresin de un AFND
(awb)*bb (awb)*w (awb)*aa (awb)*
Gramtica regular para un AFND
q
1
q
0
q
2
S aS| bB|
B aB| bC
C aC| bS
Gramtica para un AFND (cont)
q
1
q
2
q
0
q
4
q
3
q
5
q
6
S aB
B bC| bD
C aC| bC | bE
D aF
E aG
F
G
S aB
B bC| bD
C aC| bC | bE
D a
E a
S aB
B bC| ba
C aC| bC | ba
AFND para un gramtica regular
Palabras sobre {a,b,c} que contiene al
menos una c pero no contienen cc.
S aS| bS |cA
A aS| bS|
q
1
q
0
a,b
a,b
c
Lenguajes regulares
AFD
AFND
Expresiones
Regulares
Gramticas Regulares
No son LR:
{ }
: *
R
ee eeE
{ }
: *
R
e e e e eE . =
{ }
: * primo e e e eE .
{ }
: 0
i i
a b i >
{ }
: , 0
i j i
a b a i j >
Pre-Lema de bombeo
Sea w
1
,w
2
,w
3
,w
4
,. y v
1
,v
2
,v
3
,v
4
,
sucesiones infinitas de palabras.
Si L es un lenguajes tal que w
i
v
j
pertenece
a L si y slo s i=j.

Entonces L no es regular.

Si existiera un autmata finito de k estados existen i<j tal
que o*(q
0
,w
i
)=o*(q
0
,w
j
) y por tanto w
i
v
i
y w
j
v
j
son acptadas,
contradicientdo las hiptesis.
Aplicacin
No son regulares:
{ } 0 | > i b a
i i
} { 0 |
2
> i b a
i i
} { 0 , | > j i c b a
i j i
Lema de Bombeo
q
1 q
0
q
i
q
k
Un autmata de k estados si acepta una
palabra de longitud mayor que k acepta
infinitas palabras
Un autmata de k estados acepta infinitas
palabras si y solo si acepta alguna tal
que k< || < 2k
Si |z|>k existen u,v
y w tales que
|uv|<k+1 |v|>0 y
uv
n
w para todo n
est en L
Aplicacin
Las palabras cuya longitud es un
cuadrado perfecto no forman un lenguaje
regular.
Supngase que un autmata de k estados acepta tal lenguaje,
tmese entonces una palabra z con longitud k
2
, entonces
z=uvw
con |uv|k o sea |v|k y adems uv
2
w es aceptada por el
autmata,
Pero |uv
2
w| no puede ser cuadrado perfecto pues:
|uv
2
w|= |uvw|+|v|=k
2
+|v| k
2
+k<(k+1
)
2
Entre k
2
y (k+1)
2
no hay ningn cuadrado
perfecto !
Propiedades de
clausura
...lenguajes regulares, es
un lenguaje regular
Interseccin de dos
Unin de dos
Concatenacin de dos
Complemento de
* de
Conjuntos finitos de
palabras forman lenguajes
regulares

Das könnte Ihnen auch gefallen