• Nenhum resultado encontrado

Problemas de Planejamento

3.1.1 Conceitos Básicos

3 Preliminares

3.1 Sistemas a Eventos Discretos

Sistemas que percebem as ocorrências do ambiente à sua volta através de estímulos instântaneos, são conhecidos como Sistemas a Eventos Discretos (SEDs). São exemplos desse tipo de estímulos, denominados eventos, o ligar e desligar de uma máquina, a mudança de estado de um sensor, o início e o fim de uma tarefa. A natureza instantânea dos eventos confere ao sistema a característica de ser discreto no tempo, assim, o uso de modelos matemáticos convencionais baseados em equações diferenciais não é adequado para a representação de um SED, além da Teoria de Controle Clássica não ser uma boa opção para realizar o controle destes. Logo, se tornou necessário o desenvolvimento de uma teoria à parte não só para a modelagem de um SED, como também para o desenvolvimento do controle destes sistemas, surgindo assim a Teoria de Controle Supervisório (TCS), desenvolvida porRamadge e Wonham(1989), baseada na Teoria de Linguagens e Autômatos.

O presente capítulo traz os principais conceitos desenvolvidos porRamadge e Wonham

(1989), também expostos emCassandras e Lafortune(2008), focando nos conceitos essenciais para o desenvolvimento deste trabalho.

3.1.1 Conceitos Básicos

3.1.1.1 Eventos

Um estímulo instantâneo que faz com que o sistema altere seu estado é chamado de evento. A ocorrência de um evento é simbolizada normalmente por uma letra, neste trabalho se-rão usadas letras gregas, como α, β , γ, σ entre outras. O conjunto de eventos que podem ocorrer em um sistema é denominado alfabeto, representado por Σ. Logo, para o SED apresentado em Fig.8, temos Σ = {α, β }.

Para representar eventos que ocorrem de forma consecutiva em um mesmo sistema, é realizada a justaposição destes eventos, que são colocados na sequência em que ocorrem, formando o que é conhecido como palavra ou cadeia. Logo, cadeias são sequências de eventos, e serão representadas daqui pra frente por letras minúsculas, mas não letras gregas. Uma cadeia

q0 q1

α

β

40 Capítulo 3. Preliminares

só pode conter os eventos do alfabeto sobre o qual ela foi definida, assim para Σ = {α, β } os seguintes exemplos são cadeias s = αβ β , t = αα.

O comprimento de uma cadeia s é denotado por |s| e é estabelecido como sendo a quantidade de eventos que a mesma possui, logo para a cadeia s = αβ β , temos que |s| = 3, já que s é composta por tês eventos. Uma cadeia que tenha comprimento igual a zero é conhecida como cadeia vazia e é denotada por ε, sendo esta de grande importância na teoria de SEDs.

É possível juntar duas ou mais cadeias para formar uma cadeia de comprimento maior, tal operação é conhecida como concatenação de cadeias. Ao concatenar duas cadeias, a cadeia resultante é formada pela justaposição ordenada das cadeias dos operadores. Assim, a ordem que a concatenação é realizada importa para o resultado. Para s = αβ β e t = αα, as possíveis cadeias resultantes da concatenção destas cadeias são st = αβ β αα e ts = αααβ β , sendo que st̸= ts. Já que uma cadeia pode ser formada pela concatenação de outras cadeias, os conceitos de prefixo e sufixo são diretos, para a cadeia r = st, temos que s é prefixo de r e que t é sufixo de r. A cadeia vazia ε é considerada prefixo e sufixo de qualquer cadeia, εs = s e sε = s. Também é possível repartir uma cadeia em cadeias menores, as quais são chamadas de subcadeias. Assim, tem-se que se a ≤ s significa que a é uma subcadeia de s. Como exemplo, se s = αβ β e a = αβ , logo a ≤ s.

3.1.1.2 Linguagens

O conjunto de todas as possíveis cadeias finitas compostas por eventos de Σ é denotado por Σ*, incluindo a cadeia vazia ε. Uma linguagem é qualquer subconjunto de Σ*. Para o al-fabeto Σ = {α, β }, um exemplo de uma linguagem é L = {αβ , ααα, β β , αβ αβ }. Σ*, Σ e /0 também são linguagens sobre Σ.

Existem algumas operações que podem ser feitas sobre as linguagens. A operação de concatenação, já definida para cadeias de eventos, pode ser estendida para linguagens. Assim, para duas linguagens L1, L2 ⊆ Σ*, a concatenação de L1 e L2, denotada por L1L2, é definida por L1L2 = {s ∈ Σ*| s = s1s2, s1 ∈ L1e s2 ∈ L2}. O prefixo-fechamento de uma linguagem L⊆ Σ*, denotado por L, é definido como o conjunto composto pelos prefixos de todas as cadeias presentes em L. De uma maneira mais formal, tem-se L = {s ∈ Σ*| ∃t ∈ Σ*e st ∈ L}. Se todos os prefixos das cadeias de uma linguagem L, também são cadeias de L, então a linguagem L é definida como sendo prefixo-fechada, ou seja, L = L. Por fim, é possível realizar o fechamento Kleene de uma linguagem L ⊆ Σ*. O fechamento Kleene, L*, é a concatenação de um número finito de cadeias de L, incluindo a cadeia vazia ε, assim L*= {ε} ∪ L ∪ LL ∪ LLL ∪ ... .

Linguagens são uma maneira formal de se representar o comportamento de um SED. Sendo Σ o alfabeto que contém os eventos de um sistema H, o comportamento deste sistema pode ser modelado por duas linguagens L, Lm⊆ Σ*. A linguagem L corresponde ao comporta-mento gerado pelo sistema, ou seja, todas as ações que são possíveis em H, já a linguagem Lm corresponde às ações do sistema H que completam alguma tarefa. As linguagens L e Lm são

3.1. Sistemas a Eventos Discretos 41 q0 q1 q2 q3 α β γ β γ

Figura 9 – Exemplo de autômato determinístico G.

denominadas linguagem gerada e marcada, respectivamente. É intuitivo concluir que Lm⊆ L e que L é uma linguagem prefixo-fexada, ou seja, L = L.

3.1.1.3 Autômatos

Um autômato determinístico de estados finitos é uma quintúpla G = (Q, Σ, →, q0, Qm), onde:

∙ Q é um conjunto finito de estados; ∙ Σ é um conjunto finito de eventos; ∙ → ⊆ Q × Σ × Q é a função de transição; ∙ q0∈ Q é o estado inicial, e;

∙ Qm⊆ Q é o conjunto finito de estados marcados.

A função de transição é escrita em notação infixada x −→ y, e é estendida para cadeiasσ em Σ* da seguinte forma: x −→ x para todo x ∈ Q, e xε −→ z se x −→ y e ys −→ z paraσ algum y ∈ Q. Então, x −→ indica xs −→ y para algum s ∈ Σs *. G é determinístico, se x−→ yσ 1 e x−→ yσ 2sempre implica em y1= y2.

Um autômato pode ser representado graficamente por um grafo dirigido, onde os nós são os estados e os arcos nomeados são as transições. Os nós representados com um duplo círculo são os estados marcados e o estado inicial é indicado por uma seta. A Fig.9mostra um exemplo de autômato determinístico.

Duas linguagens estão associadas a um autômato G, a linguagem gerada L (G) e a linguagem marcadaLm(G). A linguagem gerada possui todas as cadeias de eventos que partem do estado inicial até algum estado qualquer do autômato, L (G) = {s ∈ Σ* | q0−→}. Já as linguagem marcada é composta pelas cadeias de eventos que partindo do estado inicial chegam a um estado marcado,Lm(G) = {s ∈ Σ*| q0−→ Qs m}. Portanto, o comportamento de um SED pode ser representado por um autômato G, sendo L (G) a linguagem gerada pelo sistema e Lm(G) a linguagem marcada do sistema.

42 Capítulo 3. Preliminares

Os estados de um autômato possuem duas classificações distintas: acessibilidade e co-acessibilidade. Um estado é considerado acessível, caso seja possível alcançar esse estado par-tindo do estado inicial. Para um estado ser co-acessível é necessário que a partir dele seja pos-sível alcançar um estado marcado. Como exemplos tem-se que na Fig. 9 o estado q3 não é acessível e, o estado q2não é co-acessível.

A partir da classificação dos estados, é possível definir certas características para um autômato. Um autômato G é dito acessível se todos os seus estados são acessíveis. É possível separar a componente acessível Gacde um autômato eliminando do autômato os estados que não sejam acessíveis, Gac= Ac(G). Caso todos os estados de um autômato G sejam co-acessíveis, o autômato é dito ser não-bloqueante, o que leva aL (G) = Lm(G). Um autômato que possui todos os seus estados acessíveis e co-acessíveis é dito ser trim. Ao se retirar os estados não acessíveis e não co-acessíveis de um autômato é obtida sua componente Gtrim, assim Gtrim= Trim(G). A Fig10é a componente trim do autômato representado na Fig.9.

q0 α q1

γ

Figura 10 – Gtrimdo autômato da Fig.9.

Documentos relacionados