Sie sind auf Seite 1von 33

Autmatas finitos

Tomado de Sudkamp:
Languages and Machines
Cap. 6.

Autmatas Finitos
(determinsticos)

M=(,Q,,q0,F)
Alfabeto

Estado
inicial
Funcin de
transicin

Conjunto
de
estados

q0

q1

q0

q1

q1

q2

q2

q2

q2

Estados
finales

:Q Q
b a

q1

q0

b
b

q2

Funcionamiento del
M=(,Q,,q0,F)
autmata

:Q Q
*

* qi , qi

Palabras que
contienen a ab

q0

q1
a

* qi , u * qi , , u

q2

L( M ) : * q0 , F

*(aab,q1)= (*(aa,q1),b)= ( (*(a,q1),a),b)= (( (*(,q1),a),a),b)=


(( (q1,a),a),b)= (( q1,a),b)= ( q1,b)= q2
[q1,aab][q1,ab][q1,b][q2,]

Ejemplos

q2

Palabras que contienen


exactamente 2 as
Palabras que contienen
exactamente 3k bs

Lenguaje representado por la


expresin aa*b

q1

q0

q1
q0

q3
q2
b
b a
q0

q1
b aa
q3

b
q2
a

Autmatas finitos no
determinsticos

q1
q0

q2

q1
q0

q1

q0

q2
q0

q2

q1
q2
q3

Autmatas finitos no
determinsticos
Palabras que empiezan por ab y
terminan con ba

q0

q1
q2
q5
q6

q3

q4

a(ba b(ab)*ba)

Autmatas finitos no
determinsticos

: Q (Q)

M=(,Q,,q0,F)
q1

q0

q2

q0

q1

q2

q1

q2

q2

q4

q3

q2,q3

q3

q4

q4

Autmatas finitos no
determinsticos

: Q (Q)

M=(,Q,,q0,F)

: Q (Q)
*

q j (qi , wu ) qk (qk (qi , w) q j (qk , u ))


*

qi

qk

qj

Autmatas FND

: Q (Q)

M=(,Q,,q0,F)

: Q (Q)
*

L( M ) {w * | q F (q * (qo , w))}

Ejemplos AFND

Ejemplos AFND (6.4.6)

{, ab, aabb, aaabbb}

{a b | 0 i n}
i i

{a b | i 0} ?
i i

Autmatas con transiciones


-AFN
: Q ( {}) (Q)

M=(,Q,,q0,F)
q10

q11

a,b

q12

q20

a,b

q10

q11

a
b

q0

L( M ) L( M 1 ) L( M 2 )

q12
a,b

a,b

q20

q21

a
b

q21
a,b

Clausura con -AFN


M1

L( M ) L( M 1 ) L( M 2 )

M2

M1

Si M1 y M2 son -AFN
existen -AFN tales
que:
L( M ) L( M 1 ) L( M 2 )

M2

L( M ) L( M 1 )

Clausura con -AFN


M1

L( M ) L( M 1 ) L( M 2 )

M2

q11

Si M1 y M2 son -AFN
existen -AFN tales
que:
L( M ) L( M 1 ) L( M 2 )

L( M ) L( M 1 )

M1

M2

M1

Concluimos.
Toda expresin regular tiene al menos un
correspondiente -AFND que acepta
exactamente las palabras
correspondientes a la expresin.

Eliminando el indeterminismo
La clausura Lambda, para cada estado qi, se
construye recursivamente as:
BASE:

qi Cl (qi )

(q j Cl (qi ) qk (q j , ))
Paso
recursivo q Cl (q )
k
i

La funcin de transicin de entradas t para un


-AFND se define as:

t : Q (Q)

t (qi , a )

Cl ( (q , a))

q j Cl ( qi )

Ejemplo 6.6.1
q0

a
a

q2

q1
c

q0

q0,q1,q2

q1
q2

q1

q2

q1

q2

q2

q0

q0,q1,q2

q2

q2

q1,q2

Algoritmo 6.6.3
Construction of DM, a DFA Equivalent to NFA- M
Input: an NFA- M=(Q,,,q0,F).
input transition fuction t of M
1. initialize Q to -Cl(q0)
2. repeat
2.1 if there is a node XQ and a symbol a with no arc leaving X labeled a then
2.1.1 let Y
t (qi , a)

2.1.2 if

qi X

Y Q'

then set

Q': Q'{Y }

2.1.3 add an arc from X to Y labeled a


else done:=true

until done
3. The set of accepting states of DM is F={XQ| X contiene algn elemento de F}

Ejemplo

q0

q0,q1,q2

a
a

q2

q2

q2

q0

q1

q2

q1,q2

q1

b,c

q0
a

c
q1,q2
c

a,c

q0,q1,q2

a,b,c

q2

b
b

a
b

Grafos de expresiones
a*ba*b

q1
q0

a*ba*ba*ba*

q2

q0

q2

(a*ba*ba*ba*)*

q0

Eliminar el estado intermedio i


j

wji

wik

wji wik

wii
j

wji

wik

wji (wii)*wik

i debe ser diferente de j y de k pero puede ser j=k

Situaciones finales
w
W*

w1
w2
w4

w3
w1* w2(w3 w4w1*w2)*

Grafos de expresiones
ba*b

q1
q0

q2

q0

q2

(a*ba*b)(a* ba*ba*b)*

Expresin de un AFND

(ab)*bb (ab)* (ab)*aa (ab)*

Gramtica regular para un AFND


S aS| bB|
B aB| bC
C aC| bS

q1
q0

q2

Gramtica para un AFND (cont)


q0

q1
q2
q5

q3

q6

S aB
B bC| ba
C aC| bC | ba

S aB
B bC| bD
C aC| bC | bE
Da
Ea

q4

S aB
B bC| bD
C aC| bC | bE
D aF
E aG
F
G

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|

a,b
a,b
q0

q1

Lenguajes regulares
Expresiones
Regulares

AFD

No son LR:

a b : i 0
a b a : i, j 0
: *
i i

AFND

Gramticas Regulares

primo

Pre-Lema de bombeo
Sea w1,w2,w3,w4,. y v1,v2,v3,v4,
sucesiones infinitas de palabras.
Si L es un lenguajes tal que wivj 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 *(q0,wi)=*(q0,wj) y por tanto wivi y wjvj son acptadas,
contradicientdo las hiptesis.

Aplicacin
No son regulares:

a b c | i, j 0
a b | i 0
a b | i 0
i

j i

i i

2i

Lema de Bombeo

q0

q1

qi

Un autmata de k estados si acepta una


palabra de longitud mayor que k acepta
infinitas palabras

qk
Si |z|>k existen u,v
y w tales que
|uv|<k+1

|v|>0 y

Un autmata de k estados acepta infinitas uvnw para todo n


palabras si y solo si acepta alguna tal que est en L
k< || < 2k

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 k2 , entonces
z=uvw
con |uv|k o sea |v|k y adems uv2w es aceptada por el autmata,
Pero |uv2w| no puede ser cuadrado perfecto pues:
|uv2w|= |uvw|+|v|=k2+|v|

k2+k<(k+1)2

Entre k2 y (k+1)2 no hay ningn cuadrado


perfecto !

Propiedades de
clausura

Conjuntos finitos de
palabras forman lenguajes
regulares

Unin de dos
Concatenacin de dos
Interseccin de dos
Complemento de
* de

...lenguajes regulares, es
un lenguaje regular

Das könnte Ihnen auch gefallen