• Nenhum resultado encontrado

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Pós-Graduação em Ciência da Computação

N/A
N/A
Protected

Academic year: 2021

Share "Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Pós-Graduação em Ciência da Computação"

Copied!
96
0
0

Texto

(1)

Pontifícia Universidade Católica do Rio Grande do Sul

Faculdade de Informática

Pós-Graduação em Ciência da Computação

Uma alternativa à distributividade

do produto clássico de matrizes

sobre o produto tensorial generalizado

Marta Rosecler Bez

Dissertação apresentada como requisito parcial à obtenção do grau de mestre em Ciência da Computação

Orientador: Prof. Dr. Paulo H. L. Fernandes

(2)
(3)

Para Ana, Rosangela, Roberto e Renata, pelo amor e apoio incondicional.

(4)
(5)

Agradecimentos

De tudo o que recebi nesta fase, algumas coisas maravilhosas merecem ser destacadas:

O carinho e amizade sempre constante da minha turma especial: Josyane, Sandra, Garibaldi, Pedrão, Anderson, Ewerton, Carlos, Ricardo, Delm, Reynaldo - vocês são o máximo.

O apoio do meu orientador: Paulo Fernandes - sei que não fui uma mestranda fácil. A ajuda constante dos professores.

O incentivo e carinho permanente da professora Lúcia Giraa - com quem aprendi muito, apesar de não ter estado em sala de aula com ela.

A amizade e ajuda especial do Guru João Batista, que com paciência não mediu esforços para me atender, e também pelo incentivo constante.

A oportunidade e incentivo recebido por parte da Feevale e em especial dos colegas de trabalho. A ajuda dos amigos que estavam sempre disponíveis, mesmo que eu não pudesse retribuir. O amor de minha mãe e irmãos que compreenderam minhas faltas constantes.

A ajuda incondicional recebida de minha irmã Rosangela, ela foi sensacional.

O sorriso e carinho muito especial recebidos do Roberto e da Renata que abdicaram de minha companhia, mesmo muitas vezes contrariados.

Vocês são muito especiais para mim. Obrigada.

(6)
(7)

Abstract

The machines development and computationals techniques demand a better analysis and study of its systems. This kind of research includes performance evaluation. Among the techiques that have been used in performance evaluation, the methods based on Markov models have been widely used. However, depending on the model the use of Markov chain requires a transition matrix (innitesimal generator) that may be so big that its not possible to solve it, not even store it.

Stochastic Automata Networks (SAN) emerged as a formalism with many advantages which in-cludes the reduction of memory needs due to the use of tensor format.

SAN consists in a number of rather independent stochastic automata. The only primitives for modelling the dependence among automata are the synchronizing events and functional rates.

When there is no occurrence of functional transitions, we use the classic tensor product and tensor sum (ATC) to solve it. This work presents the ATC properties and its algebric proof. When the model has functionals elements we use generalized tensor algebra (ATG) to solve it.

The SANs cost for resolution are usually very low, except when there are functional transitions that create a cycle of dependencies among the models automata. In order to resolve this problem, its necessary to break this cycle of dependencies through some kind of compatibility between the generalized tensor product and the multiplications of matrices.

We prove in this work that this compatibility did not happen in the same way as in classic tensor algebra, and also this problem can not be solved only by matrix permutations.

Among a variety of permutations that have been tested, some of them generate errors related to matrix evaluation, making impossible to nd a compatibility. We put in evidence two experiences where the evaluatin are correct, but the matrices elements are in a wrong order.

We conclude stating that it would be possible to nd out some form of compatibility from those inverted matrices. The next step, then, would be the development of an algorithm to achieve such permutations and to compare its computational cost to the other SAN solutions.

(8)
(9)

Resumo

A cada dia a evolução de máquinas e técnicas computacionais tem exigido uma melhor análise e acompanhamento de seus sistemas. Nesta área se insere o estudo de avaliação de sistemas. Dentre as técnicas utilizadas para avaliar sistemas, modelos markovianos tem sido muito utilizados e trazem uma série de vantagens. Porém, o grande inconveniente no uso de cadeias de Markov é que a matriz de transição (gerador innitesimal) pode ser tão grande que não é possível armazena-la e nem mesmo resolve-la.

Redes de autômatos estocásticos - SAN - surgiu como um formalismo que, apesar de se basear em cadeias de Markov, tem como grande vantagem a redução da carga de memória, pois trabalha com pequenas matrizes que cam armazenadas em formato tensorial. SAN consiste de um número de autômatos estocásticos individuais que operam com relativa dependência uns dos outros. As únicas formas de independência são eventos sincronizantes e taxas funcionais.

Quando não existe no modelo a ocorrência de transições funcionais, utiliza-se para a solução a álgebra tensorial clássica - ATC, com seus dois operadores, produto tensorial e soma tensorial. No trabalho são apresentadas as propriedades da álgebra tensorial clássica, bem como suas provas algébricas. Quando um modelo possui elementos funcionais, a resolução utiliza a álgebra tensorial generalizada - ATG, com dois operadores, quais sejam: produto tensorial generalizado e soma tensorial generalizada.

O custo de resolução de uma rede de autômatos estocásticos é, via de regra, bastante baixo, exceto quando a existência de transições funcionais cria um ciclo de dependência entre os diversos autômatos do modelo. Para que seja resolvida uma rede de autômatos estocásticos onde isso ocorre, é necessário quebrar este ciclo de dependência através de algum tipo de compatibilidade entre o produto tensorial generalizado e a multiplicação de matrizes.

Conseguimos, neste trabalho, provar que esta compatibilidade não se verica da mesma forma que na álgebra tensorial clássica. Adicionalmente, simples permutações não resolvem o problema.

Dentre as diversas opções de permutações testadas, grande parte gera erros quanto a avaliação da matriz, o que, por si só, impossibilita a compatibilidade. Dois dos experimentos foram destacados, dentre os poucos em que a avaliação está correta, porém, a ordem dos elementos da matriz está invertida.

Concluímos que o fato de conseguirmos inverter os elementos da matriz para a ordem correta, tornaria possível alguma forma de compatibilidade, a partir desta compatibilidade, o próximo passo seria o desenvolvimento de um algoritmo para comparar o custo computacional dessa inversão em relação a outras soluções de SAN.

(10)
(11)

Sumário

ABSTRACT vii

RESUMO ix

LISTA DE TABELAS xv

LISTA DE FIGURAS xvii

LISTA DE SÍMBOLOS E ABREVIATURAS xix

Capítulo 1: Introdução 1

1.1 Divisão do trabalho . . . 2

Capítulo 2: Avaliação de desempenho 5 2.1 Modelagem . . . 5

2.1.1 Modelos de simulação . . . 5

2.1.2 Modelos analíticos . . . 6

2.1.3 Formalismos de modelagem . . . 6

2.2 Monitoração . . . 8

Capítulo 3: Redes de autômatos estocásticos 11 3.1 Autômatos . . . 12

3.1.1 Eventos locais . . . 12

3.1.2 Eventos sincronizados . . . 12

3.1.3 Transições funcionais . . . 14

3.2 Descritor markoviano . . . 16

3.2.1 Propriedades das cadeias de Markov . . . 16

3.3 Soluções numéricas para cadeias de Markov . . . 20

3.4 Métodos numéricos . . . 21

3.4.1 Métodos diretos . . . 21

3.4.2 Métodos iterativos . . . 22

Capítulo 4: Álgebra Tensorial 25 4.1 Álgebra tensorial clássica (ATC) . . . 25

4.1.1 Produto tensorial . . . 25

4.1.2 Soma tensorial . . . 27

4.1.3 Propriedades da soma e do produto tensorial clássico . . . 28

(12)

4.2.1 Produto tensorial generalizado . . . 30

4.2.2 Soma tensorial generalizada . . . 31

4.2.3 Propriedades da soma e do produto tensorial generalizados . . . 33

Capítulo 5: Demonstração algébrica das propriedades 35 5.1 Produto tensorial clássico ⊗ e soma tensorial clássica ⊕ . . . 35

5.1.1 Associatividade . . . 35

5.1.2 Distributiva sobre adição clássica . . . 37

5.1.3 Compatibilidade com a multiplicação clássica . . . 38

5.1.4 Compatibilidade com a transposição de matrizes . . . 39

5.1.5 Decomposição em fatores normais . . . 39

5.1.6 Distributividade com relação à matriz identidade . . . 40

5.1.7 Comutatividade dos fatores normais . . . 42

5.2 Produto tensorial generalizado e soma tensorial generalizada . . . 43

5.2.1 Distributividade do produto tensorial generalizado em relação a soma conven-cional de matrizes . . . 43

5.2.2 Associatividade do produto tensorial generalizado e da soma tensorial generalizada 44 5.2.3 Distributividade com relação à multiplicação pela matriz identidade . . . 47

5.2.4 Decomposição em fatores normais I . . . 49

5.2.5 Decomposição em fatores normais II . . . 50

5.2.6 Decomposição em produto tensorial clássico . . . 50

Capítulo 6: Compatibilidade do ⊗g com a multiplicação ordinária de matrizes 53 6.1 Prova da incompatibilidade . . . 53 6.2 Estudo de alternativas . . . 54 6.2.1 Variações da matriz A . . . 54 6.2.2 Variações da matriz B . . . 55 6.2.3 Inversa de IA ou IB . . . 55 6.2.4 Variações da matriz A ⊗gIB . . . 55

6.2.5 Variações da matriz B, aplicado o ⊗g sobre IA . . . 56

6.2.6 Variações da matriz A ⊗gIB . . . 56

6.2.7 Variações da matriz IA⊗gB . . . 57

6.3 As variações analisadas . . . 57

6.3.1 Produto de A ⊗gIB sobre as variações de B . . . 58

6.3.2 Produto de AT gIB sobre as variações de B . . . 59

6.3.3 Produto de P (A) ⊗gIB sobre as variações de B . . . 59

6.3.4 Produto de P (A)T gIB sobre as variações de B . . . 60

6.3.5 Produto de A ⊗gIB sobre as variações de B . . . 61

6.3.6 Produto de P (A) ⊗gIB sobre as variações de B . . . 62

6.3.7 Produto de AT gIB sobre as variações de B . . . 63

6.3.8 Produto de P (AT) gIB sobre as variações de B . . . 64

6.3.9 Produto de A ⊗gIB sobre as variações de IA⊗gB . . . 64

6.3.10 Produto de AT gIB sobre as variações de IA⊗gB . . . 65

6.3.11 Produto de P (A) ⊗gIB sobre as variações de IA⊗gB . . . 66

6.3.12 Produto de P (AT) gIB sobre as variações de IA⊗gB . . . 67

(13)

Capítulo 7: Conclusão 69 7.1 Prova da incompatibilidade . . . 70 7.2 Resultados obtidos . . . 70

7.2.1 Produto tensorial generalizado da transposta de A por IB multiplicado pelo

produto tensorial generalizado de IA por B . . . 70

7.2.2 Produto tensorial generalizado da transposta de A por IB multiplicado pelo

produto tensorial generalizado da inversa de IA por B . . . 71

7.3 Trabalhos futuros . . . 71

(14)
(15)

Lista de Tabelas

(16)
(17)

Lista de Figuras

2.1 Formalismos de Modelagem [20]. . . 8

3.1 Rede de autômatos estocásticos com eventos locais . . . 12

3.2 Cadeia de Markov referente a SAN da gura 3.1. . . 13

3.3 Rede de autômatos estocásticos com evento sincronizante. . . 14

3.4 Cadeia de Markov referente a gura 3.3. . . 15

(18)
(19)

Lista de Símbolos e Abreviaturas

CCS Cálculus of Comunicating Systems 8

SAN Rede de autômatos estocásticos 11

CTMC Cadeias de Markov a escala de tempo continuo 16

DTMC Cadeias de Markov a escala de tempo discreto 16

ATC Álgebra tensorial clássica 25

ATG Álgebra tensorial generalizada 25

⊗ Produto tensorial 25

⊕ Soma tensorial 25

⊗g Produto tensorial generalizado 29

(20)
(21)

Capítulo 1

Introdução

A cada dia pose observar a evolução crescente e a complexidade de sistemas, o que tem exigido o de-senvolvimento de ferramentas que permitam a modelagem e a análise do desempenho e conabilidade dos mesmos.

Outro destaque que tem merecido a atenção da área de computação cientíca, tem sido o tamanho dos sistemas, o que tem gerado problemas de grandes proporções, difíceis de serem armazenados e também de serem resolvidos.

Em função disso, nos últimos anos a modelagem e análise de sistemas tem recebido cada vez mais a atenção por parte de pesquisadores e cientistas que se dispunham, antes de ser implementado ou construído sicamente, a prever o comportamento destes sistemas.

A evolução destes estudos tem sido feita desde 1890, onde iniciaram-se trabalhos com cadeias de Markov [64]. O primeiro formalismo estudado foi as redes de las de espera [34], [35], [41]. A partir de 1967, foi possível a generalização das redes de las de espera [6], [39].

Já na década de 70, estudos mais detalhados provém uma nova solução através do algoritmo conhe-cido como algoritmo de convolução [13], [53], [54], através do cálculo da constante de normalização para compensar a escolha de valores numéricos para as taxas de visita de cada estação.

Grande destaque nos estudos sobre formalismos se deu com o surgimento das redes de Petri [39], [46], [67], por Carl Adam Petri, que variaram desde simples temporizações até mecanismos mais sosticados [1], [20], [54].

A partir destes estudos surgiram ferramentas baseadas em grafos, como as álgebras, que trabalham com uma nova forma que modela o funcionamento (de onde se extrai índices de desempenho) com ferramentas fáceis de denir e analizar [39].

Grande parte destes formalismos baseia-se em cadeias de Markov [59] para a busca da solução e avaliação destes sistemas, porém, como será visto no decorrer deste trabalho, este tipo de solução apresenta como grande inconveniente a complexidade dos mesmos, tanto a nível de solução quanto de armazenamento.

Com a evolução dos sistemas distribuídos, tornaram-se freqüentes problemas práticos de paralelis-mo e sincronisparalelis-mo. Entre as décadas de 80 e 90, surgiu um novo formalisparalelis-mo, denido coparalelis-mo rede de autômatos estocásticos [20], [21], [22], [59]. Este formalismo baseia-se também em cadeias de Markov, porém, com maior facilidade de manipulação e armazenamento, pois divide o sistema em pequenos subsistemas que interagem entre si [20], [22], [59].

Diversos autores tem escrito sobre redes de autômatos estocásticos [4], [19], [20], [48], [49], [60] como um formalismo que consegue representar um sistema de forma mais compacta que o tradicional (formatos esparsos) [59], bem como, um formalismo que evita o grande problema de armazenamento e tem um tempo de solução do problema menor.

Este trabalho estuda a base matemática, de um ponto de vista numérico, que fundamenta redes de autômatos estocásticos com o objetivo principal de otimizar a sua solução.

Redes de autômatos estocásticos utilizam-se da álgebra tensorial [20] para a solução de sistemas, tendo sido concentrados estudos principalmente em suas propriedades.

(22)

A álgebra tensorial divide-se basicamente em álgebra tensorial clássica e álgebra tensorial gene-ralizada, neste segundo caso, trabalhando-se quando o sistema possui elementos funcionais, ou seja, elementos não constantes, que variam de acordo com o estado de cada autômato da rede de autômatos estocásticos.

Muitas das propriedades da álgebra tensorial clássica já foram provadas e estão bem denidas [20], [60] e no caso da álgebra tensorial generalizada o mesmo não ocorre. O fato de não serem conhecidas algumas propriedades da álgebra tensorial generalizada, gera a necessidade de transformar os elementos funcionais de uma rede de autômatos estocásticos em constantes, através da propriedade da decomposição em produto tensorial clássico, que pode ser vista no capítulo 5.

Neste caso, o sistema passa a trabalhar sem funções, pois transforma-se cada função, fazendo com que a matriz seja decomposta em tantos produtos tensoriais quanto o número de linhas da matriz onde será aplicada a função.

Como pode ser visto, isso acarreta em grande prejuízo em termos de processamento. Por is-so, torna-se quase imprescindível a descoberta de novas propriedades para que se possa trabalhar diretamente com as funções, ou seja, com cálculos aplicados de álgebra tensorial generalizada.

Em resumo, todo o problema resolvido pela álgebra tensorial generalizada também pode ser re-solvido pela álgebra tensorial clássica, sem prejuízo do resultado nal, porém com o agravante de aumentar os custos de processamento [11].

Estudos recentes tem mostrado e provado várias propriedades para a álgebra tensorial generalizada, que tem melhorado em muito o tempo de processamento para a resolução de problemas. A partir destas provas, alguns problemas podem ser resolvidos sem decompor as funções em novos produtos tensoriais, porém para que se possa resolver de fato todos os problemas diretamente com as funções, torna-se necessário a prova da propriedade da compatibilidade do produto tensorial generalizado sobre a multiplicação ordinária de matrizes.

O objetivo do presente trabalho então é estudar, analisar e demonstrar as propriedades da álgebra tensorial clássica e generalizada e com base nestas, vericar possibilidades de aplicar a propriedade anteriormente citada, já estudada e provada para a álgebra tensorial clássica e ainda não estudada para a álgebra tensorial generalizada.

Em estudo prévio desenvolvido pela autora do trabalho, foi descoberta a incompatibilidade da apli-cação direta desta propriedade, conforme pode ser observado no capítulo 6. Em função disto, nesta obra serão buscadas alternativas matemáticas para solucionar esta incompatibilidade.

1.1 Divisão do trabalho

Para chegar ao estudo das propriedades da álgebra tensorial, é importante fazer um estudo prévio da evolução da avaliação de desempenho dos sistemas, de toda a teoria que cerca o assunto. No capítulo 2, será abordado o tema avaliação de desempenho, a modelagem dos sistemas e técnicas utilizadas para medir e avaliar os sistemas. Será abordado de forma mais criteriosa, a modelagem, e basicamente citada a monitoração (técnica esta, não focalizada pelo trabalho). Entre as formas de modelar sistemas, ênfase será dada a modelos analíticos, pois neles serão aplicados nossos estudos. Conhecer o passado signica carregar a bagagem da experiência de anos de pesquisa. O estudo de novas técnicas é gerado a partir de experiências passadas. Formalismos de modelagem são estudados a décadas, servindo de embasamento para pesquisas e criação do formalismo de redes de autômatos estocásticos. No capítulo 2 apresenta-se um breve histórico do estudo destes formalismos.

Redes de autômatos estocásticos baseiam-se em cadeias de Markov. No capítulo 3, pode ser encontrado o estudo de redes de autômatos estocásticos , denições básicas e a forma de modelar sistemas a partir destas. Serão apresentados exemplos de autômatos com eventos locais, eventos sincronizantes, transições funcionais, bem como uma explicação sobre cada um dos temas abordados. Em seguida é apresentada uma coletânea de informações referentes a cadeias de Markov e o descritor markoviano. Como, a partir da análise de um sistema gerar o descritor markoviano, utilizado para

(23)

o cálculo de redes de autômatos estocáticos. A partir do sistema modelado através de cadeias de Markov, o sistema pode ser resolvido através de equações de sistemas lineares. Estes sistemas são dividos basicamente entre diretos e indiretos.

No capítulo 4, inicia-se a denição de álgebra tensorial clássica e álgebra tensorial generalizada . Apresenta-se os operadores matriciais utilizados, produto tensorial e soma tensorial, bem como sua operacionalização e exemplos do uso. Também apresenta-se a denição de fator normal, denição esta de grande importância no uso da soma tensorial, tanto clássica quanto generalizada.

Estudar os operadores matriciais nos possibilita contato direto com as propriedades aplicadas tanto na álgebra tensorial clássica, quanto na álgebra tensorial generalizada.

No capítulo 5, faz-se a demonstração algébrica das propriedades do produto tensorial e da soma tensorial clássica, bem como a demonstração algébrica das propriedades do produto tensorial genera-lizado e da soma tensorial generalizad a. Cada propriedade será estudada e analisada, com o intuito de fundamentar, apresentar a prova de cada uma e abrir perspectivas para o surgimento de novas propriedades, que em muito poderão auxiliar na simplicação da resolução de redes de autômatos estocásticos.

No capítulo 6, com base nas provas apresentadas no capítulo 5, pode ser iniciado o estudo da busca para a compatibilidade do produto tensorial generalizado com a multiplicação ordinária de matrizes , sabendo-se que esta não se apresenta da mesma forma que na álgebra tensorial clássica. Primeiro apresenta-se as matrizes bases do estudo (A e B), em seguida, apresenta-se as variações sobre as mesmas, bem como variação sobre a identidade, ou seja, sua transposta. A partir destas variações, serão apresentados estudos realizados sobre cada variação, acompanhada de explicação e justicativa de cada variação estudada.

A partir dos estudos realizados sobre as matrizes resultantes das multiplicações, no capítulo 7, conclusão, serão tecidas considerações, destacando os resultados mais próximos, ou seja, onde não se verica a ocorrência de avaliações erradas sobre as matrizes, para a partir destas solucionar o problema da incompatibilidade que está sendo estudada. Por nal, apresenta-se idéias para a continuidade futura deste trabalho.

(24)
(25)

Capítulo 2

Avaliação de desempenho

O revolucionário processo de evolução tecnológica tanto a nível de hardware quanto de software tem exigido constantes estudos e merecido a atenção de diversas áreas. Dentre estas áreas, destaca-se a avaliação de desempenho, que tem como motivação medir e avaliar um sistema pronto ou a ser projetado.

Existem, basicamente, duas fases utilizadas na técnica de avaliação de desempenho: modelagem e monitoração.

2.1 Modelagem

Modelo, segundo uma análise literal da palavra, é a representação simplicada de alguma coisa. Pode ser denido ainda, como uma representação simplicada de um sistema, com o propósito de estudar o mesmo. Segundo [45], um modelo é uma réplica ou uma abstração da característica essencial de um processo.

Um modelo, tratando-se de avaliação de desempenho, é uma visão simplicada de um sistema, onde procura-se buscar ao máximo a realidade do sistema, de maneira a fornecer, dentro de uma tolerância aceitável, diagnósticos precisos do mesmo. Quando um sistema não existe ainda, normalmente um modelo é a melhor alternativa. Exemplos de modelos podem ser observados em [37].

Um modelo é freqüentemente a única alternativa prática se o sistema ainda não existe ou se é necessário analisar o sistema submetido a uma carga ainda inexistente [58].

No desenvolvimento de um modelo, torna-se necessário:

• escolha do nível de abstração que será utilizado para descrever o sistema a ser modelado; • escolha das características do sistema que devem ser incluídas no modelo;

• escolha dos índices de desempenho apropriados;

• escolha dos valores numéricos como parâmetros do sistema.

Utiliza-se um modelo basicamente de duas maneiras, para simulação ou para resolução analítica [1]. 2.1.1 Modelos de simulação

A simulação pode ser considerada como a reprodução funcional de uma realidade através de um modelo a ser analisado e avaliado. Ela deve descrever as características funcionais do modelo e conter todos os detalhes relevantes. Simulação é a forma mais popular de avaliar sistemas reais, existe grande facilidade para ser empregada, pois são programas de computador em que as operações e carga são descritas através de algoritmos apropriados. São implementados em linguagens próprias

(26)

para as construções destes modelos e os índices de performance são obtidos através da monitoração do programa em execução [1].

A abordagem de simulação proporciona a solução de problemas matemáticos não probabilísticos por reprodução de um processo estocástico que tem momentos ou distribuições de probabilidade satisfazendo as relações matemáticas do problema não probabilístico [43].

Problemas que desobedecem a soluções diretas por causa do tamanho, complexidade ou estrutura, são frequentemente avaliados através de modelos de simulação [38].

A principal desvantagem da simulação é o custo, pelo fato de serem dispendiosos e caros em termos de execução em máquinas. Além disto, devido às muitas possibilidades de um sistema real, pode ser difícil uma descrição exata.

2.1.2 Modelos analíticos

Os modelos analíticos descrevem o sistema e sua carga em termos abstratos, onde as medidas de desempenho são obtidas através da solução numérica de um modelo resultante.

Os modelos analíticos podem ser determinísticos1 ou estocásticos2.

Nos modelos estocásticos existe uma análise probabilística do comportamento do sistema, onde os parâmetros do sistema são descritos por variáveis aleatórias, com distribuições de probabilidades convenientes, pois se todos os detalhes forem incluídos, a complexidade pode tornar o modelo intra-tável. Da mesma forma, em alguns casos, esses detalhes podem ser desconhecidos no momento da modelagem.

A principal desvantagem dos modelos estocásticos é o fato de o modelo analítico se tornar muito caro em termos de complexidade computacional e de necessidade de armazenamento.

MODELOS DE SIMULAÇÃO MODELOS ANALÍTICOS Difícil de mostrar que estão corretos Suscetível a aproximações de modelagem Relações de causa-efeito estabelecidas em um programa Relações expressas através de equações

Caros em termos de ciclos de execução de CPU. Caros em termos de armazenamento e solução numérica.

Tabela 2.1: Comparação entre modelos de simulação e modelos analíticos 2.1.3 Formalismos de modelagem

Formalismo de modelagem é a linguagem alfanumérica ou gráca para especicar os modelos [39]. As primeiras pesquisas sobre modelagem que se tem conhecimento são sobre análise direta de processos estocásticos através de cadeias de Markov [64]. Estes tiveram suas raízes com com a criação dos modelos de Markov, pelo matemático russo A. A. Markov e posteriormente, pelo matemático dinamarquês A. K. Erlang em redes de telefones [54].

Observações importantes, inicialmente de J. R. Jackson [34], [35] originaram um novo formalismo, as redes de la de espera. Em 1967, W. J. Gordon e G. F. Newell [32] demonstraram a existência de um produto para a solução de redes fechadas [41]. Em 1975, F. Baskett, K. M. Chandy, R. R. Muntz e F. G. Palacios [7] generalizaram a família de redes, estudando uma solução para este produto [54], [31]. Segundo eles, a rede de la de espera aberta [6], com capacidade ilimitada, com diversas classes distintas de clientes e forma de atendimento sem prioridade, pode ter seus índices de desempenho obtidos por um conjunto de fórmulas desenvolvido com base no teorema de chegada e na lei de Little. A partir de 1973, com os estudos de J. Buzen [13], M. Reizer e H. Kobayashi [53] surgiram os al-goritmos chamados alal-goritmos de convolução, ou seja, uma recursividade inteligente com constantes

1No modelo determinístico os valores são previamente determinados.

2No modelo estocástico os parâmetros são descritos por variáveis aleatórioas com distribuições de probabilidade

(27)

de normalizações de incremento da população de clientes. O cálculo dos índices de desempenho obti-dos pelo algoritmo de convolução proposto por Buzen tem por objetivo determinar uma constante de normalização para compensar a escolha de valores numéricos para as taxas de visita de cada estação. Outros estudos, como os de M. Reiser e S. Lavenberg [53] geraram algoritmos que calculam o equilíbrio das probabilidades dos estados [54]. A análise feita por estes estudiosos evitou o cálculo de normalizações constantes, o que se tornou um conceito fundamental na teoria das las. Uma implementação deste algoritmo pode ser encontrada na ferramenta de software CQN - Closed Queueing Networks, desenvolvida e utilizada atualmente no projeto PEPS (Performance Evaluation of Parallel Systems)[51].

Uma diferente aproximação estudada foi a criação do software PANACEA, de J. McKenna, D. Mitra e JK. G. Romakrishnan para a solução de modelos markovianos de redes de las de espera signicativamente grandes para serem resolvidos com técnicas computacionais simples. Este software se propôs a resolver multiclasses, redes de las abertas, redes de las fechadas e mistas [54].

Outras abordagens sobre as redes de las de espera foram buscadas, principalmente devido a necessidade de resolução de problemas mais complexos, porém essas culminaram em simples extensões do formalismo de redes de las de espera.

A partir destas extensões, iniciaram-se novos estudos, em especial mecanismos de sincronismo e paralelismo. Os sistemas baseados nestes mecanismos são, geralmente, difíceis de serem estudados e construídos, em função da explosão do número de estados do modelo.

Por volta de 1960, foram introduzidas por Carl Adam Petri, as redes de Petri, como uma extensão de autômatos seqüenciais, caracterizando sistemas por meio de transações locais entre os estados, com isso permitindo vencer as limitações dos métodos formais3 denidos por sistemas seqüenciais

com respeito aos exibidos para os sistemas distribuídos [67].

Rede de Petri é uma ferramenta gráca e algébrica que apresenta um bom nível de abstração em comparação com outros modelos grácos [46]. É um modelo do tipo estado-evento, onde cada evento possui pré-condições que vão pemitir sua ocorrência e pós-condições decorrentes desta, as quais são, por sua vez, pré-condições de outros eventos posteriores.

Uma rede de Petri é vista como um tipo particular de grafo orientado, que permite modelar as propriedades estáticas de um sistema a eventos discretos, constituído de dois tipos de nós: as transições (que correspondem aos eventos que caracterizam as mudanças de estado do sistema), e os lugares (que correspondem as condições que devem ser certicadas para os eventos acontecerem), interligados por arcos direcionados ponderados [46].

Rede de Petri [46] é, portanto, um formalismo que permite a modelagem de sistemas dinâmi-cos discretos com grande poder de expressividade, permitindo representar com facilidade todas as relações de causalidade entre os processos em situação de: seqüencialidade, conito, concorrência e sincronização.

As redes de Petri podem variar de simples temporizações constantes [63] até mecanismos mais sosticados, conforme segue:

• redes de Petri estocásticas [1]. Um estudo aprofundado e exemplos de redes de Petri estocásticas pode ser encontrado em [8];

• redes de Petri estocásticas generalizadas [1], [54]; • redes de Petri de alto nível (redes coloridas) [1], [20]; • redes de Petri estocásticas generalizadas superpostas [20].

3Métodos formais e processos algébricos caracterizam sistemas distribuídos de dois níveis: como meio de

entendimen-to e, mais recentemente, como uma ferramenta para especicação de sistemas distribuídos com projeentendimen-tos bem denidos em seus paradigmas e métodos.

(28)

Novas técnicas de modelagem surgiram, através do cálculo de sistemas comunicantes (CCS - Calculus of Comunicating Systems) [20]. Dentre estas técnicas podem ser destacadas:

• álgebras de processos estocásticos [20]; • redes de autômatos estocásticos [4],[20].

Existem também as ferramentas desenvolvidas em cima de grafos para descrever o comportamento temporal de eventos, que não se baseiam em cadeias de Markov, como:

• álgebras (max, +) [5], [39], [20]; • álgebras exóticas [20].

Na gura 2.1, será apresentado o quadro com o resumo dos formalismos citados anteriormente.

Figura 2.1: Formalismos de Modelagem [20].

2.2 Monitoração

Esta técnica, também conhecida como experimentação direta, consiste na observação direta do fun-cionamento de sistemas reais [19], [36].

A monitoração sugere grande delidade em relação às medidas obtidas, pois neste caso, não existe nenhuma abstração quanto ao funcionamento do sistema.

(29)

Sensibilidade da técnica de monitoração em relação a quantidade e representatividade das amostras de funcionamento a serem consideradas. Para o funcionamento desta técnica, faz-se necessário o uso de técnicas estatísticas.

E, principalmente a necessidade da existência física e real do sistema que será avaliado. Traz como conseqüências:

• custo e tempo: a implementação de um sistema não estável pode conduzir a grandes alterações ou até mesmo a sua perda total. O custo e tempo para a implementação de um sistema, que pode necessitar novos testes, podem atrasar em muito a implantação do sistema denitivo. • diculdade de reprodução: algumas vezes, torna-se necessário repetir um experimento com

pequenas variações em alguns parâmetros e podem existir estímulos externos que fujam ao controle da experiência, invalidando qualquer comparação com os resultados anteriores [19].

(30)
(31)

Capítulo 3

Redes de autômatos estocásticos

Dentre as técnicas descritas anteriormente, os formalismos mais usados baseiam-se em cadeias de Markov [58], [60], pois normalmente são menos suscetíveis a erros, demandam menos tempo e possuem uma limitada complexidade matemática. Todavia, o espaço de estados gerados pode ser tão grande que além do modelo não ser tratável, a matriz de transição1é tão grande que não pode ser armazenada.

O formalismo de redes de autômatos estocásticos (SAN) descreve um sistema completo como uma coleção de subsistemas que interagem uns com os outros. Cada um destes subsistemas é descrito como um autômato estocástico, ou seja, um autômato onde as transições são modeladas por processos estocásticos de tempo contínuo ou discreto [20], [24].

A técnica de redes de autômatos estocásticos proporciona uma metodologia conveniente que com-bina diferentes técnicas de modelagem, de uma forma muito particular para modelagem de processos paralelos, com processos comunicantes e processos concorrentes [47].

Segundo [29], o formalismo de redes de autômatos estocásticos é uma técnica atrativa de modelar sistemas complexos com iteração entre os componentes. Os componentes do sistema são modelados por simples autômatos e iterações entre estes componentes.

Uma rede de autômatos estocásticos consiste de um número de autômatos estocásticos individuais que operam com uma relativa independência uns dos outros. Um autômato é representado por um número de estados e as regras que governam a movimentação destes estados [10].

Diz-se, nas denições, autômatos estocásticos, porque neles o tempo é tratado como uma variável aleatória, com o comportamento descrito por um processo estocástico [6] com distribuição exponen-cial2.

Uma variável aleatória é uma regra que atribui um valor numérico para cada possível resultado de um experimento. Denominado um conjunto de n resultados S, pode ser denida formalmente uma variável aleatória X como uma função de S nos números reais, ou seja:

X: S -> R logo, X(s) dene um número real para o resultado s pertencente a S.

A grande vantagem do uso de SAN é a redução de carga de memória para o armazenamento da matriz de transição da cadeia de Markov, que ca armazenada em formato tensorial.

Uma denição formal de redes de autômatos estocásticos, bem como a solução de um modelo através de SAN, podem ser encontrados em [18] e [65].

Para o bom entendimento do formalismo SAN, é necessário conhecer alguns conceitos importantes, como autômatos, transições locais, transições sincronizadas e transições funcionais, bem como a geração e utilização do descritor markoviano.

1Matriz de transição é o gerador innitesimal da cadeia de Markov associada a um modelo original. Mais informações

podem ser vistas no capítulo 3, subtítulo 3.2.

2Distribuição exponencial é a distribuição de probabilidade que melhor descreve um processo desconhecido. Esta

(32)

3.1 Autômatos

Um autômato [9] é composto por um conjunto de estados e um conjunto de transições entre estes estados. Essas transições podem representar eventos locais, ou seja, um evento local associado a uma única transição local e/ou eventos sincronizados, onde exista um evento sincronizante associado a um conjunto de transições locais que devem ser sincronizadas.

Informalmente, pode-se dizer que o estado de uma rede de autômatos estocásticos é denido como a combinação de todos os estados internos de um autômato. Assim, em uma rede constituída de três autômatos, cada um com quatro estados locais, existe uma rede de autômatos estocásticos com um total de 43 = 64 estados globais diferentes em que, para que se altere o estado global de toda a rede

de autômatos estocásticos, basta apenas um único autômato alterar o seu estado local.

A mudança no estado global de uma rede de autômatos estocásticos pode ser conseqüência de um evento local ou de um evento sincronizante. Um evento local corresponde a mudança de estado de um único autômato, enquanto na ocorrência de um evento sincronizante, ocorre a mudança do estado interno de um ou mais autômatos.

3.1.1 Eventos locais

Um evento local ocorre quando o funcionamento de cada autômato é independente de outro autômato, ou seja, em qualquer tempo e independente de outras transições [18]. Neste tipo de transição, a alte-ração do estado de um autômato não provoca alterações em outros autômatos da rede de autômatos estocásticos. Na gura 3.1, pode ser visto um exemplo de transição local, em seguida a explicação do mesmo.

Figura 3.1: Rede de autômatos estocásticos com eventos locais

O autômato A possui três estados internos, denominados a0, a1, a2. O autômato B possui dois

estados internos, denominados b0 e b1. Em função do modelo possuir somente eventos locais, todas

as setas tem a taxa de disparo correspondente à transição, aqui representadas por ti, onde i varia de

1 a 5.

A título de ilustração e melhor entendimento, na gura 3.2 será apresentada a cadeia de Markov correspondente ao modelo de rede de autômatos estocásticos com eventos locais, representada na gura 3.1.

É importante notar que na SAN apresentada na gura 3.1, não existe interação entre os dois autômatos.

3.1.2 Eventos sincronizados

Diferente dos eventos locais, os eventos sincronizados [25] são mais complexos, onde o funcionamento de um autômato depende de evento(s) de outro autômato.

(33)

Figura 3.2: Cadeia de Markov referente a SAN da gura 3.1.

Um evento sincronizante é associado a um conjunto de transições sincronizadas, onde a taxa de disparo3 deve ser associada a cada transição sincronizada e a ocorrência de um evento sincronizado

se dá simultaneamente em todos os autômatos envolvidos [18].

No processo de sincronização pode ser vista uma relação do tipo mestre-escravo, onde um autômato é escolhido aleatoriamente como mestre e os demais como escravos.

Neste processo, apenas a taxa de transição não é suciente, pois necessita-se do que se chama de tripla de sincronização, onde existe um identicador do evento sincronizante4, a taxa de disparo e

uma probabilidade de ocorrência5. A melhor maneira de entender a tripla de sincronização é através

da relação mestre-escravo. Supondo que para cada evento sincronizante, um autômato é escolhido como mestre, tem-se a seguinte estrutura [20]:

• o identicador do evento sincronizante aparece nas setas de ligação dos autômatos;

• as etiquetas das setas de ligação representam as transições sincronizadas do autômato mestre que apresentam a taxa de disparo correspondente a ocorrência do evento sincronizante foco; • as etiquetas das setas de ligação representam as transições sincronizadas dos autômatos escravos

que apresentam taxa igual a um;

• as transições associadas a um mesmo evento sincronizante, que tem como origem um mesmo estado local, devem apresentar uma probabilidade de escolha entre si, a soma dessas probabili-dades é obrigatoriamente igual a um;

• nos autômatos mestre e escravo, caso haja uma única transição associada ao evento sincroni-zante, a probabilidade p vale um;

3Taxa de disparo: descreve a taxa em que o evento ocorre.

4Evento sincronizante: nome necessário para identicar as transições que podem ser disparadas simultaneamente. 5Probabilidade de ocorrência: estabelece a relação entre todas as transições correspondentes a um mesmo evento

(34)

• para o autômato mestre, a tripla é escrita sob a forma (s, T, p), onde s é o identicador do evento sincronizante, T é a taxa de disparo e p é a probabilidade de ocorrência;

• para cada evento escravo, a tripla de sincronização é escrita sob a forma (s, 1, p), onde s é o identicador do evento sincronizante e p é a probabilidade de ocorrência.

Figura 3.3: Rede de autômatos estocásticos com evento sincronizante.

Na gura 3.3, as transições dos estados a0para a1, a1para a2, a2para a0e b0para b1são transições

locais. As transições dos estados a2 para a0 e a2 para a1 no primeiro autômato e de b1 para b0 no

segundo autômato, são transições sincronizadas que correspondem ao mesmo evento sincronizante s. Do estado a2 para a0 é possível observar duas transições, uma local de taxa t3 e outra através do

evento sincronizante s.

A título de ilustração e melhor entendimento, na gura 3.4 será apresentada a cadeia de Markov correspondente ao modelo de rede de autômatos estocásticos (SAN) representada na gura 3.3.

A ocorrência do evento sincronizado s causa uma das duas situações:

1. o autômato A passa do estado a2 para o estado a1 e ao mesmo tempo o autômato B passa do

estado b1 para o estado b0 com a probabilidade p2; ou

2. o autômato A passa do estado a2 para o estado a0 e ao mesmo tempo o autômato B passa do

estado b1 para o estado b0 com a probabilidade p1.

3.1.3 Transições funcionais

A uma transição, seja ela local ou sincronizada, cujo valor não é constante, mas sim uma função do estado interno de outros autômatos da rede de autômatos estocásticos, denomina-se transição funcional [25].

Uma transição pode acontecer de acordo com eventos sincronizados e/ou eventos locais. No caso de eventos locais, a taxa é funcional, e em caso de eventos sincronizantes, pode a taxa e/ou a probabilidade serem funcionais.

A gura 3.5 apresenta uma rede de autômatos estocásticos cujo autômato A possui uma transição funcional, ou seja, depende do estado interno do autômato B. Neste exemplo, a transição do estado b0 para o estado b1 é dependente do autômato A, agora chamada de f e denida como:

f =      λ1se A est´a no estado a0 0 se A est´a no estado a1 λ2se A est´a no estado a2 (3.1) No exemplo, o disparo da transição do estado b0para b1irá ocorrer com uma taxa λ1se o autômato

(35)

Figura 3.4: Cadeia de Markov referente a gura 3.3.

Figura 3.5: Rede de autômatos estocásticos com transições funcionais.

nada irá ocorrer. De acordo com o formalismo SAN, a expressão matemática para a função pode ser escrita como [22]:

f = [λ1(s + (A) = a0)] + [λ2(s + (A) = a2)] (3.2)

Como citado anteriormente, o uso de transições funcionais não se restringe apenas a eventos locais. De fato, em um evento sincronizado não só a taxa, mas também a probabilidade de ocorrência de um evento pode ser expressa por uma função. O uso de transições funcionais é um poderoso recurso do formalismo SAN, pois permite escrever uma estrutura extremamente complexa com um formato bastante compacto e simples. O custo computacional para trabalhar com taxas funcionais tem diminuído enormemente com o desenvolvimento de soluções numéricas para modelos de redes de autômatos estocásticos [58].

(36)

3.2 Descritor markoviano

Um autômato é um modelo matemático de um sistema com entradas e saídas discretas [33]. O sistema pode estar em qualquer uma de um número nito de congurações internas ou estados. Um estado de um sistema sumariza a informação referente a entradas passadas que é necessária para determinar o comportamento do sistema para entradas subseqüentes.

Se for possível representar o comportamento físico de um sistema, descrevendo os diferentes estados que o mesmo pode ocupar, indicando como ele se move de um estado para o outro e se o tempo dispendido em cada estado possui uma distribuição exponencial, pode dizer-se que este é um processo de Markov.

Associado a todo o processo de Markov existe um grupo de estados. A evolução deste sistema entre os estados é representado por transições que ocorrem instantaneamente, em outras palavras, a movimentação de um estado para outro não consome tempo algum. Uma propriedade fundamental de um sistema de Markov é que a evolução futura do sistema depende somente do estado atual e não do passado [59].

Se os espaços de um processo de Markov forem discretos, o processo é chamado de cadeia de Markov.

Cadeias de Markov são, na realidade, um formalismo de modelagem de sistemas que descreve um sistema com um processo estocástico, onde o sistema modelado é caracterizado pelos seus estados e a forma pela qual eles se alteram.

As cadeias de Markov podem ser compreendidas como uma máquina de estados, que caracteriza o funcionamento do sistema pelos estados possíveis que ele pode assumir (nodos) e das transições que pode assumir (arcos).

Segundo a escala de tempo, uma cadeia de Markov pode ser de dois tipos:

• Cadeias de Markov a escala de tempo contínuo: neste tipo de modelo as variáveis de estado mudam continuamente no tempo.

• Cadeias de Markov a escala de tempo discreto: neste tipo de modelo as variáveis de estado mudam só num conjunto discreto de pontos no tempo (DTMC).

3.2.1 Propriedades das cadeias de Markov

Cadeias de Markov são um formalismo para modelar sistemas supondo que: • os estados do sistema são discretos;

• a escala de tempo que rege a transição entre estados do sistema pode se dar de forma contínua (CTMC) ou discreta (DTMC);

• a transição entre estados do sistema só depende do seu estado atual, não importando por quais estados o sistema já passou ou irá passar;

• a freqüência (CTMC) ou a probabilidade (DTMC) de transição de estados do sistema se dá segundo uma lei exponencial.

Nosso maior interesse neste trabalho é em escala de tempo contínuo, portanto nos deteremos em apresentar o vetor solução das equações para CTMC e a montagem do gerador innitesimal.

A representação gráca de uma cadeia de Markov é feita por autômatos onde associa-se a cada lugar um estado do sistema e a cada arco uma taxa (CTMC) ou probabilidade (DTMC).

Matematicamente, uma cadeia de Markov é representada por uma matriz de transição de estados, onde:

(37)

• para CTMC esta matriz de transição é chamada de gerador innitesimal (Q) e cada elemento numa linha i e numa coluna j representa a taxa de transição do sistema do estado i para o estado j, os elementos diagonais de Q representam o ajuste necessário para que a soma dos elementos de cada linha seja igual a zero;

• para DTMC esta matriz de transição é chamada de matriz estocástica (P) e a diferença básica é que cada elemento representa a probabilidade de transição entre estados, os elementos diagonais de P representam o ajuste necessário para que a soma dos elementos de cada linha seja igual a um.

O resultado da análise estacionária de uma cadeia de Markov é expresso pelo vetor de probabilidade marginal dos estados do sistema. Este vetor dene qual a probabilidade (estacionária) de cada um dos estados do sistema [64], [59], [58].

Descritor markoviano é, portanto, uma descrição compacta da matriz de transição (gerador in-nitesimal) da cadeia de Markov associada a um modelo original.

Para obter-se as medidas de desempenho do modelo analisado através da cadeia de Markov po-demos determinar o estado estacionário6 do modelo.

Os resultados estacionários do modelo são obtidos através de um vetor de probabilidade π que associa uma probabilidade πi(i∈ {1, 2, ..., n}) a cada um dos n estados da cadeia de Markov. A partir

do vetor π, obtem-se informações sobre o sistema modelado, como o número de tarefas executadas, tempos médios, etc.

Para sistemas em escala contínua de tempo, o vetor π é o vetor solução das equações:

πQ = 0 (3.3)

n

X

i=1

πi= 1 (3.4)

onde Q é o gerador innitesimal da cadeia de Markov [62].

O gerador innitesimal (Q) é uma matriz quadrada de ordem nQ igual ao número de estados do

autômato.

Para melhor entendimento, será utilizada como exemplo a gura 3.1, apresentada no item 3.1.1. O autômato A possui três estados, ou seja, nQ = 3. Cada linha e cada coluna de Q é associada a

um estado de A, segundo a ordem lexicográca dos estados. A primeira linha e a primeira coluna de Q correspondem ao estado a0, a segunda linha e coluna correspondem ao estado a1 e a terceira, ao

estado a2.

O elemento qij de Q (i, j = 1, ..., nQ) é a taxa de disparo correspondente a transição do estado

associado à linha i para o estado associado a linha j, então: • q12= t1 (transição de a0 para a1);

• q13= 0 (não existe transição de a0 para a2);

• q23= t2 (transição de a1 para a2);

• q21= 0 (não existe transição de a1 para a0);

• q31= t3 (transição de a2 para a0);

• q32= 0 (não existe transição de a2 para a1);

(38)

Assim, com excessão da diagonal principal, obtem-se todos os elementos de Q. Para a diagonal principal, coloca-se os valores de tal forma que a soma dos elementos de cada uma das linhas da matriz seja nula. Para o exemplo anterior tem-se: q11=−t1, q22=−t2 e q33=−t3.

A matriz de transição (Q) do autômato equivalente a rede de autômatos estocásticos é dada pela soma tensorial7 das matrizes de transições locais [19].

Q = Q(1)⊕ Q(2) =    −T1 T1 0 0 −T2 T2 T3 0 −T3   ⊕ −T4 T4 T5 −T5 ! Q =            −(T1+ T4) T4 T5 −(T1+ T5) T1 0 0 T1 0 0 0 0 0 0 0 0 −(T2+ T5) T4 T5 −(T2+ T 5) T2 0 0 T2 T3 0 0 T3 0 0 0 0 −(T3+ T4) T4 T5 −(T3+ T5)           

No caso de eventos sincronizantes, utiliza-se além da matriz de transições locais, as matrizes re-presentando cada evento sincronizante, representadas por um par de matrizes para cada autômato. A primeira matriz do par (chamada de matriz positiva) representa a ocorrência de um evento sin-cronizante. O ajuste diagonal correspondente as taxas expressas na primeira matriz será feito pela segunda matriz (chamada matriz negativa). Na matriz negativa, todos os elementos fora da diagonal principal são nulos.

Em uma rede de autômatos estocásticos podem haver três tipos de autômatos:

• Um autômato mestre que contém a taxa de disparo do evento sincronizante. A existência de pro-babilidade associada a uma transição tem por efeito da taxa correspondente pela propro-babilidade. A matriz negativa (ajuste) contém a taxa negativa.

• Um ou mais autômatos escravos. As matrizes positivas, neste caso, contém uma taxa de disparo igual a um. A matriz negativa contém uma taxa de disparo igual a um.

• Autômatos que não são inuenciados pelo evento sincronizante. As matrizes positivas e negati-vas são matrizes identidade, pois a ocorrência do evento sincronizante não altera o estado destes autômatos.

O descritor, neste caso, é montado em duas partes, uma correspondendo aos eventos sincronizantes e outra aos eventos locais. A parte local é denida por uma soma tensorial das matrizes locais de cada evento (conforme visto anteriormente). A parte sincronizante (cada um) corresponde a soma dos produtos tensoriais8 de cada evento sincronizante.

Dependendo da escolha do autômato mestre do evento sincronizante, o autômato apresentado na gura 3.3 pode ter duas representações diferentes, no entanto, o resultado nal para a matriz de transição não se altera.

A parte local da rede de autômatos estocásticos da gura 3.3 é representada por: Q1 = Q(1)1 ⊕ Q (2) 1 =    −T1 T1 0 0 −T2 T2 T3 0 −T3   ⊕ −T4 T4 0 0 !

7A denição de soma tensorial, bem como sua solução, pode ser vista no capítulo 4. 8A denição de produto tensorial, bem como sua solução pode ser vista no capítulo 4.

(39)

Q =            −(T1+ T4) T4 0 −T1 T1 0 0 T1 0 0 0 0 0 0 0 0 −(T2+ T4) T4 0 −T2 T2 0 0 T2 T3 0 0 T3 0 0 0 0 −(T3+ T4) T4 0 −T3           

Se escolhido o autômato A como mestre do evento sincronizante s, tem-se: Parte positiva: Qs+= Q(1)s+⊗ Q (2) s+ =    0 0 0 0 0 0 T5p1 T5p2 0   ⊗ 0 0 1 0 ! Qs+=            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T5p1 0 0 0 T5p2 0 0 0 0 0            Parte negativa: Qs− = Q(1)s−⊗ Q(2)s−=    0 0 0 0 0 0 0 0 −T5   ⊗ 0 0 0 1 ! Qs−=            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −T5           

Se escolhido o autômato B como mestre do evento sincronizante s, tem-se: Parte positiva: Qs+= Q(1)s+⊗ Q (2) s+=    0 0 0 0 0 0 p1 p2 0   ⊗ 0 0 T5 0 ! Qs+=            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 T5p1 0 0 0 T5p2 0 0 0 0 0           

(40)

Parte negativa: Qs−= Q(1)s⊗ Q(2)s−=    0 0 0 0 0 0 0 0 1   ⊗ 0 0 0 −T5 ! Qs−=            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 −T5           

De onde chega-se ao gerador innitesimal do autômato global, dado por: Q = Q1+ Qs++ Qs− Q =            −(T1+ T4) T4 0 −T1 T1 0 0 T1 0 0 0 0 0 0 0 0 −(T2+ T4) T4 0 −T2 T2 0 0 T2 T3 0 T5p1 T3 0 0 T5p2 0 −(T3+ T4) T4 0 −(T3+ T5)           

Um exemplo de modelagem usando o descritor markoviano e sua resolução pode ser encontrada em [18].

Na realidade, as transições funcionais não alteram o descritor, mas exigem o uso da soma e do produto tensorial generalizado, que serão discutidos no próximo capítulo.

3.3 Soluções numéricas para cadeias de Markov

Dentre os diferentes métodos de resolução do sistema formado pelas equações 3.3 e 3.4, existem os métodos analíticos e os métodos numéricos [14], [52], [55].

Métodos analíticos de resolução de sistemas de equações lineares são os que fornecem uma solução para o sistema de equações lineares sem que seja necessário sua resolução numérica. A aplicabilidade destes métodos é reduzida, pois se aplicam somente em alguns tipos de modelos.

Dentre os exemplos de aplicabilidade destes métodos, podem ser citados: • processos de nascimento e morte [64];

• soluções a forma produto para redes de la de espera [36].

Conforme [44], processo de nascimento e morte com número de estados innito possui uma solução a forma produto se todas as transições forem descritas por distribuições exponenciais, se a taxa de entrada for inferior a capacidade de atendimento e se as taxas de chegada e atendimento forem independentes da carga.

Nosso interesse se concentra em métodos numéricos para a resolução de sistemas de equações lineares, portanto, ênfase será dada aos mesmos.

(41)

3.4 Métodos numéricos

Os métodos numéricos de solução de sistemas lineares são classicados em dois grupos [59], a saber: • métodos numéricos diretos; e

• métodos numéricos iterativos. 3.4.1 Métodos diretos

Mesmo adotando um critério (rapidez, economia de tempo, segurança na obtenção do resultado) não se pode garantir, a priori, qual método é o mais eciente [3].

Em geral, métodos diretos são apropriados quando o número de estados do sistema modelado não é muito grande (na ordem de até um ou poucos milhares de estados) e quando a matriz de transição de estados do sistema não é esparsa. Entretanto, podem ser convenientes se a matriz possuir estruturas especiais como, por exemplo, matrizes de banda [58]. Neste método os zeros da matriz original são preservados e as iterações são conduzidas com a matriz original, tornando os cálculos autocorrigíveis, o que tende a minimizar os erros de arredondamento.

Alguns exemplos de métodos diretos são: eliminação de Gauss [40], [17] e fatorização LU [61]. Será apresentado a seguir um exemplo do uso do método de fatorização LU:

Seja o sistema linear xM = b.

O processo de fatoração para solução deste sistema consiste em decompor a matriz A em um produto de dois ou mais fatores e, em seguida, resolver uma seqüência de sistemas lineares que conduzirá à solução do sistema linear original.

Uma matriz não singular A é o resultado do produto de duas matrizes, L.U = A

onde L é uma matriz triangular inferior, ou seja, tem somente elementos abaixo da diagonal principal e U é uma matriz triangular superior, ou seja, tem somente elementos da diagonal para cima.

Por exemplo, uma matriz A de 4 x 4 elementos, poderia ser vista da seguinte forma:

     1 0 0 0 χ2,1 1 0 0 χ3,1 χ3,2 1 0 χ4,1 χ4,2 χ4,3 1      .      β1,1 β1,2 β1,3 β1,4 0 β2,2 β2,3 β2,4 0 0 β3,3 β3,4 0 0 0 β4,4      =      a1,1 a1,2 a1,3 a1,4 a2,1 a2,2 a2,3 a2,4 a3,1 a3,2 a3,3 a3,4 a4,1 a4,2 a4,3 a4,4     

Observação: a diagonal principal da matriz L foi carregada com 1 por opção, pois poderia ter sido a diagonal da matriz U.

Então, o sistema linear, através da decomposição, pode ser resolvido como: A.u = (L.U ).x = L.(U.x) = b

Primeiro sendo resolvido para o vetor y como L.y = b e resolvendo U.x = y. A equação L.y = b pode ser resolvida por substituição direta, como segue:

y1= b1 x11 yi = 1 x11  b1− i−1 X j=1 xij.yj  

(42)

onde i = 2, 3, ..., N. Enquanto a equação U.x = y pode ser resolvida por substituição inversa, conforme segue:

xN = yN βN N xi = 1 βii  y1− N X j=i+1 βij.xj   onde N − 1, N − 2, ..., 1 Algoritmos para calcular equações através deste método podem ser encontrados em [11], [21], [61]. 3.4.2 Métodos iterativos

Os métodos iterativos são, normalmente, os mais utilizados para a resolução de cadeias de Markov, pois os métodos diretos não são adequados para modelos de sistemas com elevado número de estados, onde a matriz de transição é de ordem muito alta.

Nos métodos iterativos é gerada uma seqüência de valores aproximados π(k) do vetor de

probabi-lidades estacionárias que devem convergir para a solução π. Cada iteração dos métodos tem um custo aproximadamente igual ao da multiplicação de um vetor por uma matriz (esparsa) [57]. Portanto, o número de iterações é importante para o custo total do algoritmo [58].

Como exemplos de métodos iterativos podem ser citados o método de Jacobi, Gauss-Seidel [61], Arnoldi, GMRES, Sobre-relaxação sucessiva (SOR) e o método da Potência [62], [61].

Foi escolhido, como exemplo de método iterativo, o método da potência para demonstrar o cálculo do vetor de probabilidades estacionárias π. Neste método, a solução é πP(K) e o esquema iterativo é

π(k+1) = π(k)P.

Este é um método conhecido das cadeias de Markov onde o elemento j de π(k) é igual a

probabi-lidade do processo estar no estado j no k-ésimo passo.

É um método iterativo onde para sabermos o valor de πn+1precisamos saber o valor de πne assim

sucessivamente, conforme segue:

π(1)= P.π(0)

π(2)= P.π(1)

π(3)= P.π(2) ... ... ... π(n)= P.π(n−1)

Como todo método iterativo, sua solução é dada através de aproximações constantes. Para saber quando se chegou a uma solução satisfatória, basta calcular a diferença entre as iterações anteriores e a atual. Quando da análise do sistema, de acordo com os dados, o próprio usuário informa a diferença tolerável.

Diz-se que um sistema converge se este segue em direção a solução e que o sistema estagna, quando em repetidas iterações os valores são os mesmos.

Algoritmos para calcular equações através deste método podem ser encontrados em [61], [62]. Na tentativa de acelerar o processo para garantir a solução, ganhando velocidade de processamento, podemos potencializar a matriz, onde:

(43)

P(2)=⇒ π(2) = π(1)P(2)

π(4)= π(2)P(2) ... ... ...

P(4)=⇒ π(4) = π(0)P(4)

π(8)= π(4)P(4)

diminuindo-se desta forma consideravelmente o número de iterações.

Cabe salientar que em matrizes esparsas a aplicação deste artifício tende a aumentar o número de elementos não nulos, acarretando em problemas de ocupação de espaço em memória. Nestes casos, só resta a alternativa de fazer multiplicações sucessivas em P, para que a matriz possa ser armazenada, mesmo que com isso gere muitas multiplicações até a convergência, acarretando em mais processamento.

Então, para o método da potência só precisamos, na realidade, de multiplicações de um vetor por uma matriz π(P ) = π1, e como em muitas vezes não necessitamos armazenar os valores intermediários,

(44)
(45)

Capítulo 4

Álgebra Tensorial

O estudo deste capítulo divide-se basicamente em álgebra tensorial clássica e álgebra tensorial gene-ralizada, aqui representadas por ATC e ATG respectivamente, fundamentais para o entendimento de SAN. Na primeira parte é demonstrada a álgebra tensorial clássica (ATC), sua resolução e prin-cipais propriedades. Na segunda parte é demonstrada a álgebra tensorial generalizada, sua solução e principais propriedades.

4.1 Álgebra tensorial clássica (ATC)

A álgebra tensorial clássica não é algo novo, em 1978, Davio já escreveu uma publicação sobre a mesma, no entanto com o nome de Kronecker. A ATC é utilizada quando as transições são constantes. Ela é denida por dois operadores matriciais:

1. produto tensorial ⊗ 2. soma tensorial ⊕

A notação utilizada para álgebra tensorial clássica, neste trabalho, será basicamente: • N representando o conjunto dos números naturais.

• R representando o conjunto dos números reais.

• [a..b] representando o subconjunto de N que contém todos os valores de a até b, inclusive estes. • [a, b] representando o subconjunto de R que contém as posições da matriz do elemento a e do

elemento b, inclusive estes.

• . representando a multiplicação entre os elementos.

Será abordado primeiro o produto tensorial clássico, denido o fator normal e, em seguida a soma tensorial clássica.

4.1.1 Produto tensorial

O produto tensorial de duas matrizes A e B de dimensões (α1x α2) e (β1x β2) respectivamente, é

uma matriz de dimensões (α1β1x α2β2). Essa matriz pode ser vista como uma matriz constiuída

de α1x α2 blocos, cada um de dimensão β1x β2. A denição de cada um dos elementos da matriz

resultante é feita levando-se em conta a qual bloco o referido elemento pertence e a sua posição interna dentro desse bloco [20], [48].

(46)

Formalmente, o produto tensorial da matriz A de tamanho nAx nA e da matriz B de tamanho

nBx nB, denotada A ⊗ B é uma matriz C de tamanho nAnBx nAnB, onde C pode ser decomposta

em n2

A blocos de tamanho nBx nB [18], [27].

Sejam duas matrizes:

A = a1,1 a1,2 a2,1 a2,2 ! B =    b1,1 b1,2 b1,3 b1,4 b2,1 b2,2 b2,3 b2,4 b3,1 b3,2 b3,3 b3,4    onde:

• ai,jebi,j são os elementos das matrizes A e B;

• A ⊗ B é o produto tensorial das matrizes A e B; • A . B é o produto convencional das matrizes A e B.

• c[i,k][j,l] é o elemento da i-ésima linha do k-ésimo bloco horizontal e da l-ésima coluna do j-ésimo

bloco vertical da matriz C. C = A⊗ B e calculado como:           a1,1.b1,1 a1,1.b1,2 a1,1.b1,3 a1,1.b1,4 a1,1.b2,1 a1,1.b2,2 a1,1.b2,3 a1,1.b2,4 a1,1.b3,1 a1,1.b3,2 a1,1.b3,3 a1,1.b3,4 a1,2.b1,1 a1,2.b1,2 a1,2.b1,3 a1,2.b1,4 a1,2.b2,1 a1,2.b2,2 a1,2.b2,3 a1,2.b2,4 a1,2.b3,1 a1,2.b3,2 a1,2.b3,3 a1,2.b3,4 a2,1.b1,1 a2,1.b1,2 a2,1.b1,3 a2,1.b1,4 a2,1.b2,1 a2,1.b2,2 a2,1.b2,3 a2,1.b2,4 a2,1.b3,1 a2,1.b3,2 a2,1.b3,3 a2,1.b3,4 a2,2.b1,1 a2,2.b1,2 a2,2.b1,3 a2,2.b1,4 a2,2.b2,1 a2,2.b2,2 a2,2.b2,3 a2,2.b2,4 a2,2.b3,1 a2,2.b3,2 a2,2.b3,3 a2,2.b3,4          

A especicação de um elemento em particular é suciente para especicar a ocorrência de um elemento no bloco.

A especicação de um elemento na matriz pode ser escrita assim: C[i,k][j,l] = ai,j.bk,l

onde i, j ∈ [1..nA]e k, l ∈ [1..nB].

C53 = a2,1b2,3 está posicionado no bloco (2, 1) e a posição interna é 2, 3 do bloco. O produto

tensorial C = A ⊗ B é denido algebricamente pela designação do valor ai,j.bk,l ao elemento de

posição (k, l) do bloco (i, j).

Quando calculado o produto tensorial de uma matriz quadrada qualquer por uma matriz identi-dade, a esse cálculo dá-se o nome de fator normal. Para esse cálculo existe a possibilidade de dois fatores normais, quais sejam:

A⊗ In e In⊗ A

n= número de linhas e colunas da matriz. Seja uma matriz A =

"

a1,1 a1,2

a2,1 a2,2

#

e uma matriz identidade I3 =

   1 0 0 0 1 0 0 0 1   :

(47)

O fator normal A ⊗ I3=           a1,1 0 0 0 a1,1 0 0 0 a1,1 a1,2 0 0 0 a1,2 0 0 0 a1,2 a2,1 0 0 0 a2,1 0 0 0 a2,1 a2,2 0 0 0 a2,2 0 0 0 a2,2           O fator normal I3⊗ A =            a1,1 a1,2 a2,1 a2,2 0 0 0 0 0 0 0 0 0 0 0 0 a1,1 a1,2 a2,1 a2,2 0 0 0 0 0 0 0 0 0 0 0 0 a1,1 a1,2 a2,1 a2,2           

Quando aplicado o produto tensorial de uma matriz identidade por outra matriz identidade, o resultado é uma matriz identidade de dimensão igual ao produto das dimensões das duas matrizes:

In⊗ Im = Im⊗ In= In,m

4.1.2 Soma tensorial

Para aplicar a soma tensorial a duas matrizes é necessário conhecer o conceito de matriz identidade. Toda e qualquer matriz é identidade quando mi,j = 1 se i = j e mi,j = 0 se i 6= j e a matriz é

quadrada.

A soma tensorial de duas matrizes A e B é denida como a soma convencional dos fatores normais das duas matrizes, conforme segue,

A⊕ B = (A ⊗ IB) + (IA⊗ B)

onde:

• A e B são as matrizes quadradas A e B;

• A ⊗ B é o produto tensorial das matrizes A e B; • A ⊕ B é a soma tensorial das matrizes A e B; • A + B é a soma convencional das matrizes A e B;

• IAe IB são as matrizes identidade da mesma ordem que as matrizes A e B respectivamente.

Observações:

• A soma tensorial de duas matrizes só pode ser feita em matrizes quadradas.

• O operador ⊗ (produto tensorial) tem prioridade sobre o operador ⊕ (soma tensorial) e os dois operadores tem prioridade sobre os operadores tradicionais . (multiplicação) e + (adição) matrizes.

(48)

Formalmente, a soma tensorial da matriz A, de tamanho nAx nA e a matriz B de tamanho nBx nB,

denotada A ⊕ B é a matriz C, de tamanho nAnBx nAnB, denida por A ⊗ InB+ InA⊗ B, onde InA

e InB são matrizes identidades de tamanho nA e nB respectivamente [18], [27].

Sejam duas matrizes:

A = a1,1 a1,2 a2,1 a2,2 ! B =    b1,1 b1,2 b1,3 b2,1 b2,2 b2,3 b3,1 b3,2 b3,3   

A soma tensorial de A e B é dada por C = A ⊕ B e é igual a (A ⊗ I3) + (I2⊗ B).

C =           a1,1 0 0 0 a1,1 0 0 0 a1,1 a1,2 0 0 0 a1,2 0 0 0 a1,2 a2,1 0 0 0 a2,1 0 0 0 a2,1 a2,2 0 0 0 a2,2 0 0 0 a2,2           +           b1,1 b1,2 b1,3 b2,1 b2,2 b2,3 b3,1 b3,2 b3,3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b1,1 b1,2 b1,3 b2,1 b2,2 b2,3 b3,1 b3,2 b3,3           C =           a1,1+ b1,1 b1,2 b1,3 b2,1 a1,1+ b2,2 b2,3 b3,1 b3,2 a1,1+ b3,3 a1,2 0 0 0 a1,2 0 0 0 a1,2 a2,1 0 0 0 a2,1 0 0 0 a2,1 a2,2+ b1,1 b1,2 b1,3 b2,1 a2,2+ b2,2 b2,3 b3,1 b3,2 a2,2+ b3,3          

Pode ser denido algebricamente como c[i,k][j,l] = ai,j.δk,l+ bk,l.δi,j

onde i, j ∈ [1..nA], k, l ∈ [1..nB]e δi,j = 1 se i = j e 0 se i 6= j.

O operador δi,j também é conhecido como operador delta de Kronecker [15].

4.1.3 Propriedades da soma e do produto tensorial clássico

As propriedades da álgebra tensorial clássica (ATC) para redes de autômatos estocásticos (SAN) podem ser vistas em [20], [24], [59] e são as seguintes:

Associatividade

A⊗ (B ⊗ C) = (A ⊗ B) ⊗ C

A⊕ (B ⊕ C) = (A ⊕ B) ⊕ C Distributividade sobre adição clássica

(A + B)⊗ (C + D) = (A ⊗ C) + (B ⊗ C) + (A ⊗ D) + (B ⊗ D) Compatibilidade com a multiplicação clássica

(A.B)⊗ (C.D) = (A ⊗ C) . (B ⊗ D) Compatibilidade com a transposição de matrizes

Referências

Documentos relacionados

Se o terreno for inclinado, os pés do espigueiro assentam num degrau, para que o espi- gueiro fique na horizontal, como mostra a imagem (figura 1).. A figura 2 é um esquema

O dispositivo de acordo com a invenção é particularmente adequado para trem de pouso compreendendo pelo menos um eixo para receber pelo menos uma roda associada com um

Do mesmo modo, foi possível conhecer os resultados de outros produtos, tais como a tabuada do 9, por meio da soma resultante da multiplicação por 4 e por 5; por 7 e por 2, ou

Ferreira Remi Luiz Frantz Valério da Silva Vilson Vieira Lima Valdecir T. dos Santos

[r]

A inclusão de até 5% de torta de cupuaçu, em substituição ao farelo de soja e milho, é recomendado em dietas para tourinhos Nelore em confinamento, pois não interfere no

Milhões de revolucionarios franceses reencarnaram aqui, da mesma forma a doutrina codificada na França por Kardec floresceu no Brasil, a mediunidade no Brasil tanto em quantidade

Em princípio, a combinação desta função de cruzamento com a função de adequação e a mutação pode levar a dinâmicas bastante complexas no Espaço de Gabor