Anda di halaman 1dari 12

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


Son aquellos AF cuyas relaciones de transicin pueden tener
varias reacciones para un mismo estmulo.
Podemos distinguir 3 modelos que tienen esta caracterstica, los
mismos difieren en el dominio de la relacin de transicin y son
totalmente equivalentes:
1) AFND = Q, , Q0 , F, f con f: Q x 2Q
donde Q0Q es un subconjunto de estados iniciales.
2) AF-
= Q, , q0 , F, f con f: Q x {
} 2Q
donde la entrada puede ser vaca 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

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


EJEMPLOS DE AUTMATAS NO DETERMINISTAS:
ER = c.a*.b*+(c.b)*.c.a.c.b*

2
5

c
a

ER = c.a*.b*+(c.b)*.c.a.c.b*

AFND1

AF-
1

b
c

a,b

AFND2
ER = c.a*.b*+(c.b)*.c.a.c.b*

a
c

ER = a.(a+b)*.b

AF-Lazy1

b
3

cac
4

cb

ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


REPRESENTACIN MATRICIAL:
En esta forma
de representar
la relacin de
transicin, se
debe tener en
cuenta que un
elemento del

AFND2

{2}

{2}

{2,3}

*3

AF-
1

{2}

{5}

{2}

{3}

*3

{3}

{4}

cb

cac

{4,6}

{2}

{4}

{7}

{2}

{3}

*3

{3}

AF-Lazy1

{4} {3}

7
{3}

rango es en general un subconjunto.


Por eso se los coloca entre llaves y
cuando es vaco se usa el smbolo .
ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS 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 fcilmente.
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 reduccin de la cantidad de estados del AF.
ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


EJEMPLO DE EQUIVALENCIA ENTRE AFND Y AF-
:
AFND3

a
6

a
0

a
3

a,b

AF-
2

a,b

ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


EJEMPLO DE EQUIVALENCIA ENTRE AFND Y AF-Lazy:

AFND4

AF-Lazy2

a
1

a
4

b
a

c
7

c
3

caa

ca
4

cab, bb, cacb

ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


ASOCIACIN ENTRE AF Y GR:
Existe una analoga 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

ALGORITMO GR
AF
Q=
N{E} , =
T , q0=S , F={E}

f(q,w)=p q
wp
P

f(q,w)
F

q
w

q0F

q0

N1wN2 f(N1,w)=N2
f

N1w

f(N1,w)=E

f(S,
)=E
ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


EJEMPLOS DE TRANSFORMACIN DE AF A GR:
Para mayor claridad se ha realizado algunos cambios en los
nombres de los estados y se ha eliminado no-terminales intiles:
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}

AFND2 GR
N={S, A} , T={a, b}
P={ S
aA , A
aA|bA|b }
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 }
ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

AUTMATAS FINITOS NO DETERMINISTAS:


EJEMPLOS DE TRANSFORMACIN DE GR A AF:
ba

GR={S, A, B} , {a, b} , P , S
P

S abaB | bb | | A
A baS | a
B aaA |

a
aa

aba

bb ,

GR={S, A, B, C} , {a, b} , P , S
S aB
A bC | bA | b
B aC | bB | a
C aA

AF-Lazy3

AFND5

b
b

b
ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


UNIN:
La Unin de dos AF, ya sean deterministas o no, en general da como
resultado un AF-Lazy tal que reconoce la unin de los lenguajes que
aceptan los autmatas operandos.
El mecanismo consiste en crear un estado inicial nuevo y definir
transiciones-
desde ste hacia los estados iniciales de los AF de partida.

AF3

AF1
AF2

AF3 = AF1
AF2
L(AF3)=L(AF1)
L(AF2)

ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE UNIN:
ER = ((a+b+c).(a+b+c))*+ c.a*.b*+(c.b)*.c.a.c.b*

cb

cac

{1,5}

{2}

{4}

{2}

{3}

*3

{3}

AF-Lazy4

{4} {3}

AF-Lazy4
b

AF-Lazy1
a
1

{7} {7} {7}

*7

{6} {6} {6}

cac

AFD7

{6} {6} {6}

2
4

cb

*5

a, b, c
a, b, c

a, b, c

ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


CONCATENACIN:
La Concatenacin 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 autmatas 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

AF3 = AF1.AF2 ,

L(AF3)=L(AF1).L(AF2)
ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE CONCATENACIN:

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+
)

AFD7

ba

a, b, c
1

a, b, c

a, b, c

a
{2}

b
{2}

a
aa

aba

AFLazy5

AF-Lazy3 AF-Lazy5

bb ,

aa

ba

bb

aba

{2}

aa

ba

bb

aba

{4}

{7}

{4}

{5}

{7}

{3}

{3}

{3}

{2}

{2}

{2}

{4}

*7

{7}

{6}

{5,7}

ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


ESTRELLA DE KLEENE:
La operacin 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 autmata base.
El mecanismo consiste en colocar transiciones-
desde todos los finales al
inicial y crear un nuevo inicial/final con una transicin-
al inicial viejo.

AF3

AF1

AF3 = AF1*
L(AF3)=L(AF1)*
ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE ESTRELLA DE KLEENE:
AF-
3

{1}

{4}

{2}

*2

{3}

{2}

{1}

{4}

{6}

{4}

{4}

*5

{4}

{3}

{1}

*6

{6}

{5}

{1}

*0

AF-
3


b
1

b,a

b
2

a
a

a
4

a
3

b
6

b
a

b
AFD4

ER = (b.b*.(a.b.(a+b.b.b)*.(a+b.b.b+b)+a.b+b)+b)*
ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


ESTRELLA POSITIVA:
La operacin 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 autmata base.
El mecanismo consiste en colocar transiciones-
desde todos los finales al
inicial.

AF3

AF1

AF3 = AF1+
L(AF3)=L(AF1)+

ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE ESTRELLA POSITIVA:
AFD2

b
b
a

b
1

b,a

AF-
4

{1}

{2}

*2

{3}

{2}

{1}

*3

{4}

{3}

{1}

{4}

{4}

3
a
4

AF-
5

a, b, c

AFD7

AF-
4

AF-
5

a, b, c

a, b, c

*1

ER = X.X*
X = a*.b.b*.
(a.b.b*+a+b)
+ a*.b

{2}

{2}

{2}

{3}

{3}

{3}

*3

{2}

{2}

{2}

{1}

ER = ((a+b+c).(a+b+c))*
ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS 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 autmata 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 condicin y el estado inicial viejo pasa a ser el
nico final.

AF3

AF3

= AF1-1

L(AF3)=L(AF1)-1

AF1

ING. JORGE BUABUD

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE INVERSA:

{2,5,6}

*1

{2,1}

{2}

{5}

{1,3,
4,5}

{4}

{6}

b,a

{6}

{3}

AF-
6

AF-
6

b
b

a
4

b
b

AFD4

ER = (b+b.a+(a+b.b.b+b).(a+b.b.b)*.b.a).b.b*+b
ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


COMPLEMENTO:
Para obtener el Complemento de un AF, o sea el AF que reconozca el
complemento del lenguaje que acepta el autmata base, se requiere que
el modelo sea DETERMINISTA y completo.
El mecanismo consiste en convertir en finales los estados no-finales y
viceversa.

AF1 = Q1 , , q10 , F1 , f1
AF3 = Q3 , , q30 , F3 , f3

AF3 = AF1

Q3=Q1 , q30=q10 , f3=f1

L(AF3)= L(AF1)

F3=Q1-F1
ING. JORGE BUABUD

10

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE COMPLEMENTO:
AFD14

*1

*3

*4

AFD14

b
2

b
1

a
4

b,a

a
b
6

b
a

b
AFD4

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)*+

ING. JORGE BUABUD

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


INTERSECCIN:
Para obtener la Interseccin de dos AF, o sea el AF que reconozca la
interseccin de los lenguajes que aceptan los autmatas operandos, se
requiere que los modelos sean DETERMINISTAS y completos.
El mecanismo se representa formalmente a continuacin:

AF1 = Q1 , , q10 , F1 , f1
AF2 = Q2 , , q20 , F2 , f2
AF3 = Q3 , , q30 , F3 , f3
Q3Q1xQ2 , q30=[q10 , q20] , F3F1xF2

AF3 = AF1
AF2
L(AF3)=L(AF1)
L(AF2)

f3([q1,q2],x)=[f1(q1,x) , f2(q2,x)]
ING. JORGE BUABUD

11

06/11/2010

U.T.N. F.R.T.
S. y S. de los L.

LENGUAJES REGULARES Y
AUTMATAS FINITOS

OPERACIONES CON AUTMATAS FINITOS:


EJEMPLO DE INTERSECCIN:
Aplicando el
mecanismo de
minimizacin se
determina que los
nuevos estados 5 y 6
son equivalentes.
Con lo que el AFD15
mnimo queda:

a, b, c
1

a, b, c

a, b, c

AFD7
a, b
4

AFD5

a, b, c

a
c

a, b, c

AFD15

AFD15

0={1,4}

a, b, c

3={3,5}

4={2,6}

5={2,7}

6={3,7}

b, c

b, c

a, b

b, c

1={2,5}
*2={3,6}

a, b, c

ER = (a+b+c).((a+b).(a+b))*.(a.c.a+b.c.a+c).(a.a)*
ING. JORGE BUABUD

12

Anda mungkin juga menyukai