Sei sulla pagina 1di 178

Simulao de Sistemas a Eventos Discretos

Linguagens e Automatos

Prof. Carlos Andrey Maia

Departamento de Engenharia Eltrica


Escola de Engenharia
UFMG
02/2016

Prof. C.A.Maia (UFMG) PPGEE-SSED 1 / 177


1 Introduo Teoria de Sistemas
Sistemas contnuos X Sistemas a Eventos Discretos (SEDs)
Conceitos bsicos e denies

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 1 / 177


Sistemas contnuos X Sistemas a Eventos Discretos (SEDs)

Os sistemas fsicos so geralmente dirigidos ou orientados pelo tempo. Tem


caractersticas contnuas que so funo do tempo.

Exemplo
Sistema massa mola como mostrado na gura.
Fx , Fa F

Prof. C.A.Maia (UFMG) PPGEE-SSED 2 / 177


Exemplo (cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 3 / 177


Exemplo (cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 4 / 177


Caractersticas dos sistemas fsicos

Caractersticas de sistemas fsicos dirigidos pelo tempo:

Estado contnuo com evoluo dependente do tempo,

Seguem as leis da natureza (por exemplo as leis da fsica),

So modelados por meio de equaes diferenciais ou a diferenas no


caso de tempo discreto.

Prof. C.A.Maia (UFMG) PPGEE-SSED 5 / 177


Sistemas a eventos discretos (SEDs)

Exemplo
Considere um sistema de las como mostrado na gura. O objetivo
modelar o uxo de clientes, independente do tempo.
a d

B S

Prof. C.A.Maia (UFMG) PPGEE-SSED 6 / 177


Exemplo de SED (cont.)

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

x (0) = 0 assumindo a la vazia no instante 0,


x (k) + 1 se u = a

x (k + 1) = ,
x (k) 1 se u = d e x (k) 1

com dependncia na ocorrncia de eventos, e no no tempo.

Prof. C.A.Maia (UFMG) PPGEE-SSED 7 / 177


Exemplo de SED (cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 8 / 177


Caractersticas SED

Estado discreto com evoluo dirigida pela ocorrncia de eventos,

Seguem leis de concepo humana e so modelados por meio de


matemtica discreta.

Exemplo
Sistemas digitais, de transporte, de automao e processos, de
Computao etc.

Diferenciar entre leis naturais e leis de concepo humana:


Mecnica Clssica Sistemas Digitais.

Prof. C.A.Maia (UFMG) PPGEE-SSED 9 / 177


Caractersticas SED

Temporizao. Modelos no temporizados dependem unicamente da


ocorrncia de eventos, e sistemas temporizados integram uma
dependncia temporal.

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 10 / 177


Caractersticas SED

Sistemas a eventos discretos temporizados determinsticos, nos quais


os eventos ocorrem em tempos especcos.

Exemplo
Sistemas a eventos discretos temporizado determinstico so os semforos,
cuja temporizao prexada e s pode variar de uma forma conhecida.

Prof. C.A.Maia (UFMG) PPGEE-SSED 11 / 177


Conceitos bsicos

Sistema: objeto de interesse a ser modelado e denido pelo projetista. A


sua denio inclu: componentes, interaes, funes, e outras
caractersticas a serem modeladas.
Modelo: abstrao do sistema real para descrever caractersticas de
interesse.

Exemplo
Sistema: Trfego urbano de maneira geral.
Modelo: Descrio matemtica adequada para representar a operao dos
semforos.

Prof. C.A.Maia (UFMG) PPGEE-SSED 12 / 177


Construo de modelos

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 13 / 177


Conceitos bsicos

Em geral, um modelo est composto por variveis de entrada e variveis


de sada, que so grandezas de interesse para um propsito especco.
A gura apresenta um diagrama bsico de um sistema e um modelo.

Entrada Sada
Sistema

Variveis de entrada Variveis de sada

u (t) Modelo y (t)

Prof. C.A.Maia (UFMG) PPGEE-SSED 14 / 177


Conceitos bsicos

Os modelos podem ser:

Dinmicos (modelos que dependem dos estados anteriores do sistema),


estticos (modelos que independem dos estados anteriores do sistema),

Lineares (modelos que possuem as propriedades de homogeneidade e


aditividade), no lineares (modelos que no possuem as propriedades
de homogeneidade e aditividade),

Prof. C.A.Maia (UFMG) PPGEE-SSED 15 / 177


Conceitos bsicos

Variantes no tempo (modelos cuja sada depende do instante no qual


uma entrada aplicada), invariantes no tempo (modelos cuja sada
depende da entrada aplicada independente do instante no qual
aplicada),

Determinsticos (cujas variveis so denidas por valores conhecidos),


estocsticos (cujas variveis so denidas por distribuies de
probabilidades),

Dirigidos pelo tempo, dirigidos por eventos, etc.

Prof. C.A.Maia (UFMG) PPGEE-SSED 16 / 177


Conceitos bsicos

Os estados de um modelo determinam as caractersticas


(mensurveis) presentes em um sistema em um determinado tempo ou
circunstncia. Formalmente, um estado a informao requerida de
forma que a sada do sistema seja determinada unicamente por meio
dessa informao e da entrada para todo instante posterior.

O conjunto de todos os estados que um sistema pode alcanar


chamado de espao de estados.
Evento: conceito primitivo sem durao (acontece instantaneamente)
e, em geral, altera o estado de um modelo.

Prof. C.A.Maia (UFMG) PPGEE-SSED 17 / 177


Alguns Objetivos da teoria de sistemas

1 Modelagem, anlise e sntese

2 Controle

3 Avaliao de desempenho

4 Otimizao

Prof. C.A.Maia (UFMG) PPGEE-SSED 18 / 177


Sistemas a eventos discretos (SEDs)

Caractersticas de um sistema a eventos discretos:

Espao de estados discreto,

Regido pela ocorrncia de eventos (conjunto discreto), que podem ou


no depender do tempo,

Representados, por exemplo, por linguagens ou autmatos.

Prof. C.A.Maia (UFMG) PPGEE-SSED 19 / 177


Linguagens e autmatos

De forma geral, uma linguagem constituda de cadeias de eventos.

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 20 / 177


Linguagens e autmatos (exemplo cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 21 / 177


Linguagens e autmatos (exemplo cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 22 / 177


Linguagens e autmatos (exemplo cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 23 / 177


Linguagens e autmatos (exemplo cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 24 / 177


Linguagens e autmatos (exemplo cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 25 / 177


Autmato

Autmatos: estrutura fundamental da teoria de autmatos.

Teoria de autmatos: estuda mquinas com estados e eventos


discretos.

Os eventos em um autmato determinam a evoluo dos estados.

Uma representao comum de um autmato se d por um grafo como


o mostrado na gura.

Autmato: b
0 Estado inicial

Estados
a a 1
0 1 2

Eventos:
2 Estado marcado
Transio:
a, b

Prof. C.A.Maia (UFMG) PPGEE-SSED 26 / 177


Elementos de um autmato

Os quatro elementos bsicos da representao grca de um autmato so:

1 Estados representados por vrtices,


2 Transies representadas por setas,
3 O estado inicial e

4 Os estados marcados (tambm chamados de estados de interesse ou


vlidos).

Autmato: b
0 Estado inicial

Estados
a a 1
0 1 2

Eventos:
2 Estado marcado
Transio:
a, b

Prof. C.A.Maia (UFMG) PPGEE-SSED 27 / 177


Elementos de um autmato

Entrada: sequncia de transies, aplicadas a partir do estado inicial,

Reconhece aquelas sequncias cuja execuo termine em um dos


estados marcados.

Relao entre estados: obtida por meio de transies e denida pela


funo de transio.
Autmato: b
0 Estado inicial

Estados
a a 1
0 1 2

Eventos:
2 Estado marcado
Transio:
a, b

Prof. C.A.Maia (UFMG) PPGEE-SSED 28 / 177


Funo de transio

Na gura a funo de estado para o estado 0 f (0, a) = 1, f (0, b) = 2.


O autmato da gura reconhece sequncias limitadas de eventos
(unicamente aa ou b).
Para um autmato reconhecer sequncias innitas de eventos necessrio
que haja laos entre os estados.
Autmato: b
0 Estado inicial

Estados
a a 1
0 1 2

Eventos:
2 Estado marcado
Transio:
a, b

Prof. C.A.Maia (UFMG) PPGEE-SSED 29 / 177


Denio de autmato

Denio
Um autmato uma sxtupla G = (X, E, f, , x0 , Xm ), sendo:

X o conjunto nito de estados,

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 30 / 177


Conjunto potncia 2E

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} .

O conjunto potncia de E pode ser tambm denotado por P (E).

Prof. C.A.Maia (UFMG) PPGEE-SSED 31 / 177


Conjunto potncia 2E

Exemplo
Considere o conjunto E = {a, b, g}. O conjunto potncia de E o
conjunto

2E = {, {a} , {b} , {g} , {a, b} , {a, g} , {b, g} , {a, b, g}} .

Nota-se que o nmero de elementos de um conjunto de E 2n , sendo n o


nmero de elementos em E. Essa a razo pela qual o conjunto potncia
denotado por 2E .

Prof. C.A.Maia (UFMG) PPGEE-SSED 32 / 177


Exemplo de autmato

Exemplo
Considere o autmato da gura.

O conjunto de estados X = {x, y, z},


O conjunto de eventos E = {a, b, g},
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 33 / 177


Exemplo de autmato (cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 34 / 177


Exemplo de autmato (cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 35 / 177


Exemplo de autmato (cont.)

Exemplo
A funo de transio denida por:

f (z, a) = y, f (z, b) = z, f (z, g) = y,

para o estado z.
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 36 / 177


Exemplo de autmato (cont.)

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 37 / 177


Exemplo de autmato (cont.)

Exemplo
O estado inicial x0 = x e

O conjunto de estados marcados Xm = {x, z}.


Dessa forma o grafo direcionado da gura representa todos os elementos
que denem o autmato.
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 38 / 177


Funo de transio

A funo de transio parcial, j que no est denida para todos os


pares de eventos e estados, ou seja, para todos os elementos do produto
cartesiano X E.
Uma funo de transio chamada de total se est denida para todos
os elementos do produto cartesiano X E, ou equivalentemente, se
(x) = E, x X . Caso contrrio tem-se uma funo de transio
parcial.
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 39 / 177


Autmatos e linguagens

Todo autmato dene uma linguagem, determinado pelas suas sequncias


reconhecidas.
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 40 / 177


Autmatos e linguagens

Seja o autmato da gura denotado por G, existe uma linguagem,


denotada por L (G), composta pelo conjunto de sequncias geradas por
G. Diz-se que L (G) a linguagem gerada pelo autmato G.
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 41 / 177


Autmatos e linguagens

O alfabeto da linguagem o conjunto de caracteres que determinam a sua


estrutura. No caso de relao com autmato, o alfabeto corresponde ao
conjunto de eventos E = {a, b, g}.
Uma cadeia de elementos do alfabeto chamada simplesmente de cadeia.
Uma cadeia corresponde a uma sequncia de eventos de um autmato. Por
exemplo, aag L (G) enquanto bag
/ L (G)
a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 42 / 177


Linguagens

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 43 / 177


Linguagens

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 .

Prof. C.A.Maia (UFMG) PPGEE-SSED 44 / 177


Linguagens

Denio
Uma linguagem L denida sobre um alfabeto E um conjunto de cadeias
formadas de elementos em E, denominadas cadeias.

O elemento vazio pode ser considerado como um elemento neutro,


anlogo ao um 1 na multiplicao.

A concatenao de uma cadeia s com o elemento vazio no altera a


cadeia, ou seja, s = s = s.
O elemento vazio idempotente na concatenao, ou seja, = .
Se usado em autmatos, o elemento vazio determina uma transio
no-observvel entre estados.

Prof. C.A.Maia (UFMG) PPGEE-SSED 45 / 177


Exemplos de linguagens

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 46 / 177


Exemplos de linguagens

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 . . .

Prof. C.A.Maia (UFMG) PPGEE-SSED 47 / 177


Exemplos de linguagens

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 48 / 177


Linguagem gerada e marcada

Em geral, a linguagem marcada no igual linguagem gerada, mas


est contida nela Lm (G3 ) L (G3 )
O elemento vazio est sempre contido na linguagem gerada,
L (G3 ), mas nem sempre na linguagem marcada, ou seja,
possvel que
/ Lm (G3 ).
G3 :
a, b, g
a
0 1

Prof. C.A.Maia (UFMG) PPGEE-SSED 49 / 177


Exerccio

Considere o alfabeto E = {a, b, g}. Denir a linguagem (e o autmato que


a reconhea) composta por cadeias que terminem com o evento a.

Prof. C.A.Maia (UFMG) PPGEE-SSED 50 / 177


Potncia de um conjunto

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

E 5 = {aaaaa, aaaab, aaaag, aaaba, . . .} = E E E E E,

totalizando 35 cadeias.

Note-se a diferena entre o conjunto potncia 2E e a potncia de um


n
conjunto E .

O nmero de elementos da potncia de um conjunto o nmero de


elementos do conjunto elevado respectiva potncia.

Prof. C.A.Maia (UFMG) PPGEE-SSED 51 / 177


Estrela de Kleene

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 .

Prof. C.A.Maia (UFMG) PPGEE-SSED 52 / 177


Estrela de Kleene

Exemplo
Considere o alfabeto E = {a, b, g}. A estrela de Kleene de E dada por

E = {, a, b, g, aa, bb, gg, ab, ag, bg, gb, abg, . . . , abgaag, . . .}

Prof. C.A.Maia (UFMG) PPGEE-SSED 53 / 177


Concatenao de linguagens

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

L1 L2 = {aaa, aag, bba, bbg, gga, ggg} .

Prof. C.A.Maia (UFMG) PPGEE-SSED 54 / 177


Prexo fechamento

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

L = {, a, b, bg, g, gb, gba} .

O nome prexo indica que L o conjunto de todos os prexos dos


elementos de L.

Prof. C.A.Maia (UFMG) PPGEE-SSED 55 / 177


Fechamento de Kleene

O fechamento de Kleene anlogo estrela de Kleene aplicado a


linguagens.

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 56 / 177


Fechamento de Kleene

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, . . .} ,
.
.
.

Prof. C.A.Maia (UFMG) PPGEE-SSED 57 / 177


Exerccios

Vericar (ou no):

1 {a} {b} = {a, b}


2 {ab} {a} {b}
3 {a} {a, b} = {a, b}
4 abb {a} {a, b}
Sugesto: Para provar igualdade entre linguagens pode se provar a reexo
da relao de conteno, ou seja, se L1 L2 e L2 L1 ento L1 = L2 .

Prof. C.A.Maia (UFMG) PPGEE-SSED 58 / 177


Notao

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}

Prof. C.A.Maia (UFMG) PPGEE-SSED 59 / 177


Expresses regulares

Expresses regulares relacionam operaes sobre linguagens com


operadores matemticos.

As relaes obtidas por meio de expresses regulares denem um tipo


de linguagem, a linguagem regular.

Um conjunto mnimo de operadores e condies denem o poder


expressivo das expresses regulares.

Prof. C.A.Maia (UFMG) PPGEE-SSED 60 / 177


Expresses regulares

Denio
As seguintes condies e operadores determinam uma expresso regular:

1 So expresses regulares: O conjunto vazio , o elemento vazio e


qualquer elemento eE de um de um alfabeto E.
2 Se p e q so expresses regulares, ento a concatenao pq e qp, o
fechamento de Kleene p
q , e a unio pq so expresses regulares.

3 As nicas expresses regulares so obtidas aplicando as condies 1 e


2 nitas vezes.

Prof. C.A.Maia (UFMG) PPGEE-SSED 61 / 177


Exerccios

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?

3 possvel implementar um autmato sobre a linguagem do exerccio


2?

Prof. C.A.Maia (UFMG) PPGEE-SSED 62 / 177


Equacionamento de linguagens

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 63 / 177


Passos para resoluo de equaes

1) Considere que a linguagem gerada por um automaton G seja dada por:

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.

Prof. C.A.Maia (UFMG) PPGEE-SSED 64 / 177


Equaes de um autmato

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 65 / 177


Equaes de um autmato

Exemplo
As equaes dos estados so

Lx = aLx gLz , (1)

Ly = aLx bLy , (2)

Lz = (a g) Ly bLz . (3)

a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 66 / 177


Equaes de um autmato

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 67 / 177


Equaes de um autmato

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 68 / 177


Equaes de um autmato

Exemplo
Substituindo a equao (4) na (5):

Lz = b [(a g) b aLx ] (6)

a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 69 / 177


Equaes de um autmato

Exemplo
Substituindo a equao (6) na (1):

Lx = aLx gb [(a g) b aLx ] . (7)

a b
a
x y

g a, g
z

Prof. C.A.Maia (UFMG) PPGEE-SSED 70 / 177


Equaes de um autmato

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 71 / 177


Equivalncia de autmatos

Denio
Dois autmatos G1 e G2 so equivalentes se geram e marcam a mesma
linguagem

L (G1 ) = L (G2 ) ,
Lm (G1 ) = Lm (G2 ) .

Prof. C.A.Maia (UFMG) PPGEE-SSED 72 / 177


Autmato mnimo

Dado que vrios autmatos podem ser equivalentes, qual o menor


autmato representando uma classe de autmatos equivalentes.

O autmato mnimo dentre um conjunto de autmatos equivalentes


aquele com o menor nmero de estados.
Existe um nico autmato mnimo em um conjunto de autmatos
equivalentes que pode ser computado por meio de um algoritmo. Um
autmato mnimo computado encontrando-se estados
equivalentes.

Prof. C.A.Maia (UFMG) PPGEE-SSED 73 / 177


Autmato mnimo

Seja o autmato G = (X, E, f, , x0 , Xm ). Os estados equivalentes


obedecem as seguintes condies:

1 Um estado marcado xm Xm no pode ser equivalente a um estado


no marcado xnm X \ Xm .
2 Para todo par de estados x1 , x 2 X , se o par de estados f (x1 , e) ,
f (x2 , e) para eE no so equivalentes, ento o par x1 , x2 no
equivalente,

3 Para dois estados x1 , x 2 X serem equivalentes com e E,


1 devem provocar transies aos mesmo estados, f (x1 , e) = f (x2 , e), ou

2 estabelecer um lao de forma que f (x1 , e) = x2 e f (x2 , e) = x1 .

Prof. C.A.Maia (UFMG) PPGEE-SSED 74 / 177


Autmato mnimo

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 75 / 177


Autmato mnimo

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 76 / 177


Autmato mnimo

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 77 / 177


Autmato mnimo

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 78 / 177


Autmato mnimo

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 79 / 177


Autmato mnimo

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 80 / 177


Bloqueio em autmatos

O bloqueio denido pela impossibilidade de um autmato alcanar ou sair


de certos estados. Uma forma de vericar a existncia de bloqueio
determinando a igualdade

Lm (G) = L (G) .

Se a igualdade ocorre, o autmato no bloqueante, caso contrrio, ele


bloqueante.

Prof. C.A.Maia (UFMG) PPGEE-SSED 81 / 177


Bloqueio em autmatos

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

Existem dois tipos de bloqueio, o deadlock (como no exemplo) e o livelock


(quando as transies restringem os estados alcanveis a um grupo de
estados no marcados).

Prof. C.A.Maia (UFMG) PPGEE-SSED 82 / 177


Autmato no determinstico

O autmato no determinstico uma extenso do autmatos


determinstico (os autmatos denidos por
G = (X, E, f, , x0 , Xm )).
O autmato no determinstico permite transies para mais de um
estado por evento e E, por exemplo:

e x1
e
x0 . x2
.
.
.
e .
.

xn

Prof. C.A.Maia (UFMG) PPGEE-SSED 83 / 177


Autmato no determinstico

Denio
Um autmato no determinstico uma sxtupla
GN D = (X, E {}, fN D , , x0 , Xm ) com

X o conjunto nito de estados,

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 .

Prof. C.A.Maia (UFMG) PPGEE-SSED 84 / 177


Autmato no determinstico

Exemplo
O autmato da gura no determinstico.

a
a
x1 x2
b

Prof. C.A.Maia (UFMG) PPGEE-SSED 85 / 177


Autmato no determinstico

Exemplo
Os elementos que denem o autmato so:

X = {x1 , x2 } ,
E = {a, b} ,

a
a
x1 x2
b

Prof. C.A.Maia (UFMG) PPGEE-SSED 86 / 177


Autmato no-determinstico

Exemplo

fN D (x1 , a) = {x1 , x2 } ,
fN D (x2 , b) = {x1 } ,
(x1 ) = {a} ,
(x2 ) = {b} ,

a
a
x1 x2
b

Prof. C.A.Maia (UFMG) PPGEE-SSED 87 / 177


Autmato no-determinstico

Exemplo

x0 = x1 ,
Xm = {x1 } .

a
a
x1 x2
b

Prof. C.A.Maia (UFMG) PPGEE-SSED 88 / 177


Autmato no-determinstico

Todo autmato no-determinstico tm um equivalente determinstico


(que pode ser no mnimo).

O processo para obter um autmato determinstico pode gerar uma


exploso combinatria, j que novos estados, representando os
elementos de 2X , aparecem.

Prof. C.A.Maia (UFMG) PPGEE-SSED 89 / 177


Autmato no-determinstico

Exemplo
Achar o autmato determinstico equivalente ao autmato
no-determinstico da gura.

a
a
x1 x2
b

Prof. C.A.Maia (UFMG) PPGEE-SSED 90 / 177


Autmato no-determinstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 91 / 177


Autmato no-determinstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 92 / 177


Autmato no-determinstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 93 / 177


Autmato no-determinstico

Exemplo
O autmato determinstico equivalente ao no-determinstico mostrado

a
a
x1 x2
b
a
a
{x1 } {x1 , x2 }
na gura. b

Prof. C.A.Maia (UFMG) PPGEE-SSED 94 / 177


A transio vazia

A transio vazia corresponde a um evento no observvel.

A transio vazia um evento que no est explicitado em uma


sequncia de eventos, mas seus efeitos se apresentam na evoluo dos
estados.

Em um autmato, a transio vazia gera no determinismo.

Prof. C.A.Maia (UFMG) PPGEE-SSED 95 / 177


A transio vazia

Exemplo
O autmato da gura no-determinstico.

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 96 / 177


A transio vazia

Exemplo
Os elementos do autmato so:

X = {x1 , x2 } ,
E = {a, b} ,

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 97 / 177


A transio vazia

Exemplo

fN D (x1 , a) = x1 ,
fN D (x1 , ) = x2 ,
fN D (x2 , b) = x2 ,

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 98 / 177


A transio vazia

Exemplo

fN D (x1 , a) = x1 ,
fN D (x1 , ) = x2 ,
fN D (x2 , b) = x2 ,

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 99 / 177


A transio vazia

Exemplo

(x1 ) = {, a} ,
(x2 ) = {b} ,

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 100 / 177


A transio vazia

Exemplo

x0 = x1 ou x2 (dene o no determinismo induzido por ),


Xm = {x2 } .

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 101 / 177


A transio vazia

Exemplo
Achar o autmato determinstico equivalente ao autmato
no-determinstico da gura.

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 102 / 177


A transio vazia

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 103 / 177


A transio vazia

Exemplo
Por convenincia, possvel renomear os elementos de 2X :

{x1 } xC , {x2 } xB , {x1 , x2 } xA ,

= 2X = {, xC , xB , xA } .

a b

x1 x2

Prof. C.A.Maia (UFMG) PPGEE-SSED 104 / 177


A transio vazia

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 105 / 177


A transio vazia

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 106 / 177


Exerccio

Achar a linguagem marcada pelo autmato determinstico da gura.

a b
b
xA xB

Prof. C.A.Maia (UFMG) PPGEE-SSED 107 / 177


Parte acessvel Ac (G)

A parte acessvel de um autmato corresponde a todos os estados


acessveis ou alcanveis. Dado um autmato G, a sua parte acessvel
denotada por inAc (G).

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 108 / 177


Parte co-acessvel CoAc (G)

A parte co-acessvel de um autmato corresponde a todos os estados que


cheguem, por meio de transies, a um estado marcado. Dado um
autmato G, a sua parte co-acessvel denotada por inCoAc (G).

Exemplo
Todos os estados do autmato da gura formam parte da parte
co-acessvel.

b
x1 x2

a b

x3 x4
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 109 / 177


Operao trim Trim (G)

A operao trim consiste em obter a parte acessvel e co-acessvel de um


autmato G. A operao est denida por

Trim (G) = Ac [CoAc (G)] = CoAc [Ac (G)] .

Prof. C.A.Maia (UFMG) PPGEE-SSED 110 / 177


Operao trim Trim (G)

Exerccio Aplicar a operao trim no autmato da gura.

b
x1 x2
a
a b x5

x3 x4
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 111 / 177


Complemento GC

O complemento GC de um autmato G = (X, E, f, , x0 , Xm ) marca a


linguagem Lm GC = E \ Lm (G).
Para obter o complemento procede-se da seguinte forma:

1. Construir a funo total do autmato:


(
f (x, e) e (x) ,
fT OT AL (x, e) =
xd caso contrrio,

para todo xX e e E.

Prof. C.A.Maia (UFMG) PPGEE-SSED 112 / 177


Complemento GC

2. Construir o autmato:

GT OT AL = (X xd , E, fT OT AL , , x0 , Xm ) .

Prof. C.A.Maia (UFMG) PPGEE-SSED 113 / 177


Complemento GC

3. GC obtido ao marcar o complemento dos estados marcados

GC = (X xd , E, fT OT AL , , x0 , (X xd ) \ Xm ) .

possvel realizar a operao de complemento diretamente no grafo que


representa um autmato.

Prof. C.A.Maia (UFMG) PPGEE-SSED 114 / 177


Complemento GC

Exemplo
Considere o autmato da gura.

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 115 / 177


Complemento GC

Exemplo
Os elementos que denem o autmato so:

X = {x1 , x2 , x3 } ,
E = {a, b} ,

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 116 / 177


Complemento GC

Exemplo

f (x1 , a) = x2 ,
f (x2 , b) = x3 ,

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 117 / 177


Complemento GC

Exemplo

f (x3 , a) = x3 ,
f (x3 , b) = x1 ,

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 118 / 177


Complemento GC

Exemplo

(x1 ) = {a} ,
(x2 ) = {b} ,
(x3 ) = {a, b} ,

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 119 / 177


Complemento GC

Exemplo

x0 = x1 ,
Xm = {x3 } .

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 120 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 121 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 122 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 123 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 124 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 125 / 177


Complemento GC

Exemplo
Alternativamente, pode-se obter o complemento operando o grafo.

a
x1 x2

b b
x3
a

Prof. C.A.Maia (UFMG) PPGEE-SSED 126 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 127 / 177


Complemento GC

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 128 / 177


Produto

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

G1 G2 = Ac (X1 X2 , E1 E2 , f12 , 12 , (x1,0 , x2,0 ) , X1,m X2,m ) ,

com
(
(f1 (x1 , e) , f2 (x2 , e)) se e 1 (x1 ) 2 (x2 ) ,
f12 ((x1 , x2 ) , e) =
caso contrrio.

Note-se que o produto estabelece o requerimento de sincronizao de


eventos.

Prof. C.A.Maia (UFMG) PPGEE-SSED 129 / 177


Produto

Exemplo
Considere os dois autmatos da gura.

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 130 / 177


Produto

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 131 / 177


Produto

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 132 / 177


Produto

Exemplo
Os elementos de
GT = Ac (X1 X2 , E1 E2 , f12 , 12 , (x1,0 , x2,0 ) , X1,m X2,m ) so:

X1 X2 = {(x1 , y1 ) , (x1 , y2 ) , (x2 , y1 ) , (x2 , y2 )} ,

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 133 / 177


Produto

Exemplo
E1 E2 = {a} ,

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 134 / 177


Produto

Exemplo

f12 ((x1 , y1 ) , a) = (x2 , y2 ) ,


f12 ((x1 , y2 ) , a) = (x2 , y1 ) ,
f12 ((x2 , y1 ) , a) = (x2 , y2 ) ,
f12 ((x2 , y2 ) , a) = (x2 , y1 ) .

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 135 / 177


Produto

Exemplo

x12,0 = (x1 , y1 ) ,
X12,m = {(x2 , y1 )} .

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 136 / 177


Produto

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 137 / 177


Produto

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 138 / 177


Composio paralela k

A composio paralela similar ao produto, mas no requer sincronizao


de eventos.

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 ,

Prof. C.A.Maia (UFMG) PPGEE-SSED 139 / 177


Composio paralela k

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,

1k2 (x1 , x2 ) = [1 (x1 ) 2 (x2 )] [1 (x1 ) \ E2 ] [2 (x2 ) \ E1 ] .

Prof. C.A.Maia (UFMG) PPGEE-SSED 140 / 177


Composio paralela k

Exemplo
Considere os dois autmatos da gura.

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 141 / 177


Composio paralela k

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 142 / 177


Composio paralela k

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 143 / 177


Composio paralela k

Exemplo
A funo de transio denida por

f1k2 ((x1 , y1 ) , a) = (x2 , y2 ) ,


f1k2 ((x1 , y1 ) , c) = (x1 , y1 ) ,
f1k2 ((x1 , y2 ) , a) = (x2 , y1 ) ,

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 144 / 177


Composio paralela k

Exemplo
A funo de transio denida por

f1k2 ((x2 , y1 ) , a) = (x2 , y2 ) ,


f1k2 ((x2 , y1 ) , b) = (x1 , y1 ) ,
f1k2 ((x2 , y2 ) , c) = (x2 , y1 ) ,

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 145 / 177


Composio paralela k

Exemplo
A funo de transio denida por

f1k2 ((x2 , y2 ) , a) = (x2 , y1 ) ,


f1k2 ((x2 , y2 ) , b) = (x1 , y2 ) .

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 146 / 177


Composio paralela k

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 147 / 177


Composio paralela k

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 148 / 177


Composio paralela k

Exemplo
Alternativamente, pode-se determinar a composio paralela operando no
grafo.

G1 : G2 :
a c a
a
x1 x2 y1 y2
b a

Prof. C.A.Maia (UFMG) PPGEE-SSED 149 / 177


Composio paralela k

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 150 / 177


Composio paralela k

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 151 / 177


Projeo P

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

A projeo Pi elimina de uma cadeia s os elementos que no pertencem ao


alfabeto Ei . A denio de projeo pode ser estendida a qualquer nmero
nito de alfabetos.

Prof. C.A.Maia (UFMG) PPGEE-SSED 152 / 177


Projeo P

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,

enquanto que a projeo de s no alfabeto E2 dada por

P2 (s) = bddb.

Prof. C.A.Maia (UFMG) PPGEE-SSED 153 / 177


Exerccio

Sejam a cadeia s = abcddcba e os alfabetos E1 = {a, c}, E2 = {b, d}.


Achar as projees P1 (s) e P2 (s) usando unicamente as relaes da
denio de projeo.

Prof. C.A.Maia (UFMG) PPGEE-SSED 154 / 177


Projeo inversa P1

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 .

Prof. C.A.Maia (UFMG) PPGEE-SSED 155 / 177


Projeo inversa P1

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

dene todas as cadeias s que obedecem

P1 (s) = t.

Prof. C.A.Maia (UFMG) PPGEE-SSED 156 / 177


Extenso a linguagens e autmatos

Tanto a projeo Pi quanto a projeo inversa Pi1 podem ser


1
estendidas a linguagens (Pi (L) e Pi (L) , respectivamente, para uma
linguagem L), dado que uma linguagem um conjunto de cadeias.

Ainda mais, a projeo Pi Pi1 podem ser


e a projeo inversa
estendidas a autmatos, j que um autmato G est caracterizado
pelas linguagens gerada L (G) e marcada Lm (G).

Prof. C.A.Maia (UFMG) PPGEE-SSED 157 / 177


Relaes usando projees

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:

L (G1 k G2 ) = P11 [L (G1 )] P21 [L (G2 )] ,


Lm (G1 k G2 ) = P11 [Lm (G1 )] P21 [Lm (G2 )] .

A composio paralela para linguagens est denida por:

L1 k L2 = P11 (L1 ) P21 (L2 ) .

Prof. C.A.Maia (UFMG) PPGEE-SSED 158 / 177


Observador

Existem eventos que modicam o estado de um autmato sem


aparecer em uma sequncia de eventos.

Esses eventos tm a caracterstica do evento vazio .


Para determinar o observador de um autmato com eventos no
observveis, o autmato determinstico equivalente encontrado.

Prof. C.A.Maia (UFMG) PPGEE-SSED 159 / 177


Observador

Determinar o observador consiste em:

1 Identicar os eventos no observveis,

2 Considerar um ou mais eventos no observveis como o evento vazio ,


3 Determinar o autmato determinstico com a considerao do passo 2.

Prof. C.A.Maia (UFMG) PPGEE-SSED 160 / 177


Observador

Exemplo
Considere o autmato da gura. O evento c no observvel.

b
a
x1 x2
b
b a c

x4 x3
c

Prof. C.A.Maia (UFMG) PPGEE-SSED 161 / 177


Observador

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 162 / 177


Propriedades do observador

1 O observador um autmato determinstico.

2 O observador e o autmato gerador so equivalentes, considerando os


eventos (um ou mais) no observveis como o evento vazio .

Prof. C.A.Maia (UFMG) PPGEE-SSED 163 / 177


Anlise de SEDs

Na anlise de SEDs trabalha-se com:

1 Questes de segurana,

2 Questes de bloqueio,

3 Estimao de estados e diagnstico.

Prof. C.A.Maia (UFMG) PPGEE-SSED 164 / 177


Questes de segurana

Alcanabilidade de estados indesejveis,

Computa-se a parte acessvel do autmato entre estados de interesse.

Presena de cadeias ou sub-cadeias indesejadas,

Tenta-se executar as cadeias ou sub-cadeias a partir de todos os

estados acessveis.

Gerao de uma linguagem apropriada (chamada de linguagem legal


ou admissvel),

Testar a incluso entre linguagens L1 L2 equivale a testar

L1 LC
2 = .

Prof. C.A.Maia (UFMG) PPGEE-SSED 165 / 177


Questes de bloqueio

Determinar estados de deadlock,


Determinar estados de livelock.
Um autmato bloqueante se Lm (G) 6= L (G).

Prof. C.A.Maia (UFMG) PPGEE-SSED 166 / 177


Estimao de estados e diagnstico

O diagnstico uma ferramenta til para detectar falhas em processos.

Para isso, o conjunto de eventos separado em estados observveis


Eo e no observveis Eu , com E = Eo Eu .

Objetivo: determinar a partir de cadeias de eventos observveis (Eo ) a
ocorrncia de um evento no observvel eu Eu .
necessrio gerar o observador e anotar para cada estado a ocorrncia
(Y) ou no (N) de um evento no observvel.

Se o observador resultante tem estados completamente marcados com


Y, ento o evento no observvel detectvel.

Prof. C.A.Maia (UFMG) PPGEE-SSED 167 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 168 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 169 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 170 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 171 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 172 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 173 / 177


Estimao de estados e diagnstico

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

Prof. C.A.Maia (UFMG) PPGEE-SSED 174 / 177


Estimao de estados e diagnstico

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}

Prof. C.A.Maia (UFMG) PPGEE-SSED 175 / 177


Diagnosticabilidade

Um evento no-observvel ed no diagnosticvel em uma dada linguagem


viva
1 L (G) se existirem duas cadeias sN e sY nessa linguagem
satisfazendo as condies seguintes:

sY contm ed e sN , no;

sY contm sub-cadeia observvel arbitrariamente longa aps ed ;


P (sy ) = P (sN ).
Caso contrrio, o evento ed dito ser diagnosticvel.

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

Cria-se autmato rotulador de estados Alabel , com dois estados e alfalbeto


E = {ed }. A seguir aplica-se a operao abaixo:

Diag(G) = obs(G k Alabel ),


sendo obs(.) a operao que computa o observador resultante.

Prof. C.A.Maia (UFMG) PPGEE-SSED 177 / 177

Potrebbero piacerti anche