Post on 03-Feb-2016
description
06/11/2010
1
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
Son aquellos AF cuyas relaciones de transición pueden tener varias reacciones para un mismo estímulo.Podemos distinguir 3 modelos que tienen esta característica, los mismos difieren en el dominio de la relación de transición y son totalmente equivalentes:
1) AFND = ⟨⟨⟨⟨Q, ΣΣΣΣ, Q0 , F, f ⟩⟩⟩⟩ con f: Q x ΣΣΣΣ ⇒⇒⇒⇒ 2Q
donde Q0⊆⊆⊆⊆Q es un subconjunto de estados iniciales.
2) AF-λλλλ = ⟨⟨⟨⟨Q, ΣΣΣΣ, q0 , F, f ⟩⟩⟩⟩ con f: Q x Σ∪Σ∪Σ∪Σ∪{λλλλ} ⇒⇒⇒⇒ 2Q
donde la entrada puede ser vacía o sea transicionar sin leer.
3) AF-Lazy = ⟨⟨⟨⟨Q, ΣΣΣΣ, q0 , F, f ⟩⟩⟩⟩ con f: Q x ΣΣΣΣ* ⇒⇒⇒⇒ 2Q
donde la entrada puede ser una palabra cualquiera sobre ΣΣΣΣ.
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
EJEMPLOS DE AUTÓMATAS NO DETERMINISTAS :ER = a.(a+b)*.b
AFND2
a,b
2 31 a b
ER = c.a*.b*+(c.b)*.c.a.c.b*
AFND1
a31 c b
5 c
b
2b c4
6 ac
ER = c.a*.b*+(c.b)*.c.a.c.b*
AF-λλλλ1
a31 c λλλλ
5 c
b
bc4
6 ac
7
ER = c.a*.b*+(c.b)*.c.a.c.b*
AF-Lazy1
a3
1c λλλλ
4
cac
b
cb
2
λλλλ7
2λλλλ
06/11/2010
2
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
REPRESENTACIÓN MATRICIAL :En esta formade representarla relación detransición, sedebe tener en cuenta que unelemento del
rango es en general un subconjunto.Por eso se los coloca entre llaves y cuando es vacío se usa el símbolo φφφφ.
AF-λλλλ1 a b c λλλλ→→→→ 1 φφφφ φφφφ {2} {5}
2 {2} φφφφ φφφφ {3}
* 3 φφφφ {3} φφφφ φφφφ4 φφφφ {4} φφφφ φφφφ5 φφφφ φφφφ {4,6} φφφφ6 {7} φφφφ φφφφ φφφφ7 φφφφ φφφφ {3} φφφφ
AF-Lazy1 a b c cb cac λλλλ→→→→ 1 φφφφ φφφφ {2} φφφφ φφφφ {4}
2 {2} φφφφ φφφφ φφφφ φφφφ {3}
*3 φφφφ {3} φφφφ φφφφ φφφφ φφφφ4 φφφφ φφφφ φφφφ {4} {3} φφφφ
AFND2 a b
→→→→ 1 {2} φφφφ2 {2} {2,3}
* 3 φφφφ φφφφ
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
EQUIVALENCIA ENTRE LOS 3 MODELOS :Como dijimos anteriormente, los tres modelos no deterministas son equivalentes y se puede pasar de uno a otro fácilmente. Podemos afirmar que el formato del AF-Lazy incluye al AF-λλλλ. Por otro lado el AFND puede considerarse como un caso particular del AF- λλλλ, donde los distintos estados iniciales que se permite, pueden confluir en uno solo mediante transiciones λλλλ.De igual modo, cuando trabajamos con AF-λλλλ se puede unificar los estados finales con transiciones λλλλ.Las transiciones λλλλ permiten en general disminuir la cantidad de transiciones del AF y las transiciones con “palabras” contribuyen a la reducción de la cantidad de estados del AF.
06/11/2010
3
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
EJEMPLO DE EQUIVALENCIA ENTRE AFND Y AF- λλλλ :
AFND3
a
5
1
a
b2
bb
3b
a
4
a
a
7
a,b
a
a b
b
b
AF-λλλλ2
a1 b2
b
b
8
b
a
4
a
a
b
67
a,b
a
b
λλλλ
0 λλλλ
λλλλ
λλλλ3
6
5
λλλλ
λλλλ λλλλ
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
EJEMPLO DE EQUIVALENCIA ENTRE AFND Y AF-Lazy :
AFND4 AF-Lazy2
a
6b
c2
b 3b
c
4
a
7a
a c
b
1
5c
cab, bb, cacbc4
ca
caa
aa
3
10
λλλλ
λλλλ
06/11/2010
4
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
ASOCIACIÓN ENTRE AF Y GR :Existe una analogía entre los AF = ⟨⟨⟨⟨ Q , ΣΣΣΣ , q0 , F, f ⟩⟩⟩⟩ descriptos hasta ahora, ya sean deterministas o no, con las GR = ⟨⟨⟨⟨ ΣΣΣΣN , ΣΣΣΣT , P, S ⟩⟩⟩⟩.
ALGORITMO AF ⇒⇒⇒⇒GR
ΣΣΣΣN=Q , ΣΣΣΣT=ΣΣΣΣ , S=q0
f(q,w)=p ⇒⇒⇒⇒ q→→→→wp
P f(q,w)∈∈∈∈F ⇒⇒⇒⇒ q→→→→w
q0∈∈∈∈F ⇒⇒⇒⇒ q0→λ→λ→λ→λ
ALGORITMO GR ⇒⇒⇒⇒AF
Q=ΣΣΣΣN∪∪∪∪{E} , ΣΣΣΣ=ΣΣΣΣT , q0=S , F={E}
N1→→→→wN2 ⇒⇒⇒⇒ f(N1,w)=N2
f N1→→→→w ⇒⇒⇒⇒ f(N1,w)=E
S→λ→λ→λ→λ ⇒⇒⇒⇒ f(S,λλλλ)=E
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
EJEMPLOS DE TRANSFORMACIÓN DE AF A GR :Para mayor claridad se ha realizado algunos cambios en los nombres de los estados y se ha eliminado no-terminales inútiles:
AFND2 ⇒⇒⇒⇒ GR
ΣΣΣΣN={S, A} , ΣΣΣΣT={a, b}P={ S→→→→aA , A→→→→aA|bA|b }
AF-λλλλ2 ⇒⇒⇒⇒ GR
ΣΣΣΣN={S, A, B, C, D, E, F, G}
ΣΣΣΣT={a, b}
P={ S→→→→A|D|F , A→→→→aA|bB , B→→→→aC|bE|aD , C→→→→aC|λλλλ , D→→→→bA|bE , E→→→→bE|λλλλ , F→→→→aG|bF|λλλλ , G→→→→B|aG|bG}
AF-Lazy1 ⇒⇒⇒⇒ GR
ΣΣΣΣN={S, A, B, C} , ΣΣΣΣT={a, b, c}P={ S→→→→cA|C , A→→→→aA|B|λλλλ ,
B→→→→bB|b , C→→→→cacB|cbC|cac }
06/11/2010
5
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
AUTÓMATAS FINITOS NO DETERMINISTAS:
EJEMPLOS DE TRANSFORMACIÓN DE GR A AF :
aa
FSaba
λλλλ Aba
B λλλλ
bb , λλλλ
aAF-Lazy3
GR=⟨⟨⟨⟨{S, A, B} , {a, b} , P , S ⟩⟩⟩⟩
S →→→→ abaB | bb | λλλλ | AP A →→→→ baS | a
B →→→→ aaA | λλλλ
F
Ba
a
ACa
b
b
Sa
b
b
GR=⟨⟨⟨⟨{S, A, B, C} , {a, b} , P , S ⟩⟩⟩⟩
S → → → → aBA →→→→ bC | bA | bB →→→→ aC | bB | aC → → → → aA
P
AFND5
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
UNIÓN: La Unión de dos AF, ya sean deterministas o no, en general da como resultado un AF-Lazy tal que reconoce la unión de los lenguajes que aceptan los autómatas operandos. El mecanismo consiste en crear un estado inicial nuevo y definir transiciones-λλλλ desde éste hacia los estados iniciales de los AF de partida.
λλλλ
λλλλ AF1
AF2
AF3
AF3 = AF1∪∪∪∪AF2
L(AF3)=L(AF1) ∪∪∪∪L(AF2)
06/11/2010
6
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
EJEMPLO DE UNIÓN :ER = ((a+b+c).(a+b+c))*+ c.a*.b*+(c.b)*.c.a.c.b*
OPERACIONES CON AUTÓMATAS FINITOS:
AF-Lazy4
AFD7
6 75a, b, c
a, b, c
a, b, c
AF-Lazy1a
3
1c
λλλλ
4
cac
b
cb
2
λλλλ0
λλλλ
λλλλ
AF-Lazy4 a b c cb cac λλλλ→→→→ 0 φφφφ φφφφ φφφφ φφφφ φφφφ {1,5}
1 φφφφ φφφφ {2} φφφφ φφφφ {4}
2 {2} φφφφ φφφφ φφφφ φφφφ {3}
*3 φφφφ {3} φφφφ φφφφ φφφφ φφφφ4 φφφφ φφφφ φφφφ {4} {3} φφφφ
*5 {6} {6} {6} φφφφ φφφφ φφφφ6 {7} {7} {7} φφφφ φφφφ φφφφ
*7 {6} {6} {6} φφφφ φφφφ φφφφ
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
CONCATENACIÓN : La Concatenación o Producto de dos AF, ya sean deterministas o no, en general da como resultado un AF-Lazy tal que reconoce el producto de los lenguajes que aceptan los autómatas operandos. El mecanismo consiste en colocar transiciones-λλλλ desde todos los finales del primero al inicial del segundo. Estos estados pasan a ser comunes.
AF3 = AF1.AF2 , L(AF3)=L(AF1).L(AF2)
λλλλ
AF1 AF2AF3λλλλ
06/11/2010
7
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
EJEMPLO DE CONCATENACIÓN :ER = ((a+b+c).(a+b+c))*.(a.b.a.a.a.b.a+b.a)*.(a.b.a.a.a.a+a.b.a+b.b+a+λλλλ)
aa74
aba
λλλλ 5ba
6 λλλλ
bb , λλλλ
aAF-Lazy3AFD7
2a, b, c
a, b, c
a, b, c
λλλλ
λλλλ1 3
AF-Lazy5
AF-Lazy5
a b c aa ba bb aba λλλλ
→→→→1 {2} {2} {2} φφφφ φφφφ φφφφ φφφφ {4}
2 {3} {3} {3} φφφφ φφφφ φφφφ φφφφ φφφφ
3 {2} {2} {2} φφφφ φφφφ φφφφ φφφφ {4}
4 φφφφ φφφφ φφφφ φφφφ φφφφ {7} {6} {5,7}
a b c aa ba bb aba λλλλ
5 {7} φφφφ φφφφ φφφφ {4} φφφφ φφφφ φφφφ
6 φφφφ φφφφ φφφφ {5} φφφφ φφφφ φφφφ {7}
*7 φφφφ φφφφ φφφφ φφφφ φφφφ φφφφ φφφφ φφφφ
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
ESTRELLA DE KLEENE : La operación Estrella de Kleene de un AF, ya sea determinista o no, en general da como resultado un AF-Lazy tal que reconoce la estrella de Kleene del lenguaje que acepta el autómata base. El mecanismo consiste en colocar transiciones-λλλλ desde todos los finales al inicial y crear un nuevo inicial/final con una transición-λλλλ al inicial viejo.
AF3 = AF1*
L(AF3)=L(AF1)*λλλλ
AF1AF3 λλλλ
λλλλ
06/11/2010
8
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
EJEMPLO DE ESTRELLA DE KLEENE :
ER = (b.b*.(a.b.(a+b.b.b)*.(a+b.b.b+b)+a.b+b)+b)*
AF-λλλλ3
b
1
4
32
6
5
b
b,a
a
ba
a ba
ab
AFD4
0λλλλλλλλ
λλλλλλλλ
AF-λλλλ3 a b λλλλ→*0 φφφφ φφφφ {1}
1 {4} {2} φφφφ*2 {3} {2} {1}
3 {4} {6} φφφφ4 {4} {4} φφφφ
*5 {4} {3} {1}
*6 {6} {5} {1}
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
ESTRELLA POSITIVA : La operación Estrella Positiva de un AF, ya sea determinista o no, en general da como resultado un AF-Lazy tal que reconoce la estrella positiva del lenguaje que acepta el autómata base. El mecanismo consiste en colocar transiciones-λλλλ desde todos los finales al inicial.
AF3 = AF1+
L(AF3)=L(AF1) +
λλλλ
AF1AF3 λλλλ
06/11/2010
9
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
EJEMPLO DE ESTRELLA POSITIVA :
ER = X.X*
X = a*.b.b*.(a.b.b*+a+b)+ a*.b
ER = ((a+b+c).(a+b+c))*
AF-λλλλ5AFD7
2 31 a, b, c
a, b, c
a, b, cλλλλ
AF-λλλλ4 a b λλλλ→ 1 {1} {2} φφφφ*2 {3} {2} {1}
*3 {4} {3} {1}
4 {4} {4} φφφφ
AF-λλλλ5 a b c λλλλ→ *1 {2} {2} {2} φφφφ
2 {3} {3} {3} φφφφ*3 {2} {2} {2} {1}
AF-λλλλ4b
12
3
ba
4b,a
a
ba
AFD2λλλλ
λλλλ
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
INVERSA: La Inversa de un AF, ya sea determinista o no, en general da como resultado un AF-Lazy tal que reconoce la inversa del lenguaje que acepta el autómata base. El mecanismo consiste en invertir todas las transiciones del AF, luego crear un nuevo estado inicial con transiciones-λλλλ hacia todos los estados finales, éstos pierden tal condición y el estado inicial viejo pasa a ser el único final.
λλλλ
AF1AF3λλλλAF3 = AF1-1
L(AF3)=L(AF1) -1
06/11/2010
10
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
EJEMPLO DE INVERSA :
ER = (b+b.a+(a+b.b.b+b).(a+b.b.b)*.b.a).b.b*+b
AF-λλλλ6 a b λλλλ→ 0 φφφφ φφφφ {2,5,6}
*1 φφφφ φφφφ φφφφ
2 φφφφ {2,1} φφφφ3 {2} {5} φφφφ4 {1,3,
4,5}{4} φφφφ
5 φφφφ {6} φφφφ6 {6} {3} φφφφ
AF-λλλλ6
b
0
4
3b
b,a
a
ba
a
ba
ab
AFD4
1 λλλλλλλλ
λλλλ
6
5
2
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
COMPLEMENTO : Para obtener el Complemento de un AF, o sea el AF que reconozca el complemento del lenguaje que acepta el autómata base, se requiere que el modelo sea DETERMINISTA y completo.El mecanismo consiste en convertir en finales los estados no-finales y viceversa.
AF3 = ∼∼∼∼AF1
L(AF3)= ∼∼∼∼L(AF1)
AF1 = ⟨⟨⟨⟨ Q1 , ΣΣΣΣ , q10 , F1 , f1 ⟩⟩⟩⟩
AF3 = ⟨⟨⟨⟨ Q3 , ΣΣΣΣ , q30 , F3 , f3 ⟩⟩⟩⟩
Q3=Q1 , q30=q10 , f3=f1
F3=Q1-F1
06/11/2010
11
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
EJEMPLO DE COMPLEMENTO :
ER = b.b*.(a.(b.b.b)*.((a+b.a*.b.a).(a+b).(a+b)*+b.a.a+b.b.b+a)+a)+a.(a+b)*+λλλλ
AFD14
b2
6
5
1
4
3b
b,a
a
ba
a ba
ab
AFD4
AFD14 a b
→→→→*1 4 2
2 3 2
*3 4 6
*4 4 4
5 4 3
6 6 5
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
INTERSECCIÓN : Para obtener la Intersección de dos AF, o sea el AF que reconozca la intersección de los lenguajes que aceptan los autómatas operandos, se requiere que los modelos sean DETERMINISTAS y completos.El mecanismo se representa formalmente a continuación:
AF1 = ⟨⟨⟨⟨ Q1 , ΣΣΣΣ , q10 , F1 , f1 ⟩⟩⟩⟩
AF2 = ⟨⟨⟨⟨ Q2 , ΣΣΣΣ , q20 , F2 , f2 ⟩⟩⟩⟩
AF3 = ⟨⟨⟨⟨ Q3 , ΣΣΣΣ , q30 , F3 , f3 ⟩⟩⟩⟩
Q3⊆⊆⊆⊆Q1xQ2 , q30=[q10 , q20] , F3⊆⊆⊆⊆F1xF2
f3([q1,q2],x)=[f 1(q1,x) , f2(q2,x)]
AF3 = AF1∩∩∩∩AF2
L(AF3)=L(AF1) ∩∩∩∩L(AF2)
06/11/2010
12
ING. JORGE BUABUD
LENGUAJES REGULARES Y AUTÓMATAS FINITOS
U.T.N. – F.R.T. S. y S. de los L.
OPERACIONES CON AUTÓMATAS FINITOS:
EJEMPLO DE INTERSECCIÓN :
ER = (a+b+c).((a+b).(a+b))*.(a.c.a+b.c.a+c).(a.a)*AFD5
5 6a, b, c c4
a, b a
7a, b, cb, c
AFD7
2 31a, b, c
a, b, c
a, b, c
AFD15 a b c
→→→→0={1,4} 1 1 1
1={2,5} 3 3 2
*2={3,6} 4 5 5
3={3,5} 1 1 4
4={2,6} 2 6 6
5={2,7} 6 6 6
6={3,7} 5 5 5
Aplicando el mecanismo de minimización se determina que los nuevos estados 5 y 6 son equivalentes. Con lo que el AFD15 mínimo queda:
AFD15
0 1
3
5
2
4
a, b, c
c
c
a, b a a, b, c
b, c
b, c