Académique Documents
Professionnel Documents
Culture Documents
Tomado de Sudkamp:
Languages and Machines
Cap. 6.
M=(,Q,,q0,F) Autómatas Finitos
(determinísticos)
Alfabeto
Estados
Estado
finales
inicial
Conjunto Función de
de
estados
transición
:Q Q
a b b a q1 a
b
q0 q1 q0
Q q1 q1 q2 q0 b q2
a
q2 q2 q2
Funcionamiento del
M=(,Q,,q0,F)
autómata
:Q Q
* *
* qi , qi
Palabras que
contienen a ab
* qi , u * qi , , u
b a
q1 b
a
b q2
L(M ) : * q0 , F
q0 a
q0 q2
Palabras que contienen
exactamente 3k b’s b
b a q1 b
Lenguaje representado por la
expresión aa*b q0 b aa q2
q3 a
Autómatas finitos no
q1
determinísticos
q0 q2
q1
q0 q1
q0 q2 q2
q0 q1
q2
q3
Autómatas finitos no
determinísticos
Palabras que empiezan por ab y
terminan con ba
q0 q1
q2 q4
q3
q5
q6
a(ba wb(awb)*ba)
Autómatas finitos no
determinísticos
M=(,Q,,q0,F) : Q (Q)
q0 q1
q2 q4
q3
q0 q1 q2 q3 q4
a q1 q2 q4
b q2 q2,q3
Autómatas finitos no
determinísticos
M=(,Q,,q0,F) : Q (Q)
: Q (Q)
* *
qi qk qj
w u
Autómatas FND
M=(,Q,,q0,F) : Q (Q)
: Q (Q)
* *
L( M ) {w * | q F (q * (qo , w))}
Ejemplos AFND
Ejemplos AFND (6.4.6)
¿ {a b | i 0} ?
i i
Autómatas con transiciones
-AFN
M=(,Q,,q0,F) : Q ( {}) (Q)
b a
q10 b q11 q12 q20 q21
b
a,b b
a,b
q10 b b q12
q11
q0
a,b
a,b
a
q20 q21
L(M ) L(M1 ) L(M 2 ) b
a,b
Clausura con -AFN Si M1 y M2 son -AFN
existen -AFN tales
que:
M1 L(M ) L(M1 ) L(M 2 )
L(M ) L(M1 ) L(M 2 )
M2
L ( M ) L( M 1 ) *
M1
M2
Clausura con -AFN Si M1 y M2 son -AFN
existen -AFN tales
que:
M1 L(M ) L(M1 ) L(M 2 )
L(M ) L(M1 ) L(M 2 )
M2
L ( M ) L( M 1 ) *
q11
M1
M2
M1
Concluimos….
• Toda expresión regular tiene al menos un
correspondiente -AFND que acepta
exactamente las palabras
correspondientes a la expresión.
Eliminando el indeterminismo
La clausura Lambda, para cada estado qi, se
construye recursivamente así:
BASE: qi Cl (qi )
Paso (q j Cl (qi ) qk (q j , ))
recursivo q Cl (q )
k i
c
t q0 q1 q2
a q0,q1,q2
b q2 q2
c 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)
Q': Q'{Y }
qi X
2.1.2 if Y Q ' then set
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 algún elemento de F}
Ejemplo t
a
q0
q0,q1,q2
q1
q2
b q2 q2
c q1,q2
q0 a q2
a
a,b,c
b b,c
a q1 q0
a,c
c a a a
q0,q1,q2 q2 b
b
c
b
q1,q2
c
Grafos de expresiones
a*ba*ba*ba*
q1 a*ba*b
q2 q2 q0
q0 q0
(a*ba*ba*ba*)*
Eliminar el estado intermedio i
wji wik wji wik
j i k j k
wii
wji wik wji (wii)*wik
j i k j k
w1 w3
w2
w1* w2(w3 w w4w1*w2)*
w4
Grafos de expresiones
q1 ba*b
q0 q2 q2
q0
(a*ba*b)(a* w ba*ba*b)*
Expresión de un AFND
S → aS| bB|
q1 B → aB| bC
C → aC| bS
q0 q2
Gramática para un AFND (cont)
q0 q1
q2 q4
q3
q5
S → aB
q6 B → bC| bD
C → aC| bC | bE
S → aB
D → aF
S → aB B → bC| bD
E → aG
B → bC| ba C → aC| bC | bE
D→a F→
C → aC| bC | ba
E→a G→
AFND para un gramática regular
• Palabras sobre {a,b,c} que contiene al
menos una c pero no contienen cc.
S → aS| bS |cA a,b
A → aS| bS|
a,b
q0 q1
c
Lenguajes regulares
Expresiones
AFD Regulares No son LR:
a b : i 0
i i
AFND
a b a : i, j 0
i j i
Gramáticas Regulares
: *
R
: * primo : * R
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 sólo sí i=j.
• Entonces L no es regular.
a b c | i, j 0
i j i
a b | i 0
i i
a b | i 0
i 2i
Lema de Bombeo
q0 q1 qi qk
Unión de dos
Concatenación de dos
* de