pontifíciauniversidadecatólicadoriograndedosul ...paulof/ads/aqs-tudo.pdf · processo de markov:...

88
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Avaliação Quantitativa de Sistemas Rafael Chanin Fernando L. Dotti Paulo Fernandes Afonso Sales Porto Alegre, agosto de 2005.

Upload: doannhan

Post on 18-Oct-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática

Avaliação Quantitativa de Sistemas

Rafael Chanin Fernando L. Dotti Paulo Fernandes Afonso Sales

Porto Alegre, agosto de 2005.

iii

Resumo

Este documento é a primeira versão de um material didático de apoio à disciplina de AvaliaçãoQuantitativa de Sistemas, ministrada aos cursos de Informática da Faculdade de Informáticada Pontifícia Universidade Católica do Rio Grande do Sul. Seu uso é limitado a este fim. Areprodução deste material para outros fins é indevida.

O documento é organizado conforme as principais partes da referida disciplina. Ao longodo documento (assim como da disciplina) são abordados vários formalismos estocásticos paramodelagem de sistemas. Para cada formalismo de modelagem apresentado, procura-se descrevê-lo informalmente e formalmente, mostrar a forma de solução a ser empregada, exemplificar, epropor exercícios para fixação de conceitos.

O capítulo de Introdução contextualiza o conteúdo a ser abordado e traz, de maneira bastantesucinta, alguns conceitos que se consideram dominados pelo leitor do restante do documento. Aseguir, dedica-se um capítulo a cada um dos temas: Processo de Nascimento e Morte, Cadeiasde Markov, Redes de Filas de Espera, Redes de Petri Estocásticas e Redes de Autômatos Es-tocásticos.

iv

Sumário

RESUMO iii

LISTA DE TABELAS vii

LISTA DE FIGURAS ix

LISTA DE SÍMBOLOS E ABREVIATURAS xi

Capítulo 1: Introdução 11.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Avaliação de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Técnicas de Avaliação de Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Fases da Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Medidas de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Noções de Probabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.7 Notação de Teoria das Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Capítulo 2: Processo de Nascimento e Morte 92.1 Definição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Definição Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 Solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1 Solução para M/M/1/∞ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Solução para M/M/C/K . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Exemplificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Capítulo 3: Cadeias de Markov 173.1 Definição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1.1 Escala de Tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.2 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.3 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2 Definição Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.3 Solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.4 Exemplificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.4.1 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

vi SUMÁRIO

3.4.2 Gerador Infinitesimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4.3 Vetor de Probabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.5 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Capítulo 4: Redes de Filas de Espera 254.1 Definição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.1 Sistema de Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2 Definição Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.3 Solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3.1 Solução para Redes Abertas . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3.2 Solução para Redes de Filas Fechadas . . . . . . . . . . . . . . . . . . . . 31

4.4 Exemplificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.1 Exemplificação com rede fechada . . . . . . . . . . . . . . . . . . . . . . . 32

4.5 Exercícios: Filas Abertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.6 Exercícios: Filas Fechadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Capítulo 5: Redes de Autômatos Estocásticos 375.1 Definição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.1.1 Autômatos Estocásticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.1.2 Eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.1.3 Taxas e Probabilidades Funcionais . . . . . . . . . . . . . . . . . . . . . . 40

5.2 Definição Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.2.1 SAN bem definida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Capítulo 6: Redes de Petri Estocásticas 516.1 Redes de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.1.1 Definição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.1.2 Exemplificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2 Redes de Petri Estocásticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.2.1 Definição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.2.2 Definição Formal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2.3 Exemplificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

REFERÊNCIAS BIBLIOGRÁFICAS 69

Apêndice A: Armazenamento do Descritor Markoviano de SAN 71A.0.1 Exemplificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74A.0.2 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74A.0.3 Tensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Lista de Tabelas

6.1 Marcações da Figura 6.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

A.1 Descritor Markoviano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

viii LISTA DE TABELAS

Lista de Figuras

1.1 Estação de serviço com m servidores. . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1 Processo de nascimento e morte. . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Processo de nascimento e morte M/M/1/∞. . . . . . . . . . . . . . . . . . . . . . 102.3 Processo de nascimento e morte M/M/1/4. . . . . . . . . . . . . . . . . . . . . . 112.4 Processo de nascimento e morte M/M/C/K. . . . . . . . . . . . . . . . . . . . . . 122.5 Exemplificação de um processo de nascimento e morte. . . . . . . . . . . . . . . . 12

3.1 Andrei Andreyevich Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Modelo em CTMC com quatro estados e seis transições . . . . . . . . . . . . . . 193.3 Modelo em CTMC com oito estados . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.1 Tipos de filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.2 Exemplo de rede de filas fechada . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.3 Exemplo de rede de filas aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.4 Rede de filas de espera fechada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.5 Rede de fila de espera aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.6 Exemplificação com rede de fila de espera fechada . . . . . . . . . . . . . . . . . . 32

5.1 Modelo em SAN com 2 autômatos independentes . . . . . . . . . . . . . . . . . . 395.2 CTMC equivalente ao modelo da Figura 5.1 . . . . . . . . . . . . . . . . . . . . . 395.3 Modelo em SAN com 2 autômatos, 1 evento sincronizante e uma taxa funcional . 415.4 CTMC equivalente ao modelo da Figura 5.3 . . . . . . . . . . . . . . . . . . . . . 42

6.1 Exemplo de representação gráfica de uma Rede de Petri . . . . . . . . . . . . . . 526.2 Exemplo de uma Rede de Petri marcada . . . . . . . . . . . . . . . . . . . . . . . 526.3 Disparo da transição t1 de uma Rede de Petri . . . . . . . . . . . . . . . . . . . . 536.4 Árvore de atingibilidade da Figura 6.2 . . . . . . . . . . . . . . . . . . . . . . . . 546.5 Compartilhamento de recursos com exclusão mútua - PN . . . . . . . . . . . . . . 556.6 Exemplo de uma Rede de Petri Temporizada . . . . . . . . . . . . . . . . . . . . 576.7 Exemplo de uma Rede de Petri Estocástica . . . . . . . . . . . . . . . . . . . . . 586.8 Árvore de atingibilidade da Figura 6.7 . . . . . . . . . . . . . . . . . . . . . . . . 596.9 Cadeia de Markov equivalente à Figura 6.7 . . . . . . . . . . . . . . . . . . . . . . 596.10 Compartilhamento de recursos com exclusão mútua - SPN . . . . . . . . . . . . . 626.11 Árvore de atingibilidade da Figura 6.10 . . . . . . . . . . . . . . . . . . . . . . . 62

A.1 Modelo em SAN com três autômatos . . . . . . . . . . . . . . . . . . . . . . . . . 74

x LISTA DE FIGURAS

Lista de Símbolos e Abreviaturas

CTMC Continuous Time Markov Chains 17

DTMC Discrete Time Markov Chains 18

PN Petri Nets 51

RS Reachability Set 53

TPN Timed Petri Nets 56

SPN Stochastic Petri Nets 57

xii LISTA DE SÍMBOLOS E ABREVIATURAS

Capítulo 1

Introdução

1.1 Motivação

Ao longo de sua vida profissional, o egresso dos cursos da área de Computação certamentese depara com situações onde tem que analisar uma situação do ponto de vista quantitativo. Aseguir, ilustramos algumas situações para tentar tornar um pouco mais concretos os aspectosque pretendemos tratar.

• Situação 1Suponha que à placa de rede de um computador chegam, em média, 300 pacotes porsegundo. Desprezando as variações de tamanho de pacote e sabendo que a placa conseguetratar em média 500 pacotes por segundo, pergunta-se: quantos pacotes o buffer da placadeve poder armazenar para que a probabilidade de perda de pacote seja menor que 1 em1000 ?

• Situação 2Suponha que em um posto do INSS 5 pessoas podem ficar sentadas a espera. Lá forano entanto, uma fila de capacidade infinita continua, dando voltas e voltas na quadra.Supondo que ninguém fura a fila e que ninguém morre na fila, e dado que 18 pessoas porhora entram na fila e que o único médico do posto atende criteriosamente uma pessoa acada 3 minutos, diga:(i) Todas pessoas que entram na fila poderão ser atendidas em prazo limitado?(ii) Quanto % do seu tempo o médico do posto pode dormir em uma maca a sua disposição?(iii) Qual a probabilidade de haver ao menos 1 pessoa tomando chuva na fila, em um diachuvoso?(iv) Qual a probabilidade de exatamente 2 pessoas estarem tomando chuva?

• Situação 3Suponha um sistema operacional embarcado que tem sempre as mesmas 4 tarefas rodando,cumprindo um fim específico. A CPU atende cada tarefa em média em 5 u.t. (unidadesde tempo). Uma tarefa sai da CPU 30% das vezes para esperar entrada do disco, 20%para esperar entrada da rede, e 50% das vezes por seu tempo de uso de CPU ter expirado(voltando para a fila ready). O disco atende à requisição, em média, em 10 u.t. Umaentrada da rede chega em média em 20 u.t. Pergunta-se:(i) qual o tamanho médio da fila ready;(ii) dobrar a velocidade de atendimento do disco resulta em alguma modificação significativano sistema ?

2 CAPÍTULO 1. INTRODUÇÃO

• Situação 4Em redes ad-hoc os pontos roteadores utilizam wireless. Cada estação wireless tem umraio de interferência. Se outra estação estiver neste raio de interferência, elas não podemtransmitir simultaneamente. Imagine uma rota de 10 estações onde cada estação está noraio de interferência de outras duas (anterior e posterior). Supondo uso de tecnologia IEEE802.11:(i) Qual a vazão líquida de dados na rota de 10 estações ?(ii) Aumentando-se o grau de interferência (cada estação interfere com 2 antes e 2 depois),qual o impacto na vazão líquida de dados ?

1.2 Avaliação de Sistemas

Avaliar um sistema é pronunciar-se sobre as características de um certo sistema. Dado umsistema real qualquer, uma avaliação deste sistema pode ser definida como toda e qualquerobservação feita sobre ele. Neste sendito, existem basicamente dois tipos de avaliação:

• Avaliação qualitativa: quando existe a necessidade de uma comparação com o senso-comum,ou ainda uma comparação com um referencial de base;

• Avaliação quantitativa: baseia-se na formulação de valores específicos, sem expressar con-siderações dos méritos dos valores obtidos.

Em princípio, toda avaliação tem por objetivo o estabelecimento de um julgamento quali-tativo sobre o sistema avaliado. No entanto, toda avaliação científica é feita sobre resultadosquantitativos. Tais resultados devem ser objetivamente apresentados ao usuário final, de formaque esse possa tomar decisões acerca de seu sistema. Esta disciplina, como o nome sugere, temfoco no aspecto quantitativo.

A aplicação prática da avaliação de desempenho é o conhecimento da situação (estado) dosistema avaliado. Tanto situações anteriores como situações atuais podem ser avaliadas paratornar possível a observação da evolução do sistema. Além disso, a observação do comportamentodo sistema ajuda a entender o seu funcionamento. Podem ser ainda avaliadas situações futuras,com a finalidade de previsão e planejamento.

Ainda, dentro do contexto de avaliação de sistemas, cabe salientar que é sempre recomendávelum estudo da confiabilidade do método; para este fim é freqüente realizar-se a comparação deresultados de diversos técnicas diferentes.

1.3 Técnicas de Avaliação de Sistemas

Existem diferentes técnicas de avaliação de desempenho de sistemas, que são tradicionalmentedivididas em três abordagens distintas [20]:

• Monitoração

Esta técnica, como o próprio nome sugere, consiste na observação (monitoração) de sis-temas reais. Dentre as técnicas citadas, esta é a que propicia maior fidelidade dos índicesobtidos, pois não é feita nenhuma abstração (modelagem) do sistema em questão. Porém,há algumas desvantagens visíveis desta abordagem, como por exemplo, a necessidade daexistência do sistema a ser avaliado. Isto pode gerar problemas em relação ao custo e ao

1.3. TÉCNICAS DE AVALIAÇÃO DE SISTEMAS 3

tempo, pois o sistema implementado pode não satisfazer as necessidades, tendo que serabandonado [20]. Uma outra desvantagem é a questão da amostragem. É necessário quese faça o uso correto de técnicas de estatística para que os dados recolhidos tenham validade.

• Simulação

Esta abordagem consiste em construir um modelo que simule o funcionamento do sistemaa ser avaliado. Este modelo deve descrever as características funcionais do sistema em umaescala adequada de tempo [20].

Este modelo deve conter os detalhes importantes referentes ao sistema, mas não a suatotalidade. Em outras palavras, há um certo nível de abstração. Contudo, deve-se salientarque esta abstração não deve acarretar na inclusão de erros no modelo nem mesmo naexclusão de características importantes.

Comparativamente à monitoração, a simulação costuma ser menos dispendiosa e consumirmenos tempo para que os índices sejam calculados, permitindo que sejam feitos quantosexperimentos forem necessários. Porém, por se tratar de uma abstração da realidade, afidelidade das medidas tende a ser menor na simulação se compararmos com a monitoração.Além disso, da mesma forma que na monitoração, a quantidade e representatividade dasamostras consideradas é muito importante para a obtenção de resultados corretos.

• Métodos Analíticos

Esta técnica de avaliação de desempenho, assim como a simulação, também se baseia nodesenvolvimento de um modelo do sistema real, porém com um nível de abstração mais alto.Neste caso, o modelo é puramente matemático. Neste tipo de modelo, o funcionamento dosistema real é reduzido a relações matemáticas.

Modelos analíticos podem ser determinísticos ou estocásticos. Em um modelo determinís-tico, todos os parâmetros do sistema são previamente determinados. Já em um mod-elo estocástico, o comportamento do sistema é analisado probabilisticamente, ou seja, osparâmetros do sistema são descritos por variáveis aleatórias, com distribuições de proba-bilidade convenientes.

No último caso, o sistema é descrito em termos de um conjunto de estados em que o mesmopode se encontrar e de transições estocásticas entre esses estados (uma transição estocásticaé aquela cuja ocorrência é descrita por uma variável aleatória [13]).

Desenvolver modelos analíticos normalmente exige maior abstração de aspectos da reali-dade, se comparado a modelos de simulação. Ainda, em alguns casos, não se consegue obteruma resolução numérica, mas sim uma resolução analítica1. Algumas vezes a complexidadecomputacional do modelo pode tornar a resolução muito cara, ficando mais dispendiosa queuma resolução igualmente aceitável em simulação.

Mesmo assim, métodos analíticos podem ser empregados com maior facilidade que outrosem vários casos. Uma vantagem desta técnica em relação as outras descritas é que não há

1Exemplificando: uma resolução numérica, passando por uma relação matemática dependente do espaço deestados (sistema de equações dependente do espaço de estados do problema), pode não ser possível pois o prob-lema pode ser estado infinito. Para alguns de tais casos é possível obter-se solução analítica à forma produto,com fórmulas independentes do número de estados. Como exemplo cita-se o processo de nascimento e morteM/M/1/∞.

4 CAPÍTULO 1. INTRODUÇÃO

a necessidade de se preocupar com um conjunto específico de amostras de funcionamentodo sistema para a obtenção dos índices de desempenho.

Desta forma, o domínio de métodos anlíticos para avaliação de sistemas compreende umferramental importante para profissionais da área de Informática.

1.4 Fases da Avaliação

A avaliação de um sistema exige que sejam seguidos alguns passos:

• Modelagem: nesta etapa, são realizadas as observações sobre o sistema e definem-se asabstrações com que se vai trabalhar. A modelagem exige a definição de uma abordagem demodelagem de sistemas. Ao final desta etapa, tem-se um modelo do sistema considerado;

• Extração ou Resolução: nesta etapa, são realizados os cálculos e o processamentonecessário à obtenção de resultados numéricos sobre o sistema a partir do modelo ger-ado na etapa anterior;

• Interpretação: a última etapa compreende a análise dos resultados obtidos e a tomadade decisão sobre alterações e melhorias.

1.5 Medidas de Desempenho

Desempenho pode ser definido como a maneira como um sistema se comporta. Isto é, odesempenho de um sistema é determinado por suas características de execução. Portanto, avaliaro desempenho de um sistema demanda definir quais características comportamentais interessamser consideradas. Por exemplo, se quisermos avaliar o desempenho de um automóvel, iremosconsiderar fatores tais como velocidade máxima, capacidade de aceleração (tempo necessáriopara ir de 0 Km/h a 100 Km/h), espaço de frenagem a uma dada velocidade, consumo médio decombustível, etc. Para sistemas computacionais, em geral consideram-se 4 fatores para medidade desempenho:

• Vazão (throughput): taxa de atendimento de pedidos pelo sistema. Ex.: Sistemas em lotes:jobs por segundo; Sistemas interativos: requisições por segundo; CPU: MIPS ou MFLOPS;Redes: pacotes por segundo (pps) ou bits por segundo (bps); Sistemas de processamentode transações: transações por segundo (TPS);

• Utilização: fatia de tempo em que o sistema permanece ocupado, atendendo a pedidos;

• População: quantidade de atendimentos a serem feitos em um determinado instante;

• Tempo de resposta: intervalo de tempo entre o pedido e o início/conclusão do serviço.

1.6 Noções de Probabilidade

• Fenômeno Determinístico: É possível saber que evento irá acontecer no futuro. Por ex-emplo, avanço de uma música em uma fita cassete. Sempre se sabe qual será a músicaseguinte, pois a ordem já é previamente conhecida;

1.6. NOÇÕES DE PROBABILIDADE 5

• Fenômeno Aleatório: não é possível saber que evento irá acontecer no futuro. Ao lançaruma moeda não há como saber-se qual lado ficará à vista quando a moeda chegar ao solo,mesmo após inúmeros lançamentos;

• Evento discreto: Considera-se a ocorrência de um fenômeno apenas em determinados in-stantes de tempo dentro de um período (verifica-se fenômeno a cada intervalo de 5 minutos,por exemplo);

• Evento contínuo: Fenômeno pode ocorrer em qualquer instante de tempo.

• Variável aleatória: Uma variável aleatória é uma função que reflete o resultado de umaexperiência aleatória. Podemos conhecer seu comportamento para um conjunto de valores,mas não sabemos o valor para uma ocorrência específica. Por exemplo,lançar uma moeda.

• Variável aleatória discreta: Seu conjunto possível de valores é composto por um númerofinito ou infinito enumerável de elementos.

• Variável aleatória contínua: Quando pode assumir qualquer valor de um intervalo denúmeros reais.

• Distribuição de probabilidade: Não é possível saber de antemão o valor de uma variávelaleatória e, para estudá-la, é necessário identificar os valores que ela pode assumir e com quefreqüência ela ocorre, ou seja, a sua distribuição de probabilidade. Exemplos: jogar moeda(P(cara), P(coroa)); jogar um dado (P(lado1), ...P(lado6)); jogar dois dados e obter umadeterminada soma (P(soma=2), P(soma=3), ... P(soma=12)); probabilidade de obter aprimeira cara somente na n=ésima jogada (exemplo de distribuição geométrica); etc. Estessão exemplos de distribuições discretas de probabilidade.

Temos também distribuições contínuas de probabilidade, quando o fenômeno observadopode assumir qualquer valor de uma escala. Seja a experiência aleatória medir o tempoentre dois eventos, por exemplo: o tempo entre duas requisições chegarem a um servidor;o tempo entre dois pacotes na rede; o tempo entre dois pacotes errados recebidos; tempoentre falhas de um componente eletrônico; tempo decorrido para abrir a porta novamente.

• Distribuição exponencial: as únicas distribuiçoes com característica "memoryless"são a ge-ométrica (discreta) e a exponencial (contínua). "Memoryless"significa, de forma intuitiva,que saber o que aconteceu no passado não ajuda a prever o futuro. Assim, considerandoum evento discreto como jogar moeda para cima, saber o resultados anteriores não afetade maneira alguma as probabilidades associadas à próxima jogada de moeda. Considereum evento contínuo, como por exemplo a chegada de trabalhos em um sistema com dis-tribuição exponencial e média 5. Se até o instante 4 não foi observada nenhuma chegadade trabalho, isto não aumenta a probabilidade de um trabalho chegar dentro do próximosegundo.

Assim, com a característica "memoryless"o próximo estado de um sistema não dependedos estados anteriores. Esta característica propicia a utilização de métodos analíticos deavaliação.

• Processo estocástico: um processo estocástico é utilizado para modelar fenômenos ondevárias variáveis aleatórias ou distribuições são encontradas. Tome-se como exemplo um

6 CAPÍTULO 1. INTRODUÇÃO

servidor de requisições. Temos duas distribuições envolvidas: (i) a freqüência de chegadade requisições e (ii) o tempo de serviço do servidor. Podemos considerar esta realidade,bem como o que desejamos observar dela, como um processo estocástico. Isto dá origem avárias configurações:

Suponha que nosso interesse é saber o tamanho da fila de requisições a qualquer tempo,então temos espaço de estados discreto (número de requisições) e tempo contínuo (obser-vado continuamente);

Suponha que o interesse é saber o tamanho da fila no momento que uma requisiçãoacabou de ser atendida, então o espaço de estados é discreto (número de requisições) e otempo é discreto também (pois só será medido o tamanho da fila quando uma requisiçãoacabar de ser atendida);

Suponha que queiramos medir o tempo que uma requisição espera para ser atendida,então o processo estocásitico é estado contínuo (pois está-se medindo algo contínuo, que éo tempo de espera) e o tempo é discreto (pois mede-se para cada requisição)2;

Suponha que queiramos medir o tempo para acabar todos os processos em qualquerinstante, então temos um processo estocástico de tempo e espaço contínuos.

Às combinações são dados também os seguintes nomes:

Estado Discreto x Tempo Discreto = Cadeia estocástica de tempo discreto;

Estado Discreto x Tempo Contínuo = Cadeia estocástica de tempo contínuo;

Estado Contínuo x Tempo Discreto = Processo de estado contínuo e espaço discreto;

Estado Contínuo x Tempo Contínuo = Processo de estado contínuo e tempo discreto.

Cadeias estocásticas são também chamadas de Cadeias de Markov (MC), dando origem aCadeias de Markov de Tempo Discreto (DTMC) e de Tempo Contínuo (CTMC).

Processo estacionário: quando não muda com o avançar do tempo t.

Processo de Markov: se o próximo estado do processo depende somente do estado atual,i.e., os estados passados não importam na determinação do estado futuro.

1.7 Notação de Teoria das Filas

Um sistema de filas com apenas uma fila, como pode ser visto na Figura 1.1, consiste deum fila de tamanho finito ou infinito e de um ou mais servidores identicos. Um servidor atendeapenas um cliente por vez, logo pode estar ocioso ou ocupado. Se todos os servidores estãoocupados quando da chegada de um cliente, este será colocado em um buffer (assumindo que háespaço) e espera para ser atendido.

A seguinte notação, conhecida como notação de Kendall, é muito utilizada para decreversistemas de filas:

A/B/m/K

onde A indica a distribuição da chegada de cliente, B denota a distribuição do tempo de serviço,m indica o número de servidores (m ≥ 1) e K indica o tamanho máximo da fila (capacidade).Os seguintes símbolos são normalmente utilizados para A e B:

2Não se deixe confundir: o que estamos medindo é o "espaço"e quando medimos é o "tempo"do processoestocástico. Se estamos medindo o tempo de espera, então o "espaço do processo estocástico"é contínuo; semedimos para cada processo ou quando um processo acaba, então o "tempo do processo estocástico"é discreto.

1.7. NOTAÇÃO DE TEORIA DAS FILAS 7

...m

1chegada declientes

Servidores

declientes

saída

Figura 1.1: Estação de serviço com m servidores.

• M: Distribuição exponencial (Memoryless);

• D: Distribuição determinística;

• Ek: Distribuição Erlang com k-fases;

• Hk: Distribuição Hyperexponential com k-fases.

Por exemplo, M/M/1/3 indica que o tempo entre chegadas e o tempo de serviço são regidospor distribuições exponenciais, há apenas 1 servidor e a capacidade da fila é de 3 clientes.

8 CAPÍTULO 1. INTRODUÇÃO

Capítulo 2

Processo de Nascimento e Morte

Neste capítulo, apresenta-se as definições informal e formal de processo de nascimento demorte. Em seguida, através de um exemplo, é mostrado como esse tipo de problema é resolvido.Por fim, exercícios sobre o tema são sugeridos.

2.1 Definição Informal

Processo de nascimento e morte é uma representação através de estados e transições entreesses estados de um sistema com uma fila simples (Figura 2.1). O nascimento representa achegada de mais um cliente na fila, enquanto a morte representa um cliente que foi atendido. Éimportante frizar que o tamanho desta fila pode ser tanto infinito quanto finito.

. . . . . .0 1 2 i i+1 i+2

λ λ λ λ λ λ

µ µ µ µ µ µ

Figura 2.1: Processo de nascimento e morte.

Como pode ser observado na Figura 2.1, λ representa a taxa que ocorrem nascimentos em umdado estado (taxa de nascimento) e µ representa a taxa que ocorrem mortes em um dado estado(taxa de morte). Em outras palavras, podemos dizer que λ é a taxa de chegada de clientes e µ éa taxa de serviço dos mesmos. Logo, o tempo de chegada entre cliente é, em média, 1

λ e o tempode serviço de cada cliente é, em média, 1

µ .Além disso, pode-se observar a razão ρ = λ

µ (intensidade de tráfego) mostra que:

• se ρ > 1, há mais chegadas do que saídas de clientes. O número de clientes no sistema éilimitado, o sistema é instável;

• se ρ < 1, há mais saídas do que chegadas de clientes. Existe uma solução estacionária parao sistema;

• se ρ = 1, significa que chega, em média, o mesmo número de clientes que saem do sistema.Qualquer número de clientes no sistema é equiprovável, o sistema é instável.

10 CAPÍTULO 2. PROCESSO DE NASCIMENTO E MORTE

2.2 Definição Formal

O Processo de Nascimento e Morte pode ser estado finito ou infinito, sendo que ambos oscasos podem ser solucionados, como visto em seção a seguir. Um Processo de Nascimento eMorte é caracterizado pela dupla (M, T ), onde:

M é o conjunto de estados;

T (x, y) é taxa de ocorrência da transição do estado x para o estado y. T é a funçãode transição a qual associa uma taxa de ocorrência de uma transição deum estado para outro. A função T possui domínio em M×M e contra-domínio nos R+, i.e., a função é definida como T : M×M→ R+.

Note que no Processo de Nascimento e Morte somente são possíveis transições entre estadosestados vizinhos. Assim, a definição da função T deve ser restringida. Seja:

R uma função de rotulação R : M → N, ou seja a função R associa umnúmero natural a cada estado de M.

Restrição de T (x, y) usando R: a função T (x, y) é válida para todo par de estados x, y tal queR(x) = R(y)− 1 ou R(x) = R(y) + 1.

2.3 Solução

Neste documento seão apresentadas duas formas de resolver processos de nascimento e morte.A primeira delas é quando o sistema possui capacidade infinita e um servidor (M/M/1/∞),também chamado independente de carga. A segunda é quando o sistema possui capacidadefinita, podendo ter vários servidores (M/M/C/K), também chamado dependente de carga.

2.3.1 Solução para M/M/1/∞A Figura 2.2 mostra um processo de nascimento e morte M/M/1/∞.

. . .0 1 2

λ λ λ

µ µ µ

Figura 2.2: Processo de nascimento e morte M/M/1/∞.

Intuição: a probabilidade de estar no estado i depende da probabilidade de estar no estadoi − 1 e das taxas de saída de i − 1 para i e de retorno de i para i − 1. Como o somatório detodas probabilidades tem que ser 1, a probabilidade do primeiro estado (estado 0) é determinadasabendo-se a soma de todas outras probabilidades.

Desta maneira, para i > 0 temos que a probabilidade de se encontrar no estado i (Pi) é:

Pi = Pi−1 ∗ (λµ)

Ou, de outra maneira:

2.3. SOLUÇÃO 11

Pi = P0 ∗ (λµ)i

Agora falta encontrar P0. Sabe-se que:∑

i≥0 Pi = 1

Ou seja:∑

i≥0 ρi ∗ P0 = 1

Assim tem-se que a probabilidade de se encontrar no estado i = 0 (P0) é:

P0 = 1Pi≥0 ρi

Por uma sucessão de manipulações tem-se:

P0 = 1Pi≥0 ρi = 1− ρ = 1− λ

µ

Este passo pode ser demonstrado da seguinte maneira1. Deseja-se mostrar que:1P

i≥0 ρi = 1− ρ

Ou, invertendo-se:∑

i≥0 ρi = 11−ρ

Seja Sm =∑m

i=0 ρi

Sm+1 = Sm + ρm+1 =∑m+1

i=0 ρi

Sm + ρm+1 = 1 +∑m+1

i=1 ρi

Sm + ρm+1 = 1 +∑m

i=0 ρi+1

Sm + ρm+1 = 1 + ρ ∗∑mi=0 ρi

Sm + ρm+1 = 1 + ρ ∗ Sm

Sm − (ρ ∗ Sm) = 1− ρm+1

Sm ∗ (1− ρ) = 1− ρm+1

Sm = 1−ρm+1

1−ρSejam m →∞ e ρ < 1:S∞ = 1−ρ∞

1−ρ = 11−ρ

Levando à primeira igualdade.

2.3.2 Solução para M/M/C/K

Este caso pode ser dividido em duas situações: quando o sistema possui apenas um servidor(M/M/1/K) ou quando possui mais de um servidor (M/M/C > 1/K). A Figura 2.3 ilustra asituação onde temos apenas 1 servidor no sistema e capacidade para 4 clientes.

0 1 2 3 4

λ λ λ

µ µ µ

λ

µ

Figura 2.3: Processo de nascimento e morte M/M/1/4.

Uma forma de solucionar (obter as probabilidades para cada estado) o sistema é como segue:1Agradecimentos ao Prof. João Batista

12 CAPÍTULO 2. PROCESSO DE NASCIMENTO E MORTE

• primeiramente atribui-se um peso qualquer para o estado i = 0 (W0). Para facilidade decálculos pode-se utilizar W0 = 1;

• para obter os pesos dos estados onde i > 0 utiliza-se a fórmula para o cálculo de probabil-idades:

Wi = Wi−1 ∗ (λµ) = (λ

µ)i ∗W0

• assim obtém-se W0..WK pesos para os estados 0 a K. Estes pesos mantém, entre eles, asmesmas proporções que as probabilidades P0..PK . Assim, deve-se normalizar os resultadosobtidos para que a soma das probabilidades seja 1, fazendo:

Pi = WiPKj=0 Wj

Quando C > 1 (Figura 2.4) o modo de resolução é bastante similar, porém, após atribuir umpeso ao estado i = 0 (por exemplo, W0 = 1), utiliza-se a seguinte fórmula para obter pesos paraos demais estados:

Wi = Wi−1 ∗ ( λmin(i,C)∗µ)

Onde min(x,y) = x, se x < y ou min(x,y) = y em caso contrário.A partir disso, os resultados são normalizados como no caso anterior para obter as probabil-

idades.

. . . . . .0 1 2 CC−1C−2

λ λ λ λ λ λ

µ 2µ 3µ Cµ Cµ(C − 1)µ

Figura 2.4: Processo de nascimento e morte M/M/C/K.

2.4 Exemplificação

Supondo um processo de nascimento e morte M/M/1/4 (Figura 2.5) com taxa de chegada declientes igual a 2 taxa de serviço igual a 4. Vamos calcular a probabilidade da fila estar em cadaum dos estados.

0 1 2 3 4

λ λ λ

µ µ µ

λ

µ

Figura 2.5: Exemplificação de um processo de nascimento e morte.

Estabelecendo que P0 = 16. temos que:

2.5. EXERCÍCIOS 13

W0 = 16W1 = (λ

µ) ∗W0 = 8W2 = (λ

µ) ∗W1 = 4W3 = (λ

µ) ∗W2 = 2W4 = (λ

µ) ∗W3 = 1

A soma de todas as probabilidades é igual a 31, então, normalizando os valores obtidoschegamos as probabilidades de se encontrar em cada estado do sistema:

P0 = 1631 = 0, 5161

P1 = 831 = 0, 2581

P2 = 431 = 0, 1290

P3 = 231 = 0, 0645

P4 = 131 = 0, 0323

2.5 Exercícios

1. A emergência do Hospital Marcel Neuts possui capacidade para no máximo sete pacientes.Sabe-se que um paciente a cada 7,5 minutos chega na emergência e que há três médicostrabalhando na mesma. Sabe-se também que um médico leva em média dez minutos paraatender um paciente. a) Logo, deseja-se saber qual a probabilidade da emergência seencontrar lotada? b) E qual a perda de pacientes por hora?

2. Uma fila recebe em média um cliente por hora e atende um cliente a cada 12 minutos. Quala capacidade ideal desta fila para que a probabilidade dela se encontrar cheia seja menordo que 8%?

3. Uma mercearia com capacidade para até 5 clientes abre às 10h e fecha às 19h. Neste tempo,810 clientes chegam para serem atendidos. Dois atendentes atendem um cliente a cada doisminutos por atendente. Caso este problema resulte em um modelo que respeite a hipóteseda estacionariedade, qual a população média da mercearia? Caso contrário, qual o númeromáximo de clientes por dia que a mercearia poderia atender?

4. A avenida Kendal possui um espaço de oito carros em seu canteiro central para realizar oseu cruzamento. Porém, é possível que dois carros fiquem lado a lado no canteiro centralpara realizar o cruzamento da avenida. Em média, a cada 10 segundos chega um carrono cruzamento, enquanto leva-se em média 12 segundos para realizar o cruzamento daavenida. a) Com isso, deseja-se saber qual a probabilidade de não haver mais espaço nocanteiro central para se realizar o cruzamento? Entretanto, a avenida Kendal irá sofrerobras. Logo, o canteiro central não suportará mais dois carros lado a lado e se levaráapenas 7,5 segundos em média para se realizar o cruzamento. b) Para que o fluxo docruzamento não seja prejudicado, quantos carros o canteiro central precisaria suportarpara que a probabilidade de não haver mais espaço no mesmo não seja superior ao que elesuporta atualmente?

14 CAPÍTULO 2. PROCESSO DE NASCIMENTO E MORTE

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �� � � � � � � � �

Avenida Kendal

Avenida Kendal

Canteiro Central

5. O setor de reclamações das lojas Tabajara possui capacidade para no máximo quatroclientes. Sabe-se que chega um cliente a cada 15 minutos para fazer uma reclamação e quehá quatro funcionários trabalhando no mesmo. Sabe-se também que um funcionário levaem média 7 minutos para atender um cliente. Qual a probabilidade do setor de reclamaçõesse encontrar lotado?

6. Uma fila com capacidade para até 5 clientes possui 2 servidores, taxa de chegada igual a10 clientes por hora, e taxa de atendimento igual a 8 clientes por hora. Deseja-se saber: a)Qual a probabilidade da fila estar vazia? b) Qual a probabilidade da fila estar cheia? c)Qual a perda por hora de clientes?

7. Suponha que em um posto do INSS 5 pessoas podem ficar sentadas a espera. Lá forano entanto, uma fila de capacidade infinita continua, dando voltas e voltas na quadra.Supondo que ninguém fura a fila e que ninguém morre na fila, e dado que 18 pessoas porhora entram na fila e que o único médico do posto atende criteriosamente uma pessoa acada 3 minutos, diga:a) Todas pessoas que entram na fila poderão ser atendidas em prazo limitado?b) Quanto % do seu tempo o médico do posto pode dormir em uma maca a sua disposição?c) Qual a probabilidade de haver ao menos 1 pessoa tomando chuva na fila, em um diachuvoso?d) Qual a probabilidade de exatamente 2 pessoas estarem tomando chuva?

8. Suponha o mesmo exemplo do INSS, só que somente 5 clientes ficam na fila. Quando umcliente chega e a fila está cheia, ele vai embora (perda).a) Quanto % do seu tempo o médico do posto pode dormir em uma maca a sua disposição?Compare com os resultados para a fila que dá voltas na quadra!b) Qual a taxa (clientes por unidade de tempo) de clientes que vão embora, pelo fato dafila estar cheia?Suponha agora que um novo médico é contratado para o posto do INSS. A sala de esperacontinua com os mesmos 5 lugares. Cada médico atende a um paciente a cada 3 minutose 18 pacientes tentam entrar no posto por hora.c) Quanto % do seu tempo os médicos poderão dormir ou falar mal do sistema de saúde?d) Qual a taxa (clientes por unidade de tempo) de clientes que vão embora pois a fila estácheia?

9. Considere um sistema de filas simples com um servidor e sem limite de capacidade onde seatende um cliente em 0,1 horas e um cliente chega a cada 0,125 horas.a) A fila respeita a hipótese da estacionariedade?b) Qual é a probabilidade da fila não estar vazia?c) Qual a probabilidade da fila ter 1, 2 e 3 clientes?

2.5. EXERCÍCIOS 15

10. Um banco tem dois caixas que funcionam das 10 horas da manhã até as 16 horas da tarde.Desejam ser atendidos no banco, em média, 240 clientes por dia. Cada caixa atende emmédia um cliente a cada dois minutos. A recomendação da gerência é manter a fila comno máximo 10 clientes. O gerente do banco deve:a) Dispensar um caixa?b) Colocar mais um caixa?c) Colocar mais dois caixas?d) Deixar a fila como está?

11. Um roteador serve 3000 pacotes por segundo de um enlace. Supondo que 2000 pacotessão gerados por segundo, qual o tamanho do buffer em número de pacotes para que sejaperdido, em média, um pacote por segundo? E aceitando uma perda média de 5 pacotespor segundo, que tamanho a fila poderia ter?

16 CAPÍTULO 2. PROCESSO DE NASCIMENTO E MORTE

Capítulo 3

Cadeias de Markov

Andrei Andreyevich Markov nasceu em 14 de junho de 1856 em Ryazan, Russia, graduou-se na Universidade de São Petersburgo (1878) e começou a atuar como professor na mesmauniversidade em 1886. A partir de 1900 estudou processos estocásticos. Em 20 julho de 1922faleceu na então Petrogrado (agora São Petersburgo), Russia.

Figura 3.1: Andrei Andreyevich Markov

Neste capítulo, apresenta-se uma definição informal do formalismo de Cadeias de Markov(MC - Markov Chains). Em seguida, apresenta-se a definição formal de MC à escala de tempocontínua (CTMC - Continuous Time Markov Chains) englobando os conceitos definidos infor-malmente. Além disso, demonstra-se as regras necessárias para a obtenção do gerador infini-tesimal de um modelo descrito pelo formalismo de MC, bem como um exemplo completo deobtenção do mesmo.

3.1 Definição Informal

O formalismo de Cadeias de Markov [7, 25, 29] é um formalismo matemático para modelagemde sistemas. Através do uso de formalismo de MC, é possível descrever o funcionamento de umsistema utilizando um conjunto de estados e transições entre esses estados.

As transições entre os estados são modeladas por um processo estocástico de tempo contínuoou discreto definidos por distribuições exponenciais ou geométricas respectivamente.

Um modelo descrito pelo formalismo de MC pode ser interpretado como uma máquina deestados, onde os nodos da mesma representam os estados e os arcos representam as transições

18 CAPÍTULO 3. CADEIAS DE MARKOV

entre os estados do modelo em MC.

No decorrer deste documento, adota-se a seguinte notação para a definição dos modelos emMC:

Seja

x x-ésimo estado de um modelo, onde 0 é o primeiro estado do modelo.

A seguir, apresenta-se a definição das escalas de tempo utilizadas pelo formalismo de MC.

3.1.1 Escala de Tempo

Um modelo descrito pelo formalismo de MC [7, 25, 29] pode ser classificado de acordo coma sua escala de tempo:

• Cadeias de Markov à escala de Tempo Contínua (CTMC - Continuous Time MarkovChains);

• Cadeias de Markov à escala de Tempo Discreta (DTMC - Discrete Time Markov Chains).

Os modelos em CTMC diferem dos modelos em DTMC basicamente por suas transiçõesentre os estados poderem ocorrer em qualquer instante de tempo e não em pontos discretos detempo.

3.1.2 Propriedades

Segundo Stewart [25], apresenta-se a seguir as propriedades para a construção de um modelodescrito pelo formalismo de MC.

Os estados do modelo são discretos e enumeráveis. Assim, o formalismo de MCpermitecadeias de infinitos estados. A escala de tempo para a transição entre os estados do modelo podeser de forma contínua (CTMC) ou discreta (DTMC).

A transição entre os estados do modelo depende exclusivamente do estado atual do modelo,sem importar quais foram os estados prévios ou serão os estados futuros do modelo. A taxa(CTMC) ou probabilidade (DTMC) de transição de estados do modelo dá-se obedecendo a umalei exponencial ou geométrica respectivamente.

A representação gráfica de um modelo em MC é feita por autômatos, onde é associado paracada estado do autômato um estado do modelo e para cada transição uma taxa (CTMC) ouuma probabilidade (DTMC).

Um modelo em MC é representado, matematicamente, por uma matriz de transição deestados. A probabilidade de cada estado em regime estacionário (solução de um modelo em MC)é a solução do sistema da equação linear:

πQ = 0, (3.1)

onde Q é a matriz de transição de estados e π (vetor de probabilidade) é o autovetor corre-spondente ao autovalor unitário da matriz de transição. É importante ressaltar que a soma dos

3.2. DEFINIÇÃO FORMAL 19

elementos do vetor de probabilidade π deve ser igual a 1, i.e., || π ||= 1.

Para os modelos em CTMC, a matriz de transição de estados Q é denominada de geradorinfinitesimal, onde cada elemento não diagonal da linha i e coluna j da matriz representa a taxade transição do estado i para o estado j do modelo. Os elementos diagonais de Q representamo ajuste necessário para que a soma dos elementos de cada linha seja igual a zero.

Para os modelos em DTMC, a matriz de transição de estados P é denominada de matrizestocástica, onde cada elemento não diagonal representa a probabilidade de transição entre osestados do modelo. Os elementos diagonais de P representam o ajuste necessário para que asoma dos elementos de cada linha seja igual a um.

3.1.3 Exemplo

O foco principal deste documento é o formalismo de CTMC. Por conseguinte, as explicaçõese exemplos apresentados no decorrer deste documento fazem menção para modelos descritos àescala de tempo contínua (taxas de ocorrência) e não à escala de tempo discreta (probabilidadesde ocorrência).

A Figura 3.2 apresenta um modelo em CTMC com quatro estados e seis transições. Cadatransição entre um estado e outro possui associada uma taxa de ocorrência à mesma.

5 2

523

4

0

3

2

1

Figura 3.2: Modelo em CTMC com quatro estados e seis transições

A seguir, apresenta-se a definição formal do formalismo de CTMC.

3.2 Definição Formal

Apesar do formalismo de MC permitir cadeias infinitas, a solução para cadeias infinitasexiste para um conjunto reduzido de casos. Alguns exemplos podem ser encontrados no capítuloreferente a Processo de Nascimento e Morte. Por outro lado, toda MC finita tem solução talcomo será apresentada na seção seguinte. Assim, nesta seção considera-se a formalização de ummodelo em CTMC compreendendo um conjunto finito de estados e transições.

Sejam

M conjunto de estados;

20 CAPÍTULO 3. CADEIAS DE MARKOV

|M| (|M| = cardinalidade(M))1.

O conjunto de estados M compreende |M| estados x, onde x ∈ [0..(|M| −1)]2.

Definição 1 T é a função de transição a qual associa uma taxa de ocorrência de uma transiçãode um estado para outro. A função T possui domínio em M×M e contra-domínio nos R+, i.e.,a função é definida como T : M×M→ R+.

Seja

T (x, y) taxa de ocorrência da transição do estado x para o estado y.

Note que nem toda a transição de um estado x para um estado y possui uma taxa não nuladeterminada pela função T (x, y).

Seja

succ(x) conjunto não vazio dos estados y, tais que possua uma transição do estadox para algum estado y, i.e., succ(x) = {y ∈M | T (x, y) 6= 0}.

O conjunto de estados sucessores de um determinado estado x é importante para a definiçãodo método de obtenção do gerador infinitesimal, o qual será apresentado na próxima seção.

3.3 Solução

Ummodelo emCTMC , de estados finitos, é representado, matematicamente, por umamatrizde transição de estados, a qual também é denominada de gerador infinitesimal. Logo, a matrizQ é conhecida tanto como matriz de transição de estados como gerador infinitesimal. Nestetrabalho, adota-se o termo gerador infinitesimal para descrever matematicamente um modelodescrito pelo formalismo de CTMC.

Seja

Q(x, y) elemento da linha expressa pelo estado x e coluna expressa pelo estado ydo gerador infinitesimal Q.

Definição 2 Os elementos do gerador infinitesimal Q de um modelo em CTMC são definidospor:

2.1. ∀x, y ∈M tal que y ∈ succ(x)

Q(x, y) = T (x, y);

2.2. ∀x ∈MQ(x, x) = − ∑

y∈succ(x)

T (x, y);

2.3. ∀x, y ∈M tal que y 6∈ succ(x)

Q(x, y) = 0.1É adotada a notação |X | para definir a cardinalidade de um conjunto X .2No decorre deste trabalho, é adotada a notação [i..j] referindo-se a um número no intervalo de i até j, inclusive,

pertencendo ao conjunto do números naturais; e a notação [i,j] referindo-se a um número pertencente ao intervaloi e j, inclusive, no conjunto de números reais.

3.4. EXEMPLIFICAÇÃO 21

A Definição 2.1 corresponde aos elementos não diagonais do gerador infinitesimal, os quaispossuem a taxa de ocorrência da transição do estado x para o estado y. Os elementos diagonais(ajuste diagonal das taxas de ocorrência das transições entre os estados) do gerador infinites-imal estão descritos na Definição 2.2. A Definição 2.3 define os elementos nulos do geradorinfinitesimal.

3.4 Exemplificação

Demonstra-se nesta seção um exemplo completo de obtenção do gerador infinitesimal de ummodelo descrito pelo formalismo de CTMC.

3.4.1 Descrição

A Figura 3.3 apresenta um modelo descrito pelo formalismo de CTMC, o qual possui oitoestados. Este modelo descreve um buffer de requisições de impressão. Este buffer faz o gerenci-amento de duas impressoras: laser e deskjet.

Este buffer recebe, em média, uma requisição a cada 5 minutos (12 requisições por hora).A impressora laser leva em média 2 segundos (1800 folhas por hora) para imprimir uma folha,enquanto a impressora deskjet imprime uma folha em 5 segundos (720 folhas por hora). Umpedido de impressão pode ser atendido tanto pela laser como pela deskjet, respeitando a razãode que para cada hora trabalhada pela impressora deskjet, a impressora laser trabalha por 4horas.

12 12

0,25 0,25 0,25 0,25

12 12 12

12

1 1 1 1

1800 1800 1800

720 720 720

0 1 2 3

7654

Figura 3.3: Modelo em CTMC com oito estados

Os estados 0, 1, 2 e 3 representam o número de requisições no buffer (0, 1, 2 e 3 requisiçõesrespectivamente) que estão sendo atendidas pela impressora laser. Em contra partida, os estados4, 5, 6 e 7 representam o número de requisições no buffer (0, 1, 2 e 3 requisições respectivamente)que estão sendo atendidas pela impressora deskjet.

É possível construir o gerador infinitesimal do modelo em CTMC, a partir da identificaçãodas taxas de ocorrência das transições de um estado para outro.

22 CAPÍTULO 3. CADEIAS DE MARKOV

3.4.2 Gerador Infinitesimal

Primeiramente, identifica-se o número de estados |M| do modelo para se construir o geradorinfinitesimal do mesmo. A partir desta informação, o gerador infinitesimal será uma matriz deordem |M| × |M|.

Através da Definição 2.1, preenche-se os elementos não diagonais do gerador infinitesimal,utilizando as taxas de ocorrência da transição de um estado para outro. Sendo assim, tem ogerador infinitesimal com os elementos não diagonais preenchidos:

Q =

0 1 2 3 4 5 6 70 12 0,251 1800 12 0,252 1800 12 0,253 1800 0,254 1 125 1 720 126 1 720 127 1 720

Observação: seja uma linha i e uma coluna j, lê-se que a transição do estado i para o estado jtem taxa dada pela célula (i,j) da matriz.

Posteriormente, preenche-se os elementos diagonais (ajuste diagonal das taxas de ocorrênciadas transições entre os estados) do gerador infinitesimal, utilizando a Definição 2.2. Como a somade cada linha do gerador infinitesimal deve ser igual a zero, o mesmo fica da seguinte maneiraapós o ajuste da diagonal:

Q =

0 1 2 3 4 5 6 70 -12,25 12 0,251 1800 -1812,25 12 0,252 1800 -1812,25 12 0,253 1800 -1800,25 0,254 1 -13 125 1 720 -733 126 1 720 -733 127 1 720 -721

Por último, aplicando a Definição 2.3, preenche-se os elementos nulos do gerador infinitesi-mal. Logo, tem-se o gerador infinitesimal do modelo descrito na Figura 3.3:

Q =

0 1 2 3 4 5 6 70 -12,25 12 0 0 0,25 0 0 01 1800 -1812,25 12 0 0 0,25 0 02 0 1800 -1812,25 12 0 0 0,25 03 0 0 1800 -1800,25 0 0 0 0,254 1 0 0 0 -13 12 0 05 0 1 0 0 720 -733 12 06 0 0 1 0 0 720 -733 127 0 0 0 1 0 0 720 -721

3.5. EXERCÍCIOS 23

3.4.3 Vetor de Probabilidade

A partir do gerador infinitesimal completo de um modelo em CTMC, é possível obter-sea probabilidade de cada estado em regime estacionário (vetor de probabilidade π) através daresolução da equação (3.1).

Sendo assim, por exemplo, somando a probabilidade π3 (buffer encontra-se cheio e estásendo atendido pela impressora laser) com a probabilidade π7 (buffer encontra-se cheio e estásendo atendido pela impressora deskjet), tem-se a probabilidade do buffer encontrar-se cheioindependentemente de qual impressora está atendendo-o.

3.5 Exercícios

1. Um fast-food tem apenas um funcionário atendendo cada cliente em um minuto e meio(em média). O turno de trabalho neste local vai de 9:00 até 21:00 diariamente. Comoeste fast-food tinha uma procura de 588 clientes por dia, o dono resolveu empregar maisum funcionário para atender os clientes. Considerando que o tempo de atendimento deambos os funcionários é em média igual e que no máximo quatro clientes podem estar pre-sentes esperando atendimento ou sendo atendidos, pergunta-se: o dono agiu corretamente?Justifique numericamente sua resposta.

2. Seja um laboratório com quatro pontos de trabalho. Suponha que usuários demandampontos de trabalho a cada 8 minutos e usam os pontos por cerca de 5 minutos. Suponhaainda que (em média) a cada 20 minutos falta luz por 2 minutos e depois da falta de luztodos pontos de trabalho voltam a ficar livres. Pergunta-se qual a probabilidade de pelomenos 2 pontos de trabalho estarem livre e prontos para utilização? Obs: Suponha quetodos tempos variam segundo distribuição exponencial.

3. Um servidor recebe em média uma requisição a cada 20 segundos. Este servidor conseguearmazenar no máximo quatro requisições. As requisições levam em média 5 segundos paraserem atendidas. A cada meia hora ocorre um problema no servidor e este é desligado,levando em média 5 minutos para ser ligado novamente. Quando isso ocorre, todas asrequisições armazenadas no buffer do servidor são perdidas. Deseja-se saber: quantashoras no dia o servidor encontra-se desligado?

4. A farmácia Souza e Silva possui apenas um funcionário que fica a espera de clientes. Sabe-se que a cada dez minutos chega um cliente na farmácia para o funcionário atendê-lo. Porrazões de segurança, a farmácia fica fechada e o cliente é atendido na porta de grade. Comoa rua é movimentada, na verdade não só há lugar para o cliente em atendimento. Se outrocliente chegar enquanto um está sendo atendido, ele vai embora pois não quer ficar paradona calçada movimentada. O funcionário leva em média trinta segundos para procurar opedido do cliente. Porém, 75% das vezes, o medicamento solicitado não se encontra nobalcão e o funcionário é obrigado a se deslocar para as prateleiras a procura do mesmo.Quando isso ocorre, o funcionário leva mais trinta segundos para procurar o medicamentonas prateleiras. Após encontrado o medicamento, o funcionário leva em média dois minutospara finalizar a compra e voltar a espera de novos clientes. Com isso, deseja-se saber: (i)qual a probabilidade do funcionário se localizar nas prateleiras a procura de medicamentos?(ii) quanto tempo o funcionário não está atendendo clientes que vem na farmácia e poderia,por exemplo, empacotar os tele-pedidos, caso o Sr. Souza e Silva decida abrir este ramo?

24 CAPÍTULO 3. CADEIAS DE MARKOV

(iii) quantos clientes chegam na farmácia mas vão embora pois tinha alguém sendo atendido?

5. A farmácia Souza e Silva sob nova administração é a farmácia mencionada no exercícioanterior, que foi assumida pelo filho do Sr. Souza e Silva. O rapaz achou que poderiareduzir a perda de clientes criando um espaço para um cliente ficar esperando enquantooutro é atendido. Calcule o ganho de clientes com esta decisão.

6. Uma sex shop atende dois tipos de clientes. O primeiro tipo de cliente (tipo A) demora8 minutos para escolher o produto, o segundo tipo de cliente (tipo B) demora 1 minutoescolhendo (que pressa!). Um funcionário do caixa demora 2 minutos para efetuar a venda.Na fila única do caixa cabem 4 clientes e há dois funcionários para atender a todos osclientes, sem nenhum tipo de prioridade. Esta loja recebe 32 clientes do tipo A e 48clientes do tipo B em um dia de trabalho (8 horas). Qual a probabilidade da fila do caixadesta loja estar cheia?

7. Um posto de gasolina fica aberto das 7:00 às 2:00. Recebe cerca de 380 clientes por dia,tem apenas 1 bomba, suporta no máximo 4 carros e tanto o dono quanto um empregadoatendem os clientes. O dono trabalha (em média) 1 hora em cada 6. O empregado trabalha(em média) 5 horas em cada 6. O dono atende 2 clientes em 15 minutos e o empregadoatende 1 cliente em 5 minutos. Pergunta-se: a) quantos clientes o posto perde por dia?b) qual a probabilidade do posto estar vazio? c) vale a pena colocar mais um empregado(com mais 1 bomba no posto) sabendo-se que um empregado custa R$ 1000,00 por mês(30 dias) e cada clienteda um lucro de R$ 10,00? Assuma que os empregados trabalhamnos mesmos horários (fazem folga juntos).

Capítulo 4

Redes de Filas de Espera

O formalismo de Redes de Filas de Espera foi introduzido por Jackson nos anos 50 [12] e teveum grande avanço quando soluções à forma-produto foram propostas em meados de 70 [3, 13, 23].A popularidade deste formalismo está no fato de ser uma idéia bastante intuitiva, onde clientes(ou requisições) passam por filas (ou servidores). Muitas extensões do formalismo apresentamaproximações [5, 6, 28] e até mesmo propostas de soluções à forma-produto [10, 8, 24, 27]. Noentanto, é difícil combinar e utilizar todas as técnicas propostas na literatura afim de aumentarsistematicamente o escopo da tradicional Rede de Filas de Espera com solução à forma-produto.

Neste capítulo são apresentadas as definições formais e informais para redes de filas abertase fechadas, bem como técnicas para sua solução. Apesar da descrição formal apresentada sergenérica, serão apresentadas técnicas de solução somente para filas com uma única classe declientes.

4.1 Definição Informal

Qualquer sistema que consiste na chegada de requisições de serviço para um ou mais recursos(servidores) pode ser chamado sistema de filas de espera, ou sistema de filas. Dependendo dostempos de chegada dessas requisições, filas são formadas com clientes esperando pelo uso dorecurso de interesse. Em algumas situações supõe-se que servidores possuam capacidade infinitade armazenamento de requisições de serviço, afim de facilitar a modelagem do sistema em questão.

O comprimento das filas de um sistema de filas depende basicamente de dois aspectos: a taxamédia com que as requisições são feitas e as flutuações estatísticas dessa taxa. Obviamente, se ataxa de chegada de clientes é maior do que a taxa de atendimento dos mesmo, as filas crescerãoindefinidamente. Porém, mesmo quando a taxa de chegada de clientes é menor do que a taxa deatendimento, filas podem se formar devido a flutuações estatísticas e variações momentâneas dataxa de chegada de clientes, uma vez que essas duas taxas (chegada de clientes e atendimento)são definidas por variáveis aleatórias.

Quando num único sistema existem duas ou mais filas interligando os caminhos que os clientespodem percorrer, tal sistema é denominado rede de filas de espera, ou simplesmente rede de filas.A figura 4.1 apresenta os possíveis tipos de filas que um sistema de filas pode possuir.

4.1.1 Sistema de Filas

Redes de filas de espera são classificadas segundo três critérios ortogonais, a saber:

• permanência dos clientes na rede: quando o número total de clientes na rede é constante,

26 CAPÍTULO 4. REDES DE FILAS DE ESPERA

Capacidade ilimitada

Capacidade limitada

Delay (clientes nunca esperam)

Figura 4.1: Tipos de filas

não havendo entrada nem saída dos mesmos, diz-se tratar de uma rede de filas fechada(Figura 4.2); caso contrário, com entrada e saída de clientes causando uma variação nonúmero total dos mesmos, trata-se de uma rede de filas aberta (Figura 4.3);

• número de seridores por estação: uma estação monoservidora possui apenas um servidor,enquanto que uma estação multiservidora possui mais de um;

• tipos de clientes: em uma rede monoclasse todos os clientes são iguais e recebem o mesmotratamento pelas estações servidoras, já em uma rede multiclasse os clientes recebem trata-mento diferenciado, de acordo com a classe que pertençam.

1

2

3

Figura 4.2: Exemplo de rede de filas fechada

2

1

3

Figura 4.3: Exemplo de rede de filas aberta

4.2. DEFINIÇÃO FORMAL 27

4.2 Definição Formal

A estrutura de uma rede de filas de espera (QN) compreende um conjunto M de filas; umconjuntoR de diferentes classes de clientes; uma função P que define as probabilidades de rotaçãoentre filas e N clientes para cada classe. Então, a estrutura de uma rede de filas de espera éuma tupla QN = (M,R,P,N ), onde:

- M é um conjunto de filas Q, onde | M | representa o número de filas no modelo;

- R é um conjunto de diferentes classes de clientes;

- P ⊆M×M com dom(M) e codom([0..1]);

- N é o número de clientes para cada classe, onde | N |=| R |.Denota-se por P r

i,j a probabilidade de um cliente de uma classe r, a qual recebeu serviçona fila Qi, ser roteado da fila Qi para a fila Qj . Esses parâmetros podem ser utilizados paracomputar a taxa média de visita de clientes (V r

i ) da classe r na fila Qi. N r denota o númerode clientes de cada classe. Para redes de filas de espera fechadas, o valor de N r é sempre finito,enquanto para redes abertas esses valores podem ser infinitos.

Uma fila é composta por no máximo K clientes (capacidade); por um número C de servidores;por um conjunto S com tempos médios de serviço para cada classe de clientes; por um conjunto Lcom a taxas médias de chegada de clientes de cada classe; por um conjunto B de comportamentode clientes em cada classe; e um conjunto D de prioridades entre classes. Então, a estrutura deuma fila é uma tupla Q = (K, C,S,L,B,D), onde:

- K é a capacidade da fila;

- C é o número de servidores disponíveis;

- S é um conjunto de tempos médios de serviço (u.t./cli)1;

- L é um conjunto de taxas médias de chegada de clientes (cli/u.t.);

- B é um conjunto de comportamentos de clientes;

- D é um conjunto de disciplinas de serviços (prioridade entre classes de clientes), onde | D |= | R |.

Define-se Ki como o número de clientes (capacidade) e Ci como o número de servidoresdisponíveis na fila Qi. Sr

i é o tempo médio de serviço necessário para atender um cliente de umaclasse r na fila Qi. A taxa média de chegada de clientes de uma classe r em uma fila Qi vindado exterior do modelo é denotada por Lr

i .Br

i,j denota o comportamento dos clientes de uma classe r roteados da fila Qi para a filaQj quando Qj está cheia: o comportamento pode ser de perda2 (o cliente deixa o sistema), oubloqueio (a fila Qi para de enviar clientes para a fila Qj até que esta não esteja cheia.)

Di denota o conjunto de prioridades, onde o valor de cada prioridade é [1, | R |] (o valor 1 éa maior prioridade, enquanto | R | é a mais baixa prioridade).

Os índices de desempenho que podem ser calculados de uma QN são:

• dri - vazão média de clientes da classe r saíndo da fila Qi;

1u.t. significa unidades de tempo; cli significa cliente2Apenas Redes Abertas pode ter perda de clientes.

28 CAPÍTULO 4. REDES DE FILAS DE ESPERA

• uri - média de utilização dos servidores de Qi pelos clientes da classe r;

• nri - número médio de clientes da classe r na fila Qi;

• wri - tempo médio de resposta de clientes da classe r na fila Qi.

4.3 Solução

A cálculo dos índices de desempenho para redes abertas difere do cálculo dos índices pararedes fechadas, pois, como mencionado anteriormente, redes abertas têm a característica dereceber clientes de fora do modelo (Li), enquanto redes fechadas não recebem clientes de fora domodelo, possuindo um número fixo de clientes (N).

O primeiro passo para encontrar os índices de desempenho, tanto para redes abertas quantopara redes fechadas, é encontrar a taxa média de visita de cada fila (Vi). A taxa de visita deuma fila i é a proporção de clientes do sistema que passa por essa fila.

Cálculo das taxas de visita para redes fechadas. Para calcular as taxas de visita em umarede fechada, vamos utilizar rede da Figura 4.4 como exemplo.

1

2

3

0.8

0.2

Figura 4.4: Rede de filas de espera fechada

Pode-se notar que a quantidade de clientes que passa por uma determinada fila é relacionadaàs outras filas devido às probabilidades de rotação. Fica direto observar que a quantidade declientes que passa em na fila 3 é 20% da quantidade de clientes que passa na fila 1. Neste casotemos que:

• V3 = (0.2 ∗ V1), pois a fila 3 recebe 20% dos clientes da fila 1;

• V1 = V3 + (0.5 ∗ V2), pois a fila 1 recebe todos os clientes que saem da fila 3 mais metadedos clientes que saem da fila 2;

• V2 = (0.8 ∗ V1) + (0.5 ∗ V2), pois a fila 2 recebe 80% dos clientes da fila 1 mais metade dosclientes que saem da própria fila 2.

Com isto obtém-se um sistema de equações solúvel indeterminado. Como a taxa de visita éuma proporção, pode-se assumir um valor qualquer para uma fila específica e calcular as taxasdas outras filas levando o valor assumido em consideração. Por exemplo, pode-se assumir V1 = 1e calcular V2 e V3.

4.3. SOLUÇÃO 29

Cálculo das taxas de visita para redes abertas. Em redes abertas, como não existe umarelação entre as saídas da rede e suas entradas, não se obtém um conjunto de equações quepermita calcular as taxas de visita. Assim, um artifício utilizado é fechar o sistema com umafila auxiliar no modelo, a qual absorverá todas as saídas e servirá como entrada para as filasque recebem clientes de fora do modelo (Figura 4.5). Intuitivamente, podemos entender a filaauxiliar, inserida no modelo, como representante do "ambiente"ou "resto do mundo"com relaçãoàquela rede de filas aberta. A rede aberta recebe e develove clientes do "resto do mundo". Aoutilizar este artifício deve-se atentar para que a proporcionalidade nas entradas de clientes darede aberta seja mantida.

2

1

X

3

0.8

0.2

2 cli/u.t.

3 cli/u.t.

Figura 4.5: Rede de fila de espera aberta

Neste exemplo, a fila X é a fila auxiliar. Assume-se que sua taxa de visita tem valor 1. Nestecaso temos que:

• Vx = 1;

• V1 = (25 ∗ Vx) + (0.5 ∗ V3), pois a fila 1 recebe 2

5 dos clientes que vêm de fora do sistemamais metade dos clientes da fila 3;

• V2 = (35 ∗ Vx) + (0.8 ∗ V1), pois a fila 2 recebe 3

5 dos clientes que vêm de fora do sistemamais 80 % dos clientes da fila 1;

• V3 = (0.2 ∗ V1), pois a fila 3 recebe 20 % dos clientes da fila 1.

Resolvendo o sistema de equações, encontra-se V1, V2 e V3.Tendo em mãos as taxas de visitas das filas, é possível calcular os índices de desempenho do

modelo em questão. Nas próximas seções, será apresentado como esses índices são obtidos tantopara redes abertas, quanto para redes fechadas.

4.3.1 Solução para Redes Abertas

Esta seção mostra como os ídices de desempenho podem ser obtidos para redes de filasabertas.

30 CAPÍTULO 4. REDES DE FILAS DE ESPERA

Fluxo Médio ou Vazão Média de uma fila i (di). O primeiro índice a ser calculado é di,que representa o fluxo médio de clientes no sistema. Intuição: o fluxo de clientes por uma filadepende do total de clientes que entram no sistema e da proporção de clientes que são roteadospara esta fila no sistema. Assim, este índice é obtido multiplicando-se a taxa de visita da fila emquestão pelo total de entradas no sistema. Assim temos que:

di = vi ∗∑M

j=1 Lj

Unidades: note que vi é uma proporção, não tendo unidades, e Lj é cli/u.t.. Assim di é dadoem cli/u.t., ou seja o número de clientes que passa pela fila i por unidade de tempo.

Índice de Utilização de uma fila i (ui). Tendo-se o fluxo médio de cada fila, é possívelcalcular o índice de utilização de cada fila, ou seja a porcentagem de utilização de cada fila dosistema. Intuição: o tempo que o servidor de uma fila fica ocupado depende do número declientes que passam pela fila (fluxo médio) e do tempo necessário para servir cada cliente (tempode serviço). Assim:

ui = di ∗ Si

Unidades: note que di é dado em cli/u.t e Si é dado em u.t./cli. Assim ui não tem unidade,representando um índice de ocupação da fila. Caso ui > 1 , significa que a fila está acima daocupação máxima possível (100e assim não é possível fazer uma análise estacionária do sistema,pois há pelo menos uma fila que recebe mais requisições do que ela pode atender.

Tempo de Resposta de uma fila i (wi). Para se obter a fórmula para o cálculo do tempode resposta utiliza-se a Lei de Little e o Teorema da Chegada.

A Lei de Little diz que a população de uma fila é igual ao tempo de resposta vezes o fluxoda mesma (ni = wi ∗ di). Essa fórmula pode ser entendida com o seguinte exemplo: supondoo um curso que possua 9 semestres e que entram 80 alunos por semestre. Os 9 semestres são otempo de resposta enquanto os 80 alunos por semestre é o fluxo. Logo, tem-se a população de720 alunos.

O Teorema da Chegada diz respeito ao tempo de resposta em uma determinada fila (wi =Si + (ni ∗ Si)). Essa fórmula pode ser entendida da seguinte forma: o tempo que demorarápara um determinado cliente ser atendido é o tempo para atender os clientes que já estão na fila(ni ∗ Si) mais o tempo para o próprio cliente ser atendido (Si).

A partir daí, é possível deduzir outra forma de calcular o tempo de resposta onde não se faznecessário conhecer ni:

ni = wi ∗ di (Lei de Little)wi = Si + ni ∗ Si (Teorema da Chegada)ui = di ∗ Si (Taxa de Utilização)wi = Si + (wi ∗ di) ∗ Si (usando: Teorema da Chegada e Lei de Little)wi = Si + wi ∗ ui (usando: Taxa de Utilização)Si = wi − (wi ∗ ui)Si = wi ∗ (1− ui)wi = Si

1−ui

Unidades: note que 1 − ui não tem unidade e Si está em u.t./cli. Assim, wi é o número deunidades de tempo de espera por cliente.

4.3. SOLUÇÃO 31

População Média de uma fila i (ni). A população média de cada fila pode ser obtidaatravés da lei de Little. Porém, é possível calcular a população média conhecendo apenas a taxade utilização da fila em questão (sem precisar do tempo de espera - wi):

wi = Si1−ui

(Tempo de Resposta)ni = wi ∗ di (Lei de Little)ui = di ∗ Si (Taxa de Utilização)ni = Si

1−ui∗ di (usando: Tempo de Resposta e Lei de Little)

ni = ui1−ui

(usando: Taxa de Utilização)

4.3.2 Solução para Redes de Filas Fechadas

Como pode-se notar, em redes abertas os demais índices de desempenho dependem do fluxodi, e o fluxo depende das taxas de entrada. Em redes fechadas não há entradas mas sim umnúmero de clientes que "habitam"o sistema. Assim, a forma de solução é diferente. Os índicesde desempenho para redes fechadas dependem do número de clientes no sistema. Por exemplo:intuitivamente pode-se aceitar que a ocupação de uma fila de uma rede de filas fechada com 1cliente é menor que a mesma rede com 10 clientes.

Assim, para redes fechadas calcula-se os índices de desempenho em função do número declientes existentes no sistema (N). Considerando N = 0, sabe-se que a população de cada fila é0, ou seja:

ni(0) = 0

Esta obviedade é útil ao ser combinada com o Teorema da Chegada. O Teorema da Chegadadiz que o tempo de espera de um cliente na fila depende do número de clientes na fila (população)e do tempo de serviço da fila. Assim, o tempo de serviço de uma fila considerando 1 cliente nosistema depende do tempo de serviço da fila e da população da fila com 0 clientes, ou sejawi(1) = Si ∗ (1 + ni(0)). Esta fórmula é generalizada como abaixo e utilizada para o cálculoincremental (N = 1, 2, 3, ...) dos índices de desempenho até atingir o tamanho da populaçãodesejada para análise. Ou seja, a partir de ni(N), é possível calcular o tempo de resposta paratodas as filas quando há N + 1 clientes no sistema.

wi(N + 1) = Si ∗ (1 + ni(N))

Para o cálculo dos demais índices de desempenho, faz-se necessário o fluxo de clientes. Emum rede fechada, não faz sentido falar em fluxo de clientes do mesmo modo como nas redesabertas, pois não há clientes vindo de fora do sistema nem clientes que saem do sistema. Emredes fechadas sempre temos N clientes na rede.

Intuição: considere a toda a rede fechada como um sistema fechado com uma única fila. Paraeste sistema de uma única fila, a população é N (nro. de clientes no sistema). Ainda, o tempo deespera da fila que representa o sistema como um todo é uma ponderação dos tempos de esperadas diversas filas que compõem a rede considerando a proporcionalidade do seu uso (taxa devisitas). Utilizando a Lei de Little podemos extrair um índice de fluxo para a rede como umtodo. Chamemos de d0(N) o fluxo da rede como um todo, considerando N clientes. Temos:

di = ni/wi (Lei de Little)d0(N) = NPM

j=1 wj(N)∗Vj

32 CAPÍTULO 4. REDES DE FILAS DE ESPERA

A partir de d0(N), o fluxo da rede como um todo considerando N clientes na rede, deriva-seo fluxo de cada fila i com N clientes na rede:

di(N) = d0(N) ∗ Vi

Agora, também através da lei de Little, é possível calcular a população média de uma fila iquando há N clientes na mesma:

ni(N) = wi(N) ∗ di(N)

Dessa forma, tendo a população média das filas quando temos N clientes no sistema (ni(N)),é possível calcular o tempo de resposta das filas com poplulação (N + 1) utilizando wi(N + 1) =Si ∗ (1 + ni(N)), como explicado acima. A partir disso novamente o fluxo e a população médiaquando temos N + 1 clientes no sistema podem ser calculados. E assim sucessivamente, até onúmero de clientes que se queira verificar os índices de desempenho. Este algoritmo iterativochama-se Algoritmo MVA para redes fechadas (Mean-Value Analysis).

A utilização de uma dada fila i quando há N clientes na rede é obtida através da mesmafórmula para redes abertas:

ui(N) = di(N) ∗ Si

4.4 Exemplificação

Trabalharemos com dois exemplos. O primeiro com rede aberta e o segundo com rede fechada.

4.4.1 Exemplificação com rede fechada

Para a rede fechada mostrada na Figura 4.6, vamos calcular os índices de desempenho sabendoque S1=2 u.t., S2=5 u.t. e S3=4 u.t. para uma população de 3 clientes no sistema.

2

1

3

0.7

0.3

Figura 4.6: Exemplificação com rede de fila de espera fechada

Assim como em redes abertas, o primeiro passo é calcular as taxas de visitas das filas dosistema, o que nesse caso é bastante intuitivo:

V1 = 1V2 = 0.7V3 = 0.3

4.4. EXEMPLIFICAÇÃO 33

Sabemos que:

n1(0) = 0n2(0) = 0n3(0) = 0

Então podemos calcular os índices de desempenho quando a rede possui 1 cliente:

wi(N) = Si ∗ (1 + ni(N − 1))w1(1) = S1 ∗ (1 + n1(0)) = 2 ∗ (1 + 0) = 2w2(1) = S2 ∗ (1 + n2(0)) = 5 ∗ (1 + 0) = 5w3(1) = S3 ∗ (1 + n3(0)) = 4 ∗ (1 + 0) = 4

d0(N) = NPMj=1 wj(N)∗Vj

d0(1) = 1PMj=1 wj(1)∗Vj

= 1(2∗1)+(5∗0.7)+(4∗0.3) = 1

6.7 = 0.1493

di(N) = d0(N) ∗ Vi

d1(1) = d0(1) ∗ V1 = 0.1493 ∗ 1 = 0.1493d2(1) = d0(1) ∗ V2 = 0.1493 ∗ 0.7 = 0.1045d3(1) = d0(1) ∗ V3 = 0.1493 ∗ 0.3 = 0.0448

ni(N) = wi(N) ∗ di(N)n1(1) = w1(1) ∗ d1(1) = 2 ∗ 0.1493 = 0.2986n2(1) = w2(1) ∗ d2(1) = 5 ∗ 0.1045 = 0.5225n3(1) = w3(1) ∗ d3(1) = 4 ∗ 0.0448 = 0.1792

Neste momento temos os índices de desempenho quando o sistema possui 1 cliente. Comoqueremos os índices quando o sistema possui 3 clientes, temos que continuar as iterações. Noteque é possível verificar se os cálculos estão corretos verificando a população média das filas. Sea soma dos ni(N) de todas as filas resultar em um número diferente de N , significa que algumcálculo não foi feito corretamente. Podemos verificar que n1(1) + n2(1) + n3(1) ≈ 1. Neste casoa soma não resultou exatamente o valor 1 devido aos arredondamentos.

Como os cálculos estão corretos, podemos continuar as interações:

wi(N) = Si ∗ (1 + ni(N − 1))w1(2) = S1 ∗ (1 + n1(1)) = 2 ∗ (1 + 0.2986) = 2.5972w2(2) = S2 ∗ (1 + n2(1)) = 5 ∗ (1 + 0.5225) = 7.6125w3(2) = S3 ∗ (1 + n3(1)) = 4 ∗ (1 + 0.1792) = 4.7164

d0(N) = NPMj=1 wj(N)∗Vj

d0(2) = 2PMj=1 wj(1)∗Vj

= 2(2.5972∗1)+(7.6125∗0.7)+(4.7164∗0.3) = 2

9.3411 = 0.2141

di(N) = d0(N) ∗ Vi

d1(2) = d0(2) ∗ V1 = 0.2141 ∗ 1 = 0.2141d2(2) = d0(2) ∗ V2 = 0.2141 ∗ 0.7 = 0.1499d3(2) = d0(2) ∗ V3 = 0.2141 ∗ 0.3 = 0.06423

34 CAPÍTULO 4. REDES DE FILAS DE ESPERA

ni(N) = wi(N) ∗ di(N)n1(2) = w1(2) ∗ d1(2) = 2.5972 ∗ 0.2141 = 0.5561n2(2) = w2(2) ∗ d2(2) = 7.6125 ∗ 0.1499 = 1.1411n3(2) = w3(2) ∗ d3(2) = 4.7164 ∗ 0.06423 = 0.3030

Como n1(2) + n2(2) + n3(2) ≈ 2 podemos partir para a última iteração:

wi(N) = Si ∗ (1 + ni(N − 1))w1(3) = S1 ∗ (1 + n1(2)) = 2 ∗ (1 + 0.5561) = 3.1120w2(3) = S2 ∗ (1 + n2(2)) = 5 ∗ (1 + 1.1411) = 10.7055w3(3) = S3 ∗ (1 + n3(2)) = 4 ∗ (1 + 0.3030) = 5.2116

d0(N) = NPMj=1 wj(N)∗Vj

d0(3) = 3PMj=1 wj(1)∗Vj

= 3(3.1120∗1)+(10.7055∗0.7)+(5.2116∗0.3) = 3

12.1693 = 0.2465

di(N) = d0(N) ∗ Vi

d1(3) = d0(3) ∗ V1 = 0.2465 ∗ 1 = 0.2465d2(3) = d0(3) ∗ V2 = 0.2465 ∗ 0.7 = 0.1726d3(3) = d0(3) ∗ V3 = 0.2465 ∗ 0.3 = 0.0740

ni(N) = wi(N) ∗ di(N)n1(3) = w1(3) ∗ d1(3) = 3.1120 ∗ 0.2465 = 0.7671n2(3) = w2(3) ∗ d2(3) = 10.7055 ∗ 0.1726 = 1.8467n3(3) = w3(3) ∗ d3(3) = 5.2116 ∗ 0.0740 = 0.3851

Como n1(3) + n2(3) + n3(3) ≈ 3, temos os índices de desempenho quando o sistema possui3 clientes.

4.5 Exercícios: Filas Abertas

1. Dada as probabilidades dos estados globais da rede de fila de espera abaixo, qual é apopulação média da fila 1 e fila 2?

21

0.3

0.7

C1 = 1 S1 = 1µ1

C2 = 1 S2 = 1µ2

K1 = 2 L1 = λ1

K2 = 3

p00 = 0, 2340 p01 = 0, 1629 p02 = 0, 1033 p03 = 0, 0584p10 = 0, 1206 p11 = 0, 0817 p12 = 0, 0516 p13 = 0, 0362p20 = 0, 0679 p21 = 0, 0382 p22 = 0, 0249 p23 = 0, 0201

2. Dada a rede de filas abaixo, qual é o maior tempo de serviço possível para cada fila (uti-lizando 4 casas de precisão) de modo que a rede respeite a hipótese da estacionariedade?(2,5 pontos)

4.6. EXERCÍCIOS: FILAS FECHADAS 35

1 2

3

S i L i

1,5

0,2

0,80,5

0,4

1

2

1,5

i

0,5

0??

3 ?0,6

3. Dada a rede de filas de espera aberta abaixo, qual é o maior tempo de serviço possívelpara cada fila (utilizando 4 casas de precisão) de modo que a rede respeite a hipótese daestacionariedade?

1 4

2

3

i Si Li Vi

1 ? 0,5 12 ? 0 0,53 ? 0 0,754 ? 0 1

4. Dada a rede de filas abaixo, calcule os índices de desempenho (fluxo médio, índice deutilização, população média e tempo médio de resposta) das filas.

S i L i

1

2

3

4

0,5

0,2

0,75

1,5

i

0,5

0

0

0,25

1 2

3

4

1,5

0,1

0,1

0,80,5

0,2

0,6

0,2

5. Dada a rede de filas abaixo, calcule os índices de desempenho (fluxo médio, índice deutilização, população média e tempo médio de resposta) das filas.

S i L i

1

2

3

4

2,5

1,5

0,5

1,5

0,3

0,2

0

0

i

2

3

4

1

0,3

0,2

0,6

0,4

0,3

0,1

0,8

0,1

0,7

4.6 Exercícios: Filas Fechadas

1. Dada a rede de filas abaixo, pergunta-se qual é a população média da fila 4 quando hou-verem 3 clientes na rede.

36 CAPÍTULO 4. REDES DE FILAS DE ESPERA

1 2

3

4

S i

0,8

0,2

0,8

0,2

0,1

0,9 1

3

4

i

2

n i (2)

2 0,69741,5 0,4276

0,5 0,0263

?2,5

2. Assumindo que o número total de clientes da rede de filas abaixo é igual a 3, calcule osíndices de desempenho das filas quando estas tiverem 3 clientes.

1

3

2

4

S i0,2

0,8

0,6

0,4

0,7

0,3

1

3

4

0,5

1,5

i

2

2,5

2

3. Dada a rede de filas de espera fechada abaixo, qual é a população média da fila 3 quandohouverem 6 clientes na rede?

1

2

3

0.8

0.2

i ni(5) Si Vi

1 3,0159 0,5 0,62 1,8162 0,25 0,963 ? 0,4 0,12

4. Dada a rede de filas abaixo, complete a tabela com os índices de desempenho das filas.

1

3

2

4

0,2

0,8

1

3

4

20,1

0,9

2,03,05,0

4,0

S ii

i Vi di ui ni wi

1 ?????? ?????? 0.4174 0.7003 ??????2 ?????? 0.0649 0.1948 0.2407 3.70743 ?????? 0.1670 0.8347 ?????? 19.86844 ?????? 0.2319 0.9275 ?????? ??????

Capítulo 5

Redes de Autômatos Estocásticos

No decorrer deste capítulo, é apresentada uma definição informal do formalismo de Redes deAutômatos Estocásticos (SAN - Stochastic Automata Network) através da descrição das primi-tivas utilizadas no formalismo.

Posteriormente, apresenta-se a definição formal de SAN à escala de tempo contínua en-globando os conceitos definidos informalmente na Seção 1. Para isso, mostra-se os termosnecessários para a definição de um modelo em SAN. Além disso, apresenta-se as restriçõespara a definição de uma SAN bem definida e as regras necessárias para a obtenção do DescritorMarkoviano equivalente a mesma.

5.1 Definição Informal

O formalismo de Redes de Autômatos Estocásticos foi proposto por Plateau [21]. A idéiaprincipal do formalismo de SAN é modelar um sistema em vários subsistemas, ou seja, um sis-tema composto de módulos “quase independentes”. A expressão “quase independente” denota apossibilidade de ocorrer interação entre cada subsistema. SAN é um formalismo para modelagemde sistemas com grande espaço de estados. Essa modularização definida pelo formalismo de SANpermite o armazenamento e a solução eficiente de sistemas complexos por evitar os prejuízos daexplosão do espaço de estados que ocorre no formalismo de Cadeias de Markov, o qual SAN temequivalência de representação.

Cada subsistema é representado por um autômato estocástico e por transições entre os es-tados deste autômato. As transições entre os estados de cada autômato são modeladas por umprocesso estocástico de tempo contínuo ou discreto definidos por distribuições exponenciais ougeométricas respectivamente.

É interessante ressaltar que toda SAN pode ser representada por um único autômato es-tocástico que contém todos os estados possíveis do sistema. Esse único autômato corresponde àcadeia de Markov equivalente ao modelo em SAN.

Note que a modelagem em SAN apresentada nesse capítulo se aplica tanto à escala de tempocontínua como à escala de tempo discreta. Entretanto, as explicações e exemplos apresentadosao longo deste capítulo fazem referência à escala de tempo contínua (taxas de ocorrência) e não àescala de tempo discreta (probabilidades de ocorrência), visto que o foco principal deste trabalho

38 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

é o formalismo de SAN à escala de tempo contínua. A diferenciação entre as duas escalas detempo dá-se apenas na obtenção do Descritor Markoviano de cada modelo. Enquanto um modeloem SAN à escala de tempo contínua gera uma cadeia de Markov à escala de tempo contínua(CTMC - Continuous Time Markov Chain), um modelo em SAN descrito em escala de tempodiscreta gera uma cadeia de Markov à escala de tempo discreta (DTMC - Discrete Time MarkovChain). No decorrer deste capítulo, adota-se a seguinte notação para a definição dos modelosem SAN:

Sejam

A(i) i-ésimo autômato de um modelo em SAN, onde A(1) é o primeiro autô-mato;

x(i) x-ésimo estado do autômato A(i), onde 0(1) é o primeiro estado do autô-mato A(1);

e identificador de um evento (local ou sincronizante);

e(π) identificador de um evento e com probabilidade constante π;

e(g) identificador de um evento e com probabilidade funcional definida pelafunção g.

As probabilidades (π ou g) são utilizadas quando um evento possui duas ou mais alternativasde transição. Dessa maneira, probabilidades são utilizadas para indicar em que proporções oevento seguirá por uma transição ou por outra. A probabilidade pode ser omitida caso esta sejaigual a 1 (100%). Outro ponto importante é que a soma das probabilidades de um evento deveser sempre igual a 1 (100%). A seguir, cada primitiva de modelagem é explicada detalhadamente.

5.1.1 Autômatos Estocásticos

Autômato estocástico é um modelo matemático de um sistema que possui entradas e saídasdiscretas. O sistema pode se encontrar em qualquer um dentre o número finito dos estados dosistema ou das configurações internas. O estado interno em que o sistema se encontra sumarizaas informações sobre as entradas anteriores e indica ainda o que é necessário para determinar ocomportamento do sistema para as entradas seguintes [11].

Baseado nessa definição, pode-se descrever um autômato estocástico como um conjunto finitode estados e um conjunto finito de transições entre esses estados. A denominação de estocásticosatribuída a esses autômatos dá-se pela razão do tempo ser tratado como uma variável aleatória,a qual obedece a uma distribuição exponencial à escala de tempo contínua e uma distribuiçãogeométrica à escala de tempo discreta.

O estado local do sistema modelado em SAN é o estado individual de cada autômato domodelo. Por sua vez, o estado global do mesmo é definido pela combinação dos estados locais detodos os autômatos que compõem o modelo. A mudança do estado global do sistema dá-se pelamudança do estado local de qualquer um dos autômatos do modelo.

A mudança de um determinado estado local para outro é feita através de transições. Astransições são construções que indicam a possibilidade de mudança entre um estado e outro. Noentanto, cada transição necessita ter ao menos um evento associado a ela para que essa possa

5.1. DEFINIÇÃO INFORMAL 39

ser disparada. A Figura 5.1 apresenta um modelo em SAN com dois autômatos completamenteindependentes.

e5

1(1)

1(2)

2(1)

0(1)

A(2)A(1)

0(2)e1e3

e2

e4

Tipo Evento Taxaloc e1 τ1

loc e2 τ2

loc e3 τ3

loc e4 τ4

loc e5 τ5

Figura 5.1: Modelo em SAN com 2 autômatos independentes

Neste primeiro exemplo, o autômato A(1) do modelo possui três estados 0(1), 1(1) e 2(1),enquanto o autômato A(2) possui apenas dois estados 0(2) e 1(2). Dos cinco eventos que sãomodelados neste exemplo, três eventos (e1, e2, e3) ocorrem no autômato A(1), enquanto outrosdois eventos (e4, e5) ocorrem no autômato A(2). Apresenta-se na Figura 5.2 a CTMC equivalenteao modelo em SAN da Figura 5.1.

0(1)1(2)

1(1)1(2)

τ3

τ5

τ1

τ5

τ4

τ1τ3

τ2 τ2

τ4

τ4

τ5

2(1)0(2)

2(1)1(2)

0(1)0(2)

1(1)0(2)

Figura 5.2: CTMC equivalente ao modelo da Figura 5.1

Note que no modelo da Figura 5.1 não há interação entre os dois autômatos, i.e., existeapenas eventos locais em cada um deles. As definições e os tipos de eventos que podem serutilizados nos modelos em SAN serão vistos na próxima seção.

40 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

5.1.2 Eventos

Evento é a entidade do modelo responsável pela ocorrência de uma transição, a qual muda oestado global do modelo. Um ou mais eventos podem estar associados a uma transição e esta édisparada através da ocorrência de qualquer um dos eventos a ela associada.

Dois tipos de eventos podem ser modelados no formalismo de SAN. Um evento pode serclassificado como: local ou sincronizante.

5.1.2.1 Eventos Locais

Os eventos locais são utilizados em SAN para alterar o estado local de um único autômatosem que essa alteração ocasione uma mudança de estado em qualquer outro autômato do modelo.Esse tipo de evento é particularmente interessante, pois permite que vários autômatos tenhamum comportamento paralelo, trabalhando independentemente sem que haja interação entre eles.

Pode-se observar exemplos de eventos locais na Figura 5.1, a qual é composta exclusivamentepor esse tipo de evento.

5.1.2.2 Eventos Sincronizantes

Os eventos sincronizantes alteram o estado local de dois ou mais autômatos simultaneamente,i.e., a ocorrência de um evento sincronizante em um autômato força a ocorrência deste mesmoevento nos outros autômatos envolvidos. Através dos eventos sincronizantes, é possível fazera interação entre autômatos. Essa interação dá-se sob a forma de sincronismo no disparo dastransições.

Cada evento deve possuir uma taxa de ocorrência e uma probabilidade associada ao mesmo.Tanto a taxa de ocorrência como a probabilidade podem ter associados valores constantes ouvalores funcionais. Taxas e probabilidades funcionais assumem valores diferentes conforme osestados dos outros autômatos do modelo.

A classificação de um evento como local ou sincronizante é dada pela aparição do identificadordo evento e no conjunto de eventos de um autômato. Caso o identificador do evento apareçaapenas no conjunto de eventos de um único autômato, o evento é classificado como evento local.Se o mesmo identificador aparecer no conjunto de eventos de vários autômatos, o evento é clas-sificado como evento sincronizante.

5.1.3 Taxas e Probabilidades Funcionais

Taxas e probabilidades funcionais constituem a segunda possibilidade de interação entre autô-matos nos modelos em SAN. Outra possibilidade é a utilização de eventos sincronizantes1. Autilização de funções para definir taxas e/ou probabilidades permite associar a um mesmo eventodiferentes valores conforme o estado global do modelo.

1A utilização de taxas e probabilidades funcionais não está limitada aos eventos locais e podem ser empregadasnos eventos sincronizantes exatamente como nos eventos locais.

5.1. DEFINIÇÃO INFORMAL 41

As taxas e probabilidades funcionais são expressas por funções que levam em consideraçãoos estados atuais dos autômatos do modelo, podendo desta forma variar seu valor conforme osestados em que se encontram os autômatos envolvidos na função. A Figura 5.3 apresenta ummodelo em SAN com 2 autômatos de três e dois estados respectivamente.

e5

0(1)

1(1)

0(2)

1(2)

2(1)

A(2)A(1)

e4(π1)e1

e4

e2

e4(π2)

e3

Tipo Evento Taxaloc e1 τ1

loc e2 τ2

loc e3 τ3

syn e4 τ4

loc e5 f

Figura 5.3: Modelo em SAN com 2 autômatos, 1 evento sincronizante e uma taxa funcional

Da mesma forma que o modelo em SAN da Figura 5.1, também utiliza-se cinco eventosno modelo em SAN da Figura 5.3. Entretanto, o evento e4 é um evento sincronizante, vistoque o mesmo está associado a mais de um autômato do modelo. Este evento ainda possuiprobabilidades associadas a diferentes transições no autômato A(1). Além disso, o evento e5

possui agora a função f associada a sua taxa de ocorrência. Por sua vez, a função f é definidacomo:

f =

λ1 se autômato A(1) está no estado 0(1);0 se autômato A(1) está no estado 1(1);λ2 se autômato A(1) está no estado 2(1).

Como pode-se observar na definição da função f , a taxa de ocorrência da transição do estado0(2) para o estado 1(2) é igual a λ1 (caso o autômato A(1) esteja no estado 0(1)), igual a λ2 (casoo autômato A(1) esteja no estado 2(1)), e a transição não ocorrerá caso o autômato A(1) estejano estado 1(1). A Figura 5.4 apresenta a CTMC equivalente ao modelo em SAN da Figura 5.3.

Assim como as taxas de ocorrência podem ser expressas por funções, o mesmo pode ocorrercom as probabilidades de cada evento. A definição de funções usadas para expressar as proba-bilidades funcionais são exatamente iguais as funções usadas para definir as taxas de ocorrência.

5.1.3.1 Outras Funções

Outros dois tipos de funções ainda são utilizadas em SAN: Função de Atingibilidade e Funçõesde Integração. As expressões que definem a função de atingibilidade e as funções de integraçãosão descritas da mesma forma que as taxas e probabilidades funcionais. Porém, esses dois tiposde funções desempenham papéis diferenciados conforme explicados a seguir.

42 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

0(1)1(2)

1(1)1(2)

τ4π2

τ3

τ3

1(1)0(2)

0(1)0(2)

λ2

λ1

τ4π1

τ2

2(1)0(2)

τ2

τ1

τ1

2(1)1(2)

Figura 5.4: CTMC equivalente ao modelo da Figura 5.3

Função de Atingibilidade. Devido à representação em SAN ser de forma modular e o autô-mato global (equivalente à cadeia de Markov) se constituir pela combinação de todos os autô-matos do modelo, é necessário especificar uma função que determina os estados atingíveis doautômato global de um modelo em SAN.

A definição de quais estados podem ser atingíveis ou alcançados em um modelo em SAN édada pela função de atingibilidade. Essa função é definida usando-se as mesmas regras adotadaspara a definição de taxas e probabilidades funcionais.

A noção de função de atingibilidade fica mais clara ao se imaginar, por exemplo, um modelode compartilhamento de recursos, onde se tem N clientes disputando R recursos. Este sistemapode ser modelado em SAN usando um autômato com dois estados para cada cliente. O es-tado 0(i) representa que o recurso não está sendo utilizado pelo cliente i, enquanto o estado 1(i)

representa que o recurso está em uso pelo cliente i. É fácil imaginar que, se o número R de re-cursos for menor do que o número N de clientes, o estado global que representa todos os clientesutilizando um recurso não poderá ser atingido, pois este estado não corresponde à realidade domodelo. Os estados que possuem tal característica são chamados de estados inatingíveis e devemser eliminados do modelo através da função de atingibilidade, pois a probabilidade do modeloencontrar-se em algum destes estados é igual a zero.

A função de atingibilidade correta para o modelo de compartilhamento de recursos descritoacima é2:

reachability = nb [A(1)..A(N)] 1 ≤ R

Funções de Integração. Define-se funções de integração para a obtenção de resultados numéri-cos sobre o modelo em SAN. As funções de integração avaliam qual a probabilidade do modeloem SAN encontrar-se em um determinado estado.

Com isso, pode-se compor funções de integração que levem em conta a probabilidade domodelo se encontrar em um conjunto de estados, podendo assim se obter índices de desempenhoe confiabilidade do modelo. Essas funções de integração são avaliadas sobre o vetor de probabil-idade que contém a probabilidade do modelo se encontrar em cada um dos estados pertencente

2Notação utilizada pela ferramenta PEPS [4].

5.2. DEFINIÇÃO FORMAL 43

a ele.

Um exemplo de função de integração, tendo em mente o modelo de compartilhamento derecursos exposto anteriormente, é dado pela função u, onde se quer descobrir a probabilidade doautômato A(1) não estar utilizando o recurso, i.e., encontrar-se no estado 0(1).

u =(st(A(1)) == 0

)

Via de regra, todas as funções são modeladas em SAN da mesma forma, o que as diferenciamé como elas são empregadas no modelo.

5.2 Definição Formal

Será considerada neste trabalho a formalização de um modelo em SAN compreendendo Nautômatos e E eventos.

Sejam

A conjunto de autômatos (|A|= N);

E conjunto de eventos (|E|= E);

F função de atingibilidade.

O conjunto de autômatos A compreende N autômatos nomeados A(i), onde i ∈ [1..N ].

Sejam

S(i) conjunto de estados (locais) do autômato A(i);

|S(i)| número de estados de S(i);

S espaço de estados produto do modelo em SAN definido como S(1)× . . .×S(N);

x(i) um estado local do autômato A(i) (x(i) ∈ S(i)).

Definição 3 O estado global x de um modelo em SAN é obtido pela mudança dos estados locaisdos N autômatos, x = (x(1), . . . , x(N)), onde x(i) é o estado local de um autômato A(i) (x ∈ S).

Sejam

x(ω) composição dos estados locais x(i), onde i ∈ ω e ω ⊆ [1..N ];

x(x(i) → y(i)) estado global obtido pela substituição do estado local x(i) pelo estado localy(i) no autômato A(i);

S(ω) espaço de estados produto do conjunto de estados locais dos autômatosA(i), onde i ∈ ω;

|S(ω)| número de estados de S(ω), onde ω é o conjunto de índices dos autômatos(ω ⊆ [1..N ]).

44 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

Note que a definição de um estado local do autômato (x(i)) e a definição de um estado global(x) podem ser vistas como casos particulares de x(ω). Um estado local x(i) é o caso onde ω = {i},ao passo que o estado global x é o caso onde ω = {1, 2, 3, ..., N}.Definição 4 Um elemento funcional f(S(ω)) é uma função de S(ω) → R+, onde ω ⊆ [1..N ].

Os autômatos A(i) com i ∈ ω são os parâmetros do elemento f(S(ω)). Os elementos funcionaisservem para definir probabilidades e taxas funcionais conforme descritos a seguir.

Seja

f(x(ω)) elemento funcional3 f(S(ω)) avaliado para a composição de estados x(ω).

Elementos funcionais definem taxas e probabilidades funcionais. Todas as taxas e probabili-dades funcionais são consideradas como elementos funcionais, mesmo aqueles que possuem valorconstante. Obviamente, tal definição não representa uma restrição, visto que elementos con-stantes podem ser vistos como funções (constantes) com parâmetro em ω = ∅. Desta maneira,todos os elementos de um modelo em SAN podem ser considerados como funções de S(i) → R+.

O conjunto de eventos E é composto de E eventos nomeados ej , onde j ∈ [1..E].

Definição 5 Um evento em um modelo em SAN é definido por:

5.1. identificador4 e, onde e ∈ E;

5.2. índice ι(e) do autômato que possui a taxa do evento e, onde ι(e) ∈ [1..N ].

Definição 6 Uma tupla de evento (e, τ) é composta de:

6.1. e, identificador do evento;

6.2. τ , elemento funcional definido de S → R+, o qual define a taxa de ocorrência do evento e.

As Definições 27 e 28 caracterizam os eventos envolvidos em um modelo em SAN. Maisespecificamente, a Definição 27 identifica cada evento e a qual autômato é indicada a taxa doevento. A Definição 28 associa uma taxa de ocorrência τ a um evento e.

Definição 7 O conjunto T contém todas as tuplas de transição (e, π). Uma tupla de transição(e, π) é definida por:

7.1. e, identificador do evento;

7.2. π, elemento funcional definido de S → [0, 1], o qual representa a probabilidade de umatransição quando da ocorrência do evento e.

3Um elemento funcional pode ser uma taxa (τ(S(ω))) ou uma probabilidade (π(S(ω))), e ele também pode serexpresso na forma avaliada: τ(x(ω)) e π(x(ω)) respectivamente.

4No contexto deste trabalho, usa-se a letra e para se identificar um evento, entretanto qualquer outra letra oupalavra pode ser utilizada.

5.2. DEFINIÇÃO FORMAL 45

O conjunto T contém ao menos uma tupla de transição para cada evento e no conjunto deeventos E .Definição 8 Q(i) é a função de transição de S(i) × S(i) → T ∗, a qual contém os rótulos detransição do autômato A(i).

Definição 9 Q é a função de transição de S → T ∗, a qual contém os rótulos de transição doautômato global.

Sejam

Q(i)(x(i), y(i)) rótulo de transição do estado local x(i) para y(i) em Q(i), contendo umalista de tuplas de transição (e, π) em T ;

Q(x, y) rótulo de transição do estado global x para y em Q, contendo uma listade tuplas de transição (e, π) em T ;

η(e) conjunto dos índices i (i ∈ [1..N ]) tal que o autômato A(i) possui aomenos uma tupla de transição com o identificador do evento e em um doselementos de Q(i).

A função de transição Q(i) de um autômato A(i) (Definição 30), informa a associação entreos estados do autômato e quais eventos podem dispará-lo. Essa associação é feita através dastuplas de transição (e, π) que compõem o conjunto de tuplas de transição T (Definição 29).Cada tupla de transição define, além do identificador do evento, a probabilidade do evento paraaquela transição. O número de tuplas de transição associadas a um rótulo de transição é igualao número de eventos que podem disparar a transição.

Definição 10 Um evento e é classificado como:

10.1. evento local, se |η(e)|= 1;

10.2. evento sincronizante, se |η(e)|> 1.

Definição 11 O conjunto de eventos locais El é definido como El = {e ∈ E ||η(e)|= 1}.

Definição 12 O conjunto de eventos sincronizantes Es é definido como Es = {e ∈ E ||η(e)|> 1}.

Definição 13 O conjunto de eventos E é definido como E = El ∪ Es e El ∩ Es = ∅.

A Definição 32 faz a classificação de cada evento, o qual pode ser um evento local ou umevento sincronizante. Essa diferenciação não é feita na definição do evento, mas é necessáriapara a construção dos tensores do Descritor Markoviano, o qual é composto por uma parte local(eventos locais) e por outra parte sincronizante (eventos sincronizantes).

Definição 14 Um autômato A(i) é definido por:

14.1. um conjunto de estados S(i);

14.2. uma função de transição Q(i).

46 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

Um autômato A(i) tem como parâmetros a união dos parâmetros de todos os elementosfuncionais contidos nos seus rótulos de transição.

Sejam

A(i)(A(ω)) autômato A(i) que possui como parâmetros os autômatos A(j), onde j ∈ ω;

A(i)(x(ω)) autômato A(i)(A(ω)) com todos seus elementos funcionais avaliados paracomposição dos estados locais x(ω);

τe(x(i), y(i)) taxa de ocorrência do evento e da tupla de transição (e, π) associada aorótulo de transição Q(i)(x(i), y(i));

πe(x(i), y(i)) probabilidade da tupla de transição (e, π) associada ao rótulo de transiçãoQ(i)(x(i), y(i));

succe(x(i)) conjunto dos estados sucessores y(i), tais que o rótulo Q(i)(x(i), y(i)) possuauma tupla transição com o identificador e e τe(x(i), y(i)) 6= 0, πe(x(i), y(i)) 6=0. O conjunto dos estados sucessores do evento e em x(i) pode ser vazio,caso a transição não possa ser disparada em x(i) pelo evento e;

x(x(i) i∈η(e)

−→ y(i)) o estado global obtido pela substituição de todos os estados locais x(i) pory(i) em todos os autômatos A(i) (i ∈ η(e) e y(i) ∈ succe(x(i))).

Um evento sincronizante e é realizável no estado global x, se e somente se ∀i ∈ η(e) o conjuntode estados sucessores y(i) ∈ succe(x(i)) não for vazio.

A função de atingibilidade F é um elemento funcional definido de S → [0..1]. A funçãoassocia aos estados globais de S o valor 1 se eles são atingíveis e o valor 0 caso contrário.

Seja

R subconjunto de S que compreende todos os estados x tais que F(x) = 1.

Definição 15 Um modelo em SAN composto de N autômatos e E eventos é definido por:

15.1. cada um dos autômatos A(i) (i ∈ [1..N ]);

15.2. cada um dos eventos e ∈ E;15.3. a função de atingibilidade F .

5.2.1 SAN bem definida

Para se avaliar a solução estacionária de um modelo em SAN, são necessárias algumas pro-priedades, e.g., vivacidade, irreducibilidade, ergodicidade, etc. Para isso, algumas restriçõesdevem ser respeitadas para assegurar tais propriedades. Os modelos descritos em SAN queobedecem a estas restrições são conhecidos como SAN bem definidas.

Restrição 1 Um autômato A(i) é bem definido, se e somente se para todo x ∈ S, para todox(i) ∈ S(i) e para todo e ∈ E tal que succe(x(i)) for diferente de vazio:

5.3. EXERCÍCIOS 47

1.1. ∀y(i), z(i) ∈ succe(x(i))

τe(x(i), y(i))(x) = τe(x(i), z(i))(x);

1.2.

(∑

y(i)∈succe(x(i))

πe(x(i), y(i))(x)

)= 1 ou um elemento funcional que vale 0 ou 1.

Esta primeira restrição impõe que as tuplas de transição referentes a um mesmo evento ee referentes às transições de A(i) saindo de um mesmo estado devem possuir a mesma taxa detransição (Restrição 4.1). A soma das probabilidades de todas as transições saindo desse mesmoestado deve ser igual a 1 ou a um elemento funcional avaliado sobre [0..1] (Restrição 4.2).

Estas restrições têm por objetivo garantir a unicidade da definição das taxas de eventos emrelação ao conjunto de transições em cada um dos autômatos.

Restrição 2 Um evento e ∈ E é bem definido, se e somente se:

2.1. ∀π1, π2 ∈ [0, 1],∀e1, e2 ∈ E ,∀x(i), y(i) ∈ S(i) tal que y(i) ∈ succe(x(i)) e x(i) 6= y(i),∀(e1, π1), (e2, π2) ∈ Q(i)(x(i), y(i))

e1 6= e2

A Restrição 5.1 imposta aos eventos afirma que uma tupla de transição (e, π) deve apareceruma única vez no conjunto de tuplas de uma transição e o evento e deve pertencer ao conjuntode eventos E .Restrição 3 A função de atingibilidade F é bem definida, se e somente se o conjunto de estadosatingíveis R é um grafo de transição fortemente conexo.

A terceira restrição assegura a irredutibilidade da cadeia de Markov correspondente ao modeloem SAN e permite empregar os teoremas padrões.

Restrição 4 Uma SAN é bem definida, se e somente se:

4.1. todos seus autômatos são bem definidos;

4.2. todos seus eventos são bem definidos;

4.3. sua função de atingibilidade é bem definida.

5.3 Exercícios

1. A partir da Rede de Filas de Espera abaixo, faça o modelo SAN equivalente a mesma.

21

C1 = 1 S1 = 0, 1

C2 = 1 S2 = 0, 125

K1 = 2 L1 = 1, 4

K2 = 1 L2 = 0, 6

48 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

2. Dada a Rede de Fila Espera abaixo, faça o modelo SAN equivalente a mesma.

2

3

1

C1 = 1 S1 = 0.2C2 = 1C3 = 1

K1 = 5K2 = 4K3 = 6 L3 = 2

L1 = 3

S3 = 0.25

S2 = 0.4

3. Faça o modelo de Redes de Autômatos Estocásticos equivalente a Redes de Filas de Esperaabaixo.

1

3

2

π2

π1

K1 = 3 C1 = 1

K2 = 3

K3 = 2

P1,2 = 0.3

P1,3 = 0.7

C2 = 2

C3 = 1

S2 = 0.3

S1 = 0.5

S3 = 0.2

L1 = 1

L3 = 2

4. Dada a função de atingibilidade da Rede de Autômatos Estocásticos a seguir, quais são osestados atingíveis deste modelo? Construa a Cadeia de Markov equivalente ao mesmo.

I

U

A1

l2

l1

I

U

A3

l6

l5

I

U

A2

l4

l3

I

U

A4

l8

l7

I

U

A5

l10

l9

reachability = (nb U ≤ 1)

5. A partir do modelo SAN abaixo, indique quais são os estados atingíveis do mesmo.

1

A3A2 A4A1

I

U

a1b1

I

U

a2b2

I

U

a3b3

I

U

a4b4

Tipo Evento Taxa Tipo Evento Taxaloc a1 (nb U < 1) ∗ 1 loc b1 3loc a2 (nb U < 2) ∗ 1 loc b2 4loc a3 (nb U < 1) ∗ 1 loc b3 2loc a4 (nb U < 2) ∗ 1 loc b4 6

6. Dada a Rede de Filas de Espera abaixo, faça o modelo SAN equivalente da mesma.

5.3. EXERCÍCIOS 49

2

3

1

C1 = 1 S1 = 0.2C2 = 1C3 = 1

K1 = 4K2 = 3K3 = 5 L2 = 0, 5

L1 = 2

S3 = 2

S2 = 0.50.8

0.2

7. A partir da Cadeia de Markov abaixo, complete os autômatos A(1) e A(2) com suas respec-tivas transições, eventos, tipo dos eventos e taxas (constantes ou funcionais)?

5 54

2

3

3

Cadeia de Markov

XZ XW

Y Z Y W Y

Z W

X

A(1) A(2)

8. Faça a rede de autômatos estocásticos equivalente à rede de fila de espera com estas car-acterísticas (desenhe a rede de filas de espera antes de fazer a conversão para redes deautômatos estocásticos):

i Si Li Ci Pi1 Pi2 Pi3

1 4,0 0,4 1 0,0 0,7 0,32 5,0 0,0 2 0,0 0,0 0,03 2,5 0,1 1 0,2 0,5 0,0

9. Considere uma rede de autômatos estocásticos com três autômatos A, B e C, com respecti-vamente 6, 4 e 3 estados cada um. Os estados, em cada um dos autômatos, são numeradosa partir de zero. Supondo a função de atingibilidade abaixo, indique quais estados globaisnão são atingíveis.

reachability = (st A + st B) < (st C)

10. Na rede de autômatos estocásticos abaixo, suponha o estado AC atingível. Qual a proba-bilidade do autômato A(2) estar no estado D?

A

B

C

E D

A(1) A(2)

e1

e3

e2

e3

e3

e3

e4

e1

Tipo Evento Taxasyn e1 5loc e2 (st (A(2)) == D) ∗ 4syn e3 3loc e4 (st (A(1)) == B) ∗ 2

50 CAPÍTULO 5. REDES DE AUTÔMATOS ESTOCÁSTICOS

11. Para a rede de autômatos estocáticos abaixo, faça a cadeia de Markov equivalente e calculea probabilidade do autômato B estar no estado 0.

0

1

0

1

2

A B

e1

e1

e2

e3

e4 e5

f1 = st B == 0

f2 = st A + st B < 2

Evento Taxae1 0.5e2 0.2e3 f1e4 0.4e5 f2

12. A partir da Cadeia de Markov abaixo, complete os autômatos A(1) e A(2) com suas respec-tivas transições, eventos, tipo dos eventos e taxas (constantes ou funcionais)?

5 54

2

Cadeia de Markov

5

3

3

7

7

X

Y

A

C B

XB

Y B Y C

XCXA

Y A

A(1) A(2)

13. Dada uma rede de autômatos estocásticos com 2 autômatos A e B, onde o autômato Apossui 4 estados (0, 1, 2 e 3) e o autômato B possui 3 estados (0, 1 e 2), de acordo coma função de atingibilidade (st(A) > st(B)) || (st(A) == 0), quais são os estados atingíveisdesta rede?

14. Seja um laboratório com 3 máquinas e duas impressoras. Supondo que após cerca de 15minutos cada computador tenta utilizar a impressora e que um vez pegando uma impressorao computador a utiliza por 12 minutos (em média). Modele esta realidade utilizando redesde autômatos estocásticos.

Capítulo 6

Redes de Petri Estocásticas

Nesta seção, apresenta-se a definição informal do formalismo de Redes de Petri e as definiçõesinformais e formais do formalismo de Redes de Petri Estocásticas. Para cada formalismo umexemplo é apresentado. Finalmente, exercícios sobre o tema são sugeridos.

6.1 Redes de Petri

Uma Rede de Petri é uma abstração de um sistema real. Ela é um modelo formal do fluxode dados e controle do sistema modelado em questão. As propriedades, conceitos e técnicas paramodelagem de uma Rede de Petri foram desenvolvidas utilizando métodos simples e poderosospara descrição e análise do fluxo de sistema.

O formalismo de Redes de Petri (PN - Petri Nets) é utilizado principalmente em sistemasque possam apresentar atividades assíncronas e concorrentes. Redes de Petri têm sido utilizadasprincipalmente para a modelagem de sistemas de eventos em que estes possam ocorrer concor-rentemente, havendo obstáculos na concorrência, precedência ou freqüência desses eventos [19].

6.1.1 Definição Informal

A estrutura de uma Rede de Petri é um grafo bipartido1 que compreende um conjunto delugares P , um conjunto de transições T , e um conjunto de arcos direcionados A. Os lugaressão representados graficamente por círculos, as transições por barras e os arcos direcionados porsetas. Os arcos direcionados conectam os lugares às transições e as transições aos lugares.

Tem-se, na Figura 6.1, um exemplo da representação gráfica de uma Rede de Petri que possui5 lugares e 6 transições.

Um lugar é uma entrada para uma transição se existe um arco direcionado do lugar para atransição em questão. Analogamente, um lugar é uma saída de uma transição se existe um arcodirecionado da transição para o lugar em questão.

6.1.1.1 Marcas

Uma Rede de Petri pode ser considerada marcada quando ela possuir tokens ou marcas. To-kens encontram-se nos lugares. As transições, quando disparadas, consomem tokens dos lugares

1Um grafo bipartido é aquele que possui dois tipos de nodos distintos: lugares e transições.

52 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

p1

p2 p3

p4 p5

t3t4 t2 t5

t6

t1

Figura 6.1: Exemplo de representação gráfica de uma Rede de Petri

que as alimentam e geram marcas nos lugares por elas alimentadas. Tokens são sinais em umaRede de Petri representados graficamente por um ponto preto. A quantidade e a posição dostokens em uma Rede de Petri podem variar durante o funcionamento da mesma.

Uma Rede de Petri marcada é definida pelo número mn de tokens contidos em cada lugar pn

da rede [1]. Uma marcação Mi de uma Rede de Petri é definida pelo conjunto de mn dos lugaresda mesma, ou seja, a marcação inicial de uma Rede de Petri é M0 = {m0, m1, m2, ..., mn}. NaFigura 6.2, tem-se um exemplo de uma Rede de Petri marcada.

p1

p2 p3

p4 p5

t3t4 t2 t5

t6

t1

Figura 6.2: Exemplo de uma Rede de Petri marcada

6.1.1.2 Regras de Execução

Uma Rede de Petri é executada através do disparo de transições. Para ocorrer o disparode uma transição, é necessário que esta transição esteja habilitada para isto. Uma transição éconsiderada habilitada para disparar quando todos os lugares de entrada dela contiverem pelomenos um token. Analisando a Figura 6.2, nota-se que a transição t1 possui apenas o lugar p1

como entrada, e este possui pelo menos um token. Logo, a transição t1 está habilitada e podeser disparada.

6.1. REDES DE PETRI 53

Quando uma transição é disparada - Figura 6.3 (a) - remove-se um token de cada lugar deentrada da transição em questão e então coloca-se um token em cada lugar de saída da mesma- Figura 6.3 (b).

(a) (b)

p1

p2 p3

p4 p5

t3t4 t2 t5

t6

t1

p1

p2 p3

p4 p5

t3t4 t2 t5

t6

t1

Figura 6.3: Disparo da transição t1 de uma Rede de Petri

Cada disparo de uma transição pode modificar a distribuição dos tokens nos lugares e con-seqüentemente pode produzir uma nova marcação Mj para a Rede de Petri.

Tokens são considerados entidades atômicas (indivisíveis2), ou seja, o disparo de uma tran-sição pode desativar outros possíveis disparos, removendo tokens que poderiam ser consumidospor uma ou outra transição alimentada por um mesmo lugar de entrada. Observando a Figura6.3, pode-se notar que após o disparo da transição t1, os lugares p2 e p3 receberam um token cada.Por conseguinte, as transições t2 e t3 passaram a estar habilitadas para o disparo. O disparo datransição t2 coloca um token no lugar p4 e habilita a transição t4; o disparo da transição t3 colocaum token no lugar p5 e também habilita o disparo da transição t5. Neste momento, as transiçõest4, t5 e t6 estão habilitadas a serem disparadas, porém apenas uma destas três transições podeser disparada. A seleção do disparo é não determinística e o disparo de uma transição desativaautomaticamente o disparo da outra3.

O resultado do disparo de uma transição de uma marcação Mi pode gerar uma nova marcaçãoMj . A marcação Mj é dita imediatamente atingível de Mi se ela pode ser obtida do disparo deuma transição habilitada em Mi. Uma marcação Mk é dita atingível de Mi se existir uma se-qüência de disparo de transições que levem o estado da Rede de Petri em questão de Mi para Mk.

O funcionamento de uma Rede de Petri gera uma seqüência M de marcações {M0, M1, M2,...} e uma seqüência T de transições {t1, t2, ...}. O disparo de uma transição tk, habilitada emMi, pode mudar o estado da Rede de Petri de Mi para Mj e assim por diante.

Com isso, pode-se definir o conjunto de atingibilidade de uma Rede de Petri. O termoatingibilidade também é conhecido como reachability [14]. O conjunto de atingibilidade (RS -Reachability Set) é composto por todas as marcações distintas de M que são atingíveis a partirde M0. As marcações do conjunto M podem ser representadas na forma de uma árvore. A

2A mudança de marcação é um processo discreto e não contínuo.3Neste exemplo, o disparo da transição t4 não desativa o disparo da transição t5, e vice-versa. Porém, o disparo

da transição t6 desativa o disparo das outras duas transições.

54 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

Figura 6.4 mostra a árvore de atingibilidade do exemplo apresentado na Figura 6.2.

t1

M1 = {0, 1, 1, 0, 0}t3t2

t3t4 t2 t5

t4 t5t6

M1 M1M4

M0 M2M3

M0 = {1, 0, 0, 0, 0}

M2 = {0, 0, 1, 1, 0} M3 = {0, 1, 0, 0, 1}

M4 = {0, 0, 0, 1, 1}

Figura 6.4: Árvore de atingibilidade da Figura 6.2

A árvore de atingibilidade é construída a partir da marcação inicial M0 da Rede de Petriem questão. Em seguida, leva-se em conta todas as marcações imediatamente atingíveis destamarcação inicial. Somente M1 é imediatamente atingível a partir da marcação inicial. A par-tir desta nova marcação, repete-se o mesmo procedimento. Logo, M2 e M3 são as marcaçõesimediatamente atingíveis a partir de M1. Considerando M2 como a nova marcação, tem-se asmarcações M1 - obtida anteriormente - e M4. A marcação M3 também gera as marcações M1 eM4. Repetindo o mesmo procedimento para M4, consegue-se as marcações M0, M2 e M3. Destaforma, obtém-se a árvore de atingibilidade do exemplo em questão.

A construção da árvore a partir da marcação inicial M0 poderia gerar uma árvore de tamanhoinfinito. Entretanto, para se representar a árvore em um tamanho finito, quando encontra-se ummarcação já atingida, não expande-se a marcação em questão, considerando-a como uma mar-cação duplicada. As marcações duplicadas ou estados mortos são representados pelas folhas daárvore. As folhas da árvore de atingibilidade são marcações as quais não são mais expandidaspor já terem sido obtidas anteriormente. Os estados mortos são estados finais do sistema os quaisnão possuem transições habilitadas para os mesmos.

Um lugar de uma Rede de Petri pode apresentar a propriedade de limitação. O termo limi-tação também é conhecido como boundedness [14]. Um lugar pode ser dito como k-limitado ousimplesmente limitado se o número de tokens do lugar não excede o limite k do mesmo.

No exemplo apresentado na Figura 6.2, para todos os lugares da Rede de Petri em questão,o limite k é igual a 1, pois nenhum lugar da Rede de Petri deste exemplo contém mais de 1 token.

Uma Rede de Petri também pode ser denominada limitada. Diz-se que uma Rede de Petrié limitada se o limite de todos os lugares for menor que infinito. Logo, pode-se concluir que aRede de Petri da Figura 6.2 é 1-limitada, pois nenhum lugar desta rede acumula mais do que 1token em qualquer marcação possível da mesma.

Um lugar de uma Rede de Petri pode ser considerado seguro se ele tiver no máximo 1 token,ou seja, um lugar que é 1-limitado é considerado um lugar seguro. O conceito de segurançaé simplesmente uma particularização do conceito de limitação. O termo segurança também éconhecido como safeness [14].

6.1. REDES DE PETRI 55

Esta propriedade é uma das mais importantes para a modelagem de sistemas digitais, vistoque um lugar pode ser modelado como uma porta ou mesmo um flip-flop [14].

Logo, pode-se dizer que uma Rede de Petri é segura se o limite k de todos os lugares damesma não exceder 1 token. Como pode-se observar, a Rede de Petri apresentada no exemploda Figura 6.2 é uma rede segura, pois ela é uma rede 1-limitada.

Além disso, existe o conceito de vivacidade. O conceito de vivacidade está definido emfunção das possibilidades de disparo das transições. O termo vivacidade também é conhecidocomo liveness [14]. Vivacidade é uma propriedade fundamental para sistemas do mundo real.Uma transição é potencialmente disparável em uma marcação M0 se existe uma marcação Mi

atingível a partir de M0, ou seja, uma transição é considerada viva se esta não é passível de umimpasse ou deadlock. Impasse em uma Rede de Petri é a impossibilidade do disparo de qualquertransição da mesma.

6.1.2 Exemplificação

Um exemplo de modelagem de uma Rede de Petri é o caso de compartilhamento de recursosentre componentes do sistema. Na Figura 6.5, tem-se um exemplo de modelagem de Rede dePetri para o compartilhamento de recursos com exclusão mútua.

p0

p1

p3

p5

p2

p4

p6

p7

p8

p9

t0

t1

t3

t2

t4

t5

Figura 6.5: Compartilhamento de recursos com exclusão mútua - PN

A Figura 6.5 apresenta a Rede de Petri que representa o processo de produção em umafábrica de água mineral. Supõe-se que esta fábrica possua uma única máquina responsável pelamanufatura da garrafa de água e da tampinha da mesma. Portanto, quando esta máquina estiversendo usada para fabricar as garrafas, o processo de manufatura das tampinhas deverá aguardarpara que possa-se utilizar a mesma máquina, e vice-versa.

56 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

Tendo em vista a rede da Figura 6.5, o lugar p0 da rede representa o depósito de matéria-prima e o lugar p9 a habilitação do sistema para a manufatura. Os lugares p1 e p2 representam,respectivamente, os repositórios de matéria-prima para as garrafas e tampinhas. Os lugares p3 ep4 representam o processo de manufatura das garrafas e o processo de manufatura das tampinhasrespectivamente.

O lugar p7 representa a máquina responsável pela linha de produção da fábrica. Um tokenneste lugar representa que a máquina está disponível. Quando não se encontrar um token nestelugar, significa que a máquina não está disponível, ou seja, um dos dois processos está utilizandoa máquina. Os lugares p5 e p6 são, respectivamente, os depósitos das garrafas e das tampinhas.Por último, o lugar p8 representa o processo de montagem da garrafa de água mineral.

A transição t0 representa o início do processo de manufatura. Neste momento, é feita a dis-tribuição de matéria-prima para os depósitos p1 e p2 para a manufatura de garrafas e tampinhas.As transições t1 e t2 representam, respectivamente, o início dos processos de manufatura dasgarrafas e tampinhas. Como o lugar p7 possui apenas um token, apenas uma das duas transiçõest1 ou t2 poderá ocorrer. Quando uma dessas transições ocorrer, automaticamente o disparo daoutra transição será impossibilitado, pois o token do lugar p7 será consumido.

A transição t3 representa o término da manufatura de garrafas e, conseqüentemente, a liber-ação da máquina. Da mesma forma, a transição t4 libera a máquina e termina com o processode manufatura de tampinhas. O disparo da transição t3 colocará um token em p5 e o disparo datransição t4 colocará um token em p6. Quando ocorrerem uma destas transições, automatica-mente será colocado um token em p7, liberando a máquina para um novo processo de manufatura.Quando ambos os lugares p5 e p6 contiverem pelo menos um token, então a transição t5 é dis-parada. Quando isso ocorrer, um token é colocado no lugar p8 e outro no lugar p9, habilitandoo processo de manufatura de outras garrafas e tampinhas, desde que haja matéria-prima.

Muitas outras áreas de estudo podem ser mencionadas como possíveis assuntos para a mod-elagem de Redes de Petri, incluindo alocação de recursos, sistemas operacionais, redes de filas,controle de tráfego, entre outros. O formalismo de Redes de Petri é uma ferramenta de grandefacilidade para modelagem de uma vasta variedade de sistemas.

6.2 Redes de Petri Estocásticas

Usando o formalismo de Redes de Petri, é possível descrever somente a estrutura lógica desistemas, pois tal formalismo não inclui nenhum conceito de tempo. Entretanto, freqüentemente,o conceito de tempo tem um papel importante na descrição do comportamento de sistemas.

A introdução do conceito de tempo no formalismo de Redes de Petri permite a descrição deum comportamento dinâmico de sistemas [1]. Noe e Nutt [18], Merlin e Farber [15] e Zuberek[30] usaram o conceito de tempo para a modelagem do comportamento de sistemas computa-cionais - Redes de Petri Temporizadas (TPN - Timed Petri Nets) - associando um tempo fixono disparo de transições. O formalismo de Redes de Petri Temporizadas tem como sua principalcaracterística a associação de um atraso fixo para cada transição do modelo - Figura 6.6.

Redes de Petri Temporizadas foram o passo inicial para a criação do formalismo de Redes dePetri Estocásticas (SPN - Stochastic Petri Nets). A possibilidade de unir a habilidade do formal-

6.2. REDES DE PETRI ESTOCÁSTICAS 57

p1

p2 p3

p4

t1, ϑ1

t2, ϑ2

t3, ϑ3

Figura 6.6: Exemplo de uma Rede de Petri Temporizada

ismo de Redes de Petri para descrever sincronização e concorrência com um modelo estocásticoé o principal atrativo para obter-se uma avaliação quantitativa de sistemas computacionais com-plexos.

Os primeiros estudos sobre Redes de Petri Estocásticas foram desenvolvidos por Symons [26],Natkin [17] e Molloy [16]. As Redes de Petri Estocásticas são obtidas através da associação deum tempo distribuído exponencialmente com o disparo de cada transição da rede.

6.2.1 Definição Informal

O formalismo de Redes de Petri Estocásticas (SPN - Stochastic Petri Nets) é uma ferra-menta para modelagem e avaliação de desempenho de sistemas envolvendo concorrência, não-determinismo e sincronização [2].

Redes de Petri Estocásticas são definidas assumindo que todas as transições são temporizadase que o atraso no disparo das transições é associado a uma variável aleatória distribuída expo-nencialmente.

Dada uma Rede de Petri Estocástica com uma marcação que possua diversas transições ha-bilitadas a serem disparas, uma das transições ocorre. Quando uma transição de uma Rede dePetri Estocástica é disparada, assim como no formalismo de Redes de Petri, uma nova marcaçãopode ser gerada. Esta nova marcação pode conter transições que já encontravam-se habilitadasna marcação anterior, mas não foram disparadas. Por causa da propriedade de ausência dememória4 da distribuição exponencial, pode-se assumir que a atividade associada a cada tran-sição é recomeçada para qualquer nova marcação.

A estrutura de uma Rede de Petri Estocástica possui os mesmos elementos contidos na es-trutura de uma Rede de Petri acrescido do conjunto L = {l1, l2, ..., lm} de taxas de disparos,possivelmente dependente de marcação, associadas às transições - Figura 6.7. Segundo Molloy[16], devido à propriedade de ausência de memória da distribuição exponencial do atraso dosdisparos, o formalismo de Redes de Petri Estocásticas é isomórfico5 ao formalismo de Cadeias

4Do inglês memoryless.5Ambos os formalismos possuem o mesmo escopo. Toda a realidade de um formalismo pode ser representada

no outro.

58 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

de Markov de Tempo Contínuo (CTMC).

p1

p2p3

p4

t1

t2t4t3γ δ β

αm1

Figura 6.7: Exemplo de uma Rede de Petri Estocástica

É possível mostrar que uma Rede de Petri Estocástica é ergódica. Ergódica significa quepara qualquer marcação desta rede atingida a partir da marcação inicial, pode-se novamenteatingir a marcação inicial. Logo, se uma Rede de Petri Estocástica é ergódica, é possível calculara distribuição da probabilidade de solução estacionária das marcações da mesma resolvendo aequação:

πQ = 0 (6.1)

Com a restrição adicional:

i

πi = 1 (6.2)

Onde Q é o gerador infinitesimal cujos os elementos são obtidos através das taxas de disparoscorrespondentes às transições e π é o vetor de probabilidade de solução estacionária.

Para auxiliar na construção da Cadeia de Markov equivalente à Rede de Petri Estocásticada Figura 6.7, constrói-se a árvore de atingibilidade da rede em questão. O processo para a con-strução da árvore de atingibilidade de uma Rede de Petri Estocástica segue o mesmo processo daconstrução da árvore de uma Rede de Petri. A Figura 6.8 representa a árvore de atingibilidadeda Rede de Petri Estocástica da Figura 6.7.

A partir da árvore de atingibilidade, pode-se construir a Cadeia de Markov equivalente aomodelo. O espaço de estados da Cadeia de Markov correspondente à árvore de atingibilidadede uma Rede de Petri Estocástica é equivalente às marcações encontradas na mesma. Por con-seguinte, na Figura 6.8, a árvore de atingibilidade possui 6 marcações que são equivalentes aosestados da Cadeia de Markov - Figura 6.9.

Tendo em vista a Figura 6.9, constata-se que a taxa de transição do estado 0 para o estado 1 éigual a t1(2). O valor entre parênteses corresponde ao número de tokens do lugar p1 na marcaçãoM0, visto que esta transição é dependente de m1. Por conseguinte, a taxa de transição do estado 1para o estado 2 e do estado 3 para o estado 4 é igual a t1(1), visto que m1 é igual a 1 em M1 e M3.

6.2. REDES DE PETRI ESTOCÁSTICAS 59

M0

M1 M1

M4

M4

M3 M2

t1(2)

t1(1)

t1(1)

t3 t2

t3 t2

t2 t4t3

t4

t4

M0 = {2, 0, 0, 0}

M1 = {1, 1, 1, 0}

M3 = {1, 1, 0, 1} M2 = {0, 2, 2, 0}

M4 = {0, 2, 1, 1}

M5 = {0, 2, 0, 2}

Figura 6.8: Árvore de atingibilidade da Figura 6.7

5

4

2 3

0

1

t2

t2

t2

t4

t4

t3 t4

t1(1)

t3

t3

t1(2)

t1(1)

Figura 6.9: Cadeia de Markov equivalente à Figura 6.7

Uma transição pode ter associada a ela uma condição de disparo chamada de controlador6.Sendo assim, um controlador associa uma condição a uma transição de modo que o disparo damesma fique dependente da condição especificada. Com isso, o disparo da transição fica depen-dente não somente do número de tokens de um lugar, mas de qualquer condição associada aonúmero de tokens do mesmo, e.g., o número de tokens maior ou igual a uma determinada quantiade tokens de um lugar.

Assumindo que as taxas de transição α = β = γ = δ = 1, pode-se obter o gerador infinitesimalQ a partir da árvore de atingibilidade. O gerador infinitesimal é uma matriz cujos elementos qij

são obtidos através do somatório das taxas de disparo das transições habilitadas na marcaçãoMi as quais os disparos geram a marcação Mj . Cabe ressaltar que em se tratando de geradorinfinitesimal, os elementos da diagonal principal da matriz (qii) correspondem a valores negativosde forma que a soma dos elementos de uma linha seja igual a zero. Em (6.3), tem-se a matrizdo gerador infinitesimal da Rede de Petri Estocástica da Figura 6.7.

6Do inglês guard.

60 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

Q =

-2 2 0 0 0 01 -3 1 1 0 00 1 -2 0 1 00 1 0 -2 1 00 0 1 1 -3 10 0 0 0 1 -1

(6.3)

Utilizando o gerador infinitesimal Q obtido em (6.3), pode-se resolver a equação (6.1) e obteros valores do vetor de probabilidade π:

π =[

111

211

211

211

211

211

]

É possível, a partir do vetor de probabilidade π, obter uma avaliação quantitativa do com-portamento da Rede de Petri Estocástica. A probabilidade de uma condição em especial de umaRede de Petri Estocástica pode ser calculada pela equação:

P{A} =∑

i∈A

πi (6.4)

Onde A é o subconjunto de marcações atingíveis a partir da marcação inicial que satisfaça acondição requerida.

Também é possível calcular, através da equação (6.5), o número médio de tokens em umdeterminado lugar.

E[mi] =k∑

n=1

[nP{A(i, n)}] (6.5)

Onde A(i, n) é o subconjunto de marcações atingíveis a partir da marcação inicial as quais onúmero de tokens do lugar pi é igual a n, e k é o limite máximo de tokens do lugar em questão.Logo, o lugar pi é k-limitado.

Como exemplo, pode-se calcular o número médio de tokens do lugar p1 da Rede de PetriEstocástica da Figura 6.7. Usando a equação (6.5), tem-se:

E[m1] = 1P{A(1, 1)}︸ ︷︷ ︸π1+π3

+2 P{A(1, 2)}︸ ︷︷ ︸π0

= 2π0 + π1 + π3 =611

A taxa média de disparo da transição tj por unidade de tempo é calculada pela equação:

fj =∑

Mi∈Aj

πi

lj

/ ∑

∀tk∈F (Mi)

lk

(6.6)

Como demonstração, usando a equação (6.6), pode-se calcular a taxa de disparo da transiçãot2, habilitada somente nas marcações M1, M2 e M4:

f2 = π1

(l2

l1 + l2 + l3

)

︸ ︷︷ ︸M1

+π2

(l2

l2 + l3

)

︸ ︷︷ ︸M2

+π4

(l2

l2 + l3 + l4

)

︸ ︷︷ ︸M4

=13π1 +

12π2 +

13π4 =

733

6.2. REDES DE PETRI ESTOCÁSTICAS 61

6.2.2 Definição Formal

Seja

C o conjunto de condições associadas aos disparos das transições de T .

Definição 16 c ∈ C é uma condição que pode ser associada a uma transição t ∈ T , a qualdepende das marcas dos lugares p ∈ P. Esta condição é uma função com domínio nas marcasdos lugares p ∈ P e contra-domínio em falso e verdadeiro.

Estas condições permitem que o disparo de uma transição tenha um dependência em relaçãoà quantidade de tokens de um determinado lugar do mesmo componente SPN .

Definição 17 Um componente SPN é definido pela tupla (P, T , I, O, W , G, M0), onde:

17.1. P é um conjunto não vazio de lugares;

17.2. T é um conjunto não vazio de transições;

17.3. I e O: T → P são funções de entrada e saída das transições para um conjunto de lugares;

17.4. W : T → R+ é função de associação de um processo estocástico distribuído exponencial-mente para cada transição7;

17.5. G: T → C é uma função, chamada de controlador8, que determina uma condição c ∈ Cnecessária (mas não suficiente) ao disparo de cada transição t ∈ T ;

17.6. M0: P → N é o número inicial de tokens em cada lugar.

6.2.3 Exemplificação

Um exemplo de modelagem de Rede de Petri Estocástica é dado na Figura 6.10, a qual rep-resenta uma variação do exemplo apresentado na Figura 6.5.

A Rede de Petri Estocástica modelada na Figura 6.10 continua representando o processo deprodução em uma fábrica de água mineral. Porém, taxas de disparos estão associadas às tran-sições da rede. Para manter-se a relação de ergodicidade da Rede de Petri Estocástica da Figura6.10 com a Cadeia de Markov que a representa, os lugares p8 e p9 da Rede de Petri original(Figura 6.5) foram retirados. Esta Rede de Petri Estocástica possui 30 marcações, descritas naTabela 6.1, geradas a partir do disparo das transições.

A Figura 6.11 representa a árvore de atingibilidade do exemplo em questão.

Neste exemplo, supõe-se que a máquina, responsável pela manufatura da garrafa de água epela tampinha da mesma, não suporta a produção sobreposta9 de mais do que 2 unidades de

7O valor numérico expressado é a taxa média de ocorrência da transição.8Do inglês guard.9A produção de garrafas e tampinhas ocorre de modo concorrente, ou seja, enquanto ocorre a produção de

garrafas, a produção de tampinhas aguarda a liberação da máquina, e vice-versa.

62 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

βα

γ δ

λ

p0

p1

p3

p5

p2

p4

p6

p7

t0

t2

t4t3

t1

t5

φm1

Figura 6.10: Compartilhamento de recursos com exclusão mútua - SPN

m0 m1 m2 m3 m4 m5 m6 m7

M0 2 0 0 0 0 0 0 1M1 1 1 1 0 0 0 0 1M2 0 2 2 0 0 0 0 1M3 1 0 1 1 0 0 0 0M4 1 1 0 0 1 0 0 0M5 0 1 2 1 0 0 0 0M6 0 2 1 0 1 0 0 0M7 1 0 1 0 0 1 0 1M8 1 1 0 0 0 0 1 1M9 0 1 2 0 0 1 0 1M10 0 2 1 0 0 0 1 1M11 1 0 0 0 1 1 0 0M12 1 0 0 1 0 0 1 0M13 0 0 2 1 0 1 0 0M14 0 1 1 0 1 1 0 0

m0 m1 m2 m3 m4 m5 m6 m7

M15 0 1 1 1 0 0 1 0M16 0 2 0 0 1 0 1 0M17 1 0 0 0 0 1 1 1M18 0 0 2 0 0 2 0 1M19 0 1 1 0 0 1 1 1M20 0 2 0 0 0 0 2 1M21 0 0 1 0 1 2 0 0M22 0 0 1 1 0 1 1 0M23 0 1 0 0 1 1 1 0M24 0 1 0 1 0 0 2 0M25 0 0 1 0 0 2 1 1M26 0 1 0 0 0 1 2 1M27 0 0 0 0 1 2 1 0M28 0 0 0 1 0 1 2 0M29 0 0 0 0 0 2 2 1

Tabela 6.1: Marcações da Figura 6.10

t0(2)

t0(1)t1

t3

t2M5

t1

t1

t3

t2

t4

t2

t4

t5

t5

t5

t2

t4 t3

t3 t5

t3

t1

t4

t5

t5

t5

t5

t1 t2

t4

t4

t1

t3

t0(1)

t0(1)

t4

t5

t3

t2

t2

t4

t1

t3

M0

M1

M2 M4

M8

M12

M6

M10

M15 M17

M6

M10

M15 M16

M20

M24

M26

M19

M23

M4M26

M8M28

M12M29

M1M22

M25 M3

M5

M9

M14M13

M18

M21

M25

M7M27

M11M29

M17

M3

M9

M7

M11

M14 M17

M19 M0

t0(1)

t0(1)

t0(1)

t2t1

t0(1)

t0(1)

Figura 6.11: Árvore de atingibilidade da Figura 6.10

6.2. REDES DE PETRI ESTOCÁSTICAS 63

cada elemento. Logo, o lugar p0 da rede possui apenas 2 tokens, porém a manufatura das gar-rafas e tampinhas depende apenas do estoque de matéria-prima destes elementos, os quais nãoestão sendo representados. Os lugares p1 e p2 representam os repositórios de matéria-prima jáalocada para as garrafas e para as tampinhas respectivamente. Os lugares p3 e p4 representam, re-spectivamente, o processo de manufatura das garrafas e o processo de manufatura das tampinhas.

O lugar p7 representa a máquina responsável pela linha de produção da fábrica. A máquinasuporta apenas uma tarefa por vez, ou seja, um token no lugar p7 indica que a máquina estádisponível. Se este lugar não possuir um token, significa que um dos dois processos de produçãoestá utilizando a máquina.

Os lugares p5 e p6 são os depósitos das garrafas e das tampinhas respectivamente. Ao con-trário do exemplo modelado na Figura 6.5, este exemplo não possui um lugar representandoa junção da garrafa e tampinha de água mineral. Este passo é tratado de forma abstrata natransição t5, onde esta ocorre à medida que haja tokens nos lugares p5 e p6. Conseqüentemente,um token é retirado dos lugares p5 e p6 (depósitos de garrafas e tampinhas) e colocado no lugarp0, liberando o processo de manufatura de uma nova garrafa e nova tampinha.

A transição t0 representa o início do processo de manufatura. Esta transição está associadaa uma taxa de disparo dependente da marcação de m1. Quando a transição t0 é disparada,um token é removido de p0 e adicionado em p1 e p2, habilitando o processo de manufatura dasgarrafas e tampinhas.

Como as transições t1 e t2 encontram-se em conflito, quando a máquina estiver produzindogarrafas (lugar p3), ela não estará produzindo tampinhas (lugar p4), e vice-versa. Quando umadas transições t3 ou t4 ocorrer, um token será colocado em p7 disponibilizando a máquina paraum novo processo de manufatura. Quando ambos os lugares p5 e p6 contiverem ao menos umtoken cada, então a transição t5 é disparada.

Isso caracteriza o fim do processo de manufatura de garrafas e tampinhas, possibilitando umapossível continuação do processo. Com isso, um token é colocado em p0 permitindo a produçãode uma nova garrafa e tampinha.

O formalismo de Redes de Petri Estocásticas é uma ferramenta muito útil para análise desistemas de computadores, visto que permite às atividades de sistemas serem precisamente de-scritas através de um gráfico. Este gráfico pode ser convertido para um modelo Markovianoutilizado para obter-se avaliação quantitativa do sistema em questão.

64 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

6.3 Exercícios

1. A partir do modelo SPN abaixo, mostre todas as marcações atingíveis do modelo e construaa Cadeia de Markov equivalente ao mesmo.

L2L1

t1

t2

L5 L4L3

t3

t4

2. A partir do modelo SPN abaixo, construa a Cadeia de Markov equivalente.

t1

t2

L3

L1L2

L4

Trans. Taxat1 4t2 2

3. Dada a Rede de Petri abaixo, quais são as marcações atingíveis da mesma?

l1

t12 t13

m2 m3

A1

A2 A3

Q1

Q2 Q3 L

Trans. Taxal1 5t12 3t13 2m2 1m3 4

4. A partir do modelo SPN abaixo, mostre todas as marcações atingíveis do modelo e construaa Cadeia de Markov equivalente ao mesmo.

6.3. EXERCÍCIOS 65

p1

p2 p3

p4 p5

t3t4 t2 t5

t6

t1

5. Para a rede de Petri estocástica abaixo, faça a cadeia de Markov equivalente. Indique asmarcações atingíveis, o grafo da cadeia de Markov e as respectivas taxas de cada transição.

t1 t2 t3

P1 P2

P3 P4

P5

Transição Taxat1 4, 0t2 5, 0t3 2, 5

6. Faça a rede de Petri estocástica equivalente à rede de autômatos estocásticos abaixo (façaum único modelo de rede de Petri estocástica).

0

1

A

s1

l1

0

B

12l3

l2

0

1

C

l5

l4

s1

f = (stB == 1) ∗ 2

Evento Taxal1 4l2 3l3 4l4 5l5 fs1 8

7. Dada a Rede de Petri Estocástica a seguir, descubra qual é a probabilidade do lugar p1

possuir uma marca. (Dica: gere a Cadeia de Markov equivalente e descubra a soluçãoestacionária).

66 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

t1 t2 t3

p1

p2 p4

p3

8. A partir do modelo SPN abaixo, calcule o número médio de marcas nos lugares Q1 e Q2.

A2A1

l1

l2

m2t12

Transição Taxal1 1l2 2t12 3m2 1

Q1 Q2

9. A partir do modelo SPN abaixo, mostre todas as marcações atingíveis do modelo e construaa Cadeia de Markov equivalente ao mesmo.

Q2

A1

l1

t21

t12

m1

m2

l2

Q1

A2

10. Para a rede de Petri estocástica abaixo, faça a cadeia de Markov equivalente. Indique asmarcações atingíveis, o grafo da cadeia de Markov e as respectivas taxas de cada transição.

t3 t1 t2 t4

Transição Taxat1 4t2 2t3 1t4 2

P4

P5

P1

P2

P3

6.3. EXERCÍCIOS 67

11. Para a mesma rede de Petri estocástica do exercício anterior, calcule a probabilidade dolugar P5 ter apenas uma marca.

12. A partir da rede de Petri estocástica abaixo com marcação inicial M0 = {2, 0, 0, 0}, construaa Cadeia de Markov equivalente.

t1

t2

t3

t4

P1

P2P3P4

Transição Taxat1 4t2 2t3 1t4 5

68 CAPÍTULO 6. REDES DE PETRI ESTOCÁSTICAS

Referências Bibliográficas

[1] M. Ajmone-Marsan, G. Balbo, and G. Conte. Performance Models of Multiprocessor sys-tems. The MIT Press, Cambridge, USA, 1986.

[2] G. Balbo, S. C. Bruell, and M. Sereno. Arrival theorems for product-form stochastic Petrinets. In Proceedings of the 1994 conference on Measurement and modeling of computersystems, pages 87–97, Nashville, Tennessee, USA, 1994. ACM Press.

[3] F. Baskett, K. Chandy, R. Muntz, and F. Palacios. Open, Closed, and Mixed Networks ofQueues with Different Classes of Customers. Journal of the ACM, 22(2):248–260, 1975.

[4] A. Benoit, L. Brenner, P. Fernandes, B. Plateau, and W. J. Stewart. The PEPS SoftwareTool. In Computer Performance Evaluation / TOOLS 2003, volume 2794 of LNCS, pages98–115, Urbana, IL, USA, 2003. Springer-Verlag Heidelberg.

[5] Y. Dallery, Z. Liu, and D. Towsley. Equivalence, reversibility, symmetry and concavityproperties in fork-join queuing networks with blocking. Journal of the ACM, 41(5):903–942,1994.

[6] Y. Dallery, Z. Liu, and D. Towsley. Properties of fork/join queueing networks with blockingunder various operating mechanisms. IEEE Transactions on Robotics and Automation,13(4):503–518, 1997.

[7] E. A. Souza e Silva and R. R. Muntz. Métodos Computacionais de solução de Cadeiasde Markov: aplicações a sistemas de computação e comunicação. In VIII Escola de Com-putação, Instituto de Informática, UFRGS, Porto Alegre, 1992.

[8] A. Economou and D. Fakinos. Product form stationary distributions for queueing networkswith blocking and rerouting. Queueing Systems, 30:251–260, 1998.

[9] P. Fernandes. Méthodes numériques pour la solution de sustèmes Markoviens à grand espaced’états. PhD thesis, Institut National Polytechnique de Grenoble, France, 1998.

[10] E. Gelenbe. Product form queueing networks with negative and positive customers. Journalof Applied Probability, 28:656–663, 1991.

[11] J.E. Hopcroft and J.D. Ullman. Introduction to automata theory, languages and computa-tion. Addison-Welsey, 1979.

[12] J. R. Jackson. Networks of waiting lines. Operations Research, 5:518–521, 1957.

[13] L. Kleinrock. Queueing Systems. John Wiley & Sons, New York, 1975.

70 REFERÊNCIAS BIBLIOGRÁFICAS

[14] P. R. M. Maciel, R. D. Lins, and P. R. F. Cunha. Introdução às Redes de Petri e Aplicações.10a Escola de Computação, Instituto de Computação, UNICAMP, Campinas, 1996.

[15] P. M. Merlin and D. J. Farber. Recoverability of Communication Protocols - Implicationsof a Theorical Study. IEEE Transactions on Communications, 24(9):1036–1043, 1976.

[16] M. K. Molloy. On the Integration of Delay and Throughput Measures in Distributed Process-ing Models. PhD thesis, University of California, Los Angeles, 1981.

[17] S. Natkin. Réseaux de Petri Stochastiques. PhD thesis, CNAM, Paris, 1980.

[18] J. D. Noe and G. J. Nutt. Macro E-nets representation of parallel systems. IEEE Transac-tions on Computers, C-22(8):718–727, 1973.

[19] J. L. Peterson. Petri Nets. ACM Computing Surveys, 9(3):223–252, 1977.

[20] M. Pidd. Computer simulations and management science. John Wiley and Sons, 1992.

[21] B. Plateau. De l’Evaluation du Parallélisme et de la Synchronisation. PhD thesis, Paris-Sud,Orsay, 1984.

[22] B. Plateau and K. Atif. Stochastic Automata Networks for modelling parallel systems. IEEETransactions on Software Engineering, 17(10):1093–1108, 1991.

[23] M. Reiser and S. S. Lavenberg. Mean-value analysis of closed multichain queueing networks.Journal of the ACM, 27(2):313–322, 1980.

[24] L. D. Servi and S. G. Finn. M/M/1 queues with working vacations (M/M/1/WV). Perfor-mance Evaluation, 50:41–52, 2002.

[25] W. J. Stewart. Introduction to the numerical solution of Markov chains. Princeton UniversityPress, 1994.

[26] F. J. W. Symons. Modelling and Analysis of Communication Protocols Using NumericalPetri Nets. PhD thesis, University of Essex, 1978.

[27] D. Towsley. Queueing network models with state-dependent routing. Journal of the ACM,27(2):323–337, 1980.

[28] D. Towsley, P. D. Sparaggis, and C. G. Cassandras. Optimal routing and buffer allocationfor a class of finite capacity queueing systems. IEEE Transactions on Automatic Control,37(9):1446–1451, 1992.

[29] K. S. Trivedi. Probability & statistics with reliability, queuing, and computer science appli-cations. Englewood Cliffs: Prentice-Hall, 1982.

[30] W. M. Zuberek. Timed Petri Nets and Preliminary Performance Evaluation. In Proceedingsof the 7th Annual Symposium on Computer Architecture, pages 88–96, La Baule, USA, 1980.ACM Press.

Apêndice A

Armazenamento do DescritorMarkoviano de SAN

O Descritor Markoviano é uma fórmula algébrica que permite escrever de forma compactao gerador infinitesimal da cadeia de Markov correspondente a um modelo em SAN pelo viés deuma fórmula matemática [9, 21, 22]. Esta fórmula matemática descreve, a partir dos tensores detransição de cada autômato, o gerador infinitesimal da cadeia de Markov associado ao modeloem SAN.

Para cada autômato A(i) é associado:

• um tensor Q(i)l , agrupando todas as taxas das tuplas de transição dos eventos locais do

conjunto El;

• 2|Es| tensores Q(i)e+ e Q

(i)e− , agrupando todas as taxas das tuplas de transição dos eventos

sincronizantes do conjunto Es.

Sejam

Q(i)k (x(i), y(i)) o elemento do tensor Q

(i)k na linha x(i) e na coluna y(i), onde i ∈ [1..N ] e

k ∈ {l, e+, e−};I|S(i)| o tensor identidade de ordem |S(i)|, onde i ∈ [1..N ].

Definição 18 Os elementos do tensor de transição local do autômato A(i) são definidos por:

18.1. ∀e ∈ El, ∀x(i), y(i) ∈ S(i) tal que y(i) ∈ succe(x(i)) e x(i) 6= y(i)

Q(i)l (x(i), y(i)) =

∑e∈El

τe(x(i), y(i))πe(x(i), y(i));

18.2. ∀x(i) ∈ S(i)

Q(i)l (x(i), x(i)) = −∑

e∈El

∑y(i)∈succe(x(i))

τe(x(i), y(i))πe(x(i), y(i));

18.3. ∀x(i), y(i) ∈ S(i) tal que y(i) 6∈ succe(x(i)) e x(i) 6= y(i)

Q(i)l (x(i), y(i)) = 0.

72 APÊNDICE A. ARMAZENAMENTO DO DESCRITOR MARKOVIANO DE SAN

A Definição 38.1 corresponde aos elementos não diagonais do tensor de transição local (taxasdos eventos locais), ao passo que a Definição 38.2 corresponde aos elementos diagonais (ajustediagonal das taxas dos eventos locais). A Definição 38.3 define os elementos nulos do tensor detransição local.

Definição 19 Os elementos do tensor das transições sincronizadas que representam a ocorrênciado evento sincronizante e ∈ Es são definidas por:

19.1. ∀i 6∈ η(e)

Q(i)e+ = I|S(i)|;

19.2. ∀x(ι(e)), y(ι(e)) ∈ S(ι(e)) tal que y(ι(e)) ∈ succe(x(ι(e)))

Q(ι(e))e+ (x(ι(e)), y(ι(e))) = τe(x(ι(e)), y(ι(e)))πe(x(ι(e)), y(ι(e)));

19.3. ∀i ∈ η(e) tal que i 6= ι(e), ∀x(i), y(i) ∈ S(i) tal que y(i) ∈ succe(x(i))

Q(i)e+(x(i), y(i)) = πe(x(i), y(i));

19.4. ∀i ∈ η(e), ∀x(i), y(i) ∈ S(i) tal que y(i) 6∈ succe(x(i))

Q(i)e+(x(i), y(i)) = 0.

A Definição 39.1 corresponde aos autômatos que não dizem respeito ao evento sincronizante e.A Definição 39.2 define os elementos não nulos (diagonais ou não) dos tensores para o autômatomestre referentes ao evento e. A Definição 39.3 define os elementos não nulos (diagonais ounão) dos tensores para os autômatos escravos referentes ao evento e. A Definição 39.4 define oselementos nulos dos tensores para os autômatos envolvidos no evento e.

Definição 20 Os elementos do tensor das transições sincronizadas que representam o ajustenecessário à ocorrência do evento e ∈ Es são definidas por:

20.1. ∀i 6∈ η(e)

Q(i)e− = I|S(i)|;

20.2. ∀x(ι(e)) ∈ S(ι(e))

Q(ι(e))e− (x(ι(e)), x(ι(e))) = − ∑

y(ι(e))∈succe(x(ι(e)))

τe(x(ι(e)), y(ι(e)))πe(x(ι(e)), y(ι(e)));

20.3. ∀i ∈ η(e), i 6= ι(e) e ∀x(i) ∈ S(i)

Q(i)e−(x(i), x(i)) =

∑y(i)∈succe(x(i))

πe(x(i), y(i));

20.4. ∀i ∈ η(e), ∀x(i), y(i) ∈ S(i) e x(i) 6= y(i)

Q(i)e−(x(i), y(i)) = 0.

A Definição 40.1 corresponde aos autômatos que não dizem respeito ao evento sincronizantee. A Definição 40.2 corresponde aos elementos não nulos do tensor do autômato mestre doevento e, ao passo que a Definição 40.3 corresponde aos autômatos escravos. A Definição 40.4

73

corresponde aos elementos nulos dos tensores dos autômatos referentes ao evento sincronizantee (esses tensores são diagonais).

Definição 21 O gerador infinitesimal Q correspondente à cadeia de Markov associada a umaSAN bem definida é representado pela fórmula tensorial chamada Descritor Markoviano [9, 21,22]:

Q =N⊕

gi=1

Q(i)l +

e∈Es

N⊗g

i=1

Q(i)e+ +

N⊗g

i=1

Q(i)e−

(A.1)

Uma vez que toda soma tensorial é equivalente a uma soma de produtos tensoriais particu-lares, o Descritor Markoviano pode ser apresentado como:

Q =(N+2|Es|)∑

j=1

N⊗g

i=1

Q(i)j , (A.2)

onde Q(i)j =

I|S(i)| para j ≤ N e j 6= i

Q(i)l para j ≤ N e j = i

Q(i)

e+(j−N)

para N < j ≤ (N+ | Es |)Q

(i)

e−(j−(N+|Es|))

para j > (N+ | Es |)

A Tabela A.1 representa os tensores de transição necessárias à escrita da equação (A.2). Aparte superior da tabela contém os tensores com as transições locais dos autômatos e correspondeà soma tensorial

⊕Ni=1 Q

(i)l . A parte inferior da tabela é subdivida nos tensores contendo as taxas

de ocorrência dos eventos sincronizantes (e+) e os tensores diagonais que fazem o ajuste (tornama soma das linhas igual a zero) dos mesmos (e−).

Q(1)l ⊗

gI|S(2)| ⊗

g· · · ⊗

gI|S(N−1)| ⊗

gI|S(N)|

I|S(1)| ⊗g

Q(2)l ⊗

g· · · ⊗

gI|S(N−1)| ⊗

gI|S(N)|

N...

I|S(1)| ⊗g

I|S(2)| ⊗g

· · · ⊗g

Q(N−1)l ⊗

gI|S(N)|

I|S(1)| ⊗g

I|S(2)| ⊗g

· · · ⊗g

I|S(N−1)| ⊗g

Q(N)l

2|Es|

Q(1)

e+1

⊗g

Q(2)

e+1

⊗g

· · · ⊗g

Q(N−1)

e+1

⊗g

Q(N)

e+1

e+ ...Q

(1)

e+|Es|

⊗g

Q(2)

e+|Es|

⊗g

· · · ⊗g

Q(N−1)

e+|Es|

⊗g

Q(N)

e+|Es|

Q(1)

e−1⊗g

Q(2)

e−1⊗g

· · · ⊗g

Q(N−1)

e−1⊗g

Q(N)

e−1

e− ...Q

(1)

e−|Es|⊗g

Q(2)

e−|Es|⊗g

· · · ⊗g

Q(N−1)

e−|Es|⊗g

Q(N)

e−|Es|

Tabela A.1: Descritor Markoviano

74 APÊNDICE A. ARMAZENAMENTO DO DESCRITOR MARKOVIANO DE SAN

A.0.1 Exemplificação

Nesta seção, apresenta-se um exemplo completo de obtenção do gerador infinitesimal de ummodelo descrito pelo formalismo de SAN. Demonstra-se detalhadamente a geração dos tensoresenvolvidos na construção do Descritor Markoviano do modelo.

A.0.2 Descrição

A Figura A.1 apresenta um modelo descrito pelo formalismo de SAN, o qual possui trêsautômatos.

A(1)

0(2)

1(2)2(2)

A(2)

e3

1(1)

0(1)

e1

e3(π1)

e2(π4)

A(3)

e5

1(3)

0(3)

e6e4

e3(π2)

e5e2(π3)

Tipo Evento Taxaloc e1 τ1

loc e2 τ2

syn e3 τ3

loc e4 τ4

syn e5 τ5

loc e6 τ6

Figura A.1: Modelo em SAN com três autômatos

Como pode ser observado na Figura A.1, o autômato A(1) possui dois estados 0(1) e 1(1), umevento local e4 e um evento sincronizante e3. Assim como, autômato A(2) possui três estados0(2), 1(2) e 2(2), dois eventos locais e1 e e2, e dois eventos sincronizantes e3 e e5. O autômatoA(3) possui dois estados 0(3) e 1(3), um evento local e6 e um evento sincronizante e5.

Após a identificação do tipo dos eventos (locais e sincronizantes), é possível gerar os tensoresnecessários para a obtenção do Descritor Markoviano do exemplo apresentado.

A.0.3 Tensores

Identificado o número de autômatos N = 3, bem como o número de eventos sincronizantes|Es|= 2 do modelo, pode-se calcular o número de tensores envolvidos no Descritor Markovianodescrito pela equação (A.1):

N(1 + 2 |Es|) = 3(1 + 2.2) = 15 tensores

A seguir, demonstra-se detalhadamente a obtenção de todos os tensores envolvidos na equação(A.1). Primeiramente, identifica-se o conjunto de eventos locais El = {e1, e2, e4, e6} do modelo.Com isso, pode-se construir os tensores locais Q

(i)l correspondentes aos autômatos A(i):

75

Q(1)l =

0(1) 1(1)

0(1) 0 01(1) τ4 -τ4

Q(2)l =

0(2) 1(2) 2(2)

0(2) -τ1 τ1 01(2) τ2π3 -τ2 τ2π4

2(2) 0 0 0

Q(3)l =

0(3) 1(3)

0(3) 0 01(3) τ6 -τ6

Em seguida, identifica-se o conjunto de eventos sincronizantes Es = {e3, e5}. A partir daidentificação do mesmo, constrói-se os tensores das transições sincronizadas que representam aocorrência dos eventos sincronizantes em cada autômato. Sendo assim, tem-se os tensores dastransições sincronizadas Q

(i)e+ correspondentes aos autômatos A(i):

Q(1)

e+3

=0(1) 1(1)

0(1) 0 τ3

1(1) 0 0Q

(2)

e+3

=

0(2) 1(2) 2(2)

0(2) 0 0 01(2) 0 0 02(2) π2 π1 0

Q(3)

e+3

=0(3) 1(3)

0(3) 1 01(3) 0 1

Q(1)

e+5

=0(1) 1(1)

0(1) 1 01(1) 0 1

Q(2)

e+5

=

0(2) 1(2) 2(2)

0(2) 0 0 11(2) 0 0 02(2) 0 0 0

Q(3)

e+5

=0(3) 1(3)

0(3) 0 τ5

1(3) 0 0

Note que o autômato A(1) é o autômato mestre do evento sincronizante e3 e o autômatoA(3) é o autômato mestre do evento sincronizante e5, pois a taxa de ocorrência de cada um estápresente no respectivo tensor do autômato mestre. Assim como, as probabilidades dos eventosse encontram no autômato escravo A(2).

Por último, constrói-se os tensores das transições sincronizadas que representam o ajustenecessário à ocorrência dos eventos sincronizantes em cada autômato. Logo, tem-se os tensoresQ

(i)e− correspondentes aos autômatos A(i):

Q(1)

e−3=

0(1) 1(1)

0(1) -τ3 01(1) 0 0

Q(2)

e−3=

0(2) 1(2) 2(2)

0(2) 0 0 01(2) 0 0 02(2) 0 0 1

Q(3)

e−3=

0(3) 1(3)

0(3) 1 01(3) 0 1

Q(1)

e−5=

0(1) 1(1)

0(1) 1 01(1) 0 1

Q(2)

e−5=

0(2) 1(2) 2(2)

0(2) 1 0 01(2) 0 0 02(2) 0 0 0

Q(3)

e−5=

0(3) 1(3)

0(3) -τ5 01(3) 0 0

Uma vez obtido todos os tensores do Descritor Markoviano, pode-se obter o gerador infini-tesimal Q. Os índices de Q são compostos pela ordem lexicográfica da composição dos estadosde ambos os autômatos: 0(1)0(2)0(3), 0(1)0(2)1(3), . . . , 1(1)2(2)1(3). O gerador infinitesimal Q domodelo descrito pelo formalismo de SAN é obtido através da equação (A.2):

76 APÊNDICE A. ARMAZENAMENTO DO DESCRITOR MARKOVIANO DE SAN

Q=

−(τ 1

+τ 5

)0

τ 10

0τ 5

00

00

00

τ 6−(

τ 1+

τ 6)

0τ 1

00

00

00

00

τ 2π

30

−τ2

0τ 2

π4

00

00

00

00

τ 2π

3τ 6

−(τ 2

+τ 6

)0

τ 2π

40

00

00

00

00

0−τ

30

τ 3π

20

τ 3π

10

00

00

00

τ 6−(

τ 3+

τ 6)

0τ 3

π2

0τ 3

π1

00

τ 40

00

00

−(τ 1

+τ 4

+τ 5

)0

τ 10

0τ 5

0τ 4

00

00

τ 6−(

τ 1+

τ 4+

τ 6)

0τ 1

00

00

τ 40

00

τ 2π

30

−(τ 2

+τ 4

)0

τ 2π

40

00

0τ 4

00

0τ 2

π3

τ 6−(

τ 2+

τ 4+

τ 6)

0τ 2

π4

00

00

τ 40

00

00

−τ4

00

00

00

τ 40

00

0τ 6

−(τ 4

+τ 6

)