aula02 des linguagem automatos - unb | ft | ene · máquina de enda v automática refrigerante...
Post on 04-Jul-2020
5 Views
Preview:
TRANSCRIPT
167657 - Controle para Automação
Departamento de Engenharia Elétri a
Universidade de Brasília
Linguagens e Autmatos
Henrique C. Ferreira
henriqueene.unb.br
Máquina de Venda Automáti a de Refrigerante
refrigerante usta 40
máquina a eita apenas moedas de 10 e 20
Como des rever o omportamento dinâmi o deste sistema? ⇒ SED
Quais são as respostas (internas ou externas) da máquina automáti a na medida em que
o usuário es olhe as moedas que forne e à ela? (Conversa entre o omprador e a
máquina automáti a)
1
Máquina de Venda Automáti a de Refrigerante
Conversa entre o omprador e a máquina automáti a:
e1 = 10⇒ falta 30
e1 = 10, e2 = 10⇒ falta 20
e1 = 10, e2 = 10, e3 = 20⇒ refrigerante
e1 = 20, e2 = 20⇒ refrigerante
e1 = 10, e2 = 10, e3 = nenhuma moeda⇒ refrigerante→ defeito
e1 = 10, e2 = 20, e3 = 20⇒ ?
e1 = 50⇒ !!??
O que a máquina pode "dizer"e "entender"? ⇒ linguagem
2
Con eitos bási os de linguagem para SEDs
Linguagens em SEDs: usadas para representar seqüên ias de eventos
• Formadas a partir de um alfabeto representado pelo onjunto de eventos E.
• Seqüên ia de eventos do alfabeto forma uma palavra (ou string)
• Algumas interpretações do formalismo:
Pode-se onstruir um sistema que fala uma determinada língua?
Que língua este sistema fala?
Pode-se alterar o dialeto?
Autmato: modelo que permite representar a linguagem de um SED om número
innito de strings.
3
Con eitos bási os de linguagem para SEDs
Denição de linguagem: onjunto de strings de tamanho nito formado a partir de
eventos de E.
• String formado por nenhum evento: ε• ε /∈ E mas também ε /∈ ⊘.
• |s| → Comprimento do string s, que é tomado pelo número de eventos que o
ompõem, mesmo que estejam repetidos.
• Por onvenção, |ε| = 0.
• Uma linguagem pode ou não onter ε.
Exemplos: sendo E = a, c, x, tem-se omo exemplos de linguagens
• L1 = ε, a, ccac• L2 = onjunto de todos strings de tamanho 3 ini iando om o evento a.
Verique que o número de strings em L2 é 9.
4
Con eitos bási os de linguagem para SEDs
2E : onjunto potên ia de E, que orresponde ao onjunto de todos os sub onjuntos
de E.
Exemplo: sendo E = a, c, x
2E = ⊘, a, c, x, a, c, a, x, c, x, a, c, x
Con atenação: abc é resultado da on atenação dos strings a e bc.
ε é o operador identidade da on atenação: εs = sε = s para qualquer string s.
5
Con eitos bási os de linguagem para SEDs
Fe hamento de Kleene: onjunto E∗
formado por todos os strings formados a partir
de elementos de E, mas que in lui ε.
Sendo E = a, b então E∗ = ε, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, · · ·
Pode-se veri ar que
• E∗
é innito ontável
• Uma linguagem ontruída a partir de E é um sub onjunto de E∗
Sendo s = abcd, então dene-se
• ε, b, c, bc, abc, bcd e abcd são substrings de s• a é prexo de s e v = bcd é suxo
• ε e s são prexos e suxos de s.
6
Operações om linguagens
Pode-se per eber que linguagens são na verdade onjuntos. Portanto, todas as operações
de teoria dos onjuntos se apli am a linguagens.
Con atenação: seja La, Lb ⊆ E∗
, então
LaLb := s ∈ E∗ : (s = sasb) e (sa ∈ La) e (sb ∈ Lb)
Fe hamento por prexo: seja L ⊆ E∗
L := s ∈ E∗ : ∃t ∈ E∗tal que (st ∈ L)
que é o onjunto formado por todos os prexos de todos os strings de L.
Linguagem de prexo fe hado: L = L.
Se L 6= ⊘ então ε ∈ L.
7
Operações om linguagens
Fe hamento de Kleene de uma linguagem: seja L ⊆ E∗
L∗ = ε ∪ L ∪ LL ∪ LLL ∪ · · ·
Deve ser observado que (L∗)∗= L∗
.
8
Operações om linguagens
Exer í io 1: Sendo E = a, b, g e as linguagens L1 = ε, a, abb e L4 = g,
responda:
I. Determine L1L4, L4 e L∗1
II. Estas linguagens são de prexo fe hado? ♦
Exer í io 2: As armativas abaixo são verdadeiras ou falsas?
I. baa ∈ a∗b∗a∗b∗
II. b∗a∗ ∩ a∗b∗ = a∗ ∪ b∗ ♦
9
Operações om linguagens
Exer í io 3: Considere um buer de uma porta de omuni ação que pode
omportar no máximo 2 mensagens que ainda não foram pro essadas. Considere que
o buer esteja ini ialmente vazio, que E = r, p om r = mensagem re ebida e p =
mensagem pro essada, e que apenas uma mensagem pode ser pro essada por vez.
Determine todos os strings de omprimento 2 deste sistema. Determine a linguagem
deste sistema (para asa). ♦
Exer í io 4: Considere E = c, i, f, d eventos de uma máquina de manufatura:
c = hegada de material, i = iní io do pro edimento de orte, f = on lusão do
pro edimento de orte e d = despa ho do material. Considere também que
I. não existe limite para o número de materias à espera de pro essamento
II. os materiais são despa hados logo após a on lusão do pro edimento de orte
III. apenas um material pode estar em pro edimento de orte por vez
Dê exemplos de palavras da linguagem deste pro esso. ♦
10
Lista de Exer i ios Linguagem de SEDs
Lista de Exer í ios (Cassandras 2008): 2.1 a 2.4.
11
Autmato
Ferramenta de representação ompa ta de linguagens em SEDs.
Por quê? Tente usar a notação de onjunto para representar uma linguagem om
número innito de strings.
Denição informal:
12
Denição de Autmato
Autmato determinísti o: dado pela sextupla
G = (X,E, f,Γ, x0,Xm)
• X : onjunto de estados;
• E: onjunto nito de símbolos (eventos) que denem o alfabeto (os eventos são
asso iados às transições de G);
• f : Ω ⊆ X × E → X : função de transição, que pode ser par ial (Ω 6= X × E).
• x0: estado ini ial do sistema;
• Γ : X → 2E: função de eventos ativos ( onjunto de eventos fa tíveis para ada
estado). Informação redundante pois pode ser obtida a partir de f ;
• Xm ⊆ X : onjunto de estados mar ados ou nais.
13
Denição de Autmato
Um autmato nito pode ser representado gra amente omo um grafo dirigido:
estados ↔ nós;
transições de estado ↔ ar os etiquetados;
eventos ↔ labels dos ar os;
estado ini ial ↔ uma seta apontada para ele;
estados mar ados (nais) ↔ ír ulos duplos.
O autmato pode ser visto omo um dispositivo que opera omo segue: ini ia em x0 e lá
permane e até a o orrên ia de um evento σ ∈ Γ(x0) que disparará a transição
f(x0, σ) ∈ X ; o pro esso ontinua baseado nas transições denidas em f .
14
Exemplo
Como a o modelo do autmato nito representado pelo grafo abaixo?
15
Autmato om entradas e saídas
Autmato de Moore: autmato om saídas asso iadas aos estados.
16
Autmato om entradas e saídas
Autmato de Mealy: autmato om ar os rotulador por evento de endrada/ evento de
saída.
17
Função estendida
Para representar a operação do autmato G, a função f é estendida do domínio X × E
para o domínio X × E∗
, de forma a operar sobre adeias. A função estendida é denida
de forma re ursiva:
f(x, ǫ) := x
f(x, e) := f(x, e), e ∈ E
f(x, se) = f(f(x, s), e) para s ∈ E∗
e e ∈ E.
18
Linguagens representadas pelo autmato
Linguagem gerada pelo autmato G = (X,E, f,Γ, x0, Xm):
L(G) :=
s ∈ E∗ : f(x0, s) está denido
Linguagem mar ada pelo autmato G:
Lm(G) :=
s ∈ L(G) : f(x0, s) ∈ Xm
19
Exer i ios Linguagens representadas pelo
autmato
f notas de aula.
Exer í io ( asa): Modelamento de uma máquina de refrigerantes
• E = 10, 20• X = x0, x10, x20, x30, x40 em que Xm = x40• Limitações do modelo?
• Solução usando autmato evento/saída.
Lista de Exer í ios: 2.16 a 2.19, 2.21, 2.25, 2.26, 2.33.
20
Expressões Regulares
Convenção Nota ional: Para strings s e t
I. s ↔ s
II. s t ↔ st
III. s ∪ t ↔ s+ t
IV. s∗ = ε, s, ss, sss, · · · = sn : n = 0, 1, ... ↔ s∗
Denição: O onjunto das expressões regulares R é denido re ursivamente por
I. ∅ ∈ R (∅ é uma expressão regular que representa a linguagem vazia)
II. ε ∈ R
III. e ∈ R, ∀e ∈ E
IV. r, s ∈ R ⇒ rs, r∗, s∗, (r + s) ∈ R
V. as úni as expressões regulares são aquelas obtidas pela apli ação das regras I a IV
um número nito de vezes.
21
Linguagens Regulares
Denição: Dizemos que L é uma linguagem regular se L ∈ R.
Exemplo: A linguagem representada pela expressão regular L = (a+ b)g∗ é a
linguagem
L = a, b, ag, bg, agg, bgg, aggg, bggg, ...
= strings que omeçam ou om a ou om b e são seguidos por um número
qualquer de g
Exemplo: A linguagem representada pela expressão regular L = (ab)∗ + g é a
linguagem
L = ǫ, g, ab, abab, ababab, ... = ǫ, g ∪ repetições do string ab
22
Equivalên ia de Autmatos
G1 e G2 são ditos equivalentes se L(G1) = L(G2) e Lm(G1) = Lm(G2).
Exemplo de autmatos equivalentes:
23
Bloqueio
Se um autmato atingir um estado x para o qual Γ(x) = ⊘ e x /∈ Xm, então tem-se
uma situação de deadlo k.
Se existir um sub- onjunto de estados não mar ados de tal forma que, se um deles for
al ançado, não existe evento que faça o autmato sair do sub- onjunto de estados,
então tem-se uma situação de livelo k.
Um autmato é dito bloqueável se
Lm(G) ⊂ L(G) ( e Lm(G) 6= L(G))
e não-bloqueável se
Lm(G) = L(G)
24
Bloqueio
Exemplo: o que dizer a respeito do string ag? O que dizer dos estados 3 e 4?
25
Operações sobre Autmatos
Operações Unárias
Parte A essível
Parte Co-a essível
Operação Trim
Complementar
26
Parte A essível
Parte A essível: Dado o autmato G = (X,E, f, x0,Xm), a parte a essível
de G é denida omo
Ac(G) := (Xac, E, fac, x0, Xac,m)
Xac =
x ∈ X : (∃s ∈ E∗)(
f (x0, s) = x)
Xac,m = Xm
⋂
Xac
fac = f |Xac×E→Xac
Obs: A operação Ac não afeta L(G) ou Lm(G).
Gerador A essível: Um gerador é a essível se x é a essivel para todo x ∈ X :
Ac(G) = G.
27
Parte Co-a essível
a parte o-a essível de G é denida omo
CoAc(G) := (Xcoac, E, fcoac, x0,coac, Xm)
Xcoac =
x ∈ X : (∃s ∈ E∗)(
f (x, s) ∈ Xm
)
x0,coac =
x0 se x0 ∈ Xcoac
indenido, aso ontrário
fcoac = f |Xcoac×E→Xcoac
Gerador o-a essível: Um gerador é o-a essível se
CoAc(G) = G.
Se G é o-a essível então Lm(G) = L(G) ( não bloqueante)
28
Operação Trim
A operação Trim é denida por
Trim (G) := CoAc [Ac (G)] = Ac [CoAc (G)] .
Gerador Trim: Um gerador é trim se é a essível e o-a essível.
29
Complemento de um autmato trim
Seja G = (X,E, f,Γ, x0,Xm) um autmato trim que mar a a linguagem
Lm ⊆ E∗
. A operação omplemento é denida omo
Gcomp = Comp(G) := (Xcomp, E, fcomp, x0, Xm,comp)
seguindo os seguintes passos
I. Xcomp := X ∪ xd ( ria-se um "estado morto" xd);
II. Xm,comp := Xcomp\Xm = (X ∪ xd) \Xm;
III. função de transição é
fcomp (x, e) = f(x, e) se e ∈ Γ(x)
= xd se e ∈ E\Γ(x)
fcomp (xd, e) = xd, ∀e ∈ E.
Nota: L(Gcomp) = E∗
e Lm(Gcomp) = E∗\Lm(G).
30
Exer í io: Operações Unárias
Determinar a parte a essível, o-a essível, trim e omplementar de trim do seguinte
autmato
31
Exer í io: Operações Unárias
Determinar a parte a essível, o-a essível, trim e omplementar de trim do seguinte
autmato
32
Operações sobre Autmatos
Operações de Composição
Produto ou omposição ompletamente sín rona
Composição paralela ou sín rona → Será ne essário o on eito de projeção.
33
Produto
Considere dois autmatos a essíveis
G1 = (X1, E1, f1,Γ1, x01, Xm1)
G2 = (X2, E2, f2,Γ2, x02, Xm2)
Produto:
G1 ×G2 := Ac (X1 ×X2, E1 ∪ E2, f1×2,Γ1×2, (x01, x02) , Xm1 ×Xm2)
f1×2 ((x1, x2) , e) := (f1 (x1, e) , f2 (x2, e)) , e ∈ Γ1 (x1) ∩ Γ2 (x2)
indenido, aso ontrário
Γ1×2 (x1, x2) := Γ1 (x1) ∩ Γ2 (x2)
Nota: L(G1 ×G2) = L(G1) ∩ L(G2) e Lm(G1 ×G2) = Lm(G1) ∩ Lm(G2).34
Composição Paralela
Projeção Natural:
Sejam Ei e E onjuntos de eventos om Ei ⊂ E. Dene-se Pi : E∗ → E∗
i , a projeção
natural de E∗
em E∗i de a ordo om:
Pi(ǫ) = ǫ
Pi(e) =
e se e ∈ Ei
ǫ se e /∈ Ei
Pi(se) = Pi(s)Pi(e) onde s ∈ E∗, e ∈ E
A ação de Pi sobre um string s é apagar os eventos que não perten em a Ei.
Projeção Inversa:
P−1i (t) := s ∈ E∗ : Pi(s) = t
35
Projeção natural para linguagens
Projeção de uma linguagem:
Para L ⊆ E∗
, Ei ⊂ E
Pi(L) := t ∈ E∗i : t = Pi(s) para algum s ∈ L
Projeção Inversa de uma linguagem:
Para Li ⊆ E∗i ⊂ E∗
P−1i (Li) := s ∈ E∗ : t = Pi(s) para algum t ∈ Li
36
Composição Paralela de Linguagens (Produto
Sín rono)
Composição Paralela ou Produto Sín rono:
Sejam L1 ⊆ E∗1 e L2 ⊆ E∗
2 . Dene-se o produto sín rono L1||L2 ⊆ (E1
⋃
E2)∗
omo:
L1||L2 = P−11 (L1)
⋂
P−12 (L2)
Observa-se que s ∈ L1||L2 se e somente se P1(s) ∈ L1 e P2(s) ∈ L2.
37
Projeção Exer í io
Sejam
E1 = a, b
E2 = b, c
E = E1 ∪ E2
L = c, ccb, abc, cacb, cabcbbca .
Temos
P1 (L) = ǫ, b, ab, abbba
P2 (L) = c, ccb, bc, cbcbbc
P−11 (ǫ) = c∗
P−11 (b) = c∗ b c∗
38
Composição Paralela (ou Sín rona)
Considere dois autmatos a essíveis
G1 = (X1, E1,Γ1, x01, Xm1) e G2 = (X2, E2,Γ2, x02, Xm2)
A omposição paralela é denida omo
G1 ‖G2 := Ac(
X1 ×X2, E1 ∪ E2, f1‖2,Γ1‖2, (x01, x02) , Xm1 ×Xm2
)
f1‖2 ((x1, x2) , e) :=
(f1(x1, e), f2(x2, e)) se e ∈ Γ1(x1) ∩ Γ2(x2)(f1(x1, e), x2) se e ∈ Γ1(x1)\E2
(x1, f2(x2, e)) se e ∈ Γ2(x2)\E1
indenido nos demais asos
Γ1‖2 (x1, x2) = [Γ1(x1) ∩ Γ2(x2)]⋃
[Γ1(x1)\E2]⋃
[Γ2(x2)\E1]
39
exemplo: omposição paralela
Obter a omposição em paralelo
Lembre que, se um evento e ∈ E1
⋂
E2 apare e em um autmato e não apare e em
outro, então este evento não pode o orrer na omposição paralela.
40
Exemplo 2.16: omposição paralela
Obter a omposição em paralelo
G1 G2
41
Autmato não-determinísti o
Cara terísti a prin ipal de autmatos não-determinísti os: dois ou mais estados
podem estar ativos simultaneamente.
Situações de uso:
• Quando não se sabe ao erto qual estado o sistema se en ontra após o orrido um
evento (problema de observabilidade)
• O símbolo ε pode fazer parte explí ita do onjunto de eventos
Denição: um autmato não-determinísti o é dado pela sextupla
Gnd = (X,End, fnd,Γnd, xnd,0,Xm)
om fnd : X × End → 2X e xnd,0 ⊆ X (pode ter mais de 1 estado ini ial).
End = E ∪ ε ↔ ε apare e expli itamente no grafo
End = E ↔ ε não apare e expli itamente no grafo
42
Autmatos não-determinísti os: Exemplos
43
Autmatos não-determinísti os: ǫ-Al an e O ǫ-Al an e de um estado x ∈ X é o menor onjunto ǫR(x) tal que:
• x ∈ ǫR(x);
• se y ∈ ǫR(x) e fnd(y, ǫ) é denido então fnd(y, ǫ) ⊂ ǫR(x)
Se B ⊂ X , então ǫR(B) :=⋃
x∈B ǫR(x).
44
Autmatos não-determinísti os: Função de
transição estendida
Função estendida: fnd : X × E∗ → 2X é denida re ursivamente por
• fnd(x, ǫ) := ǫR(x);
• para um string w = se ∈ E∗
om s ∈ E∗
e e ∈ E:
fnd(x,w) := ǫR
⋃
y∈fnd(x,s)
fnd(y, e)
= ǫR
(
z : z ∈ fnd(y, e) para algum y ∈ fnd(x, s))
45
Linguagens representadas pelo autmato não
determinísti o
Linguagem gerada pelo autmato Gnd = (X,E ∪ ǫ , fnd,Γnd, xnd,0,Xm):
L(Gnd) :=
s ∈ E∗ : (∃x0 ∈ xnd,0)∣
∣
∣fnd(x0, s) está denido
Linguagem mar ada pelo autmato Gnd:
Lm(Gnd) :=
s ∈ L(Gnd) : (∃x0 ∈ xnd,0)∣
∣
∣fnd(x0, s) ∩Xm 6= ∅
46
Autmato não-determinísti o × determinísti o
Exemplo: determine L(Gnd) e Lm(Gnd) para o autmato abaixo:
Um equivalente determinísti o pode ser o autmato seguinte:
47
Autmato observador
Sendo Gnd um autmato não-determínsti o, o autmato observador Gobs
• é denido omo sendo um autmato determinísti o equivalente a Gnd, ou seja,
I. Gobs é determinísti o;
II. L(Gobs) = L(Gnd) e
III. Lm(Gobs) = Lm(Gnd)• desempenha o mesmo papel de um observador de estados
Gnd = (X,E ∪ ε, fnd,Γ, x0,Xm)
⇓ Obs (∗)
Gobs = (Xobs, E, fobs,Γ, x0,obs, Xm,obs)
48
Autmato observador: Heurísti a
Exemplo de um autmato observador:
49
Observador para Automato não-determinísti o
Denição: O observador de um autmato não determinísti o
Gnd = (X,E ∪ ε, fnd, xnd,0,Xm),
denotado por Obs (Gnd), é denido por
Obs (Gnd) = Gobs := (Xobs, E, fobs, xobs,0, Xobs,m) = Ac (Xd, E, fd, xobs,0,Xd,m)
Xd := 2X \ ⊘
xobs,0 := ǫR (xnd,0)
Xd,m := B ∈ Xd : B ∩Xm 6= ⊘
fd : Xd × E → Xd
I. fd (B, e) := ǫR(⋃
x∈B fnd (x, e))
II. fd (B, e) é não-denido se ∀x ∈ B, fnd (x, e) é não-denida
50
Observador para Automato não-determinísti o
Exemplo: obtenha um autmato observador para o Gnd abaixo.
51
Observador: Algoritmo Alternativo
Dado um autmato não determinísti o Gnd = (X,E ∪ ε, fnd, xnd,0,Xm),
o observador Obs (Gnd) = (Xobs, E, fobs, xobs,0, Xobs,m)
pode ser onstruído pelo Algoritmo:
xobs,0 := ǫR (xnd,0)
Xobs ← xobs,0
Repita até que o onjunto Xobs não possa mais ser aumentado:
para ada B ∈ Xobs e e ∈ E
I. fobs (B, e) := ǫR (x ∈ X : (∃y ∈ B) [x ∈ fnd (y, e)])
II. fobs (B, e) é não-denido se ∀x ∈ B, fnd (x, e) é não-denida
III. se fobs (B, e) é denido então Xobs ← Xobs ∪ fobs (B, e)
Xobs,m := B ∈ Xobs : B ∩Xm 6= ⊘
52
Autmatos par ialmente observáveis: Al an e
Não-Observável
Dado um autmato determinísti o par ialmene observável
G = (X,E, f, x0, Xm),
E = Eo ∪ Euo
Eo é o onjunto dos eventos observáveis
Euo é o onjunto dos eventos não-observáveis
O Al an e Não-Observável de um estado x ∈ X é o onjunto
UR(x) = y ∈ X : (∃t ∈ E∗uo) [f (x, t) = y]
Se B ⊂ X , então UR(B) :=⋃
x∈B UR(x).
53
Observador para Autmato par ialmente
observável
Dado um autmato determinísti o par ialmente observável G = (X,E, f, x0, Xm) om
E = Eo ∪ Euo, o observador Obs (G) = (Xobs, Eo, fobs, xobs,0,Xobs,m) pode ser
onstruído pelo Algoritmo:
xobs,0 := UR (x0), Xobs ← xobs,0
Repita até que o onjunto Xobs não possa mais ser aumentado:
para ada B ∈ Xobs e e ∈ Eo
I. fobs (B, e) := UR (x ∈ X : (∃y ∈ B) [x ∈ f (y, e)])
II. fobs (B, e) é não-denido se ∀x ∈ B, f (x, e) é não-denida
III. se fobs (B, e) é denido então Xobs ← Xobs ∪ fobs (B, e)
Xobs,m := B ∈ Xobs : B ∩Xm 6= ⊘
Observação: Pode-se estender a onstrução de observadores para autmatos
não-determinísti os om eventos não-observáveis.
54
Propriedades do Observador
Seja Po a projeção natural de E∗
em E∗o . O observador Obs (G) tem as seguintes
propriedades:
I. Obs (G) é determinísti o;
II. L(Obs (G)) = Po [L(G)];
III. Lm(Obs (G)) = Po [Lm(G)];
IV. Seja B(t) = fobs(xobs,0, t), onde t ∈ Po [L(G)]. Então x ∈ B(t) se e só se x é
al ançável em G por um string em
P−1o (t) ∩ L(G)
55
Observador: exer í io
Exer í io: Supondo Euo = ed, u, v o onjunto dos eventos não-observáveis,
obtenha um autmato observador para o Gnd abaixo.
56
Autmato observador
Exer í io: problema 2.29 (pp128). Substituir a por ε.
57
Estimação de estados e diagnósti o
O autmato observador nada mais é do que um estimador de estados para sistemas
em que nem todos os eventos são dete táveis. Se todos os eventos são dete táveis,
então Gobs = G.
Uma interpretação para ε em um autmato não-determinísti o: eventos não
observáveis (não mensuráveis, ou não dete táveis ou simplesmente não modelados).
Partição de E:
E = Eo ∪ Euo
om Eo representando os eventos observáveis e Euo os eventos não observáveis.
Problema do diagnósti o: por meio de obervações de Eo, determinar, om erteza ou
não, a o orrên ia de eventos de Euo. Será onsiderado apenas o aso de diagnosti ar
a o orrên ia um úni o evento ed ∈ Euo.
58
Algoritmo de obtenção do diagnosti ador
Algoritmo de obtenção do autmato diagnosti ador Gdiag para o evento ed: mesmos
pro edimentos usados para a onstrução do autmato observador, mas om
alterações:
• Passo M1: (Alteração na obtenção de UR(x) para diagnósti o)
Asso ie o rótulo N para estados x que podem ser al ançados a partir de x0 por
strings de [Euo\ed]∗
: xN
Asso ie o rótulo Y para estados x que podem ser al ançados a partir de x0 por
strings de E∗uo que ontenham pelo menos uma o orrên ia de ed: xY ;
Se existir um estado x que pode ser al ançado a partir de x0 por strings de E∗u
om e sem a o orrên ia de ed, então riam-se dois estados em x0,diag: xN e
xY .
• Passo M2:
Aplique as regras do algoritmo original para obtenção de Gobs, mas pro urando
apli ar as regras da alteração usada no Passo 1 a ima.
Propague Y : qualquer novo estado derivado do estado xY deve onter também
o rótulo Y , indi ando que ed já o orreu desde o estado ini ial.
59
Diagnósti o
Exer í io: Sendo Eu = ed, u, v e ed o evento a ser diagnosti ado, onstruir
Gdiag para o Gnd abaixo (Fig. 2.24).
60
Diagnósti o
61
Estados Equivalentes e Minimização do Espaço
de Estados
Denição Seja G um autmato om função de transição total. Denote por G (x) o
mesmo autmato G apenas mudando o estado ini ial para x. Dois estados x e y de G
são equivalentes se
Lm (G (x)) = Lm (G (y)) .
Em outras palavras, dois estados são equivalentes se eles tem o mesmo omportamento
futuro em termos de linguagem mar ada.
Dois ou mais estados equivalentes podem ser agregados para formar um novo
autmato que mar a a mesma linguagem om um número menor de estados.
O autmato determinísti o que mar a a linguagem L om número mínimo de estados
é denominado re onhe edor anni o de L.
62
Estados Equivalentes (Observações)
Segue imediatamente da denição que
se x ∈ Xm e y /∈ Xm então x e y não são equivalentes.
para x 6= y om ambos mar ados (ou ambos não mar ados), se
f (x, e) = f (y, e) ,∀e ∈ E então x e y são equivalentes.
para x 6= y om ambos mar ados (ou ambos não mar ados), se para algum e1 ∈ E
temos f (x, e1) = y e f (y, e1) = x e f (x, e) = f (y, e) ,∀e ∈ E\ e1 então x e
y são equivalentes.
63
Estados Equivalentes (Algoritmo)
lista de (x, y) ini ia vazia para todo par (x, y) ∈ X ×X
sinalize ( omo não equivalente, e om o sinal F ) todo par (x, y) ∈ Xm × (X\Xm)
Para todo par (z, w) ∈ X ×X não sinalizado no passo anterior
• se (f (z, e) , f (w, e)) é sinalizado para algum e ∈ E então
sinalize (z, w)
sinalize todos os pares não sinalizados (u, v) na lista de (z, w). Repetir este
passo para ada par (u, v) da lista até que mais nenhuma sinalização seja
possível.
• se (f (z, e) , f (w, e)) não é sinalizado para nenhum e ∈ E então
para todo e ∈ E se f (z, e) 6= f (w, e), então a res ente (z, w) na lista de
(f (z, e) , f (w, e)).
Ao m do pro edimento, os pares que permane eram não sinalizados orrespondem a
pares de estados que são equivalentes.
64
Estados Equivalentes
Exer í io: Obtenha estados equivalentes e o autmato re onhe edor anni o.
65
Solução: Estados Equivalentes
x0 e xnot1 são equivalentes.
66
Lista de Exer í ios: Capítulo 2 do livro do
Cassandras 2008
Linguagem e Automatos: 2.1-2.19
Observador: 2.21, 2.40
Expressões Regulares: 2.22-2.26
Minimização do espaço de estados: 2.29.
Linguagem Complementar: 2.30
Diagnósti o: 2.33, 2.34, 2.41, 2.42
67
Controle Supervisório
Dado o autmato G = (X,E, f,Γ, x0, Xm) om E = Ec ∪ Euc, Euc = onjunto dos
eventos não ontroláveis.
O supervisor (admissível) S é dado por
S : L(G)→ 2E
onde
Euc ∩ Γ(
f (x0, s))
⊆ S (s) .
O sistema de malha fe hada é denotado S/G
68
Linguagens gerada e mar ada. Bloqueio
A linguagem gerada por S/G é denida re ursivamente por
I. ǫ ∈ L(S/G)
II. [sσ ∈ L(S/G)]⇐⇒ [(s ∈ L(S/G)) e (σ ∈ S(s)) e (sσ ∈ L(G))]
A linguagem mar ada por S/G é denida omo
Lm(S/G) := L(S/G) ∩ Lm(G).
O SED S/G é bloqueante se L(S/G) 6= Lm(S/G).
69
Linguagens gerada e mar ada. Bloqueio
Exemplo 3.1 Sejam
um autmato G tal que L(G) = abc e Lm(G) = ab
um supervisor S tal que
S(ǫ) = a
S(a) = b
S(ab) = ∅.
Determinar Lm(S/G), L(S/G).
O SED S/G é bloqueante?
70
Controle
Teorema da Controlabilidade: Considere G = (X,E, f,Γ, x0) onde Euc ⊆ E é
o onjunto dos eventos não- ontroláveis. Seja K ⊆ L(G), om K 6= ∅. Então
existe um supervisor S tal que L(S/G) = K se e só se KEuc ∩ L(G) ⊆ K.
Se a ondição de ontrolabilidade é satisfeita, então dizemos que K é uma linguagem
ontrolável om respeito à linguagem L(G) e alfabeto não- ontrolável Euc. Além
disso, o supervisor é dado por
S(s) =[
Euc ∩ Γ(
f (x0, s))]
∪
σ ∈ Ec : sσ ∈ K
.
Uma realização de S é um autmato nito que mar a a linguagem K.
71
Controle Sem Bloqueio
Teorema da Controlabilidade Sem Bloqueio: Considere G = (X,E, f,Γ, x0)
onde Euc ⊆ E é o onjunto dos eventos não- ontroláveis. Seja K ⊆ Lm(G), om
K 6= ∅. Então
existe um supervisor S tal que L(S/G) = K e Lm(S/G) = K se e só se
KEuc ∩ L(G) ⊆ K (K é ontrolável para L(G) e Euc) e
K = K ∩ Lm(G) (K é fe hado em Lm(G)).
Se as ondições de ontrolabilidade sem bloqueio são satisfeitas, então um supervisor é
dado por
S(s) =[
Euc ∩ Γ(
f (x0, s))]
∪
σ ∈ Ec : sσ ∈ K
.
Obs: S(s) é o mesmo do aso onde bloqueio não foi onsiderado.
72
Teste de Controlabilidade para Linguagens
Regulares K
Considere
G = (XG, E, fG,ΓG, xG0) onde Euc ⊆ E é o onjunto dos eventos
não- ontroláveis;
uma linguagem regular K 6= ∅, K ⊆ E∗
;
H = (XH, E, fH ,ΓH, xH0) um autmato que tal que L(H) = K.
Se para algum (hi, gj) ∈ XH×G,
[ΓG (gj) \ΓH×G (hi, gj)] ∩ Euc 6= ∅
então K é não- ontrolável om respeito à L(G) e Euc.
73
Teste de Controlabilidade
Exemplo (p.148) Verique a ontrolabilidade de K = Lm(Ha) om respeito à L(G) e
I. Euc = b1
II. Euc = b2
III. Euc = a1
74
Realização Padrão de Supervisores
Considere G = (X,E, f,Γ, x0) onde Euc ⊆ E é o onjunto dos eventos
não- ontroláveis. Seja K ⊆ L(G), om K 6= ∅ ontrolável e seja o supervisor dado por
S(s) =[
Euc ∩ Γ(
f (x0, s))]
∪
σ ∈ Ec : sσ ∈ K
.
Uma realização em autmato de S é dada pelo autmato
R = (XR, E, fR,ΓR, xR0,XR)
onde R é trim e Lm(R) = L(R) = K.
Para esta realização temos
S(s) = ΓR
(
fR (xR0, s))
, ∀s ∈ K;
Lm(S/G) = Lm(R×G) = K ∩ Lm(G);
L(S/G) = L(R×G) = K.
75
Realização Padrão de Supervisores
Exemplo (p.155) Sabe-se que K = Lm(Ha) é ontrolável om respeito à L(G) e
Euc = a1, a2. Construir uma realização para o supervisor S tal que L(S/G) = K.
76
Espe i ações
77
Espe i ação do tipo estados ilegais
Considere G = (X,E, f,Γ, x0,Xm) onde Xi ⊆ X é o onjunto dos estados ilegais.
A espe i ação orrespondente à operação "O1: elimine os estados ilegais de
G"pode ser traduzida omo
La = strings gerados do autmato resultante da operação O1,
e pode ser des rita omo
La = L(Ha) onde Ha = Ac (X\Xi, E, f,Γ, x0,Xm).
A espe i ação orrespondente à operação "O2: elimine os estados ilegais de G e
outros ne essários para que o autmato resultante não tenha bloqueio"pode ser
traduzida omo
Lam = strings gerados do autmato resultante da operação O2,
e pode ser des rita omo Lam = Lm(Ha) onde
Ha = Trim (X\Xi, E, f,Γ, x0, Xm).
78
Espe i ação do tipo state splitting
79
Espe i ação do tipo alternan ia de eventos
Espe i ação: alterne os eventos a e b omeçando om o evento a
Hspec
O autmato apli ável para implementar a espe i ação sobre G é Ha = Hspec ‖G.
80
Espe i ação do tipo substring ilegal
substring ilegal (forbidden) sf = σ1σ2...σn ∈ E∗.
O autmato apropriado para eliminar sf de todos os strings de L (G) é dado por
Ha = Hspec ×G onde Hspec = (Xspec, E, fspec, xspec,0, Xspec)
81
Espe i ação do tipo substring ilegal
Dados:
alfabeto E = a, b, c, d
substring ilegal (forbidden) sf = abcd
um autmato Hspec que aptura a essên ia da espe i ação
L (Hspec) = E∗\E∗ sfE∗
(1)
é
82
Espe i ação do tipo substring ilegal
83
Lista: Controle Supervisório
Ex. 3.1, 3.3-3.5 do Capítulo 3 do livro do Cassandras 2008.
84
top related