Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante...

85

Transcript of Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante...

Page 1: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

167657 - Controle para Automação

Departamento de Engenharia Elétri a

Universidade de Brasília

Linguagens e Autmatos

Henrique C. Ferreira

henriqueene.unb.br

Page 2: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 3: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 4: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 5: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 6: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 7: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 8: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 9: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 10: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 11: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 12: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Lista de Exer i ios Linguagem de SEDs

Lista de Exer í ios (Cassandras 2008): 2.1 a 2.4.

11

Page 13: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 14: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 15: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 16: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Exemplo

Como a o modelo do autmato nito representado pelo grafo abaixo?

15

Page 17: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Autmato om entradas e saídas

Autmato de Moore: autmato om saídas asso iadas aos estados.

16

Page 18: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Autmato om entradas e saídas

Autmato de Mealy: autmato om ar os rotulador por evento de endrada/ evento de

saída.

17

Page 19: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 20: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 21: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 22: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 23: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 24: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 25: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 26: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Bloqueio

Exemplo: o que dizer a respeito do string ag? O que dizer dos estados 3 e 4?

25

Page 27: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Operações sobre Autmatos

Operações Unárias

Parte A essível

Parte Co-a essível

Operação Trim

Complementar

26

Page 28: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 29: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 30: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 31: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 32: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 33: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 34: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 35: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 36: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 37: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 38: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 39: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 40: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 41: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 42: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Exemplo 2.16: omposição paralela

Obter a omposição em paralelo

G1 G2

41

Page 43: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 44: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Autmatos não-determinísti os: Exemplos

43

Page 45: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 46: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 47: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 48: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 49: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 50: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Autmato observador: Heurísti a

Exemplo de um autmato observador:

49

Page 51: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 52: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Observador para Automato não-determinísti o

Exemplo: obtenha um autmato observador para o Gnd abaixo.

51

Page 53: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 54: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 55: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 56: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 57: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 58: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Autmato observador

Exer í io: problema 2.29 (pp128). Substituir a por ε.

57

Page 59: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 60: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 61: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 62: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Diagnósti o

61

Page 63: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 64: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 65: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 66: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Estados Equivalentes

Exer í io: Obtenha estados equivalentes e o autmato re onhe edor anni o.

65

Page 67: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Solução: Estados Equivalentes

x0 e xnot1 são equivalentes.

66

Page 68: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 69: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 70: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 71: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 72: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 73: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 74: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 75: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 76: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 77: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 78: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Espe i ações

77

Page 79: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 80: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Espe i ação do tipo state splitting

79

Page 81: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 82: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 83: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

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

Page 84: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Espe i ação do tipo substring ilegal

83

Page 85: Aula02 DES linguagem automatos - UnB | FT | ENE · Máquina de enda V Automática Refrigerante Conversa entre o r rado comp e a máquina automática: e1 = 10 ⇒ falta 30 e1 = 10,e2

Lista: Controle Supervisório

Ex. 3.1, 3.3-3.5 do Capítulo 3 do livro do Cassandras 2008.

84