Introdução ao Estudo sobre Árvore Geradora Mínima em Grafos com Parâmetros Fuzzy

Tamanho: px
Começar a partir da página:

Download "Introdução ao Estudo sobre Árvore Geradora Mínima em Grafos com Parâmetros Fuzzy"

Transcrição

1 UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO PROJETO DE CONCLUSÃO DE CURSO Introdução ao Estudo sobre Árvore Geradora Mínima em Grafos com Parâmetros Fuzzy Disciplina: IA 861 Sistemas Nebulosos Docente: Prof. Dr. Fernando Gomide Alunos: Fábio Prado RA Tiago Agostinho de Almeida RA Vânia Nobre de Sousa RA

2 Sumário 1. Introdução 3 2. Objetivos 4 3. Teoria Grafos Clássicos Grafos Definições Caminho Mínimo Árvore Geradora Mínima Conceitos Básicos Conjuntos Fuzzy Tipos de Função de Pertinência Algumas características Relações Fuzzy sobre Conjuntos Fuzzy Composição de Relações Fuzzy Reflexividade e Simetria Teoria da Possibilidade Problemas de grafos fuzzy e suas soluções Problemas com estrutura do grafo crisp e parâmetros fuzzy Árvore Geradora Mínima Fuzzy Introdução Problema com Grafo Crisp e Parâmetros Fuzzy Computação Evolutiva - O Algoritmo Genético Algoritmos Evolutivos Algoritmo Genético Representação Fitness Operadores Genéticos Revisão Bibliográfica Propostas Implementação Algoritmo Resultados Experimentais Grafo Itália Grafo Análise dos Resultados Conclusões Bibliografia 51 2

3 1. Introdução A teoria fuzzy foi introduzida em meados de 1960 e 1970 por Zadeh, no entanto, esse assunto já era discutido desde 1910 por Whitehead e Russel. As primeiras aplicações da teoria fuzzy foram creditadas a Mandani, Atualmente, diversos trabalhos na área de engenharia são encontrados utilizando esta teoria. Uma das áreas estudadas é a de grafos, pois uma grande quantidade de problemas pode ser representada na forma de redes, tais como: alocação, caminho mínimo, fluxo máximo, árvore geradora mínima, dentre outras, com aplicações nas mais diversas áreas da engenharia, como telecomunicações, transporte, manufaturas, etc. Dentro da área de grafos, o problema de encontrar a Árvore Geradora Mínima aparece em uma série de aplicações, ou como subproblemas destas. Um exemplo é a instalação de linhas telefônicas (ou elétricas) entre um conjunto de cidades utilizando a infra-estrutura das rodovias com o menor uso de material. Outros problemas como análise de clusters e armazenamento de informações, dentre outros podem ser tratados por esta modelagem que possui eficientes algoritmos como Kruskal, Prim e Sollin (Ahuja et. Al., 1993). No entanto, problemas reais nem sempre possuem informações precisas. Parâmetros como tempo e capacidade associados ao problema podem ter natureza incerta. Ao resolver problemas deste tipo utilizando a estrutura de grafos, podemos ter incertezas tanto na estrutura (nós e/ou arestas) quanto nos parâmetros (custo, capacidade, demanda). Portanto, estes problemas podem ser estudados e resolvidos sob a teoria de sistemas nebulosos, ou sistemas fuzzy. No capítulo 3 apresentaremos o problema de encontrar a Árvore Geradora Mínima para grafos fuzzy, bem como conceitos e definições associados ao entendimento e resolução deste. No capítulo 4 será apresentada a revisão bibliográfica e no capítulo 5 mostraremos uma proposta para resolução deste problema. O capítulo 6 descreverá a implementação utilizada e resultados experimentais obtidos para alguns problemas. No capítulo 7 fazemos considerações finais sobre o projeto. 3

4 2. Objetivos Estudaremos o problema de encontrar a Árvore Geradora Mínima com parâmetros fuzzy e apresentaremos uma maneira de resolvê-lo baseando-se em conceitos da teoria de possibilidade (Zadeh,1978). Trabalharemos com duas formas diferentes de obter a solução para o problema, no qual uma delas será obtida atribuindo-se o grau de possibilidade das árvores geradoras de um grafo serem solução, ou seja, obteremos como resposta um conjunto solução para o problema. A outra será obtida atribuindo-se o grau de possibilidade de cada aresta do grafo pertencer à solução do problema. A importância de apresentar estas duas maneiras de responder ao problema é que, a primeira proporciona uma visão geral de quais são as possíveis melhores decisões que podem ser tomadas com relação ao problema apresentado, enquanto que a segunda proporciona uma visão mais local, ou seja, apresenta qual a possível melhor decisão que pode ser tomada a partir de um determinado ponto. Encontrar o grau de possibilidade de cada árvore geradora mínima de um grafo ser solução ou obter o grau de possibilidade de cada uma de suas arestas estarem na solução são problemas combinatoriais NP-difíceis, pois teríamos que comparar todas as árvores geradoras entre si. Por isto, apresentaremos os algoritmos que foram propostos em (Takahashi, 2003) e um algoritmo genético (AG) para solução aproximada do problema, visando contornar a questão da complexidade. 4

5 3. Teoria Neste capítulo apresentaremos a teoria necessária para o entendimento do problema apresentado. Na seção 3.1 apresentaremos alguns conceitos sobre grafos crisp. Na seção 3.2 serão apresentadas as teorias de conjuntos fuzzy e possibilidade que serão utilizadas para a resolução do problema. Na seção 3.3 serão descritos problemas de grafos fuzzy e as abordagens feitas para solucioná-los. Serão apresentados o problema da Árvore Geradora Mínima com parâmetros fuzzy e um algoritmo exato para sua resolução na seção 3.4. E, na seção 3.5, serão apresentados alguns conceitos importantes sobre Algoritmo Genético. 5

6 3.1. Grafos Clássicos Grafos Definições Um grafo G = (V,E) consiste de um conjunto V de vértices (também denominados nós), e um conjunto E de arestas. Cada aresta corresponde a um par distinto de vértices. Quando uma aresta é do tipo e = (v,v) ela é denominada laço. Pode-se ter grafos direcionados ou não-direcionados. As arestas em um grafo direcionado são pares ordenados, ou seja, a ordem entre dois vértices conectados por uma aresta é importante. Neste caso representa-se uma aresta como uma flecha apontando de um vértice para outro. As arestas em um grafo não-direcionado são pares não ordenados, os quais são representados através de um seguimento de linha conectando dois vértices. Um multigrafo é um grafo cujo conjunto de arestas contém laços ou arestas múltiplas. As arestas múltiplas ocorrem quando se permite a existência de mais de uma aresta entre o mesmo par de vértices. Grafos que não são multigrafos são muitas vezes chamados de grafos simples. O grau d(v) de um vértice v é o número de arestas que incidem em v. Nos grafos direcionados existe a diferença entre grau de entrada e grau de saída de um vértice. Um caminho de v 1 para v k é uma seqüência de vértices v 1, v 2,...,v k, conectados pelas arestas (v 1,v 2 ), (v 2,v 3 ),..., (v k-1,v k ). Um caminho é chamado simples se cada vértice aparece uma única vez. Um vértice u é dito ser alcançado por v se existe um caminho de v para u. Um ciclo é um caminho no qual o primeiro e o último vértice são o mesmo. Um ciclo é chamado simples se, com exceção do primeiro e último vértices, nenhum vértice aparece mais de uma vez. Um grafo (na sua forma não direcionada) é dito ser conexo, se existe um caminho entre qualquer par de vértices. Uma árvore é um grafo que é acíclico e conexo T = (V,E). Um vértice v da árvore é uma folha se possuir grau menor ou igual a 1. Uma floresta é um conjunto de árvores, ou seja, um grafo acíclico. Subgrafo de um grafo G = (V,E) é um grafo H = (U,F) tal que U V e F E. Uma árvore geradora de um grafo não-direcionado G é um subgrafo de G que é uma árvore e contém todos os vértices de G. Uma floresta geradora de um grafo não direcionado G é um subgrafo de G que é uma floresta e contém todos os vértices de G. Um subgrafo induzido pelo conjunto de vértices U de um grafo G = (V,E) é um subgrafo H = (U,F) tal que U V e F consiste de todas as arestas em E cujos vértices pertencem a U. Se um grafo G = (V,E) é não conexo, então ele pode ser particionado de uma única maneira em um conjunto de subgrafos conexos chamados de componentes conexas de G. Uma componente conexa de G é um subgrafo conexo de G tal que nenhum outro subgrafo conexo de G o contém. Um grafo bipartido G = (V,E) é um grafo cujos vértices podem ser divididos em dois conjuntos V 1 e V 2 tais que toda aresta de G une um vértice de V 1 a outro de V 2. Um grafo pode conter custos associados a cada aresta. Estas definições podem ser verificadas em (U. Manber). 6

7 Caminho Mínimo Considere um grafo G = (V,E) com função de custo c: E R associando as arestas de G a valores reais. O custo do caminho p = (v 0,v 1,...,v k ) é a soma dos pesos das arestas que o compõem : O custo mínimo entre u e v é dado por: min δ ( u, v) = c( p) = k i= 1 p { c( p) : u v} c( v i v i 1, ) se existe um p entre u e v caso contrário Um caminho de custo mínimo do vértice u ao vértice v é definido como todo caminho p com custo c(p) = δ ( u, v) (T. H. Cormen) Árvore Geradora Mínima Definição Considere um grafo não direcionado G = (V,E) onde para cada aresta (u,v) E, tem-se um custo c(u,v) associado. Deseja-se encontrar um subconjunto T E que conecta todos os vértices de G e cuja soma total dos seus custos c( T ) = ( u, v) T c( u, v) é minimizada. Como T é acíclica e conecta todos os vértices de G, forma uma árvore geradora de G. A árvore T encontrada desta forma é uma árvore geradora de custo mínimo de G (T. H. Cormen) Soluções A seção introduz um algoritmo geral para árvore geradora mínima (AGM) que obtém uma árvore geradora adicionando uma aresta por vez através da estratégia gananciosa. A seção apresenta dois modos de implementar este algoritmo geral: algoritmo de Kruskal e algoritmo de Prim Obtendo uma árvore geradora mínima (AGM) Assuma que se tem um grafo conexo não direcionado G = (V,E) com função de custo c: E R e que se deseja encontrar uma árvore geradora mínima para G. Os dois algoritmos que serão apresentados na próxima seção utilizam estratégia gananciosa para o problema, embora eles se diferenciem entre si pela aplicação desta estratégia (T. H. Cormen). Esta estratégia é mostrada pelo seguinte algoritmo geral, que obtém uma AGM acrescentando uma aresta por vez. O algoritmo trabalha sobre um conjunto A que é sempre 7

8 um subconjunto de alguma AGM. Em cada passo, é determinada uma aresta (u,v) para ser acrescentada a A sem violar sua estrutura, ou seja, A {(u,v)} é também um subconjunto de uma AGM. Uma aresta será chamada aresta segura para A desde que ela possa ser adicionada a A sem defazer sua estrutura. AGM_GERAL(G,w) 1. A 2. enquanto A não forma uma AGM 3. faça encontre uma aresta (u,v) que é segura para A 4. A A {(u,v)} 5. retorne A Note que após a linha 1, o conjunto A satisfaz a propriedade de ser um subconjunto de uma AGM. O loop nas linhas 2-4 mantém a estrutura. Quando o conjunto A é retornado na linha 5, ele deve ser uma AGM. Para isto, tem que ser encontrada uma aresta segura na linha 3. Ela existe, desde que a linha 3 é executada, a estrutura detecta que existe uma árvore geradora T tal que A T, e se existe uma aresta (u,v) A, então (u,v) é segura para A. A seguir será fornecida uma forma para reconhecer arestas seguras (Teorema 3.1.1). Primeiro é necessário algumas definições. Um corte (S,V - S) de um grafo não direcionado G = (V,E) é uma partição de V. Diz-se que uma aresta (u,v) atravessa o corte (S,V - S) se um dos vértices unidos por esta aresta está em S e o outro em V - S. Diz-se que um corte respeita um conjunto A de arestas se nenhuma aresta em A atravessa o corte. Uma aresta é dita ser uma aresta mínima atravessando um corte se o seu custo é o menor dentre os custos de todas as arestas que o atravessam. Note que pode existir mais de uma aresta mínima atravessando um corte em caso de empate. Teorema Seja G = (V,E) um grafo conexo não-direcionado com função de custo c:e R. Seja A um subconjunto de E que está incluído em alguma AGM de G e seja (S,V - S) um corte de G que respeita A. Seja (u,v) uma aresta mínima atravessando o corte (S,V - S). Então, a aresta (u,v) é segura para A. Prova: Seja T uma árvore geradora mínima tal que A T, e assuma que T não contém aresta mínima (u,v). A aresta (u,v) forma um ciclo com as arestas pertencentes ao caminho p de u para v em T. Desde que u e v estão em lados opostos do corte (S,V - S), existe ao menos uma aresta em T no caminho p que também atravessa o corte. Seja (x,y) tal aresta. A aresta (x,y) não pertence a A porque o corte respeita A. Como (x,y) está no caminho de u para v em T, remover (x,y) divide T em duas componentes. Adicionando (u,v) as componentes são reconectadas formando uma nova árvore T = (T {(x,y)}) {(u,v)}. Como (u,v) é uma aresta mínima atravessando o corte (S,V - S) e (x,y) também atravessa este corte, c(u,v) c(x,y). Assim, c(t ) = c(t) c(x,y) + c(u,v) c(t). 8

9 Mas T é uma AGM então c(t) c(t ). Desta forma T também é uma AGM. Resta mostrar que (u,v) é uma aresta segura para A. Temos que A T, pois A T e (x,y) A. Então A {(u,v)} T. Conseqüentemente, como T é AGM, (u,v) é segura para A. O Teorema dá um melhor entendimento de como trabalha o AGM_Geral em um grafo conexo G = (V,E). A maneira que o algoritmo procede faz com que A seja sempre acíclico, pois se assim não fosse, a árvore geradora que contém A teria um ciclo, o que seria uma contradição. Durante a execução do algoritmo, o grafo G A = (V,A) é uma floresta, onde cada componente conexa de G A é uma árvore. Algumas árvores podem conter somente um vértice, como é o caso, por exemplo, quando o algoritmo começa: A é vazio e a floresta contém V árvores, uma para cada vértice. Toda aresta (u,v) segura para A conecta componentes distintas de G A, A {(u,v)} acíclica. O loop nas linhas 2-4 do AGM_Geral é executado V - 1 vezes. Quando a floresta contém somente uma única árvore, o algoritmo termina. Corolário Seja G = (V,E) um grafo conexo não direcionado com função de custo c :E R. Seja A um subconjunto de E que está incluído em alguma árvore geradora mínima de G, e seja C uma componente conexa (árvore) na floresta G A = (V,A). Se (u,v) é uma aresta mínima conectando C a alguma outra componente em G A, então (u,v) é segura para A. Prova O corte (C,C - V) respeita A e (u,v) é, portanto, uma aresta mínima para este corte Algoritmos de Kruskal e de Prim Algoritmo de Kruskal Este algoritmo é diretamente baseado no AGM_Geral apresentado na seção anterior. Para adicionar uma aresta segura à floresta, ele procura, entre todas as arestas que conectam quaisquer duas árvores na floresta, uma aresta (u,v) com menor custo. Sejam C 1 e C 2 duas árvores conectadas por (u,v). Como (u,v) deve ser uma aresta mínima conectando C 1 a alguma outra árvore, pelo Corolário 3.1.2, (u,v) é uma aresta segura para C 1. O algoritmo de Kruskal é um algoritmo ganancioso porque em cada passo acrescenta à floresta uma aresta com menor custo possível. Segue abaixo uma implementação deste algoritmo (T. H. Cormen): AGM_Kruskal(G,w) 1. A 2. para cada vértice v V[G] 3. execute MAKE-SET(v) 4. ordene as arestas de E em ordem não-decrescente de custo 5. para cada aresta (u,v) E, em ordem não-decrescente de custo 9

10 6. se FIND-SET(u) FIND-SET(v) 7. então A A {(u,v)} 8. UNION(u,v) 9. retorne A onde FIND_SET(u) retorna um elemento representativo do conjunto que contém u e UNION combina as árvores. A complexidade deste algoritmo é de O(ElgE). Algoritmo de Prim Como o algoritmo de Kruskal, o algoritmo de Prim é um caso especial do AGM_Geral apresentado anteriormente. Ele tema a propriedade de que as arestas no conjunto A sempre formam uma única árvore. Começa com um vértice raiz arbitrário r e árvore é aumentada até que ela contenha todos os vértices de V. Em cada passo, uma aresta mínima conectando um vértice em V A é adicionado à árvore. Pelo Corolário 3.1.2, esta regra adiciona somente arestas que são seguras para A. Portanto, quando o algoritmo termina, as arestas em A formam uma árvore geradora mínima. Esta estratégia é gananciosa desde que a árvore é acrescentada em cada passo por uma aresta que contribui o mínimo possível para o custo da árvore. Segue abaixo uma implementação deste algoritmo (T. H. Cormen): AGM-Prim(G,w,r) 1. Q V[G] 2. para cada u Q 3. faça key[u] 4. key[r] 0 5. π[r] nil 6. enquanto Q 7. faça u EXTRACT-MIN(Q) 8. para cada v Adj[u] 9. se v Q e c(u,v) < key[v] 10. então π[v] u 11. key[v] c(u,v) 10

11 Onde: key[v] é o mínimo custo entre os custos de todas as arestas conectando v à árvore e key[v] = se não existe tal aresta; Q é a fila de vértices não-pertencentes à árvore cuja prioridade na fila é dada por key; π[v] é o pai de v na árvore. A complexidade deste algoritmo é de O(E +VlgV) Conceitos Básicos Conjuntos Fuzzy Conjuntos são uma tentativa de organizar, resumir e generalizar conhecimento sobre objetos. Nesse sentido, trabalhamos com uma dicotomia sobre um objeto pertencer ou não a um determinado conjunto. Esta dicotomia pode ser representada por uma função característica: 1, se x A f A ( x) = (3.2.1) 0, se x A Por exemplo, considere o conjunto dos homens altos H = { x R x 1,80} 1,79m não pode ser considerado alto?. Alguém com Figura 3.2.1: Exemplo de uma função característica clássica Um conjunto fuzzy A em X é definido por uma função (característica) de pertin ência f A (x) que associa a cada ponto em X um número real no intervalo [0,1], com o valor de f A (x) em x representando o grau de pertinência de x em A. Então, quanto mais próximo o valo r d e f A (x) da unidade, maior o grau de pertinência de x em A. 11

12 Figura 3.2.2: Exemplo de uma função de pertinência Quando existe uma necessidade de diferenciar entre os conjuntos clássicos e os conjuntos fuzzy, os conjuntos com função característica de dois valores serão chamados de conjuntos clássicos (ordinários ou crisp) ou simplesmente conjuntos Tipos de Função de Pertinência Função Triangular > < = b x m b x a m a x m a x a m a x a x x S se 0 ], [ se ], [ se se 0 ) ( (3.2.2) sendo m o valor modal e a e b os limitantes inferior e superior, respectivamente Função Γ = a x a x k a x x S se ) ( exp 1 se 0 ) ( 2 (3.2.3) com k> Função trapezoidal > < = b x se b n x se a m a x n m x se m a x se a m a x a x se x S 0 ], [ ], [ 1 ], [ 0 ) ( (3.2.4) 12

13 Função Gaussiana S( x) a para k>0. 2 = exp k( x ) (3.2.5) Função exponencial 1 S( x) 2 1+ k( x m) (3.2.6) com k> Algumas características Aqui estão alguns conceitos básicos dos conjuntos fuzzy que serão necessários no decorrer do texto: Definição Um conjunto fuzzy S é normal se sua função de pertinência possui pelo menos um valor tal que sup x { µ S ( x)} = 1. Caso não exista valor x tal que o supremo da função de pertinência seja igual a um, então S é subnormal. O supremo é considerado a altura de S. Definição O suporte de um conjunto fuzzy S, denotado por supp(s), é dado por: supp( S){ x S µ ( x) > 0} ou seja, o suporte é formado pelos elementos que possuem valores de pertinência nãonulos. Definição O núcleo de um conjunto fuzzy S é o conjunto de todos os elementos cujo valor de pertinência é igual a 1: nucleo( S){ x S µ ( x) = 1} Definição Um conjunto fuzzy S é convexo se sua função de pertinência é tal que para qualquer x 1 e x 2 S e λ [0,1]. µ [ λx1 + (1 λ) x2 ] min[ µ ( x1 ), ( x2 )] S S µ S S S Relações Fuzzy sobre Conjuntos Fuzzy Seja S um conjunto. Um subconjunto fuzzy de S é um mapeamento σ:s [0,1], o qual associa elementos x S a um grau de pertinência, 0 σ(x) 1. Similarmente, uma relacão fuzzy sobre S é um subconjunto fuzzy de SxS, isto é um mapeamento σ:sxs [0,1], o qual associa para cada par ordenado de elementos (x,y) um grau de pertinência 0 µ(x,y) 1. Nos 13

14 casos especiais onde σ e µ podem assumir valores 0 e 1, eles se tornam funções características de um subconjunto ordinário de S e uma relação ordinária sobre S, respectivamente. Se T S é um subconjunto de S e R S S uma relação sobre S, então R é uma relação sobre T contanto que (x,y) R implique que x T e y T para todo x,y. Seja τ e ρ funções características de T e R respectivamente.. Então esta condição pode ser estabelecida como implica que ρ(x,y)=1 τ(x)=τ(y)=1, x,y S Podemos associar esta condição às funções de pertinência: Onde significa inf. ρ(x,y)<τ(x) τ(y), x,y S Retornando o caso geral onde σ é um subconjunto fuzzy de S e µ uma relação fuzzy sobre S, diz-se que µ é uma relação fuzzy sobre σ se µ(x,y)<σ(x) σ(y), x,y S Em outras palavras, para µ ser uma relação fuzzy sobre σ, é necessário que o grau de pertinência de um par de elementos nunca exceda o grau de pertinência dos próprios elementos. Se pensarmos nos elementos como nós em um grafo e os pares como os arcos, isto equivale ao requisito de que a força de um arco nunca exceda as forças de seus nós. Proposição (Rosenfeld, 1975) Para um dado subconjunto fuzzy σ de S, a relação mais forte sobre S, ou seja, uma relação fuzzy sobre σ, é µ σ, definida por µ σ (x,y)<σ(x) σ(y), x,y S Proposição (Rosenfeld, 1975) Para uma dada relação fuzzy µ sobre S, o subconjunto fuzzy mais fraco de S para o qual µ é uma relação fuzzy σ µ, definida por onde significa sup. Para algum limiar tm 0 t 1, o conjunto é um subconjunto de S e o conjunto σ µ (x)=sup[µ(x,y) µ(x,y)], x S σ t ={x S σ(x) t} µ t ={(x,y) S S µ(x,y) t} é uma relação sobre S. Usando essa notação, podemos estabelecer: Proposição (Rosenfeld, 1975) Seja µ uma relação fuzzy sobre σ e seja 0 t 1. Então, µ t é uma relação sobre σ t. 14

15 Composição de Relações Fuzzy Seja µ e ν relações sobre σ. Pela composição de µ e ν é entendido o conjunto µ ν definido por ( µ o ν)( x, z) = sup[ µ ( x, y) ν( y, z)], x,z S y S Outras definições de composição de relações fuzzy serão discutidas a seguir. Esta definição é chamada composição max-min. Proposição (Rosenfeld, 1975) µ ν é uma relação fuzzy sobre σ. É bem conhecido que a composição de relações fuzzy é associativa, isto é, µ,ν, ρ temos µ (ν ρ)=(µ ν) ρ. Podemos então definir a potência de uma relação fuzzy como µ 1 =µ; µ 2 =µ µ; µ 3 =µ µ µ e assim por diante. Também podemos definir µ = sup k = 1,2,... k µ Finalmente, é conveniente definir µ 0 ( x, y) = 0se x y 0 µ = σ ( x) para todo x,y S. Proposição (Rosenfeld, 1975) Para todo t, 0 t 1, temos (µ ν) t =µ t ν t. Proposição (Rosenfeld, 1975) Se µ ν e λ ρ, então µ λ ν ρ Reflexividade e Simetria Seja µ uma relação fuzzy sobre σ. µ é reflexivo se µ(x,x)=(x), x S Proposição (Rosenfeld, 1975) Se µ é reflexivo, então µ(x,y) µ(x,x) e µ(y,x) µ(x,x), x,y S. Proposição (Rosenfeld, 1975) Se µ é uma relação fuzzy reflexiva sobre σ, então para 0 t 1 qualquer, µ t é uma relação reflexiva sobre σ t. Corolário (Rosenfeld, 1975) Se µ é reflexivo, µ µ µ. Corolário (Rosenfeld, 1975) Se µ é reflexivo, µ0 µ 1 µ 2... µ. Corolário (Rosenfeld, 1975) Se µ é reflexivo, µ 0 (x,x)=µ 1 (x,x)=µ 2 (x,x)=...= µ (x,x)=σ(x) Diz-se que µ é simétrico se µ(x,y)=µ(y,x) para todo x,y S. É claro que se µ é simétrico, µ t também é para qualquer limiar t. Note que a propriedade de simetria não depende da escolha do subconjunto fuzzy σ, diferente da reflexividade. 15

16 Proposição (Rosenfeld, 1975) Se µ e ν são simétricos, então µ ν é simétrico se, e somente se, µ ν=ν µ. Corolário (Rosenfeld, 1975) Se µ é simétrico, então todas as potências de µ também são. Estes últimos resultados pertencem a qualquer definição de composição que é baseada em operações comutativas em [0,1] Teoria da Possibilidade n Seja um grafo G : (N,A) com custo associado c1 R. Sejam dois números fuzzy T 1 e T 2, T 1 T 2. Podemos dizer que T 1 tem um grau de possibilidade de ser menor do que T 2 dado por (Okada, 2001): w = Poss( cij cij ) = sup min{ µ 1 ( u), µ 2 ( v)} (3.2.7) T T ij T 1 ij T 2 u v Para encontrar uma solução fuzzy utilizando a teoria de possibilidade, teríamos que encontrar todas as soluções para obter o grau de possibilidade de cada uma (Okada, 2001). O grau de possibilidade é dado pela fórmula: D T = min{ Poss( cij cij )} (3.2.8) k T T ij T k ij T e o grau de possibilidade de cada aresta é dado pela equação D ij = max{ D k } (3.2.9) k T ij T k T Isso torna o problema de difícil solução, pois além de ter que enumerar todas as soluções, a comparação entre elas torna o problema NP-completo. Proposição Sejam dois números fuzzy, normalizados, a e b. Temos que se inf u µ a ( u) = 1 { u} sup { v}, então Poss(a b) = 1 u µ ( v) = 1 b Prova: seja a definição do grau de possibilidade entre dois números fuzzy: Suponha que Poss( a b) = sup{min{ µ ( u), ( v)}} a µ b T k T u = inf µ 1{ } e u = inf µ 1{ }, então u v é satisfeito. Com isso, u ( u) = u v ( v) = v µ ( u) = µ ( v) = 1 min{ µ ( u), ( v)} = 1. Portanto, Poss(a b)=1. a b a µ b Teorema Seja T 0 uma solução do grafo crisp G C, com valores modais de G sendo os custos do grafo crisp. Seja a solução fuzzy T, associada a solução crisp T 0, com custo igual a w = c ij. Se T for a solução ótima do problema, então ij T w = Poss( c ij cij ) = 1, sendo ij T ij T k k T qualquer solução em G. 16

17 Prova: Suponha que exista um T k tal que w = Poss( c ij cij ) < 1. Pela proposição , temos que w > w. Mas, como wc é o menor valor encontrado para o grafo G c ck C, então w w uma contradição. Portanto, c ck w = Poss( c ij cij ) = 1. Proposição Sejam a e b dois números fuzzy. Se sup{b }<inf{ a }, então Poss(a b)=0. Prova: Seja um número fuzzy a. Temos que µ(u)=0, se u ( a, a ), onde a e a são os limitantes inferior e superior, respectivamente, do número fuzzy. Se u [ a, a ], então µ(u) 0. Como b =sup{b }<inf{ a }= a, então ij T ij T ij T k ij T k u a b v v ( b, b ) u v µ ( v) = 0 b Portanto min{ µ ( u), } = 0, u, v Poss( a b) = 0 a µ b 3.3. Problemas de grafos fuzzy e suas soluções Quando citamos um problema de grafos fuzzy, a característica fuzzy do problema pode ser encontrada em diversos níveis: da estrutura do grafo (nós e arestas) aos parâmetros associados ao grafo. Ainda quando se considera fluxo em uma rede, pode-se associar uma incerteza ou fuzzissidade a este valor. Também com relação à solução destes problemas existem diferentes formatos apresentados na literatura, dependendo do objetivo do decisor Problemas com estrutura do grafo crisp e parâmetros fuzzy Este é o problema mais citado na literatura. São problemas em que a estrutura do grafo é bem conhecida e rígida e os parâmetros associados são representados por números fuzzy. São vários os exemplos, principalmente considerando custo ou tempo como números fuzzy (vide figura 3.3.1). O caminho mínimo com custo/tempo fuzzy é o problema de grafos com parâmetros fuzzy mais estudado. 17

18 Figura 3.3.1: Exemplo de grafo com parâmetros fuzzy Um problema em que a capacidade dos arcos é fuzzy é encontrada para problemas de fluxos em redes. No problema de fluxo máximo é associado um grau de confiabilidade da solução dado o fluxo dos arcos para fluxos com valores inteiros ou contínuos. Este problema foi bastante estudado por (Chanas, 1987). Um problema mais complexo envolve parâmetros fuzzy tanto na capacidade dos arcos quanto nos custos associados, que é o caso do problema de fluxo mínimo. Os problemas da árvore geradora mínima e de emparelhamento podem ter seus parâmetros fuzzy. Quanto à solução, de modo geral, aquela proposta por (Bellman e Zadeh, 1970) é a mais utilizada para o problema de grafos com parâmetros fuzzy e será definida na próxima seção. Aqui também será apresentada a abordagem adotada por (Okada, 2001) para o problema de caminho mínimo com parâmetros fuzzy que foi a abordagem utilizada por (Takahashi, 2003) e que será referência à proposta de solução do problema de árvore geradora mínima Abordagem O trabalho de (Bellaman e Zadeh, 1970), traz as seguintes definições: Definição (Belman e Zadeh, 1970) Assumindo que são dados um objetivo fuzzy (C) e as restrições fuzzy (R) em um espaço de alternativas X, então, C e R combinam para formar uma decisão D, o qual é um conjunto fuzzy resultante da intersecção de C e R. Em símbolos: e µ D = µ C µ R. A figura 4.2 é um exemplo desta definição. D =C R 18

19 Figura 3.3.2: Exemplo de um gráfico do modelo de Bellman e Zadeh Portanto, considerando um grafo G : (N,A), uma decisão ótima é dada por: µ max µ ( x ) µ ( x D max D = I C v Cij I ( i. j) A R µ R( x v) = ( i, j) A µ ij ( xv e qualquer x no conjunto suporte D max é chamado de decisão que maximiza o objetivo do problema. Na literatura é comum encontrar uma única solução adotando esta abordagem. R ) v ) Abordagem por Okada, 2001 Seja, por exemplo, um problema de árvore geradora mínima com parâmetros fuzzy, isto é, em um grafo G com custos fuzzy custo/comprimento seja mínimo: c ~ ij temos que encontrar uma árvore geradora tal que o Figura 3.3.3: Exemplo de uma rede fuzzy 19

20 Temos, por um trabalho para este problema (Chang e Lee, 1999), que a solução é dada pela árvore apresentada na figura para os casos indiferente, pessimista e otimista. Diversos trabalhos são apresentados com a proposta de encontrar a melhor solução para outros problemas com parâmetros fuzzy baseando-se em uma ordenação dos valores. Vamos tomar as árvores geradoras mostradas na figura 3.3.4: Figura 3.3.4: Exemplo de árvores geradoras para a figura Estas foram construídas a partir de G dada na figura Agora, observe os comprimentos fuzzy associados em comparação a solução obtida: Figura 3.3.5: Comprimento das árvores dadas na figura 4.4 É fácil ver que o comprimento fuzzy associado a (b) é maior do que o custo da solução encontrada previamente por (Chang e Lee, 1999), mas as outras árvores têm um considerável valor de possibilidade de ser menor do que a solução encontrada. Para o caso do problema da árvore geradora mínima, a solução não é determinada pelo nível de satisfação, ou pelo nível de violação de determinada restrição, mas por uma comparação entre as possíveis soluções. Neste caso, devolver apenas a solução de menor custo com maior grau de satisfação, dada alguma ordenação, poderia ser vista como perda de informação. Um conjunto solução onde cada árvore geradora (ou caminho entre dois nós) possui um grau de pertinência associado ao conjunto pode ser muito proveitoso ao decisor. 20

21 Com base neste fato, o algoritmo para o problema da árvore geradora mínima fuzzy foi i T construído de modo a fornecer todo o conjunto solução para o problema (, ou seja uma µ árvore i T com grau de pertinência µ i ao conjunto solução). (Chanas, 1987), (Okada e Soper, 2000), (Okada, 2001) utilizam a teoria de possibilidade (Zadeh, 1978) para calcular a pertinência de determinada solução para o caminho mínimo, (Blue et al., 1997) também faz o uso desta teoria, embora não explicite isso em seu trabalho. Para construir a solução do problema teríamos que: 1. encontrar todas as soluções candidatas (árvores, caminhos, emparelhamentos, etc.) e; 2. calcular a possibilidade entre todas as soluções encontradas. O item 1 já é um problema combinatorial. Após resolver este problema ainda teremos que compara-los para calcular o grau de possibilidade de cada candidato a participar da solução: um número que pode ser computacionalmente inviável de calcular. Portanto, os algoritmos devem ser construídos de modo a evitar cálculos desnecessários, por exemplo, tentando construir apenas as soluções que possuem valor de possibilidade não-nula adotando testes de corte da solução com base nas propriedades de cada problema e/ou ordenando a forma de comparações para que uma solução que possua valor de possibilidade nula seja descartada previamente. Além disso, podemos considerar formas de armazenamento das informações, dentre outros detalhes que facilitariam a resolução do problema. Mesmo com estes procedimentos, os algoritmos mostraram serem fortemente influenciados pela incerteza dos dados, como já havia sido constatado em (Okada e Soper, 2000) para o problema de caminho mínimo com parâmetros fuzzy. Mesmo com os cortes dos elementos que possuem valor de possibilidade nulo (por conseqüência, pertinência nula), se a incerteza dos dados for significativa, o número de soluções será alto e será um fator complicante no cálculo do conjunto de soluções. Ao buscar o menor caminho entre Boston e Los Angeles tendo números trapezoidais com platô de 20% e desvio de 10%, teríamos 653 caminhos mínimos com grau de pertinência igual a 1. Mesmo que existam 2, % façam parte da solução, ainda assim a incerteza acentua a parte combinatorial e torna os algoritmos não eficientes para estes casos. Para viabilizar a obtenção de uma solução, mesmo que aproximada, foram estudadas algumas heurísticas e meta - heurísticas que utilizassem as características do problema. Considerando que todas as soluções podem participar da solução geral do problema, se o valor de possibilidade for não nulo, temos que: não estamos interessados em um único elemento, mas em um conjunto; pensando em termos dos valores de possibilidade para as arestas (Okada,2001), os elementos que possuem os maiores valores de possibilidade são os mais significativos; Com base nestas características, foi implementado um algoritmo genético (Michalewiskz, 1996) utilizando trabalhos encontrados na literatura. i 21

22 Iremos nos restringir a análise do problema da árvore geradora mínima nos próximos capítulos Árvore Geradora Mínima Fuzzy Nesta seção, a incerteza será tratada no seguinte caso: a estrutura do grafo é crisp e os parâmetros são números fuzzy. Neste caso, a resolução será baseada na teoria de possibilidade de (Zadeh, 1978), de forma a encontrar todo o conjunto solução fuzzy do problema Introdução O problema da árvore geradora mínima aparece em uma séria de aplicações, ou como um subproblema destas. Temos vários exemplos como a instalação de linhas telefônicas (ou elétricas) entre um conjunto de localidades utilizando a infra-estrutura das rodovias com o menor uso de material, análise de clusters, armazenamento de informações, dentre outros que podem ser tratados por esta modelagem, que possui eficientes algoritmos como Kruskal, Prim [Seção 3.1]e Sollin. Nos problemas reais parâmetros como tempo e capacidade associados podem ter natureza incerta e portanto, podemos tratá-los sob a ótica de conjuntos fuzzy [Seção 3.2] Definição do caso clássico Como vimos na [Seção 3.2], seja um grafo G = (N,A) conectado m nós e n arestas com custo c associado à cada aresta ( 0 ). O problema consiste em construir uma árvore ij c ij geradora de menor custo entre todos os nós. Uma árvore geradora T * é uma solução ótima para o problema se, e somente se, satisfaz as seguintes condições: Corte: Para toda aresta da árvore ( i, j) T *, temos que cij ckl para toda aresta (k,l) contido no corte formado pela retirada de uma aresta (i,j) de T *. Caminho: Para toda aresta ( k, l) G, ( k, l) T *, temos que cij ckl para cada aresta (i,j) contido no caminho em T * que conecta o nó k ao nó l. Para o caso clássico, o problema da árvore geradora mínima possui eficientes algoritmos de resolução, como por exemplo o algoritmo Kruskal, Prim e Sollin Problema com Grafo Crisp e Parâmetros Fuzzy No problema da árvore geradora mínima com o grafo crisp e parâmetros fuzzy, temos que o custo (ou comprimento) associado a cada aresta é um número fuzzy. Veja o exemplo da Figura em que o custo associado a cada aresta é um número triangular fuzzy ( c, c, c) : 22

23 Figura 3.4.1: Exemplo de uma árvore geradora mínima com parâmetros fuzzy A solução T* encontrada pelo algoritmo proposto por (Chang e Lee, 1999) fornece a mesma árvore para os três casos considerados no trabalho citado: indiferente, otimista e pessimista. Basicamente, o caso otimista é baseado no valor c, o caso pessimista é baseado no valor c e o caso indiferente no valor modal c. O método OERI propõe um cálculo ponderado semelhante ao centro de massa. Agora, vamos considerar as árvores geradoras da 3.4.2: Figura 3.4.2: árvores geradoras Sendo que (a) tem comprimento (70,85,98), (b) (70,90,103) e (c) (95,115,130). Figura 3.4.3: Comparação dos comprimentos fuzzy Com base na observação da Figura 3.4.3, percebemos que não existe possibilidade da árvore geradora (c) ter custo menor que a solução encontrada previamente na Figura Já para as árvores (a) e (b) existe uma possibilidade de que cada uma destas árvores seja menor do que a solução encontrada. Podemos dizer então que existem vários graus de possibilidade de uma árvore pertencer ao conjunto solução do problema. (Blue et al., 2002) e (Chanas, 1987) entendem este valor como o grau de pertinência desta solução no conjunto fuzzy de soluções. 23

24 (Takahashi, 2003) propôs trabalhar com a teoria da possibilidade (Zadeh, 1978) para tratar a solução deste problema considerando dois pontos de vista: 1. Encontrar a árvore geradora mínima fuzzy de maior grau de possibilidade (extensão do caso crisp) 2. Encontrar uma solução parcial, isto é, um conjunto de árvores, cada uma com um grau de possibilidade de ser a árvore geradora mínima (fuzzy) em relação à solução de grau máximo Parte 1: Encontrar a árvore geradora mínima com custo fuzzy de maior grau de possibilidade Para obter a árvore geradora com maior grau de possibilidade de ser a árvore geradora mínima devemos observar as propriedades referentes à comparação de números fuzzy. Utilizando a proposição , podemos determinar a árvore geradora mínima com maior grau de possibilidade. Esta proposição diz que pela comparação dos valores modais de dois números fuzzy podemos verificar qual deles tem o valor de possibilidade igual a 1. Desta forma, o número fuzzy com menor valor modal deve ser associado a solução com maior grau de possibilidade. Com isso, resolvendo o problema crisp associado (grafo G e custo igual ao valor modal do custo fuzzy), encontraremos a árvore geradora com maior grau de possibilidade de ser a árvore geradora mínima. O teorema pode ser interpretado como uma extensão da abordagem crisp do problema da árvore geradora mínima e resolve o primeiro caso a ser estudado Parte 2: Encontrar o conjunto fuzzy de soluções do problema da árvore geradora mínima com custo fuzzy Para a construção da árvore geradora fuzzy, devemos obter todas as árvores geradoras com algum grau de possibilidade de ser a árvore geradora mínima. Enumerar árvores geradoras torna o problema não polinomial. De fato, o número de árvores geradoras em um grafo m 2 completo com m nós é da ordem de m (Julstrom e G. Raidl, 2002). Portanto, devem ser desenvolvidas técnicas que promovam um corte no espaço de soluções e evitem cálculos desnecessários durante este processo. Para tentar resolver estas questões, será utilizada a árvore geradora mínima fuzzy de maior grau de possibilidade (Seção 3.2.1) para gerar as outras árvores. Com isso deve-se privilegiar a construção das árvores geradoras com grau de possibilidade não nulo, isto é, que possuem alguma chance de serem a árvore geradora mínima, pois as árvores que possuem partes em comum costumam ter maiores graus de possibilidade (Okada e Soper, 2000). Seja o exemplo da Figura O grafo G apresentado tem como solução a árvore T*. Usando critério de otimalidade baseado no conjunto de corte [ S, S ], podemos obter outras 24

25 árvores geradoras. Por exemplo, retirando a aresta (3,4) temos três arestas pertencentes ao conjunto de corte (Figura 3.4.4): Figura 3.3.4: Arestas que podem substituir a aresta (3,4) Cada aresta que pode substituir a aresta (3,4) cria uma nova árvore geradora. Cada uma das três possíveis estão representadas Figura 3.3.5, com seus respectivos custos fuzzy: Figura 3.3.5: Árvores criadas pelas substituições da aresta (3,4) na árvore T* Portanto, se retirarmos k arestas (k = 1,...n-1) da árvore T*, podemos encontrar outras árvores geradoras. Quando k = n - 1, todas as arestas de T* serão retiradas. Então resolvemos o problema com o grafo G = G T* e continuamos a enumeração a partir de T, comparando as novas árvores com T* até a enumeração completa das árvores, quando A < N -1. Podemos calcular a possibilidade de cada uma destas árvores serem menores do que T* durante o processo de construção das árvores geradoras. Por exemplo, quando retiramos a aresta (3,4) na Figura 3.4.4, encontramos três arestas que vão construir outras três árvores. Quando for feito o cálculo da possibilidade de uma destas ser menor que T*, o cálculo será feito apenas entre a aresta (3,4) e cada aresta do corte, segundo definição de possibilidade dada por (Okada, 2001). Portanto, o cálculo de possibilidade será realizado entre k arestas que diferenciam a árvore geradora T* e as demais árvores. A construção das árvores pode ser orientada de forma que o descarte das árvores que não farão parte do conjunto solução (possibilidade nula) sejam facilitadas. Usando o teste de corte proposto em (Blue et al., 2002) para o caso de caminho mínimo, podemos descartar árvores geradoras com as seguintes características: Sup{supp{ l T ~ ~ }} < inf{supp{ l }}, Τ T k T k onde T é a árvore encontrada a partir do grafo crisp G ( c = sup{ supp{ c ~ }},( i, j) A) e Τ é p conjunto de árvores geradoras de G. ij ij 25

26 No momento em que o número de arestas for igual a k = N - 1, a próxima árvore geradora a ser a base para enumeração de outras será calculada a partir de G c = inf{ supp{ c ~ }}). ( ij ij A árvore geradora fuzzy T composta pelas mesmas arestas da solução crisp de G será comparada a T*. Caso esta árvore seja descartada pelo critério de corte dado acima, então todas as árvores geradoras que ainda não foram enumeradas também serão descartadas. Abaixo, o algoritmo proposto por (Takahashi, 2003) para encontrar a árvore geradora com maior grau de possibilidade de ser a mínima em um grafo crisp com custos fuzzy Algoritmo AGMCF (Takahashi, 2003): O algoritmo está dividido em três procedimentos. O primeiro é o programa principal: Procedimento 1: Passo 0: (Iniciar os parâmetros) Encontre a árvore geradora mínima fuzzy T* associada a ~ solução do grafo crisp G C com custo cij = inf µ ( u) 1{ u} ij =. Faça δ = sup{ supp{ l T *}}. Passo 1: (Encontrar árvores com arestas coincidentes a T*) Para k = 1 até k = N - 2, faça: - Para cada k arestas da árvore T* (estas k arestas R', conjunto das arestas retiradas da árvore), execute o procedimento 2. Passo 2: (Encontrar árvores sem arestas coincidentes com T*) Faça: 1:. A1 A T *. Seja G 1 = ( N, A1 ). 2: Encontre T1 através da resolução do grafo crisp G 1 com custo c inf{ supp{ c ~ ij = }}. ~ 3: Se não houver mais árvores geradoras ou se inf{ supp { l T }} > δ, então FIM. Caso 1 contrário, para k = 1 até N - 2, faça: -Para cada k arestas da árvore T1 (estas k arestas R' ), execute o procedimento 3. Procedimento 2: (Construir as árvores geradoras e calcular a possibilidade) ~ Passo 0: (Inicialização dos parâmetros) Sejam k, T e R dados. Faça l ' i j R c~ (, ) ' ij. Passo 1: (Comparação entre arestas) Para cada k arestas ( s, t) [ S, S] (estas k arestas R'' ) que não formam ciclo com ( T R' ), faça: ~ - l '' i j R c~ (, ) '' ij ~ ~ ~ - Se f { l l ' + l ''} > δ então descarte esta árvore. Caso contrário, ω Poss( l'' l') T - Faça D max{ D, ω },( i, j) R' ' ij ij Passo 2: Caso não existam mais árvores geradoras a serem formadas, volte ao Passo 1 do procedimento 1. 26

27 A diferença entre o segundo e o terceiro procedimento é o cálculo da possibilidade. Enquanto o segundo procedimento considera as árvores interativas e usa o cálculo da possibilidade definido por (Okada, 2001), o terceiro procedimento usa o cálculo clássico de (Dubois e Prade, 1980). Procedimento 3: (Construir as árvores geradoras e calcular a possibilidade) Passo 0: (Inicialização dos parâmetros) Sejam k, T, ~ ~ l e R dados. Calcule l. Passo 1: (Comparação entre arestas) Para cada k arestas ( s, t) [ S, S] (estas k arestas R'' ) que não formam ciclo com ( T R' ), faça: ~ ~ - Calcule l '' lt i j R c~ ij + i j R c~ (, ) ' (, ) '' ij ~ - Se inf{l ''} > δ, então descarte esta árvore. Caso contrário, ω Poss( l'' l T *). - Faça D max{ D, ω },( i, j) T ij ij Passo 2: Caso não existam mais árvores geradoras a serem formadas, volte ao Passo 2 do procedimento 1. Mesmo com os teste de corte previsto no algoritmo, a enumeração das árvores que farão parte da solução ainda torna o problema de difícil resolução. No algoritmo temos que escolher os subconjuntos de arestas a serem retirados e quais grupos podem substituir cada um destes subconjuntos. Isto faz com que o problema ainda seja combinatorial. T* T 3.5. Computação Evolutiva - O Algoritmo Genético Conforme visto nas seções anteriores, encontrar a Arvore Geradora Mínima (AGM) é um problema complexo cujos métodos envolvem busca em um espaço que cresce com aumento do número de vértices. Por outro lado, quando trabalhamos com grafos cujas arestas possuem custos fuzzy, a complexidade aumenta ainda mais. O fato de termos que escolher os subconjuntos de arestas a serem retirados e quais grupos poderá substituir cada um destes subconjuntos, faz com que o problema seja combinatorial. O número de árvores geradoras é da ordem de m m- 2, m = N (Raidl e Julstrom, 2001) em um grafo completo. Por exemplo, em um grafo completo com 5 nós temos 125 árvores. Se for observado que a solução é composta pelo conjunto de árvores com maior grau de possibilidade de ser menor ou igual a T*, pode-se propor uma heurística para encontrar uma solução aproximada satisfatória para o problema. Entre as possíveis heurísticas, estão aquelas que imitam processos naturais em busca de equilíbrio, em geral otimizado. Muito foi feito nesses últimos 30 anos para refinar essas heurísticas, resultando nos seguintes principais métodos: Simulated Annealing (Laarhoven, 1987) Redes Neurais Artificias (Haykin, 1999) 27

28 Computação Evolutiva (Koza, 1992), (Back,2000), (Back,2000), (Michalewicz,1996) Nesta seção descreveremos um dos algoritmos do conjunto Computação Evolutiva, o Algoritmo Genético (AG) (Koza,1992), e quais recursos ele traz para tentar encontrar a AGM com custos nebulosos Algoritmos Evolutivos Algoritmos evolutivos são algoritmos de busca probabilística que simulam a evolução através da Seleção Natural, conforme a teoria de Darwin (Larranaga, 1999). Eles foram propostos pela primeira vez por (Bremermann, 1965) e (Reichenberg, 1973). Em 1975, Holland apresentou o Algoritmo Genético (GA, Genetic Algorithms) (Fogel, 1962). Entretanto, apenas recentemente tais algoritmos têm sido estudados e aplicados a problemas de otimização combinatória, como o TSP (Larranaga, 1999). No campo de algoritmos que imitam processos evolutivos naturais, chamados coletivamente de Computação Evolutiva, existem ainda: Programação Evolutiva (Larranaga, 1999) Estratégias Evolutivas (Bremmerman, 1973) Sistemas Classificadores (Koza, 1992) Programação Genética (Koza, 1992) Nossa escolha recai sobre o AG por um forte motivo: O problema pode ser representado de formas simples além de podermos usar os operadores tradicionais da técnica de AG, enquanto que a representação seria difícil ou inviável em outras técnicas Algoritmo Genético O Algoritmo Genético (AG) é considerado parte da Computação Evolutiva (CE), mas sua gênese praticamente marcou o surgimento da CE (Fogel, 1962). Conforme o nome sugere, Algoritmo Genético é uma técnica de busca da solução de um problema inspirada e modelada a partir da teoria de evolução das espécies, de Darwin, onde as características dos indivíduos que os tornam mais adaptados ao ambiente aumentam suas chances de deixar descendentes. A repetição desse processo ao longo de muitas e muitas gerações, associados à mutação e ao cruzamento sexuado, cria espécies em adaptadas ao seu habitat. Assim, se cada indivíduo representa uma possível solução do problema e se a função de adaptação ao ambiente (chamada de função de fitness ou simplesmente de fitness) representar um grau de qualidade daquela solução, quanto maior o valor dessa função, mais próximo da solução ideal aquele indivíduo estará. A solução de um problema através de Algoritmo Genético ocorre da seguinte forma: É criada, por um processo aleatório ou não, uma lista de possíveis soluções para o problema. Essa lista é chamada população. 28

29 Cada item dessa lista é chamado de indivíduo ou cromossomo, que por sua vez é composto de genes. Cada gene é codificado segundo uma representação, que normalmente incorpora conhecimento do problema. Um processo iterativo é aplicado sobre essa população, gerando novos indivíduos através de reprodução sexuada e/ou mutação em indivíduos escolhidos por um processo de seleção, que leva em conta sua adaptação (fitness). O fitness do indivíduo é tanto maior quanto melhor solução esse indivíduo for para o problema. A cada iteração, diz-se que surgiu uma nova geração de indivíduos. A repetição dessa iteração, até que um critério de parada seja satisfeito, causa a evolução da população original de possíveis soluções para uma população nova, com melhores possíveis soluções. A solução do problema é dada pelo indivíduo com maior fitness da última população gerada. A figura abaixo sintetiza o Algoritmo Genético. Gen:=0 Cria População Inicial Aleatória Critério de Parada Satisfeito? Sim Não Calcula Fitness de Cada Indivíduo da População Atribui Resultado Fim i:=0 Gen:=Gen+1 Sim i=m? Não Selecione Probabilisticamente uma Operação Genética Selecione um Indivíduo Baseado no Fitness Selecione dois Indivíduos Baseado no Fitness Selecione um Indivíduo Baseado no Fitness Realize Reprodução i:=i+1 Realize Mutação Copie na Nova População Realize Crossover Insira os Dois Descendentes na Nova População Insira Mutante na Nova População i:=i+1 Figura : fluxograma do algoritmo genético, adaptado de (Blue, 2002) Na figura acima, M é o número de indivíduos, i é o contador de indivíduos e Gen é o número de gerações. O Critério de Parada é estabelecida em função do tipo do problema e normalmente é um par de condições: Critério de Convergência ou Número Máximo de Gerações. Assim, se o Critério de Convergência (p.e. fitness acima de um certo valor) não 29

2006/2007 Análise e Síntese de Algoritmos 2

2006/2007 Análise e Síntese de Algoritmos 2 Análise e Síntese de Algoritmos Árvores Abrangentes de Menor Custo CLRS, Cap. 23 Resumo Árvores Abrangentes de Menor Custo Minimum-Spanning Trees (MSTs) Algoritmo (greedy) genérico Prova de optimalidade

Leia mais

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Grafos Cliques Maximais Para determinar os cliques maximais de um grafo G podemos usar o método de Maghout em Dado o grafo abaixo, calcule Determine os conjuntos independentes maximais em

Leia mais

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48 Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações com Repetições Combinações com Repetições O Problema do Troco Principio da Casa dos Pombos > Princípios de Contagem e Enumeração

Leia mais

Só Matemática O seu portal matemático http://www.somatematica.com.br FUNÇÕES

Só Matemática O seu portal matemático http://www.somatematica.com.br FUNÇÕES FUNÇÕES O conceito de função é um dos mais importantes em toda a matemática. O conceito básico de função é o seguinte: toda vez que temos dois conjuntos e algum tipo de associação entre eles, que faça

Leia mais

Pesquisa Operacional Programação em Redes

Pesquisa Operacional Programação em Redes Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013 Modelagem em redes: Facilitar a visualização e a compreensão das características do sistema Problema de programação

Leia mais

Grafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1

Grafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1 Grafos Msc. Daniele Carvalho Oliveira Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1 Árvore Geradora Mínima 2 Porque é um problema interessante Suponha que queremos

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

a 1 x 1 +... + a n x n = b,

a 1 x 1 +... + a n x n = b, Sistemas Lineares Equações Lineares Vários problemas nas áreas científica, tecnológica e econômica são modelados por sistemas de equações lineares e requerem a solução destes no menor tempo possível Definição

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14 1 Introdução O termo "roteamento de veículos" está relacionado a um grande conjunto de problemas de fundamental importância para a área de logística de transportes, em especial no que diz respeito ao uso

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

Complemento III Noções Introdutórias em Lógica Nebulosa

Complemento III Noções Introdutórias em Lógica Nebulosa Complemento III Noções Introdutórias em Lógica Nebulosa Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Complemento de Grafos Mostre que para qualquer Grafo G com 6 pontos, G ou possui um triângulo Considere um vértice v de V(G). Sem perda de generalidade, podemos assumir v é adjacente a outros

Leia mais

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v. 2013-7-31 1/15

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v. 2013-7-31 1/15 Bases Matemáticas Aula 2 Métodos de Demonstração Rodrigo Hausen v. 2013-7-31 1/15 Como o Conhecimento Matemático é Organizado Definições Definição: um enunciado que descreve o significado de um termo.

Leia mais

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014 PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA 09/abril de 2014 Considerações Estatísticas para Planejamento e Publicação 1 Circularidade do Método

Leia mais

Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010. Matemática Essencial Extremos de funções reais Departamento de Matemática - UEL - 2010 Conteúdo Ulysses Sodré http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente

Leia mais

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil.

¹CPTL/UFMS, Três Lagoas, MS,Brasil, oliveiralimarafael@hotmail.com. ²CPTL/UFMS, Três Lagoas, MS, Brasil. Encontro de Ensino, Pesquisa e Extensão, Presidente Prudente, 22 a 25 de outubro, 2012 36 INTRODUÇÃO A CRIPTOGRAFIA RSA Rafael Lima Oliveira¹, Prof. Dr. Fernando Pereira de Souza². ¹CPTL/UFMS, Três Lagoas,

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Resolução de sistemas lineares

Resolução de sistemas lineares Resolução de sistemas lineares J M Martínez A Friedlander 1 Alguns exemplos Comecemos mostrando alguns exemplos de sistemas lineares: 3x + 2y = 5 x 2y = 1 (1) 045x 1 2x 2 + 6x 3 x 4 = 10 x 2 x 5 = 0 (2)

Leia mais

PROBLEMA DO CARTEIRO CHINÊS

PROBLEMA DO CARTEIRO CHINÊS Introdução à Teoria dos Grafos Bacharelado em Ciência da Computação UFMS, 005 PROBLEMA DO CARTEIRO CHINÊS Resumo A teoria dos grafos teve seu início há cerca de 50 anos e aplicações datadas daquela época

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Inteligência Computacional Aplicada a Engenharia de Software

Inteligência Computacional Aplicada a Engenharia de Software Inteligência Computacional Aplicada a Engenharia de Software Estudo de caso III Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br Introdução Em alguns ambientes industriais, pode ser necessário priorizar

Leia mais

9. Derivadas de ordem superior

9. Derivadas de ordem superior 9. Derivadas de ordem superior Se uma função f for derivável, então f é chamada a derivada primeira de f (ou de ordem 1). Se a derivada de f eistir, então ela será chamada derivada segunda de f (ou de

Leia mais

Conceitos e fórmulas

Conceitos e fórmulas 1 Conceitos e fórmulas 1).- Triângulo: definição e elementos principais Definição - Denominamos triângulo (ou trilátero) a toda figura do plano euclidiano formada por três segmentos AB, BC e CA, tais que

Leia mais

Notas de aula número 1: Otimização *

Notas de aula número 1: Otimização * UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL UFRGS DEPARTAMENTO DE ECONOMIA CURSO DE CIÊNCIAS ECONÔMICAS DISCIPLINA: TEORIA MICROECONÔMICA II Primeiro Semestre/2001 Professor: Sabino da Silva Porto Júnior

Leia mais

15.053 Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula

15.053 Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula 15.053 Quinta-feira, 14 de março Introdução aos Fluxos de Rede Handouts: Notas de Aula 1 Modelos de Rede Modelos de programação linear que exibem uma estrutura muito especial. Podem utilizar essa estrutura

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS ALGORITMOS GENÉTICOS INTRODUÇÃO São métodos adaptativos que podem ser usados para resolver problemas de busca e otimização. Na natureza a combinação de boas características provenientes de diferentes indivíduos

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

QUADRADO MÁGICO - ORDEM 4

QUADRADO MÁGICO - ORDEM 4 CONCEITO Partindo da definição original, os QUADRADOS MÁGICOS devem satisfazer três condições: a) tabela ou matriz quadrada (número de igual ao número de ); b) domínio: com elementos assumindo valores

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

Disciplina: Introdução à Álgebra Linear

Disciplina: Introdução à Álgebra Linear Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus: Mossoró Curso: Licenciatura Plena em Matemática Disciplina: Introdução à Álgebra Linear Prof.: Robson Pereira de Sousa

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

XI Encontro de Iniciação à Docência

XI Encontro de Iniciação à Docência 4CCENDFMT01 EXEMPLO DE APLICAÇÃO DE UMA METODOLOGIA PARA A SOLUÇÃO DE PROBLEMAS DE FÍSICA E MATEMÁTICA Erielson Nonato (1) e Pedro Luiz Christiano (3) Centro de Ciências Exatas e da Natureza/Departamento

Leia mais

5 Equacionando os problemas

5 Equacionando os problemas A UA UL LA Equacionando os problemas Introdução Nossa aula começará com um quebra- cabeça de mesa de bar - para você tentar resolver agora. Observe esta figura feita com palitos de fósforo. Mova de lugar

Leia mais

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

Gestão da Qualidade por Processos

Gestão da Qualidade por Processos Gestão da Qualidade por Processos Disciplina: Gestão da Qualidade 2º Bimestre Prof. Me. Patrício Vasconcelos adm.patricio@yahoo.com.br Gestão da Qualidade por Processos Nas empresas, as decisões devem

Leia mais

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU FUNÇÃO IDENTIDADE... FUNÇÃO LINEAR... FUNÇÃO AFIM... GRÁFICO DA FUNÇÃO DO º GRAU... IMAGEM... COEFICIENTES DA FUNÇÃO AFIM... ZERO DA FUNÇÃO AFIM... 8 FUNÇÕES CRESCENTES OU DECRESCENTES... 9 SINAL DE UMA

Leia mais

Este material traz a teoria necessária à resolução das questões propostas.

Este material traz a teoria necessária à resolução das questões propostas. Inclui Teoria e Questões Inteiramente Resolvidas dos assuntos: Contagem: princípio aditivo e multiplicativo. Arranjo. Permutação. Combinação simples e com repetição. Lógica sentencial, de primeira ordem

Leia mais

Mercados de Emparelhamento

Mercados de Emparelhamento Mercados de Emparelhamento Redes Sociais e Econômicas Prof. André Vignatti Aula Passada 1. Definições: grafos bipartidos e emparelhamentos perfeitos 2. Mercados com opções binárias (aceita ou não) Extensão

Leia mais

Algoritmos Genéticos (GA s)

Algoritmos Genéticos (GA s) Algoritmos Genéticos (GA s) 1 Algoritmos Genéticos (GA s) Dado um processo ou método de codificar soluções de um problema na forma de cromossomas e dada uma função de desempenho que nos dá um valor de

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Professor: Rosalvo Ferreira de Oliveira Neto Disciplina: Inteligência Artificial Tópicos 1. Definições 2. Tipos de aprendizagem 3. Paradigmas de aprendizagem 4. Modos de aprendizagem

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global. 15.053 Quinta-feira, 25 de abril

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global. 15.053 Quinta-feira, 25 de abril 15.053 Quinta-feira, 25 de abril Teoria de Programação Não-Linear Programação Separável Dificuldades de Modelos de PNL Programa Linear: Apostilas: Notas de Aula Programas Não-Lineares 1 2 Análise gráfica

Leia mais

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br IA: Problemas de Satisfação de Restrições Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Introdução Um PSR é definido por um conjunto de variáveis X 1, X 2,..., X n, e por um conjunto de restrições,

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu 1 Programação Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.

Leia mais

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª

Leia mais

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental a e 6 a séries (6º e 7º anos) do Ensino Fundamental 1. (alternativa C) Os números 0,01 e 0,119 são menores que 0,12. Por outro lado, 0,1 e 0,7 são maiores que 0,. Finalmente, 0,29 é maior que 0,12 e menor

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO Luciano Pereira Magalhães - 8º - noite lpmag@hotmail.com Orientador: Prof Gustavo Campos Menezes Banca Examinadora: Prof Reinaldo Sá Fortes, Prof Eduardo

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

FUNÇÃO REAL DE UMA VARIÁVEL REAL

FUNÇÃO REAL DE UMA VARIÁVEL REAL Hewlett-Packard FUNÇÃO REAL DE UMA VARIÁVEL REAL Aulas 01 a 04 Elson Rodrigues, Gabriel Carvalho e Paulo Luís Ano: 2015 Sumário INTRODUÇÃO AO PLANO CARTESIANO... 2 PRODUTO CARTESIANO... 2 Número de elementos

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

OTIMIZAÇÃO VETORIAL. Formulação do Problema

OTIMIZAÇÃO VETORIAL. Formulação do Problema OTIMIZAÇÃO VETORIAL Formulação do Problema Otimização Multiobjetivo (também chamada otimização multicritério ou otimização vetorial) pode ser definida como o problema de encontrar: um vetor de variáveis

Leia mais

Trabalho Computacional

Trabalho Computacional Universidade Federal do Espírito Santo Departamento de Informática Profª Claudia Boeres Teoria dos Grafos - 2014/2 Trabalho Computacional 1. Objetivo Estudo e implementação de algoritmos para resolução

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

Aplicações de Combinatória e Geometria na Teoria dos Números

Aplicações de Combinatória e Geometria na Teoria dos Números Aplicações de Combinatória e Geometria na Teoria dos Números Nesse artigo vamos discutir algumas abordagens diferentes na Teoria dos Números, no sentido de envolverem também outras grandes áreas, como

Leia mais

Cláudio Tadeu Cristino 1. Julho, 2014

Cláudio Tadeu Cristino 1. Julho, 2014 Inferência Estatística Estimação Cláudio Tadeu Cristino 1 1 Universidade Federal de Pernambuco, Recife, Brasil Mestrado em Nutrição, Atividade Física e Plasticidade Fenotípica Julho, 2014 C.T.Cristino

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Aula 04 Método de Monte Carlo aplicado a análise de incertezas. Aula 04 Prof. Valner Brusamarello

Aula 04 Método de Monte Carlo aplicado a análise de incertezas. Aula 04 Prof. Valner Brusamarello Aula 04 Método de Monte Carlo aplicado a análise de incertezas Aula 04 Prof. Valner Brusamarello Incerteza - GUM O Guia para a Expressão da Incerteza de Medição (GUM) estabelece regras gerais para avaliar

Leia mais

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima.

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima. Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima. 1 /2013 Para calcular Hom(G 1,G 2 ) ou Aut(G) vocês vão precisar ter em

Leia mais

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO Dizemos que uma equação é linear, ou de primeiro grau, em certa incógnita, se o maior expoente desta variável for igual a um. Ela será quadrática, ou

Leia mais

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA

Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA Resíduos Quadráticos e Fatoração: uma aplicação à criptoanálise do RSA Charles F. de Barros 20 de novembro de 2008 Resumo Faremos uma breve introdução ao conceito de resíduos quadráticos, descrevendo em

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

Capítulo 1. x > y ou x < y ou x = y

Capítulo 1. x > y ou x < y ou x = y Capítulo Funções, Plano Cartesiano e Gráfico de Função Ao iniciar o estudo de qualquer tipo de matemática não podemos provar tudo. Cada vez que introduzimos um novo conceito precisamos defini-lo em termos

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Idéias básicas Um algoritmo guloso seleciona, a cada passo, o melhor elemento pertencente a entrada. Verifica se ele é viável - vindo a fazer parte da solução ou não. Após uma seqüência de

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Morfologia Matemática Binária

Morfologia Matemática Binária Morfologia Matemática Binária Conceitos fundamentais: (Você precisa entender bem esses Pontos básicos para dominar a área! Esse será nosso game do dia!!! E nossa nota 2!!) Morfologia Matemática Binária

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

4 Avaliação Econômica

4 Avaliação Econômica 4 Avaliação Econômica Este capítulo tem o objetivo de descrever a segunda etapa da metodologia, correspondente a avaliação econômica das entidades de reservas. A avaliação econômica é realizada a partir

Leia mais

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto Material Teórico - Módulo de Divisibilidade MDC e MMC - Parte 1 Sexto Ano Prof. Angelo Papa Neto 1 Máximo divisor comum Nesta aula, definiremos e estudaremos métodos para calcular o máximo divisor comum

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

Aula 4 Estatística Conceitos básicos

Aula 4 Estatística Conceitos básicos Aula 4 Estatística Conceitos básicos Plano de Aula Amostra e universo Média Variância / desvio-padrão / erro-padrão Intervalo de confiança Teste de hipótese Amostra e Universo A estatística nos ajuda a

Leia mais

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Organizaçãoe Recuperaçãode Informação GSI521 Prof. Dr. Rodrigo Sanches Miani FACOM/UFU Aula anterior Organização e Recuperação de Informação(GSI521) Modelo vetorial- Definição Para o modelo vetorial, o

Leia mais