HEURÍSTICAS PARA O PROBLEMA DA ÁRVORE GERADORA MÍNIMA PROBABILÍSTICA

Documentos relacionados
Teoria da Complexidade Computacional

Problemas de otimização

Departamento de Engenharia de Produção UFPR 22

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)

Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela.

5 VNS com Filtro e Reconexão por Caminhos

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

PCC173 - Otimização em Redes

Abordagens para Problemas Intratáveis

2 Definição do Problema

3 Extensões dos modelos matemáticos

Complexidade computacional

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

Árvore Geradora Mínima

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Teoria da Complexidade Computacional

UMA HEURÍSTICA EFICIENTE PARA O PROBLEMA DE COBERTURA DE CONJUNTO POR PARES

Um Estudo da Aplicação de Heurísticas Construtivas e de Melhoramento para um Problema de PRV

HEURÍSTICA ITERATED LOCAL SEARCH PARA RESOLVER O PROBLEMA MINIMUM BRANCH VERTICES

João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado

1 Distância em Grafos

Codificação Nó-Profundidade com Operador de Recombinação para Algoritmos Evolutivos

Problema do Caixeiro Viajante

Grafos: árvores geradoras mínimas. Graça Nunes

3 Aprendizado por reforço

Fundamentos de Inteligência Artificial [5COP099]

Estruturas de Dados Grafos

Caminhos Mais Curtos Fluxo Máximo Árvores Geradoras Mínimas

ANÁLISE DE ALGORITMOS (INF 1721)

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos

Um algoritmo pseudo-periférico genérico para a heurística de Snay

Paulo Guilherme Inça. 7 de dezembro de 2016

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Grafos Árvores Geradoras Mínimas

Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora

Otimização inteira: o problema do caixeiro viajante

UM ESTUDO SOBRE O PROBLEMA DA ÁRVORE GERADORA MÍNIMA COM ESTRUTURA DO GRAFO FUZZY

Thiago Christiano Silva

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

The Controller Placement Problem in Software Defined Networking: A Survey. Seminário de Sistemas em Rede Alexander Decker de Sousa

Aula 10: Tratabilidade

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Tópicos Especiais em Otimização

ANÁLISE DE ALGORITMOS (INF 1721)

Conexão de terminais com limitação de roteadores: complexidade e relação com fluxos e caminhos disjuntos

Problema de Roteamento com Janelas de Tempo: Uma Abordagem via Geração de Colunas

XLVI Pesquisa Operacional na Gestão da Segurança Pública

Otimização em Grafos

Algoritmos 2 - Introdução

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

Buscas Informadas ou Heurísticas - Parte II

Algoritmo heurístico para agrupamento de ordens de serviço em concessionárias de distribuição de energia elétrica considerando priorização

UMA HEURISTICA APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE

ATRIBUIÇÃO DE COMPRIMENTOS DE ONDAS EM REDES ÓTICAS POR COLORAÇÃO DE PARTIÇÕES

Otimização. Conceitos Fundamentais. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Um Método Exato para o Problema do Caixeiro Viajante com Grupamentos Euclidiano e Simétrico

Aula 12: Programação Inteira

Como saber se um problema está em NP e não está em P?

Sub-grafo. Árvore Geradora Mínima

Análise empírica de algoritmos de ordenação

OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS PARA O ROTEAMENTO EM REDES DE COMPUTADORES.

ANÁLISE DE DESEMPENHO DAS TOPOLOGIAS PARA SISTEMAS SOC

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Echo State Networks. Fabricio Breve João Bertini

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

Preliminares. Profa. Sheila Morais de Almeida. agosto

Problemas de Fluxo em Redes

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Teoria dos Grafos. Árvores Geradoras

ANÁLISE DE RESULTADOS NA CONSTRUÇÃO DE ROTA PARA O PROBLEMA DO CAIXEIRO VIAJANTE

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Teoria da Computação. Complexidade computacional classes de problemas

O PROBLEMA DA ÁRVORE CAPACITADA COM DEMANDAS NÃO- UNITÁRIAS: HEURÍSTICA COM FATOR PESO x CUSTO

Algoritmos para o problema da árvore de Steiner com coleta de prêmios

Análise e Síntese de Algoritmos

Rafael Santos Coelho. 15 de abril de 2009

Pesquisa Operacional Aplicada à Mineração

Avaliação de Heurísticas de Melhoramento e da Metaheurística Busca Tabu para Solução de PRV

Otimização em Grafos

Algoritmos de aproximação - Problema do caixeiro viajante

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 13: Árvores. Departamento de Matemática Aplicada

Heurística VNS para o problema do corte de rotulação mínima

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB

Algoritmo Evolucionário no Tratamento do Problema de Roteamento de Veículos com Janela de Tempo

ALGORITMOS HEURÍSTICOS UTILIZANDO BUSCA LOCAL ALEATÓRIA EM VIZINHANÇA VARIÁVEL PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMENTOS

5COP096 TeoriadaComputação

RESOLUÇÃO DO PROBLEMA DAS P-MEDIANAS POR MEIO DE ALGORITMOS BASEADOS EM GRASP, ILS E MULTI-START

Problemas Intratáveis ou computação eficiente X computação ineficiente

Introdução à Teoria do Grafos Notas de aula. Socorro Rangel últimas atualizações: (2009), (2012)

Transcrição:

HEURÍSTICAS PARA O PROBLEMA DA ÁRVORE GERADORA MÍNIMA PROBABILÍSTICA Rafael Ferreira Barra de Souza, Sebastián Urrutia Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Av. Antônio Carlos 6627 Prédio do ICEx Pampulha CEP 31270-010 Belo Horizonte Minas Gerais Brasil {rbarra, surrutia}@dcc.ufmg.br RESUMO Neste trabalho procura-se descrever e analisar heurísticas para obter boas soluções viáveis para o problema da árvore geradora mínima probabilística (PMST). O PMST é uma generalização natural do problema clássico da árvore geradora mínima (MST) e é frequentemente um modelo mais realista, que pode ser utilizado em diversas aplicações que envolvem roteamento e escalonamento, incluindo desenho de circuitos VLSI, logística e telecomunicações. O PMST ilustra a situação pertinente quando nem todos os nós estão deterministicamente presentes, mas, eles estão presentes conforme uma determinada probabilidade. Embora existam casos específicos deste problema que podem ser tratados em tempo polinomial, sabe-se que o problema é NP- Difícil no caso geral. PALAVRAS CHAVE. Árvore geradora mínima probabilística, Heurísticas, Otimização a priori. Área principal: Heurísticas, Teoria de grafos, Redes. ABSTRACT In this paper we describe and analyze heuristics for obtaining fair solutions to the probabilistic minimum spanning tree (PMST) problem. The PMST problem is a natural generalization of the classical minimum spanning tree (MST) problem and is frequently a more realistic model, which can be applied to many applications that involve routing and scheduling problems, including VLSI design, logistics and telecommunications. The PMST problem addresses circumstances that arise when not all nodes are deterministically present but, rather, nodes are present with known probabilities. Although there are some special cases that are solvable in polynomial time, it is known that the PMST problem is NP-Hard in the general case. KEYWORDS. Probabilistic Minimum Spanning Tree. Heuristics. A priori optimization. Main area: Heuristics, Graph Theory, Networks. 1344

1. Introdução O problema da Árvore Geradora Mínima (MST, do inglês Minimum Spanning Tree) consiste em se encontrar uma árvore geradora de custo mínimo em um grafo conectado através de arestas com custos para conectar seus vértices. Este é um problema muito bem estudado, possuindo diversos algoritmos que o resolvem em tempo polinomial, conforme proposto por Borůvka (1926), Kruskal (1956) e Prim (1957). Naturalmente, foram surgindo novas variações do problema conforme a demanda em situações práticas. Dentre elas podemos exemplificar a árvore geradora mínima com restrição de grau, proposta por Narula e Ho (1980), estocástica, proposta por Ishii et al. (1981), quadrática, por Xu (1995), e, por fim, a árvore geradora mínima probabilística, proposta por Bertsimas (1990). O problema da Árvore Geradora Mínima Probabilística (PMST, de Probabilistic MST) se aplica em circunstâncias nas quais os nós estão presentes conforme uma determinada probabilidade. Mesmo que alguns casos específicos do problema possam ser resolvidos em tempo polinomial, este problema é NP-Difícil, conforme Bertsimas (1990). O problema é NP-Difícil quando o grafo não é completo e os custos das arestas são iguais, ou se o grafo é completo e os custos podem assumir dois valores distintos, 1 ou M, por exemplo. Destaca-se, ainda, a dificuldade do PMST quando a probabilidade dos vértices é idêntica para todos eles. Por outro lado, sempre que uma árvore geradora mínima possui uma topologia em estrela, o problema da árvore geradora mínima probabilística se reduz ao problema da árvore geradora mínima clássico e, então, ele pode ser resolvido em tempo polinomial. Em instâncias onde as probabilidades dos nós estarem presentes são muito baixas, conforme Bertsimas (1990), o problema é praticamente equivalente ao problema de modelagem de redes, que foi provado como sendo NP-Difícil em Garey e Johnson (1979). A busca por uma árvore geradora de um grafo que considera que os nós possuam uma probabilidade de estarem presentes tem diversas aplicações práticas, desde problemas relacionados a roteamento e escalonamento, até problemas de transporte, projetos de circuitos VLSI, estruturas organizacionais e telecomunicações. Estas aplicações são, inclusive, citadas em Abuali et al (1994, 1995) e até exemplificadas em Bertsimas (1988). O PMST é modelado como uma variação do problema clássico do MST. Dado um grafo, G = (V, E), onde há um custo associado a cada aresta e uma probabilidade associada a cada vértice, conhecida a priori, deseja-se construir uma árvore geradora para este grafo. O custo ativo desta árvore é definido como a soma dos custos das arestas que conectam nós ativos em determinado momento. O problema PMST tem como objetivo encontrar uma árvore geradora a priori, cujo custo ativo esperado seja o menor possível. Existem trabalhos que abordam o PMST através de algoritmos genéticos, tal como em Abuali et al. (1994, 1995). Neste trabalho propõe-se uma abordagem para a resolução do problema utilizando heurísticas construtivas baseadas no algoritmo de Prim, além da descrição de um procedimento de simulação para estimar o custo de uma árvore geradora probabilística. O restante deste artigo se organiza da seguinte maneira. Na seção 2 o PMST é formulado segundo Bertsimas (1990). A seguir, na seção 3, descrevemos as heurísticas propostas e seus objetivos. Na seção 4 é apresentada uma alternativa para o cálculo do custo ativo esperado de uma árvore através de simulação. Na seção 5 são apresentados os resultados comparativos das heurísticas, bem como os resultados das simulações. Finalmente, a última seção apresenta as conclusões e trabalhos futuros. 2. Formulação Dado um grafo não direcionado G = (V, E), não necessariamente completo, uma função de custo c: E R+, e uma função de probabilidade P: 2 V [0,1], que mapeia cada subconjunto de nós com uma probabilidade, o objetivo do PMST é encontrar uma árvore geradora T, que minimize o custo ativo esperado E[L T ], onde E L T = P S L T S, S V 1345

onde L T S é a soma das arestas da árvore T necessárias para possibilitar a conexão de todos os nós de S. Se um nó i está ativo com uma probabilidade p i, sendo a ativação dos nós eventos independentes, Bertsimas (1990) mostra que o custo ativo esperado, E[L T ], para uma árvore geradora mínima, é dado pela equação E L T = c e 1 1 p i 1 1 p i e T i K e i V K e. A operação de somatório é feita sobre todas as arestas existentes na árvore T. A remoção de uma aresta e divide T em duas sub-árvores, representadas como K e e V K e. Na fórmula acima o custo da aresta é multiplicado pela probabilidade da aresta estar ativa em um determinado momento. Pode-se calcular a probabilidade de uma aresta ser ativa como a probabilidade de se ter um nó ativo em cada uma das componentes conexas geradas pela eliminação da aresta da árvore. Isto se deve ao fato de que, em uma árvore, entre todo par de nós existe apenas um caminho. Como as probabilidades são independentes, a probabilidade da aresta ser ativa pode ser calculada como a multiplicação das probabilidades de pelo menos um nó estar presente em cada uma das componentes conexas. A probabilidade de pelo menos um nó estar presente em cada uma das componentes conexas pode ser calculada como um menos a probabilidade de nenhum nó estar presente. Como forma de ilustrar o problema, pode-se levar em consideração um grafo qualquer com dez nós e sua árvore geradora mínima, T, ilustrada na figura 1. A partir daí, pressupõe-se que em um momento futuro, o conjunto de nós presentes é dado por S = {2,3,5,6,7,10}. A partir daí, definimos T(S) como a mínima sub-árvore de T necessária para possibilitar a conexão de todos os nós de S. T(S) é ilustrada na figura 2. As arestas (4,1) e (1,7) não estão conectadas em T(S), pois os vértices 4 e 1 não estão ativos. Porém, as arestas (6,9) e (7,9), bem com as arestas (5,8) e (8,10), permanecem presentes em T(S). Isto acontece pois existem nós ativos, 6 e 10, que dependem dos nós 9 e 8 para estarem conectados à sub-árvore T(S). 4 2 3 4 2 3 1 5 1 5 6 7 8 6 7 8 9 10 9 10 Figura 1: Grafo com árvore geradora mínima T. Figura 2: Sub-árvore T(S). 3. Heurísticas propostas O algoritmo de Prim (1957) em sua forma clássica serviu como base para a elaboração das heurísticas utilizadas neste trabalho. A primeira heurística proposta consiste na construção da árvore geradora por meio do algoritmo de Prim, sem considerar as probabilidades dos nós. Apenas o custo das arestas é levado em conta para a computação do custo de inserção de uma aresta. Dado um grafo para o qual desejamos encontrar uma árvore geradora mínima, inicia-se com a escolha de uma subárvore inicial composta apenas de um vértice. Iterativamente, o vértice que se conecta à árvore pela aresta de menor custo é adicionado a ela. Este processo continua até que todos os vértices do 1346

grafo pertençam à árvore, isto é, até que a árvore seja uma árvore geradora. Como forma de agilizar a escolha do vértice que proporciona a aresta de menor custo a cada iteração, é utilizado um heap para armazenar as arestas que permitem a ligação dos vértices da subárvore aos vértices remanescentes do grafo. No início da execução o heap possui todas as arestas que podem ser conectadas ao vértice inicial, ordenadas por custo. À medida que novos nós são incluídos na árvore que vai sendo construída, a quantidade de arestas no heap vai diminuindo e as arestas vão sendo substituídas por arestas de custo menor, permitindo sempre o acesso rápido em ordem O(1) à menor aresta que conecta um vértice não conectado a qualquer vértice já presente na árvore. A segunda heurística, chamada de Prim-D, também é embasada no algoritmo de Prim, porém o cálculo do custo de cada aresta a ser conectada é proporcional ao caminho mais longo do vértice ao qual o candidato a ser inserido se conecta para outro nó da árvore. Pretende-se, com esta heurística, avaliar se é possível construir árvores com custo ativo esperado não muito alto mantendo o diâmetro da árvore pequeno. Diâmetros curtos para árvores geralmente significam um número maior de folhas. Mantendo os caminhos mais longos menores, espera-se que a probabilidade das arestas fiquem menores. Um exemplo deste tipo de situação pode ser visto na figura 3. Nesta figura, temos duas árvores oriundas de um mesmo grafo. Na árvore da esquerda, temos poucas folhas e um diâmetro de 11. No caso de estarem ativos apenas os nós marcados em preto, todas as arestas da árvore deverão estar ativas dado que o caminho entre eles passa por todos os nós. Já na árvore da direita a ativação de apenas os nós pretos dispensa a ativação de todas as arestas que se conectam aos nós brancos. Isto acaba diminuindo o custo ativo da árvore neste caso. D = 11 D = 3 Figura 3: Arestas ativas em duas árvores geradoras de um mesmo grafo. Nesta heurística, busca-se manter o diâmetro da árvore, desencorajando a conexão de arestas que aumentem o seu diâmetro. A exemplo da árvore na figura 4, temos um vértice que pode ser conectado à árvore através dos nós cinza e branco. Supondo que as duas prováveis arestas possuem custo igual, o nó cinza é preferível pois a inclusão do novo vértice não aumenta o diâmetro da árvore. Isto não aconteceria caso fosse feita uma conexão com o nó branco, que implicaria em aumentar o diâmetro da árvore de 7 para 8. Para decidir entre arestas de custo diferente, deve ser realizada a multiplicação do custo da aresta pelo caminho mais longo, escolhendo-se o menor valor. Assim como na primeira heurística, as arestas candidatas são mantidas em um heap, mas a sua atualização também atualiza o caminho mais longo de cada um dos nós a cada operação de inclusão. 1347

Figura 4: Conexão de um nó à árvore baseado na heurística Prim-D. A terceira heurística, chamada de Prim-P, baseia-se também no algoritmo de Prim, diferindo-se dele apenas na etapa de computação do custo das arestas. O custo das arestas nesta heurística é definido pelo custo original da aresta no grafo, dividido pela probabilidade do vértice estar presente. No algoritmo de Prim, quanto mais cedo um nó é inserido, mais chance ele tem de ser um nó essencial para a conectividade da árvore dado que nos seguintes passos vários outros nós podem se conectar a ele. Observa-se que o último nó inserido pelo algoritmo de Prim é sempre uma folha da árvore. Espera-se que os vértices que têm mais chances de estarem ativos sejam nós internos da árvore, ao contrário dos vértices com probabilidade pequena. Como os nós mais internos são aqueles que mantêm a conectividade da árvore, é desejável que estes tenham sempre uma probabilidade maior de estarem ativos caso contrário, em uma situação real com vértices com probabilidade pequena de estarem ativos, ao se localizarem mais internamente na árvore, devem ser tornados ativos meramente para garantir a conectividade de todos os vértices ativos. O resultado disto são folhas com probabilidade menor de estarem ativas. Este tipo de resultado favorece cortes na árvore, conforme o exemplo ilustrado na figura 5. A figura do meio representa a ativação dos nós da árvore geradora da esquerda. Ao realizarmos cortes para remover os nós inativos, representados em branco, várias arestas são cortadas. Considerando o nó cinza também como inativo, ele não pode ser cortado por garantir a conectividade de um nó ativo. Ativação Cortes Figura 5: Ativação e cortes em uma árvore geradora. Igualmente às heurísticas anteriores, utiliza-se um heap, mas levando em conta a probabilidade do vértice no cálculo do custo. 1348

4. Simulações Observando-se a composição da última equação apresentada para o cálculo do custo ativo de uma árvore geradora, e, sabendo que as probabilidades são sempre compostas por números entre 0 e 1, percebe-se que os produtos das probabilidades podem levar a números de ordem de grandeza muito pequena. A exemplo de uma instância de 100 nós, onde todos os nós possuem probabilidade igual a 0.5, o cálculo do custo ativo esperado de uma aresta que divida a árvore ao meio, envolverá cálculos com números da ordem de 1 10 16. Isto pode levar ao surgimento de erros numéricos. Além disso, considerando-se a complexidade computacional de se processar o cálculo do custo ativo esperado de uma árvore geradora probabilística, estabelecer um ambiente de simulação para o cálculo deste mesmo custo pode ser interessante. No trabalho de Balaprakash et al (2007), que trata de algoritmos de busca local estocástica, é apresentado um estudo de caso de busca local baseada em estimativas para o problema do caixeiro viajante probabilístico. As idéias que sustentam o estudo consistem de técnicas de speed-up para melhorar algoritmos de busca local e também da utilização de estimativas empíricas para avaliar movimentos em busca local. Um entendimento em alto nível deste problema também se enquadra no PMST, pois trata-se de um problema que consiste de uma otimização a priori, que define uma solução, solução esta que minimiza o custo de soluções conhecidas apenas a posteriori. Os resultados positivos do trabalho, que superaram as soluções previamente conhecidas para o problema, serviram como motivação para se calcular o custo das árvores geradoras mínimas trabalhadas no PMST fazendo o uso de dados experimentais, ou seja, através de estimativas empíricas. Como maneira de calcular o custo das árvores para avaliação dos resultados produzidos pelas heurísticas, são realizados os seguintes passos: Toma-se a árvore produzida pela heurística escolhida, seja ela Prim Clássico, Prim-P ou Prim-D. Aleatoriamente determina-se quais nós estão presentes e quais nós estão ausentes segundo a probabilidade de cada nó. Sobre esta árvore, realizam-se operações de corte, que servem para remover nós não ativos. Nesta operação, não são removidos nós ausentes dos quais dependam nós ativos. O custo da árvore gerada pela heurística é então determinado pela soma dos custos das arestas presentes. Esta simulação é executada por uma quantidade específica de vezes, e, o custo atribuído à árvore gerada pela heurística é computado a partir da média dos custos encontrados. 5. Resultados Nesta seção são apresentados os resultados que permitem avaliar as heurísticas propostas, bem como comparar o custo ativo esperado das árvores construídas com o custo computado através de simulações realizadas. A geração das instâncias e a codificação das heurísticas utilizadas neste trabalho foram desenvolvidos na linguagem C++ e executados em uma máquina com processador Intel Core 2 Duo de 1.83GHz, 3GB de RAM e sistema operacional Windows Vista SP1. Para a realização dos testes foram geradas instâncias a partir de algumas das instâncias do TSPLIB para o problema do caixeiro viajante simétrico. As instâncias geradas formam sempre grafos completos. O custo de cada aresta é dado pela distância euclidiana de um nó a outro. Uma probabilidade foi associada a cada nó. Para cada instância escolhida do TSPLIB, gerou-se uma instância onde todos os nós possuíam probabilidade igual, de valor 0.5, e outra instância onde os nós tiveram probabilidades de 0.1 a 0.9 distribuídas uniformemente. A tabela 1 compara o custo ativo esperado das árvores construídas pelas heurística, de forma que para cada instância, os valores destacados em negrito identificam o menor custo ativo esperado calculado para as árvores geradas pelas heurísticas. Na terceira e quarta colunas é possível observar a comparação do custo ativo esperado das árvores construídas a partir do algoritmo de Prim clássico com o das árvores construídas a partir da heurística Prim-D para as instâncias onde todos os nós possuem probabilidade igual a 0.5. Neste caso, o resultado da heurística Prim-P é o mesmo da primeira heurística. Ainda na tabela 1, da quinta coluna em diante, tem-se a comparação das três heurísticas para instâncias onde os nós possuem probabilidades que variam uniformemente entre 0.1 e 0.9. 1349

Tabela 1: Comparação das heurísticas Instâncias Prim Clássico / Prim-P Prim-D Prim Clássico Prim-P Prim-D instância nós p=[0.5] p=[0.1,0.9] att48 48 21451,60 23685,30 20856,80 21216,60 23850,80 st70 70 462,51 512,61 450,26 447,39 499,91 rat99 99 933,72 936,60 864,41 865,12 871,76 eli101 101 429,93 443,95 415,91 412,34 432,43 bier127 127 74082,10 77062,80 75422,40 75422,40 79216,10 gr137 137 491,09 498,31 474,78 475,16 473,872 ch150 150 5134,87 5047,84 5188,33 5187,39 5075,30 d198 198 9729,30 10133,00 9277,42 9212,61 9638,84 gr202 202 301,00 302,15 282,24 282,24 287,00 a280 280 2078,33 2093,26 2092,75 2101,37 2098,76 fl417 417 9322,21 9523,08 9430,41 9417,91 9588,38 gr431 431 1325,95 1324,55 1305,16 1305,16 1279,90 ali535 535 1408,02 1417,90 1401,72 1401,72 1424,70 d657 657 36046,20 36268,30 35738,50 35752,50 35908,80 u724 724 32047,40 32186,50 32145,70 32147,10 32304,60 d1291 1291 41697,00 41920,40 41126,40 41116,00 41411,70 u1432 1432 118600,00 119312,00 119519,00 118168,00 119310,00 fl1577 1577 18072,40 17983,20 18020,00 18039,50 17972,70 d1655 1655 49112,30 49041,60 48144,40 48275,20 48106,00 vm1748 1748 248160,00 250832,00 248478,00 248479,00 252268,00 rl1889 1889 253255,00 253991,00 253461,00 253375,00 254110,00 d2103 2103 71774,40 72063,00 70986,10 70955,40 71374,40 u2319 2319 178114,00 186322,00 180106,00 178568,00 188250,00 pr2392 2392 296549,00 296204,00 294197,00 294197,00 292783,00 Como pode ser observado quando as probabilidades são de 0.5, a heurística baseada no algoritmo de Prim Clássico obtém melhores resultados, ou seja, árvores de custo médio menor que a heurística Prim-D. Isto parece indicar que o custo da aresta é mais importante que os comprimentos dos caminhos mais longos neste caso. Analisando-se os resultados para árvores geradas a partir de instâncias cujos nós possuíam probabilidade variando entre 0.1 e 0.9, observa-se que a heurística que mais vezes obteve a melhor solução foi a heurística Prim-P. Isto parece indicar que neste caso compensa inserir arestas de custo mais elevado para inserir nós com maior probabilidade de estarem ativos antes dos nós com menor probabilidade. 1350

A tabela 2 apresenta os resultados obtidos em simulação para o custo das árvores geradas para instâncias com nós de probabilidades idênticas, iguais a 0.5. Estes valores são comparados com o custo ativo esperado calculado para as árvores geradas, conforme a instância. Para cada comparação, há uma coluna (%) que denota a diferença percentual entre o custo da árvore obtido por simulação e o custo ativo esperado calculado para a árvore. As simulações foram realizadas 50 vezes para cada árvore, portanto o valor exibido nas colunas de simulação representam uma média do custo medido das árvores. Tabela 2: Resultados de simulação para probabilidade dos nós constante, igual a 0.5. Instâncias Prim Clássico / Prim-P Prim-D p=[0.5] p=[0.5] instância nós heurística simulação (%) heurística simulação (%) att48 48 21451,60 21244,40 0,97 23685,30 23468,60 0,91 st70 70 462,51 464,52-0,43 512,61 517,60-0,97 rat99 99 933,72 930,84 0,31 936,60 934,96 0,17 eli101 101 429,93 435,85-1,38 443,95 449,55-1,26 bier127 127 74082,10 74886,40-1,09 77062,80 77676,50-0,80 gr137 137 491,09 486,31 0,97 498,31 491,92 1,28 ch150 150 5134,87 5089,09 0,89 5047,84 5047,84 0,00 d198 198 9729,30 9688,41 0,42 10133,00 10069,70 0,62 gr202 202 301,00 300,44 0,18 302,15 302,80-0,22 a280 280 2078,33 2093,28-0,72 2093,26 2095,17-0,09 fl417 417 9322,21 9338,68-0,18 9523,08 9513,63 0,10 gr431 431 1325,95 1324,67 0,10 1324,55 1326,12-0,12 ali535 535 1408,02 1406,68 0,10 1417,90 1419,19-0,09 d657 657 36046,20 35957,40 0,25 36268,30 36174,50 0,26 u724 724 32047,40 32040,60 0,02 32186,50 32185,90 0,00 d1291 1291 41697,00 41579,00 0,28 41920,40 41728,00 0,46 u1432 1432 118600,00 118352,00 0,21 119312,00 119336,00-0,02 fl1577 1577 18072,40 18067,00 0,03 17983,20 17990,90-0,04 d1655 1655 49112,30 49056,20 0,11 49041,60 48942,60 0,20 vm1748 1748 248160,00 247632,00 0,21 250832,00 250341,00 0,20 rl1889 1889 253255,00 253659,00-0,16 253991,00 254430,00-0,17 d2103 2103 71774,40 71684,10 0,13 72063,00 71988,20 0,10 u2319 2319 178114,00 179020,00-0,51 186322,00 186644,00-0,17 pr2392 2392 296549,00 297098,00-0,19 296204,00 296592,00-0,13 Observa-se, através da comparação dos resultados da tabela 2, que a simulação apresenta árvores de custo sempre muito próximos do custo ativo esperado. Este é um resultado interessante por mostrar que, como os custos medidos através de simulação são bastante próximos dos custos calculados através das equações, esta pode ser uma alternativa interessante para a estimativa do custo das árvores geradoras probabilísticas geradas. A tabela 3, análoga à tabela 2, exibe os resultados de simulação porém para os nós que possuem probabilidades entre 0.1 e 0.9. 1351

Tabela 3: Resultados de simulação para probabilidade dos nós entre 0.1 e 0.9. Instâncias Prim Clássico Prim-P Prim-D p=[0.1,0.9] p=[0.1,0.9] p=[0.1,0.9] instância nós heurística simulação (%) heurística simulação (%) heurística simulação (%) att48 48 20856,80 20602,80 1,22 21216,60 20938,80 1,31 23850,80 23241,20 2,56 st70 70 450,26 447,28 0,66 447,39 444,81 0,58 499,91 497,96 0,39 rat99 99 864,41 866,52-0,24 865,12 866,70-0,18 871,76 872,71-0,11 eli101 101 415,91 423,04-1,71 412,34 419,39-1,71 432,43 442,25-2,27 bier127 127 75422,40 76254,40-1,10 75422,40 76254,40-1,10 79216,10 79999,20-0,99 gr137 137 474,78 472,63 0,45 475,16 472,92 0,47 473,872 470,90 0,63 ch150 150 5188,33 5150,17 0,74 5187,39 5148,37 0,75 5075,30 5070,61 0,09 d198 198 9277,42 9277,90-0,01 9212,61 9210,24 0,03 9638,84 9625,27 0,14 gr202 202 282,24 281,49 0,26 282,24 281,60 0,23 287,00 287,00 0,00 a280 280 2092,75 2096,16-0,16 2101,37 2105,33-0,19 2098,76 2090,61 0,39 fl417 417 9430,41 9423,41 0,07 9417,91 9410,54 0,08 9588,38 9554,35 0,35 gr431 431 1305,16 1308,95-0,29 1305,16 1309,15-0,31 1279,90 1287,47-0,59 ali535 535 1401,72 1399,08 0,19 1401,72 1399,13 0,18 1424,70 1425,85-0,08 d657 657 35738,50 35561,80 0,49 35752,50 35579,50 0,48 35908,80 35735,40 0,48 u724 724 32145,70 32017,30 0,40 32147,10 32027,70 0,37 32304,60 32151,80 0,47 d1291 1291 41126,40 40959,30 0,41 41116,00 40901,80 0,52 41411,70 41221,20 0,46 u1432 1432 119519,00 119650,00-0,11 118168,00 118349,00-0,15 119310,00 119455,00-0,12 fl1577 1577 18020,00 18011,40 0,05 18039,50 18031,10 0,05 17972,70 17969,70 0,02 d1655 1655 48144,40 48259,30-0,24 48275,20 48362,10-0,18 48106,00 48171,70-0,14 vm1748 1748 248478,00 247526,00 0,38 248479,00 247527,00 0,38 252268,00 251630,00 0,25 rl1889 1889 253461,00 253553,00-0,04 253375,00 253473,00-0,04 254110,00 254367,00-0,10 d2103 2103 70986,10 71043,30-0,08 70955,40 71011,70-0,08 71374,40 71437,20-0,09 u2319 2319 180106,00 180314,00-0,12 178568,00 178762,00-0,11 188250,00 188438,00-0,10 pr2392 2392 294197,00 294567,00-0,13 294197,00 294567,00-0,13 292783,00 293070,00-0,10 Da mesma forma como foi constatado para a tabela 2, é possível perceber que os valores dos custos não diferem por mais que poucos pontos percentuais, reafirmando a proximidade de valores de custos obtidos por simulação e custos para árvores obtidos através das equações definidas para o problema. 6. Conclusões Neste trabalho foram apresentadas três heurísticas construtivas para um problema pouco estudado e de difícil resolução. O uso de heurísticas se justifica pela dificuldade em se encontrar uma solução exata para o PMST. Conforme os resultados apresentados, concluímos que podemos utilizar heuristicamente a probabilidade dos nós para reduzir o custo ativo esperado da árvore geradora. Através da análise dos custos das árvores medidos através de simulações, foi possível constatar que é possível utilizar este recurso como forma de medir o custo das árvores geradoras, alternativamente ao uso das equações para cálculo de custo ativo esperado, evitando-se assim problemas numéricos. Trabalhos futuros incluem o uso de metaheurísticas e algoritmos de busca local. Pretende-se também verificar o comportamento das heurísticas em outros tipos de instâncias. Em particular, acreditamos que instâncias tais que todos os nós tenham uma probabilidade constante baixa a heurística Prim-D pode obter melhores resultados. 1352

7. Agradecimentos O autor Sebastián Urrutia agradece ao Programa de Auxílio à Pesquisa de Recém Doutores Contratados Edital PRPq/UFMG 02/2006, que financia parcialmente o seu trabalho. Referências Abuali, F. N.; Schoenefeld, D. A.; Wainwright, R. L., (1994). Designing Telecommunications Networks Using Genetic Algorithms and Probabilistic Minimum Spanning Trees, Volume 03 p. 242-246, ACM Press. Abuali, F. N.; Wainwright, R. L.; Schoenefeld, D. A., (1995). Determinant Factorization: A New Encoding Scheme for Spanning Trees Applied to the Probabilistic Minimum Spanning Tree Problem, Proceedings of The 6 th Intl. Conf. on Genetic Algorithms (ICGA-95), Pittsburgh, PA. Morgan Kaufmann Publisher, pp. 470-477. Balaprakash, P., Birattari, M., Stützle, T. (2007). Engineering Stochastic Local Search Algorithms: A Case Study in Estimation-based Local Search for the Probabilistic Traveling Salesman Problem. IRIDIA Technical Report Series Technical Report No. TR/IRIDIA/2007-022 Bertsimas, D. J., (1988). The Probabilistic Minimum Spanning Tree, Part I: Complexity and Combinatorial Properties, Massachusetts Institute of Technology, Sloan School of Management Working Paper, Rm E53-359. Bertsimas, D. J., (1990). The Probabilistic Minimum Spanning Tree Problem, Networks, Volume 20: 245-275. Borůvka, O. (1926). O jistém problému minimálním, Práce mor. přírodověd. spol. v Brně III 3: 37 58. Garey, M. R., Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NPCompleteness. Freeman, New York. Ishii,H., Shiode, H., Nishida, T. (1981). Stochastic spanning tree problem, Discrete Applied Mathematics 3 263±273. Kruskal, J.B. Jr., (1956). On the shortest spanning subtree of a graph and the traveling salesman problem, Proc. ACM 7/1 48±50. Narula, S.C., Ho, C.A. (1980). Degree-constrained minimum spanning tree, Computer & Operations Research 7 239±249. Prim, R.C. (1957). Shortest connection networks and some generalizations, Bell System Technical Journal 36 1389±1401. TSPLIB (n.d.). TSPLIB, a library of sample instances for the TSP (and related problems) from various sources and of various types Disponível em: http://www.iwr.uni-heidelberg.de/groups/comopt/software/tsplib95/, consultado pela última vez em 15 de maio de 2008). Xu, W. (1995). On the quadratic minimum spanning tree problem, in: M. Gen, W. Xu (Eds.), Proceedings of 1995 Japan- China International Workshops on Information Systems, Ashikaga, Japan, pp. 141±148. 1353