Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Linguagens e Automatos
2 Linguagens e autmatos
Autmatos e linguagens
Linguagens
Operaes sobre linguagens
Expresses regulares
Equacionamento em um autmato
Equivalncia de autmatos
Autmato mnimo
Bloqueio em autmatos
Autmato no determinstico
A transio vazia
Operaes em autmatos
Operaes de composio
Operaes de projeo
Observador
Anlise de SEDs
Exemplo
Sistema massa mola como mostrado na gura.
Fx , Fa F
Exemplo
Modelado pelo sistema de equaes
dx2
F Fa Fx = m ,
dt2
dx
Fa = c ,
dt
Fx = kx,
que resulta em
dx2 dx
F =m 2
+c + kx.
dt dt
Exemplo
Considerando condies iniciais nulas, ou seja, x (0) = 0 e x (0) = 0,
tem-se um comportamento como o mostrado na gura, onde clara a
dinmica orientada pelo x no tempo.
x
Exemplo
Considere um sistema de las como mostrado na gura. O objetivo
modelar o uxo de clientes, independente do tempo.
a d
B S
Exemplo
Fatores: poltica de atendimento, eventos (chegada a e sada d de clientes),
nmero de clientes x (k) aps a ocorrncia do evento k (transio de
estado). Nesse exemplo, poltica de atendimento FIFO ( First In, First Out,
ou atendimento por ordem de chegada):
Exemplo
Tanto os estados quanto os eventos so discretos. A ocorrncia simultnea
de eventos no permitida. Em casos que ocorram eventos
concorrentemente, deve-se adotar uma poltica adequada para ordenar os
eventos e evitar a sua ocorrncia simultnea.
x (k)
5
4
3
2
1
k
0 1 2 3 4 5 6 7 8
Exemplo
Sistemas digitais, de transporte, de automao e processos, de
Computao etc.
Exemplo
O sistema de las pode ser modelado por um sistema a eventos discretos
temporizado estocstico, j que a chegada de clientes pode ser modelada
por meio de uma distribuio de probabilidades.
Exemplo
Na vida real, um exemplo quotidiano de aplicao de modelos a eventos
discretos o sistema telefnico, que segue um modelo parecido com o do
sistema de las.
Exemplo
Sistemas a eventos discretos temporizado determinstico so os semforos,
cuja temporizao prexada e s pode variar de uma forma conhecida.
Exemplo
Sistema: Trfego urbano de maneira geral.
Modelo: Descrio matemtica adequada para representar a operao dos
semforos.
Exemplo
Modelagem de um sistema produtivo: detalhamento excessivo pode
obscurecer as caractersticas fundamentais e tornar o modelo invivel do
ponto de vista computacional.
Desao: denir as caractersticas fundamentais; aquelas que contribuem
pouco devem ser desprezadas; o que razovel?
Lembrete 1: sabe-se que acelerao da gravidade varia de acordo com a
altura, mas em grande parte das aplicaes pode-se consider-la constante.
Lembrete 2: em muitos processos, intervalos de tempo entre chegadas
podem ser descritos por distribuies exponenciais.
Entrada Sada
Sistema
2 Controle
3 Avaliao de desempenho
4 Otimizao
Exemplo
Num estoque de caixas, a varivel de interesse o nmero de caixas no
estoque.
Caixas no estoque
5
4
3
2
1
a a a d a a a d eventos
Exemplo
Dois eventos denem o sistema, a chegada de uma caixa a e a sada dela
d. Uma realizao do sistema representada na gura, supondo que o
estoque est inicialmente vazio.
Caixas no estoque
5
4
3
2
1
a a a d a a a d eventos
Exemplo
A sequncia, chamada de cadeia na terminologia de linguagens, mostrada
na gura aaadaaad.
Caixas no estoque
5
4
3
2
1
a a a d a a a d eventos
Exemplo
Para a sada de uma caixa acontecer (evento d), necessrio pelo menos
uma caixa no estoque. Uma cadeia vlida para o exemplo nunca pode
comear com uma sada d. Este tipo de restrio a partir dos eventos
factveis: conjunto de eventos habilitados para um determinado estado.
Caixas no estoque
5
4
3
2
1
a a a d a a a d eventos
Exemplo
Os eventos factveis podem ser tambm usados para determinar se um
sistema reconhece ou no uma cadeia. A sequncia daa uma cadeia no
reconhecida pelo sistema do exemplo, um vez que d no factvel no
estado inicial.
Caixas no estoque
5
4
3
2
1
a a a d a a a d eventos
Exemplo
Se for o caso, possvel acrescentar dependncia no tempo ocorrncia de
eventos, denindo duplas de eventos e os tempos nos quais acontecem.
A sequncia do exemplo em um modelo temporizado se torna
(a, t0 ) (a, t1 ) (a, t2 ) (d, t3 ) (a, t4 ) (a, t5 ) (a, t6 ) (d, t7 ).
Caixas no estoque
5
4
3
2
1
a a a d a a a d eventos
Autmato: b
0 Estado inicial
Estados
a a 1
0 1 2
Eventos:
2 Estado marcado
Transio:
a, b
Autmato: b
0 Estado inicial
Estados
a a 1
0 1 2
Eventos:
2 Estado marcado
Transio:
a, b
Estados
a a 1
0 1 2
Eventos:
2 Estado marcado
Transio:
a, b
Estados
a a 1
0 1 2
Eventos:
2 Estado marcado
Transio:
a, b
Denio
Um autmato uma sxtupla G = (X, E, f, , x0 , Xm ), sendo:
E o conjunto de eventos,
f a funo de transio, f : X E X,
o conjunto de eventos fatveis, : X 2E ,
x0 o estado inicial, x0 X ,
Xm o conjunto de estados marcados, Xm X .
2E o conjunto potncia de E.
Denio
Seja E um conjunto. O conjunto potncia de E o conjunto 2E formado
por todos os subconjuntos de E, ou seja,
2E = {x : x E} .
Exemplo
Considere o conjunto E = {a, b, g}. O conjunto potncia de E o
conjunto
Exemplo
Considere o autmato da gura.
g a, g
z
Exemplo
A funo de transio denida por:
f (x, a) = x, f (x, g) = z,
para o estado x.
a b
a
x y
g a, g
z
Exemplo
A funo de transio denida por:
f (y, a) = x, f (y, b) = y,
para o estado y.
a b
a
x y
g a, g
z
Exemplo
A funo de transio denida por:
para o estado z.
a b
a
x y
g a, g
z
Exemplo
O conjunto de eventos fatveis
(x) = {a, g} ,
(y) = {a, b} ,
(z) = {a, b, g} ,
a b
a
x y
g a, g
z
Exemplo
O estado inicial x0 = x e
g a, g
z
g a, g
z
g a, g
z
g a, g
z
g a, g
z
Denio
Uma cadeia s qualquer sequncia de elementos de um conjunto E. Uma
cadeia est formada pela concatenao de elementos do conjunto
Exemplo
Considere o conjunto E = {a, b, g}. So cadeias de E : s1 = a, s2 = aaa,
s3 = gba, s4 = bb, etc.
Denio
Sejam u, v , w cadeias tais que s = uvw. Dene-se que prexo de s u, as
subcadeias de s so u, v, w e o suxo de s w.
Exemplo
Considere o conjunto E = {a, b, g}. A cadeia s = abga tem prexos (que
so tambm subcadeias) , a, ab, abg , abga, suxos (que so tambm
subcadeias) , a, ga, bga, abga, e o mais uma subcadeia bg .
Denio
Uma linguagem L denida sobre um alfabeto E um conjunto de cadeias
formadas de elementos em E, denominadas cadeias.
Exemplo
Considere o alfabeto E = {a, b, g}. Linguagens podem ser denidas
explicitamente por um conjunto nito de cadeias ou por regras de formao
que utiliza os elementos de E:
L1 = {, a, abb},
L2 = { Todas as cadeias com trs elementos, diferentes de , e que
comeam com o elemento a },
L2 = {abg, aaa, abb, agg, . . .},
L2 = {a} {a, b, g} {a, b, g} (o produto cartesiano dos conjuntos).
Exemplo
Considere o alfabeto E = {a, b, g}.
L3 = { Todas as cadeias que comeam com o elemento a },
L3 = {a} {a} {a, b, g} {a} {a, b, g}2 . . . {a} {a, b, g}n . . .
Exemplo
Considere o alfabeto E = {a, b, g} e a linguagem L3 = { Todas as cadeias
que comeam com o elemento a }. O autmato G3 que reconhece a
linguagem L3 mostrado na gura. Lm (G3 ) = L3 a linguagem
marcada pelo autmato G3 .
G3 :
a, b, g
a
0 1
Denio
Seja E um conjunto. A potncia de um conjunto En o conjunto de
cadeias compostas por n elementos de E.
Exemplo
Considere o conjunto E = {a, b, g}. A potncia E5 dada por
totalizando 35 cadeias.
Denio
Seja E um conjunto. A estrela de Kleene E o conjunto denido por
E , {} E + ,
sendo
E+ = E E2 E3 . . . .
Fato
Toda linguagem L sobre um alfabeto E um subconjunto da estrela de
Kleene, isto L E . Assim, toda cadeia s sobre E pertence estrela de
Kleene, ou seja s E .
Exemplo
Considere o alfabeto E = {a, b, g}. A estrela de Kleene de E dada por
Denio
Sejam L1 e L2 linguagens sobre um alfabeto E. A concatenao de L1 e
L2 uma linguagem dada por
L1 L2 = {s : s = uv, u L1 , v L2 } .
Exemplo
Considere as linguagens L1 = {aa, bb, gg} e L2 = {a, g} sobre o alfabeto
E = {a, b, g}. A concatenao das linguagens
Denies
Seja L uma linguagem sobre um alfabeto E. O prexo fechamento L de L
dado por
L = {s E : t E e st L} .
Exemplo
Considere a linguagem L = {a, bg, gba} sobre o alfabeto E = {a, b, g}. O
prexo fechamento de L
Denio
Seja L uma linguagem sobre um alfabeto E. O fechamento de Kleene L
dado por
[
L = Ln ,
i=0
sendo
L0 = {} ,
Li = Li1 L.
Exemplo
Considere a linguagem L = {a, bg, gba} sobre o alfabeto E = {a, b, g}. O
fechamento de Kleene de L
[
L = Ln ,
i=0
com
L0 = {} ,
L1 = L0 L = {a, bg, gba} ,
L2 = L1 L = {a, bg, gba} {a, bg, gba} = {aa, abg, agba, . . . gbabg, . . .} ,
.
.
.
Observaes
(i) /;
(ii) {} uma linguagem no vazia que contm apenas a cadeia vazia ;
(iii) se L = ento L = e se L 6= , ento necessariamente L;
(iv) = {} e {} = {}.
Convenes
Se u e v so cadeias de eventos, ento
u = {u}
u v = {u, v} = {u} {v}
u = {, u, uu, uuu, ...}
uv = {u}{v}
Denio
As seguintes condies e operadores determinam uma expresso regular:
1 A linguagem L1 = a (a b) regular?
i i i i
2 A linguagem L2 = a b , i N , com a , b denotando a
concatenao de a e b por i vezes, respectivamente, regular?
Resultado principal.
Sejam L, M , N , linguagens arbitrrias que utilizam o mesmo alfabeto E.
1 Se L = M N ento L = ML N.
2 Se
/ M, ento L = ML N implica que L = M N .
O item (2) (conhecido como regra de Arden) em conjunto com o item
(i), asseguram que se
/ M, ento L = M N a nica soluo de
L = ML N.
Importante: esse resultado permite a soluo de equaes implcitas da
forma: X = AX B que aparecem frequentemente em problemas
envolvendo automata.
Lm (G) = {s E : f (x0 , s) Xm }
2) Associe aos estados do sistema linguagens da seguinte forma:
Lxi = {s E : f (xi , s) Xm }
Observar que essa linguagem denida pelo conjunto de cadeias possveis
partindo do estado xi e tendo como m algum estado marcado.
3) Escreva as equaes para o automaton, considerando as regras de
transio denidas pela funo de transio de estados.
4) Resolva a equao utilizando a regra de Arden.
Exemplo
Considere o autmato G da gura.
As linguagens relacionadas aos estados so Lx , Ly e Lz para os estados x,
y e z, respectivamente.
a b
a
x y
g a, g
z
Exemplo
As equaes dos estados so
Lz = (a g) Ly bLz . (3)
a b
a
x y
g a, g
z
Exemplo
Aplicando a regra de Arden na equao (2), tem-se que
Ly = b aLx . (4)
a b
a
x y
g a, g
z
Exemplo
Aplicando a regra de Arden na equao (3), tem-se que
Lz = b [(a g) Ly ] . (5)
a b
a
x y
g a, g
z
Exemplo
Substituindo a equao (4) na (5):
a b
a
x y
g a, g
z
Exemplo
Substituindo a equao (6) na (1):
a b
a
x y
g a, g
z
Exemplo
Finalmente, a linguagem marcada do autmato G obtida aplicando a
regra de Arden na equao (7):
Lx = Lm (G) = [a gb (a g) b a] (gb ) .
a b
a
x y
g a, g
z
Denio
Dois autmatos G1 e G2 so equivalentes se geram e marcam a mesma
linguagem
L (G1 ) = L (G2 ) ,
Lm (G1 ) = Lm (G2 ) .
Exemplo
Considere o autmato da gura, com eventos E = {a, b}. Achar o
autmato mnimo equivalente.
b
x1 x2
a b a, b
a, b
x3 x4
a
Exemplo
Tabela de estados equivalentes (permite registrar equivalncia entre
estados):
x3
x2
x1
x4 x3 x2
b
x1 x2
a b a, b
a, b
x3 x4
a
Exemplo
O estado no marcado x1 no pode ser equivalente aos estados marcados
x2 , x3 e x4 :
x3
x2
x1 X X X
x4 x3 x2
b
x1 x2
a b a, b
a, b
x3 x4
a
Exemplo
Os estados x2 e x3 so equivalentes j que f (x, e) = x4 para x = x2 , x 3 e
e = a, b:
x3
x2 EQ
x1 X X X
x4 x3 x2
b
x1 x2
a b a, b
a, b
x3 x4
a
Exemplo
Os estados x2 e x4 so equivalentes j que f (x2 , a) = x4 ,
f (x4 , a) = x3 = x2 e f (x2 , b) = x4 , f (x4 , b) = x2 :
x3
x2 EQ EQ
x1 X X X
x4 x3 x2
b
x1 x2
a b a, b
a, b
x3 x4
a
Exemplo
Finalmente, os estados x3 e x4 so equivalentes j que f (x3 , a) = x4 ,
f (x4 , a) = x3 e f (x3 , b) = x4 , f (x4 , b) = x2 = x3 :
x3 EQ
x2 EQ EQ
x1 X X X
x4 x3 x2
b
x1 x2
a b a, b
a, b
x3 x4
a
Lm (G) = L (G) .
Exemplo
O autmato da gura bloqueante j que a sequncia aa L (G) mas
aa
/ Lm (G). Por tanto, Lm (G) 6= L (G) indicando que o automato
bloqueante.
a
x y
b
a
z
e x1
e
x0 . x2
.
.
.
e .
.
xn
Denio
Um autmato no determinstico uma sxtupla
GN D = (X, E {}, fN D , , x0 , Xm ) com
E o conjunto de eventos,
fN D a funo de transio, fN D : X E {} 2X ,
o conjunto de eventos fatveis, : X 2E{} ,
x0 o estado inicial, x0 X ,
Xm o conjunto de estados marcados, Xm X .
Exemplo
O autmato da gura no determinstico.
a
a
x1 x2
b
Exemplo
Os elementos que denem o autmato so:
X = {x1 , x2 } ,
E = {a, b} ,
a
a
x1 x2
b
Exemplo
fN D (x1 , a) = {x1 , x2 } ,
fN D (x2 , b) = {x1 } ,
(x1 ) = {a} ,
(x2 ) = {b} ,
a
a
x1 x2
b
Exemplo
x0 = x1 ,
Xm = {x1 } .
a
a
x1 x2
b
Exemplo
Achar o autmato determinstico equivalente ao autmato
no-determinstico da gura.
a
a
x1 x2
b
Exemplo
Primeiro, tem que se denir os estados como sendo os elementos do
conjunto potncia 2X :
X = {x1 , x2 } ,
2X = {, {x1 } , {x2 } , {x1 , x2 }} .
a
a
x1 x2
b
Exemplo
Depois, tem que se determinar a funo de transio determinstica nos
novos estados elementos de 2X , comeando no estado inicial:
f ({x1 } , a) = {x1 , x2 } ,
f ({x1 , x2 } , a) = {x1 , x2 } ,
f ({x1 , x2 } , b) = {x1 } .
a
a
x1 x2
b
Exemplo
O estado inicial, para este exemplo, x0 = {x1 }. Os novos estados
0
marcados Xm so
0
n 0 0
o
Xm = x 2X : x x x Xm ,
de forma que
0
Xm = {{x1 } , {x1 , x2 }} .
a
a
x1 x2
b
Exemplo
O autmato determinstico equivalente ao no-determinstico mostrado
a
a
x1 x2
b
a
a
{x1 } {x1 , x2 }
na gura. b
Exemplo
O autmato da gura no-determinstico.
a b
x1 x2
Exemplo
Os elementos do autmato so:
X = {x1 , x2 } ,
E = {a, b} ,
a b
x1 x2
Exemplo
fN D (x1 , a) = x1 ,
fN D (x1 , ) = x2 ,
fN D (x2 , b) = x2 ,
a b
x1 x2
Exemplo
fN D (x1 , a) = x1 ,
fN D (x1 , ) = x2 ,
fN D (x2 , b) = x2 ,
a b
x1 x2
Exemplo
(x1 ) = {, a} ,
(x2 ) = {b} ,
a b
x1 x2
Exemplo
a b
x1 x2
Exemplo
Achar o autmato determinstico equivalente ao autmato
no-determinstico da gura.
a b
x1 x2
Exemplo
Primeiro, tem que se denir os estados como sendo os elementos do
conjunto potncia 2X :
X = {x1 , x2 } ,
2X = {, {x1 } , {x2 } , {x1 , x2 }} .
a b
x1 x2
Exemplo
Por convenincia, possvel renomear os elementos de 2X :
= 2X = {, xC , xB , xA } .
a b
x1 x2
Exemplo
Se dene a funo de transio determinstica (no pode conter o evento
) a partir do estado inicial {x1 , x2 } = xA :
a
xA xA xB
b b
& %
a
xB
a b
x1 x2
Exemplo
O autmato no-determinstico e seu equivalente determinstico so
mostrados na gura, com x0 = xA e Xm = {xA , xB }.
a b
x1 x2
a b
b
xA xB
a b
b
xA xB
Exemplo
O estado x4 no acessvel a partir do estado inicial. A parte acessvel do
autmato Ac (G) est composta pelos estados x1 , x2 e x3 .
b
x1 x2
a b
x3 x4
a
Exemplo
Todos os estados do autmato da gura formam parte da parte
co-acessvel.
b
x1 x2
a b
x3 x4
a
b
x1 x2
a
a b x5
x3 x4
a
para todo xX e e E.
2. Construir o autmato:
GT OT AL = (X xd , E, fT OT AL , , x0 , Xm ) .
GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm ) .
Exemplo
Considere o autmato da gura.
a
x1 x2
b b
x3
a
Exemplo
Os elementos que denem o autmato so:
X = {x1 , x2 , x3 } ,
E = {a, b} ,
a
x1 x2
b b
x3
a
Exemplo
f (x1 , a) = x2 ,
f (x2 , b) = x3 ,
a
x1 x2
b b
x3
a
Exemplo
f (x3 , a) = x3 ,
f (x3 , b) = x1 ,
a
x1 x2
b b
x3
a
Exemplo
(x1 ) = {a} ,
(x2 ) = {b} ,
(x3 ) = {a, b} ,
a
x1 x2
b b
x3
a
Exemplo
x0 = x1 ,
Xm = {x3 } .
a
x1 x2
b b
x3
a
Exemplo
O complemento GC do autmato da gura est dado por
GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm ) , com
fT OT AL (x1 , a) = x2 ,
fT OT AL (x2 , b) = x3 ,
a
x1 x2
b b
x3
a
Exemplo
GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm )
fT OT AL (x3 , a) = x3 ,
fT OT AL (x3 , b) = x1 ,
a
x1 x2
b b
x3
a
Exemplo
GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm )
fT OT AL (x1 , b) = xd ,
fT OT AL (x2 , a) = xd ,
a
x1 x2
b b
x3
a
Exemplo
GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm )
fT OT AL (xd , a) = xd ,
fT OT AL (xd , b) = xd ,
a
x1 x2
b b
x3
a
Exemplo
GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm )
(x) = E x (X xd ) , e
(X xd ) \ Xm = {x1 , x2 , xd } .
a
x1 x2
b b
x3
a
Exemplo
Alternativamente, pode-se obter o complemento operando o grafo.
a
x1 x2
b b
x3
a
Exemplo
Primeiramente, adiciona-se o estado xd e completa-se a funo de
transio:
a, b
xd
b a
a
x1 x2
b b
x3
a
Exemplo
Depois invertem-se os estados marcados e no marcados, obtendo o
complemento GC :
a, b
xd
b a
a
x1 x2
b b
x3
a
Denio
O produto uma operao binria de composio entre dois autmatos G1
e G2 , com Gi = (Xi , Ei , fi , i , xi,0 , Xi,m ), i = 1, 2, denida por
com
(
(f1 (x1 , e) , f2 (x2 , e)) se e 1 (x1 ) 2 (x2 ) ,
f12 ((x1 , x2 ) , e) =
caso contrrio.
Exemplo
Considere os dois autmatos da gura.
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
Os eventos dos autmatos so E1 = {a, b} e E2 = {a, c}. O resto dos
elementos esto completamente especicados no grafo.
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
O produto dos autmatos gera outro autmato GT = G1 G2 =
Ac (X1 X2 , E1 E2 , f12 , 12 , (x1,0 , x2,0 ) , X1,m X2,m ).
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
Os elementos de
GT = Ac (X1 X2 , E1 E2 , f12 , 12 , (x1,0 , x2,0 ) , X1,m X2,m ) so:
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
E1 E2 = {a} ,
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
x12,0 = (x1 , y1 ) ,
X12,m = {(x2 , y1 )} .
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
O grafo correspondente a
X1 X2 , E1 E2 , f12 , 12 , (x1,0 , x2,0 ) , X1,m X2,m mostrado na
gura.
a
x1 , y1 x2 , y2
a a
a
x1 , y2 x2 , y1
Exemplo
Finalmente, o grafo do produto GT = G 1 G2 =
Ac (X1 X2 , E1 E2 , f12 , 12 , (x1,0 , x2,0 ) , X1,m X2,m ),
correspondente parte acessvel do anterior mostrado na gura.
a
x1 , y1 x2 , y2
a a
x2 , y1
Denio
A composio paralela uma operao binria entre dois autmatos G1 e
G2 , com Gi = (Xi , Ei , fi , i , xi,0 , Xi,m ), i = 1, 2, denida por
G1 k G2 = Ac X1 X2 , E1 E2 , f1k2 , 1k2 , (x1,0 , x2,0 ) , X1,m X2,m ,
Denio
com
(f1 (x1 , e) , f2 (x2 , e)) se e 1 (x1 ) 2 (x2 ) ,
se e 1 (x1 ) \ E2 ,
(f (x , e) , x )
1 1 2
f1k2 ((x1 , x2 ) , e) =
(x1 , f2 (x2 , e)) se e 2 (x2 ) \ E1 ,
caso contrrio,
Exemplo
Considere os dois autmatos da gura.
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
Os eventos dos autmatos so E1 = {a, b} e E2 = {a, c}. O resto dos
elementos esto completamente especicados no grafo.
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
O produto dos autmatos gera outro autmato GP = G1 k G2 =
Ac X1 X2 , E1 E2 , f1k2 , 1k2 , (x1,0 , x2,0 ) , X1,m X2,m .
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
A funo de transio denida por
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
A funo de transio denida por
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
A funo de transio denida por
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
O estado inicial (x1 , y1 ) e o conjunto de estados marcados:
X1k2,m = {(x2 , y1 )} .
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
A grafo da composio paralela GP mostrado na gura.
c
a
x1 , y1 x2 , y2
a
b b
a
x2 , y1 x1 , y2
a
c
Exemplo
Alternativamente, pode-se determinar a composio paralela operando no
grafo.
G1 : G2 :
a c a
a
x1 x2 y1 y2
b a
Exemplo
Para isso, so includos auto-laos com os eventos no presentes ns
autmatos, como mostra a gura.
0 0
G1 : G2 :
c a, c b, c b
a a
x1 x2 y1 y2
b a
Exemplo
0 0
Com os novos autmatos G1 e G2 , se obtm o produto de forma que
0 0
G 1 G2 = G1 k G2 .
0 0
G1 : G2 :
c a, c b, c b
a a
x1 x2 y1 y2
b a
Denio
Sejam dois alfabetos E1 e E2 . A projeo Pi :(E1 E2 ) Ei , i = 1, 2
sobre uma cadeia s em E1 E2 denida por
(
e se e Ei ,
Pi (e) =
caso contrrio,
Pi () = ,
Pi (se) = Pi (s) Pi (e) .
Exemplo
Sejam a cadeia s = abcddcba e os alfabetos E1 = {a, c}, E2 = {b, d}. A
projeo de s E1 dada por
no alfabeto
P1 (s) = acca,
P2 (s) = bddb.
Denio
Sejam dois alfabetos E1 e E2 . A projeo inversa P1
i :Ei 2
(E1 E2 ) ,
i = 1, 2 sobre uma cadeia t denida por
P1
i (t) = {s (E1 E2 ) : Pi (s) = t} .
A projeo inversa P1
i adiciona a uma cadeia s os elementos que no
pertencem ao alfabeto Ei mas que pertencem ao alfabeto completo
E1 E2 .
Exemplo
Seja a cadeia t = ac denida no alfabeto E1 E2 , com E1 = {a, c} e
E2 = {b, d}. A projeo inversa
P1
1 (t) = s = (b d) a (b d) c (b d) ,
P1 (s) = t.
L: L = Pi P1 L P1
Para uma linguagem i (L) mas i [Pi (L)].
A composio paralela de dois autmatos G1 k G 2 obedece:
Exemplo
Considere o autmato da gura. O evento c no observvel.
b
a
x1 x2
b
b a c
x4 x3
c
Exemplo
O observador mostrado na gura obtido considerando o evento c como se
fosse e obtendo o autmato determinstico.
a
x1 x2 , x3 , x4
a
a, b b
x1 , x2 , x3 , x4
1 Questes de segurana,
2 Questes de bloqueio,
estados acessveis.
L1 LC
2 = .
Exemplo
O autmato da gura tem ed como evento no observvel.
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
Para determinar se ed diagnosticvel, tem que se achar o observador
correspondente (com ed = ), identicando os estados onde ed ocorreu.
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
Se ed = o estado inicial {x1 , x2 } . O estado x1 no teve ocorrncia do
evento em diagnstico ed , ento se marca como x1 N, enquanto que o
estado x2 teve ocorrncia de ed , por tanto se marca como x2 Y . O estado
inicial ca {x1 N, x2 Y}.
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
A ocorrncia do evento em diagnstico ed em um estado (marcado por Y
implica propagao para todos os estados subsequentes.
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
Ao aplicar o evento a a partir do estado inicial {x1 N, x2 Y} se evolui ao
estado {x3 Y, x7 N, x8 Y}. O estado x3 marcado com Y pela propagao
de Y que vem do estado x2 .
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
As evolues subsequentes so
b g
{x3 Y, x7 N, x8 Y} {x4 Y, x9 Y, x11 N} {x5 Y, x10 Y, x12 N}
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
d
{x5 Y, x10 Y, x12 N} {x3 Y, x7 N, x8 Y}
t
{x6 Y} - t
a b g
x2 x3 x4 x5
ed t t
d
b
x1 x8 x9 x10 x6
ed g
a
x7 d
b
g
x11 x12
Exemplo
O observador mostrado na gura. Ele mostra que o evento ed
diagnosticvel. Ainda mais, se o evento t ocorre, implica a ocorrncia do
evento ed .
a b
{x1 N, x2 Y} {x3 Y, x7 N, x8 Y} {x4 Y, x9 Y, x11 N}
d g t
t
{x5 Y, x10 Y, x12 N} {x6 Y}
sY contm ed e sN , no;
1
Dado um alfabeto de eventos observveis Eo , uma linguagem L dita ser viva se
s L e Eo : se L.
Prof. C.A.Maia (UFMG) PPGEE-SSED 176 / 177
Cmputo do diagnosticador