Algoritmos para o problema da árvore de Steiner com coleta de prêmios. Índice. Camila Mari Matsubara Orientador: Prof. Dr. José Coelho de Pina
|
|
- Henrique Carreiro di Castro
- 5 Há anos
- Visualizações:
Transcrição
1 Exame de Qualicação Mestrado em Ciência da Computação Algoritmos para o problema da árvore de Steiner com coleta de prêmios Camila Mari Matsubara Orientador: Prof. Dr. José Coelho de Pina 31 de julho de 2011 Índice 1 Introdução 2 2 Árvore de Steiner 4 3 Árvore de Steiner com coleta de prêmios 13 4 Algoritmo de Goemans e Williamson 14 5 Algoritmo GW não-enraizado 16 6 Algoritmo de ABHK 19 7 Tópicos estudados e projeto 21
2 1 Introdução O problema da árvore de Steiner consiste em, dado um grafo com custo nas arestas e um conjunto de vértices denominados terminais, determinar um subgrafo conexo que contém todos os vértices terminais e cuja soma dos custos das arestas seja a menor possível. Ele pode conter outros vértices além dos terminais. Este subgrafo de custo mínimo existe para qualquer grafo conexo dado, e podemos supor que é uma árvore quando os custos das arestas são positivos. O nome do problema é uma homenagem ao matemático suíço Jakob Steiner, de grande inuência e destaque no estudo de geometria. O problema surgiu no início do século 19, a partir da ideia de conectar três aldeias com um sistema de estradas de comprimento mínimo. Sua descrição inicial era: Em um dado triângulo acutângulo ABC, localizar um ponto P cuja soma das distâncias a A, B e C seja mínima. O problema descrito foi pela primeira vez denominado problema de Steiner no livro What is Mathematics? em 1941, de R. Courant e H. Robbins [5]. Os progressos no problema da árvore de Steiner foram rápidos desde 1990, quando Zelikovsky [18] apresentou o fator de aproximação de 1,833 o primeiro algoritmo a melhorar o ingênuo fator 2. Berman e Ramaiyer [2] diminuíram o fator para 1,746 em Zelikovsky alcançou uma 1,693-aproximação em 1997, seguida da melhoria de Promel e Steger para 1,667 e de Karpinski e Zelikovsky [14] para 1,644 em Em 1999, Hougardy e Promel [12] apresentaram uma 1,598-aproximação. O melhor fator de aproximação encontrado para o problema da árvore de Steiner é 1,55 devido a Robins e Zelikovsky [16], em No problema da árvore de Steiner com coleta de prêmios (PCST, Prize- Collecting Steiner Tree), além do custo das arestas, o grafo também possui um valor de penalidade para cada vértice. Não é dado um conjunto de vértices terminais. Então, o objetivo é obter uma árvore que minimize a soma dos custos de suas arestas e as penalidades dos vértices que não pertencem à árvore. O problema da árvore de Steiner pode ser visto como um caso particular do PCST, quando os vértices terminais têm valor de penalidade bem grande e os demais vértices têm penalidade zero. Este problema tem aplicações no projeto de circuitos elétricos e redes de comunicação. Além de ser uma ferramenta teórica útil para ajudar a resolver outros problemas de otimização, foi aplicado pela empresa AT&T com bons resultados para otimização de redes de telecomunicações do mundo real [1]. Ljubic, em associação com outros autores, utilizou-o para modelar a instalação de cabos de bra ótica na Alemanha [15]. O primeiro algoritmo de aproximação para o PCST foi apresentado por Bienstock [3] em 1993, e seu fator de aproximação é 3, por meio da busca pela solução ótima da relaxação do programa linear. Mais tarde, em 1995, Goemans e Williamson (GW) [8] construíram um algoritmo com fator de aproximação ) baseado em um esquema primal-dual para a versão enraizada do problema. (2 1 n 1 2
3 Executando o algoritmo para todas as possibilidades de raiz, obtém-se uma (2 1 )-aproximação que consome tempo n 1 O(n3 log n). Johnson, Minko e Phillips [13] propuseram em 2000, uma modicação no algoritmo que permite executar o esquema primal-dual apenas uma vez resultando em um tempo de execução de O(n 2 log n). Entretanto, este algoritmo não mantém o mesmo fator de aproximação de GW, como demonstrado por Feolo, Fernandes, Ferreira e Pina [6] em Estes mesmos autores, em 2007 [7] publicaram uma modicação no algoritmo de GW baseado em um programa linear sutilmente diferente, que resulta em um fator de aproximação de (2 2 ) para a versão enraizada e pode ser implementada n com tempo de execução de O(n 2 log n). Finalmente, em 2009, Archer, Bateni, Hajiaghayi e Karlo (ABHK) [1] obtiveram um fator de aproximação melhor do que 2 para o problema do PCST. 3
4 2 Árvore de Steiner Seja G = (V G, E G ) um grafo e R um subconjunto de V G dos chamados vértices terminais. Uma árvore de Steiner é uma árvore T = (V T, E T ) de G de modo que V T contém todos os vértices terminais. Note que o conceito de árvore de Steiner depende do conjunto R. Assim, ao falarmos em árvore de Steiner o conjunto de vértices terminais R ca implícito. Dada uma função custo c de E G para Q, denimos o custo da árvore T como c(t ) := e E T c e. O problema da árvore de Steiner (Steiner Tree) consiste em: Problema MinST(G, c, R): Dados um grafo conexo G, um custo c e em Q para cada e em E G e um subconjunto R de V G, encontrar uma árvore de Steiner de custo mínimo. Subconjuntos ativos e cortes Dada uma instância (G, c, R) do problema, dizemos que um subconjunto S de V G é ativo se R S e R \ S Então S é ativo se existe pelo menos um vértice terminal em S e um fora dele. A coleção de todos os conjuntos ativos é denotada por A. Aqui, mais uma vez, o conjunto R de vértices terminais está implícito. Dado um conjunto de vértices S, denimos o corte δ G (S) como o conjunto de arestas que têm uma extremidade em S e outra em V G \ S. Dizemos que um corte δ G (S) separa dois vértices u e v, se u está em S e v em V G \S, ou vice-versa. É evidente que uma árvore T é de Steiner se e somente se δ T (S) para todo S em A. Assim, todo par de vértices terminais está conectado na árvore T. Delimitação para o valor ótimo O seguinte programa linear é uma relaxação de MinST(G, c, R): encontrar um vetor x indexado pelas arestas de G que onde (1) minimize cx sob as restrições x(δ G (S)) 1 para cada S em A x e 0 para cada e em E G cx := e E G c e x e e x(δ(s)) := e δ(s) x e 4
5 Dada uma árvore de Steiner T, é evidente que o vetor característico de E T é uma solução viável de (1). Portanto, se x é uma solução ótima de (1) então cx opt(g, c, R), onde opt(g, c, R) denota o valor da solução ótima do problema MinST para a instância (G, c, R). O dual da relaxação (1) consiste em encontrar um vetor y indexado pela coleção A de subconjuntos ativos de V G que maximize sob as restrições onde y(a) := S A y S. y(a) S:e δ(s) y S c e para cada e em E G y S 0 para cada S em A (2) Chamamos o programa (1) de primal e o (2) de dual. Dizemos que um vetor y respeita c se é solução viável do dual. Dizemos ainda que uma aresta f está saturada por y se vale que S:f δ(s) y S = c f. Se y é uma solução viável do dual e x é uma solução ótima do primal então y(a) cx, segundo o Lema da Dualidade da programação linear. Portanto, y(a) opt(g, c, R). (3) Esta delimitação inferior para opt(g, c, R) é fundamental para o cálculo da razão de aproximação do algoritmo MinST-GW descrito adiante, devido a Goemans e Williamson [8]. Descrição do algoritmo No início de cada iteração tem-se uma oresta geradora F de G e um vetor y indexado por A que respeita c. No início da primeira iteração, F é vazia e y é o vetor nulo. Em cada iteração, dizemos que um componente H de F é um componente ativo se V H está em A, e inativo caso contrário. Denotamos por A F a coleção de conjuntos de vértices dos componentes de F ativos. Simplicadamente, dizemos que A F é a coleção dos componentes de F ativos. Cada elemento S de A F viola a restrição x(δ(s)) 1 de (1), onde x é o vetor característico de F. Isso sugere que devemos acrescentar a F alguma das arestas de δ(s). Qualquer aresta deste tipo conecta dois componentes distintos de F. Dizemos que uma tal aresta é externa a F. Devemos, então, escolher uma aresta externa e acrescentá-la a F. Esta escolha deve, é claro, estar relacionada ao custo das arestas. Como o programa dual tem o objetivo de maximizar a soma das variáveis y S, o algoritmo aumenta uniformemente os valores das variáveis y S com S em A F de modo a manter viabilidade. Esse aumento gradativo de alguns componentes de y 5
6 para quando alguma aresta é saturada por y. Essa aresta é então acrescentada à oresta F e uma nova iteração se inicia com a oresta atualizada. O processo iterativo termina quando F não tem componentes ativos. Então, existe um componente T 0 de F que contém todos os vértices terminais, e cada um dos demais componentes é unitário. O algoritmo devolve uma árvore minimal de T 0, isto é, uma árvore T tal que, para cada aresta e, a oresta (T e) tem algum componente ativo. Por exemplo, se em T 0 ocorrer um vértice não-terminal folha, este pode ser removido diminuindo ou mantendo o custo e não violando a propriedade de árvore de Steiner. As guras de 1 a 7 ilustram a execução deste algoritmo. Algoritmo MinST-GW(G, c, π): Recebe um grafo conexo G, um custo c e em Q para cada aresta e em E G e um subconjunto R de V G. Devolve uma árvore de Steiner T e um vetor y, solução viável de (2), tais que c(t ) 2y(A). O algoritmo é composto de dois passos. O primeiro passo faz uma chamada a um algoritmo iterativo e o segundo passo obtém uma árvore minimal da árvore obtida no primeiro passo. Passo 1: Sejam T 0 e y a árvore e o vetor obtidos pela execução do algoritmo ST- Expansão com a instância (G, c, R). Passo 2: Seja T a árvore obtida pela execução do algoritmo ST-Poda com a instância (T 0, R). Devolva T e y. Algoritmo ST-Expansão(G, c, R): Recebe um grafo conexo G, um custo c e em Q para cada aresta e em E G e um subconjunto R de V G. Devolve uma árvore de Steiner T 0 de G e um vetor y, solução viável de (2). Cada iteração do algoritmo começa com uma oresta geradora F de G, um vetor y viável dual e a coleção A F de componentes de F ativos. No início da primeira iteração tem-se que F =, y = 0 e A F = {{v} : v R}. Caso 1: A F = : Seja T 0 o componente de F que contém todos os vértices terminais. Devolva (T 0, y) e pare. Caso 2: A F : Seja ε o maior número em Q tal que y respeita c, onde y é denido assim: y S = y S + ε se S A F e y S = y S caso contrário. Seja f uma aresta externa que foi saturada. Sejam A 1 e A 2 os extremos de f em A F. Seja A F =, se A 1 e A 2 forem os 6
7 dois últimos componentes ativos de F, ou A F = (A F \ {A 1, A 2 }) {A 1 A 2 } e y (A 1 A 2 ) := 0 caso contrário. Comece nova iteração com F +f, y e A F nos papéis de F, y e A F. Algoritmo ST-Poda(T 0, R): Recebe uma árvore T 0 e um subconjunto de vértices R tal que T 0 contém todos os vértices em R. Devolve T, uma árvore minimal de T 0 em relação aos vértices em R. Passo único: Seja T a árvore minimal de T 0 que contém todos os vértices em R. Devolva T. Lema 2.1 ([4]) O algoritmo MinST-GW admite uma implementação polinomial. O algoritmo devolve uma árvore de Steiner. De fato, no início de cada iteração, F é uma oresta geradora de G. Ao nal do algoritmo, F não tem componentes ativos, e portanto, todos os vértices terminais estão conectados. A árvore T 0 é o componente da oresta F que contém todos os vértices terminais, portanto é uma árvore de Steiner. Logo, T devolvida pelo algoritmo é também uma árvore de Steiner. a b c d e f Figura 1: Uma instância do problema MinST: V G = {a, b, c, d, e, f} e R = {a, c, d, e}. O grafo é completo e o custo das arestas é o valor da distância euclidiana entre os vértices. No instante inicial, tem-se: F =, y = 0 e A F = {{a}, {c}, {d}, {e}}. 7
8 a b c d e f Figura 2: Após o primeiro incremento, a aresta ef ca saturada e é adicionada à oresta. A conguração é: F = {ef}, y corresponde aos círculos ao redor de alguns vértices, e A F = {{a}, {c}, {d}, {e, f}}. a b c d e f Figura 3: Neste instante, a aresta ab é saturada por y e a conguração se torna: F = {ab, ef}, y corresponde aos círculos da gura e A F = {{a, b}, {c}, {d}, {e, f}}. 8
9 a b c d e f Figura 4: A aresta cd é saturada por y, ligando dois componentes ativos. Por isso, a cardinalidade da coleção de conjuntos ativos diminui. Neste instante, tem-se: F = {ab, cd, ef} e A F = {{a, b}, {c, d}, {e, f}}. a b c d e f Figura 5: Mais uma vez dois conjuntos ativos são ligados: a aresta de ca saturada pelo incremento dos valores de y. Dessa forma: F = {ab, cd, de, ef} e A F = {{a, b}, {c, d, e, f}}. 9
10 a b c d e f Figura 6: Finalmente, a aresta bd ca saturada e a oresta ca com um único componente ativo: F = {ab, bd, cd, de, ef} e A F = {{a, b, c, d, e, f}}. a b c d e f Figura 7: Na execução do algoritmo ST-Poda, a aresta ef é removida. O resultado é a árvore de Steiner: T = {ab, bd, cd, de}. Análise do fator de aproximação Passamos agora a analisar o fator de aproximação do algoritmo MinST-GW. Porém, antes de delimitar c(t ), é preciso estabelecer uma relação fundamental entre T e a coleção A F dos componentes de F ativos em uma iteração arbitrária do algoritmo. Lema 2.2 No início de cada iteração do algoritmo ST-Expansão, vale a desigualdade S A F δ T (S) 2 A F, 10
11 onde T é a árvore de Steiner que o algoritmo MinST-GW devolve. Demostração: Digamos que o grau em T de um componente S de F é o número de arestas em δ T (S). Matematicamente, o grau de S em T é δ T (S). Vale que, para qualquer componente S de F, se δ T (S) = 1 então S A F (4) A implicação (4) arma que os componentes de F de grau 1 em T são todos ativos. Para provar essa armação, tome um componente S de F tal que δ T (S) contém uma única aresta, digamos uw; ajuste a notação de modo que u S. Sejam U e W os componentes de T uw que contêm u e w respectivamente. Como uw é a única aresta de T em δ(s), temos U S e W V \ S. Como T é uma árvore minimal, a remoção da aresta uw faz com que a oresta resultante tenha componentes ativos, ou seja, a aresta uw separa vértices terminais. Então, R U W, R U e R W. Segue daí que R S e R \ S. Assim, S está em A e portanto em A F. Isso conclui a prova de (4). Seja Z F o conjunto de todos os componentes inativos de F cujo grau em T não é nulo, ou seja, todos os componentes inativos S tais que δ T (S) 1. Digamos que dois elementos S e S de A F Z F são adjacentes se existe uma aresta de T com um extremo em S e outro em S. Esse conceito de adjacência dene um grafo, digamos H, sobre o conjunto de vértices A F Z F. Como F e T são subgrafos de T 0, qualquer circuito em H corresponderia a um circuito em T 0, o que é impossível, já que T 0 é uma árvore. Portanto, H é uma oresta. Segue daí imediatamente que S V H δ H (S) = 2 E H 2( V H 1), donde δ T (S) 2( A F + Z F 1). S A F Z F Em virtude de (4), temos que δ T (S) 2 para cada S em Z F. Portanto, δ T (S) = δ T (S) δ T (S) S A F S A F Z F S Z F 2( A F + Z F 1) 2 Z F 2 A F A interpretação dessa desigualdade é de que o grau médio dos vértices ativos do grafo H não é maior do que 2. A seguir, mostramos como esse resultado garante o fator de 2-aproximação para a árvore construída pelo algoritmo. Teorema 2.3 O algoritmo MinST-GW é uma 2-aproximação para o problema MinST. 11
12 Demostração: Como já foi observado, o subgrafo T que o algoritmo devolve, é uma árvore de Steiner. Provaremos agora que, no início de cada iteração de ST- Expansão, vale a desigualdade δ T (S) y S 2y(A), (5) S A É evidente que a desigualdade é válida no início da primeira iteração, quando y = 0. Suponha agora que a desigualdade seja válida no início de uma iteração qualquer. Durante a iteração, y S é acrescido de ε se e somente se S A F. Portanto, o lado esquerdo de (5) é acrescido de S A F δ T (S) ε enquanto o lado direito é acrescido de 2 A F ε. O lema 2.2 garante que o incremento do lado esquerdo não é maior que do lado direito. Portanto a desigualdade (5) vale no início da iteração seguinte. Isso prova (5). No m do processo iterativo, o vetor y é viável dual. Além disso, vale também que y S = c e para cada e T. (6) S:e δ(s) Para mostrar que o algoritmo é uma 2-aproximação, c(t ) 2opt(G, c, R): resta vericar que c(t ) = e T = e T c e S:e δ(s) y S = δ T (S) y S S A (7) 2y(A) (8) 2opt(G, c, R). (9) A linha (7) segue da anterior por meio de reorganização da soma. A desigualdade (8) segue de (5). Finalmente, a desigualdade (9) é consequência da delimitação inferior (3). 12
13 3 Árvore de Steiner com coleta de prêmios No problema da árvore de Steiner com coleta de prêmios, além dos custos de cada aresta em E G, são dadas penalidades π v para cada vértice v de V G. O custo da árvore é denido como: c(t ) + π(t ), onde c(t ) = c(e T ) e π(t ) = π(v \ V T ) para simplicar a notação. Problema PCST(G, c, π): Dados um grafo G, um custo c e em Q para cada aresta e em E G e uma penalidade π v em Q para cada vértice v em V G, encontrar uma árvore T de G que minimize c(t ) + π(t ). O problema MinST pode ser visto como um caso especial do PCST, atribuindo aos vértices terminais penalidade sucientemente grande, e aos vértices não-terminais, penalidade nula. Uma variante do problema, denominada enraizada, recebe também um vértice raiz r e tem como objetivo determinar uma árvore T que contenha r. Pode-se reduzir uma instância da versão enraizada para a não-enraizada atribuindo penalidade grande ao vértice r. Dessa forma, o algoritmo não-enraizado é forçado a incluí-lo na árvore. Por outro lado, para reduzir uma instância não-enraizada para a enraizada, basta executar o algoritmo para todas as possibilidades de raiz e, dentre todas as árvores obtidas, escolher aquela com menor custo. Como MinST é um problema NP-difícil, então o problema PCST também é NP-difícil. Por isso, há interesse em métodos alternativos para resolvê-lo, como bons algoritmos de aproximação. 13
14 4 Algoritmo de Goemans e Williamson O problema PCST enraizado pode ser formulado como um programa inteiro, cuja relaxação linear é: minimize cx + R V G \{r} π(r)z R sob as restrições x(δ(r)) + U R z U 1 para cada R V G \ {r} x e 0 para cada e E G z R 0 para cada R V G \ {r} (10) Intuitivamente, a variável z R vale 1 para os subconjuntos de vértices R que não estão na árvore. O dual de (10) pode ser formulado como: maximize sob as restrições R V G \{r} y R R:e δ(r) y R c e para cada e E G U R y U π(r) para cada R V G \ {r} y R 0 para cada R V G \ {r} (11) Denominamos o algoritmo descrito por Goemans e Williamson de PCST- GW [8]. Este algoritmo, de maneira semelhante ao MinST-GW, também faz uso do conceito de componente ativo para incrementar as variáveis duais. O algoritmo mantém uma oresta geradora F que inicialmente é vazia. Então cada vértice v está inicialmente no seu próprio componente conexo. Todos os componentes, com exceção da raiz r estão ativos. O algoritmo repetidamente executa uma das duas alternativas a seguir: ˆ ˆ Adicionar uma aresta entre dois componentes de F. Se o componente resultante contém a raiz, ele se torna inativo. Caso contrário, mantém-se ativo. Desativar um componente. Intuitivamente, um componente é desativado se o algoritmo concorda em não incluí-lo na árvore e pagar as penalidades de todos os vértices neste componente. O processo iterativo termina quando todos os componentes de F estão inativos. Como a cada iteração, o número de componentes ou o número de componentes ativos diminui, o número de iterações não é superior a 2n 1. A fase nal do algoritmo, assim como o MinST-GW, remove tantas arestas de F quanto possível, para devolver a melhor árvore minimal em relação ao custo. Não nos alongaremos mais na descrição do algoritmo PCST-GW, pois apresentaremos na próxima seção a sua versão não-enraizada com detalhes. O algoritmo PCST-GW é uma (2 1 )-aproximação e é possível implementá-lo n 1 de maneira que seu consumo de tempo seja O(n 2 log n) [8]. 14
15 Teorema 4.1 (ABHK [1]) O algoritmo PCST-GW devolve uma árvore T tal que c(t ) + 2π(T ) 2 opt(g, c, π) 15
16 5 Algoritmo GW não-enraizado A descrição da versão não-enraizada do algoritmo nesta seção é devida a Feolo, Fernandes, Ferreira e de Pina [7]. Conceitos e notação Para qualquer coleção L de subconjuntos de V G e qualquer aresta e em E G, dene-se L(e) := {L L : e δ G (L)}, em que δ G (L) denota o conjunto de arestas com uma extremidade em L e outra em L. L representa a união de todos os conjuntos em L. Para qualquer função y de L para Q e qualquer subcoleção M de L, denese y(m) := L M y(l). Diz-se que y respeita uma função c denida sobre o conjunto de arestas E G se y(l(e)) c e para cada e E G. (12) Uma aresta e está saturada por y se (12) vale com igualdade para esta aresta. Diz-se que a função y respeita a função π denida sobre os vértices V G se y S π(l) para cada L L (13) e S L y S + S L S L y S + S L y S π(l) para cada L L (14) Um elemento L de L está saturado por y se (13) vale com igualdade. Se (14) vale com igualdade, dizemos que L está saturado por y. A desigualdade (12) assemelha-se com a primeira restrição de (11). Usualmente, diz-se que a soma dos y S para todo conjunto S em L contido em L não deve exceder a soma das penalidades de todos os elementos em L. Em (13) adicionou-se a parcela da soma dos y S dos conjuntos S que contêm o complemento de L, ou seja, os S cujo complemento está em L. A desigualdade (14) é similar a (13) para o complemento de cada conjunto em L. Uma coleção L de subconjuntos de V G é dita laminar se, para quaisquer dois elementos L 1 e L 2 de L, vale que L 1 L 2 = ou L 1 L 2 ou L 1 L 2. A coleção de elementos maximais de uma coleção laminar L será denotada por L. Então, L é uma coleção disjunta. Para qualquer coleção laminar L de subconjuntos de V G, diz-se que uma árvore T de G não tem pontes em L se δ T (S) 1 para todo S L. 16
17 Algoritmo O algoritmo GW-Não-Enraizado segue o mesmo esquema primal-dual de PCST-GW. Consiste de dois passos e trata a versão não-enraizada do problema. Na primeira fase obtém-se uma árvore, e na segunda fase algumas arestas são removidas resultando na saída nal do algoritmo. Algoritmo GW-Não-Enraizado(G, c, π): Recebe um grafo conexo G, um custo c e em Q para cada aresta e em E G e um custo π v em Q para cada vértice v em V G. Devolve uma árvore T de G tal que c(t ) + π(t ) (2 2 ) opt(g, c, π). n Passo 1 Sejam T 0 e Z a árvore e a coleção de conjuntos de vértices obtidos a partir da execução do algoritmo Expansão sobre a instância (G, c, π). Passo 2 Seja T a árvore devolvida pela execução do algoritmo Poda sobre a instância (T 0, Z). Devolva T. Algoritmo Expansão(G, c, π): Recebe um grafo conexo G, um custo c e em Q para cada aresta e em E G e um custo π v em Q para cada vértice v em V G. Devolve uma árvore T 0 de G e uma coleção Z de conjuntos de vértices. Cada iteração do algoritmo começa com uma oresta geradora F de G, um vetor y viável dual, uma coleção A F de componentes de F e um conjunto Z de componentes que foram desativados. No início da primeira iteração tem-se que F =, y = 0, A F = {{v} : v V G } e Z =. Caso 1 A F = 1: Seja T 0 o único elemento de A F. Devolva (T 0, Z) e pare. Caso 2 A F > 1: Seja y denido por: y S = y S + ε se S A F e y S = y S caso contrário, onde ε é o menor número em Q tal que implique em um dos seguintes eventos: Caso 2a Uma aresta externa f está saturada por y : Comece nova iteração com F + f e y nos papéis de F e y. Caso 2b Um conjunto S em A F está saturado por y : Desative o conjunto S. Seja Z = Z S. Comece nova iteração com y e Z nos papéis de y e Z. Caso 2c O conjunto S em A F está saturado por y : Seja T 0 a árvore induzida por F em S. Devolva (T 0, Z) e pare. 17
18 Algoritmo Poda(T 0, Z): Recebe uma árvore T 0 e uma coleção de conjuntos de vértices Z. Devolve uma árvore T de T 0. Caso 1 T 0 não tem pontes em Z: Seja T = T 0. Devolva T e pare. Caso 2 T 0 tem alguma ponte em Z: Seja S em Z tal que δ T0 (S) = 1. Comece nova iteração com T 0 \ S no papel de T 0 Teorema 5.1 (Fator de aproximação [7]) O algoritmo GW-Não-Enraizado devolve uma árvore T de G tal que ( ) c(t ) + π(t ) 2 2 opt(g, c, π) n 18
19 6 Algoritmo de ABHK Introduzimos nesta seção um esboço do algoritmo de Archer, Bateni, Hajiaghayi e Karlo (ABHK), que baseia-se no teorema 4.1. Tal teorema arma que a árvore devolvida por PCST-GW para o problema PCST satisfaz: c(t ) + 2π(T ) 2 opt(g, c, π) É importante notar que este fato apresenta-se mais forte do que seria necessário para que PCST-GW seja uma 2-aproximação: há um fator 2 multiplicando π(t ), onde o fator 1 seria suciente: c(t ) + π(t ) 2 opt(g, c, π) π(t ) Essa diferença implica que, se o valor de π(t ) for pelo menos ε opt(g, c, π), então a árvore T devolvida por PCST-GW é uma (2 ε)-aproximação. Entretanto, quando esta proporção entre o total de penalidades e o valor ótimo não é válida, uma outra abordagem é adotada para garantir que, ao nal, se tenha a desejada (2 ε)-aproximação. Nesta abordagem, a ideia é identicar o conjunto de vértices que devem ser gerados pela árvore nal por meio do PCST-GW e utilizar um bom algoritmo para o problema MinST como uma caixa-preta. Neste caso, o algoritmo PCST-ABHK utiliza o MinST-RZ devido a Robins e Zelikovsky [16], cujo fator de aproximação é 1,55. Algoritmo PCST-ABHK(G, c, π, α, β): Recebe um grafo G, um custo c e em Q para cada aresta e em E G e um custo π v em Q para cada vértice v em V G. Além disso, recebe dois parâmetros α em ( 1 2, 1) e β > 1. Devolve uma árvore T tal que c(t ) + π(t ) (2 ε) opt(g, c, π) para um constante ε. Passo 1: Seja π α a função denida por πv α = απ v para todo vértice v em V G. Seja T α a árvore devolvida pelo algoritmo PCST-GW para a instância (G, c, π α ). Passo 2: Seja π α,β a função de V G em Q denida por { πv α,β βπv se v V = Tα 0 caso contrário. Seja T 0 e Z a árvore e a coleção de conjuntos de vértices devolvidos pelo algoritmo GW-Expansão com a instância (G, c, π α,β ). Seja T α,β a árvore de Steiner devolvida pelo algoritmo MinST-RZ com a instância (G, c, V Tα \ Z). Passo 3: Dentre T α e T α,β, devolva a árvore T que minimize c(t ) + π(t ). 19
20 Teorema 6.1 (Existência dos parâmetros [1]) Em tempo polinomial é possível encontrar os parâmetros α e β tais que o algoritmo PCST-ABHK seja uma (2 ε)- aproximação para o problema PCST, onde (2 ε) = 1,
21 7 Tópicos estudados e projeto Os estudos relacionados ao tema do projeto de mestrado tiveram início com o entendimento e familiaridade acerca de algoritmos de aproximação para problemas de otimização NP-difíceis. Estudamos principalmente o algoritmo 2-aproximação para o problema da árvore de Steiner [4]. A partir daí, estudamos os algoritmos destacados neste texto, analisando os pontos em comum que eles contém e observando a relação primal-dual da programação linear na qual estes algoritmos se baseiam. A primeira proposta do esquema primal-dual foi apresentada por Goemans e Williamson [8]. O algoritmo de melhor fator de aproximação publicado até o momento tem base na mesma ideia: (2 ε)-aproximação [1]. Existem problemas interessantes que generalizam o PCST. Em 2005, Hayrapetyan, Swamy e Tardos [11] deniram uma versão do problema que recebe uma função de penalidades π denida sobre conjuntos de vértices. O objetivo é encontrar uma árvore T que minimize a soma dos custos das arestas em T mais o valor da penalidade do subconjunto de vértices que caram fora de T. Eles mostraram que, se a função π é submodular, o algoritmo PCST-GW pode ser extendido para produzir uma 2-aproximação para este problema. O PCST generalizado, denido em 2006 por Hajiaghayi e Jain [10], é o problema que generaliza PCST do ponto de vista da conectividade. Ele recebe como entrada um grafo, custos nas arestas, k pares de vértices que devem ser conectados, e penalidades para cada par. O objetivo é obter uma oresta F que minimize a soma dos custos das arestas em F mais as penalidades dos pares de vértices que não estão conectados em F. Os autores obtiveram o fator de aproximação 3 para este problema por meio de um esquema primal-dual, e o fator 2,54 com uma relaxação do programa linear. Por sua vez, em 2007, Sharma, Swamy e Williamson [17] apresentaram o problema da oresta de Steiner com coleta de prêmios (PCSF), que consiste em uma generalização do PCST do ponto de vista de penalidades e de conectividade. Logo, é uma generalização do PCST com penalidades modulares e do PCST generalizado. Na tabela 1 fazemos uma breve comparação entre os problemas estudados. Problema Fator de aproximação MinST 2 [4] MinSForest 2 [4] PCST 2 ε [1] PCST com penalidades submodulares 2 [11] PCST generalizado 2, 54 [10] PCSF 2, 54 [17] Tabela 1: Comparação entre os problemas e seus fatores de aproximação 21
22 Investigamos também alguns algoritmos que representam uma abordagem diferente para solucionar o problema. Entre eles, um algoritmo recursivo devido a Gutner [9] com o mesmo fator de aproximação de PCST-GW, baseado no conceito de local ratio e um algoritmo devido a Ljubic [15] que resolve PCST com otimalidade para instâncias especícas. Pretendemos que a dissertação de mestrado contenha a descrição e a análise dos principais algoritmos de aproximação para o problema PCST, tratando com profundidade o algoritmo que superou a barreira do fator 2-aproximação. Além disso, pretendemos apresentar uma padronização para as diferentes notações e conceitos utilizados por cada algoritmo, assim como as suas descrições no formato de pseudocódigo com método dos casos. 22
23 Referências [1] A. Archer, M.H. Bateni, M.T. Hajiaghayi, and H. Karlo, Improved Approximation Algorithms for Prize-Collecting Steiner Tree and TSP, Foundations of Computer Science, FOCS '09. 50th Annual IEEE Symposium on, oct. 2009, pp [2] P. Berman and V. Ramaiyer, Improved Approximations for the Steiner Tree Problem, Proceedings of the third annual ACM-SIAM Symposium on Discrete Algorithms (Philadelphia, PA, USA), SODA '92, Society for Industrial and Applied Mathematics, 1992, pp [3] D. Bienstock, M.X. Goemans, D. Simchi-Levi, and D.P. Williamson, A Note on the Prize-Collecting Traveling Salesman Problem, Mathematical Programming 59 (1993), , /BF [4] M. H. Carvalho, M. Cerioli, R. Dahab, P. Feolo, C.G. Fernandes, C.E. Ferreira, K.S. Guimaraes, F.K. Miyazawa, J.C. Pina Jr., J.A. Soares, and Y. Wakabayashi, Uma Introdução Sucinta a Algoritmos de Aproximação, 23º Colóquio Brasileiro de Matemática - IMPA, RJ, [5] R. Courant and H. Robbins, What is Mathematics? An elementary approach to ideas and methods, Oxford University Press, [6] P. Feolo, C.G. Fernandes, C.E. Ferreira, and J.C. Pina Jr., A Note on Johnson, Minko and Phillips' Algorithm for the Prize-Collecting Steiner Tree Problem, [7], Primal-dual Approximation Algorithms for the Prize-Collecting Steiner Tree Problem, Information Processing Letters 103 (2007), no. 5, [8] M.X. Goemans and D.P. Williamson, A General Approximation Technique for Constrained Forest Problems, SIAM J. Comput. 24 (1995), [9] S. Gutner, Elementary Approximation Algorithms for Prize-Collecting Steiner Tree Problems, Inf. Process. Lett. 107 (2008), [10] M. Hajiaghayi and K. Jain, The Prize-Collecting Generalized Steiner Tree Problem via a New Approach of Primal-Dual Schema, Proceedings of the seventeenth annual ACM-SIAM Symposium on Discrete Algorithms, SODA '06, Society for Industrial and Applied Mathematics, 2006, pp [11] A. Hayrapetyan, C. Swamy, and E. Tardos, Network Design for Information Networks, Proceedings of the sixteenth annual ACM-SIAM Symposium on Discrete Algorithms, SODA '05, Society for Industrial and Applied Mathematics, 2005, pp [12] S. Hougardy and H.J. Promel, A Approximation Algorithm for the Steiner Problem in graphs, Proceedings of the tenth annual ACM-SIAM Symposium on Discrete Algorithms (Philadelphia, PA, USA), SODA '99, Society for Industrial and Applied Mathematics, 1999, pp
24 [13] D.S. Johnson, M. Minko, and S. Phillips, The Prize-Collecting Steiner Tree Problem: Theory and Practice, Proceedings of the eleventh annual ACM-SIAM Symposium on Discrete Algorithms (Philadelphia, PA, USA), SODA '00, Society for Industrial and Applied Mathematics, 2000, pp [14] M. Karpinski and A. Zelikovsky, New Approximation Algorithms for the Steiner Tree Problems, Journal of Combinatorial Optimization 1 (1997), 4765, /A: [15] I. Ljubi, R. Weiskircher, U. Pferschy, G. Klau, P. Mutzel, and M. Fischetti, Solving the prize-collecting Steiner tree problem to optimality, Proceedings of ALE- NEX, Seventh Workshop on Algorithm Engineering and Experiments (Vancouver), [16] G. Robins and A. Zelikovsky, Tighter Bounds for graph Steiner Tree Approximation, SIAM J. Discret. Math. 19 (2005), no. 1, [17] Y. Sharma, C. Swamy, and D. Williamson, Approximation Algorithms for Prize- Collecting Forest Problems with Submodular Penalty Functions, Proceedings of the eighteenth annual ACM-SIAM Symposium on Discrete Algorithms, SODA '07, Society for Industrial and Applied Mathematics, 2007, pp [18] A.Z. Zelikovsky, An 11/6-approximation algorithm for the network Steiner Problem, Algorithmica 9 (1993), , /BF
Algoritmos para o problema da árvore de Steiner com coleta de prêmios
Algoritmos para o problema da árvore de Steiner com coleta de prêmios Camila Mari Matsubara Orientador: Prof. Dr. José Coelho de Pina Defesa de mestrado Instituto de Matemática e Estatística Universidade
Leia maisAlgoritmos para o problema da árvore de Steiner com coleta de prêmios. Camila Mari Matsubara
Algoritmos para o problema da árvore de Steiner com coleta de prêmios Camila Mari Matsubara Dissertação apresentada ao Instituto de Matemática e Estatística da Universidade de São Paulo para obtenção do
Leia maisAlgoritmos de aproximação - Problema do caixeiro viajante
Algoritmos de aproximação - Problema do caixeiro viajante Marina Andretta ICMC-USP 30 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli,
Leia maisAlgoritmos de aproximação - Método primal-dual
Algoritmos de aproximação - Método primal-dual Marina Andretta ICMC-USP 28 de outubro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli, R. Dahab,
Leia maisAlgoritmos de aproximação - Problema de cobertura por conjuntos
Algoritmos de aproximação - Problema de cobertura por conjuntos Marina Andretta ICMC-USP 22 de setembro de 205 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M.
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 14: Conjuntos de Corte e Conectividade Preparado a partir do texto: Rangel,
Leia maisComplexidade computacional
Complexidade computacional Marina Andretta ICMC-USP 15 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli, R. Dahab, P. Feofiloff,
Leia maisERRATA Uma Introdução Sucinta a Algoritmos de Aproximação
ERRATA Uma Introdução Sucinta a Algoritmos de Aproximação PF 16/4/2003 Esta errata deve ser encarada com cautela porque ainda não foi verificada por todos os autores. A indicação linha -15 significa linha
Leia maisOtimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).
Leia maisMelhores momentos AULA 3. Otimização Combinatória p. 102
Melhores momentos AULA 3 Otimização Combinatória p. 102 0-potenciais Um 0-potencial é qualquer função y de N em {0, 1} (Z) tal que y(j) y(i) 0 para todo arco ij. 0 v 1 t 0 s 1 w u 0 z 1 Otimização Combinatória
Leia maisCorte Máximo em Grafos Notas de aula de MAC-5727
Corte Máximo em Grafos Notas de aula de MAC-577 (Material Extra do Capítulo ) Prof. a Yoshiko Wakabayashi Versão pós-aula feita por Bruno Takahashi C. de Oliveira em 09/03/09 15 de agosto de 016 1 Definições
Leia maisIntrodução à Teoria dos Grafos
Capítulo 1 Introdução à Teoria dos Grafos 1.1 História O primeiro problema cuja solução envolveu conceitos do que viria a ser teoria dos grafos, denominado "problema das pontes de Königsberg", foi resolvido
Leia maisAlgoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3
Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),
Leia mais01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II
01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr. (ICMCUSP) 01
Leia maisAlgoritmos de aproximação - Problema da Mochila
Algoritmos de aproximação - Problema da Mochila Marina Andretta ICMC-USP 11 de novembro de 2015 Baseado nos livros Minicurso de Análise de Algoritmos, de P. Feofiloff; e Uma introdução sucinta a Algoritmos
Leia maisCAMINHOS, CIRCUITOS, CAMINHOS MÍNIMOS E CONEXIDADE
CAPíTULO 2 CAMINHOS, CIRCUITOS, CAMINHOS MÍNIMOS E CONEXIDADE Neste captulo tratamos de tr^es classes especiais de grafos. Na primeira sec~ao apresentamos a classe dos caminhos e noc~oes que permeiam essa
Leia maisANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
Leia maisCortes (cut sets) 2010/2 Teoria dos Grafos (INF 5037/INF2781) CC/EC/UFES
Cortes (cut sets) (INF 5037/INF2781) Corte por arestas Em um grafo conexo G, um corte de arestas é um conjunto de arestas cuja remoção de G torna G desconexo, desde que nenhum subconjunto próprio desse
Leia maisFormulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos
Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Teobaldo L. Bulhões Júnior a a Instituto de Computação, Universidade Federal Fluminense, Niterói, RJ, Brazil
Leia maisAplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados
Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados Marcelo Lisboa Rocha, Sóstenes Pereira Gomes Departamento de Ciência da Computação Fundação UNIRG Alameda
Leia mais2 Definição do Problema
Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo
Leia mais3 Extensões dos modelos matemáticos
3 Extensões dos modelos matemáticos Os modelos matemáticos definidos por (2-1) (2-6) e (2-7) (2-13), propostos por Achuthan e Caccetta e apresentados no Capítulo 2, são reforçados neste trabalho através
Leia maisMétodo Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016
Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização
Leia maisProblemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Leia mais25 de julho de (2) Desenvolvimento do projeto de pesquisa 2
FUNDAMENTOS DA CIÊNCIA DA COMPUTAÇÃO: ALGORITMOS COMBINATÓRIOS E ESTRUTURAS Y. KOHAYAKAWA Resumo. Apresentamos neste relatório as atividades científicas realizadas dentro do projeto Fundamentos da Ciência
Leia maisMaterial Teórico - Módulo: Vetores em R 2 e R 3. Módulo e Produto Escalar - Parte 2. Terceiro Ano - Médio
Material Teórico - Módulo: Vetores em R 2 e R 3 Módulo e Produto Escalar - Parte 2 Terceiro Ano - Médio Autor: Prof. Angelo Papa Neto Revisor: Prof. Antonio Caminha M. Neto Nesta segunda parte, veremos
Leia maisIndução Matemática. Profa. Sheila Morais de Almeida. junho DAINF-UTFPR-PG
Indução Matemática Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Indução Matemática junho - 2018 1 / 69 Este material é preparado usando como referências os
Leia maisAlgoritmos Combinatórios: Introdução
lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?
Leia maisÁrvores Árvores Geradoras de Custo Mínimo 0/16
Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores
Leia maisTeorema da Galeria de Arte e Triangularização de Polígonos e Pontos no Plano
e Triangularização de Polígonos e Pontos no Plano Rocha Corrêa Orientador: Carlos Eduardo Ferreira Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo
Leia maisEspaços Euclidianos. Espaços R n. O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais:
Espaços Euclidianos Espaços R n O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais: R n = {(x 1,..., x n ) : x 1,..., x n R}. R 1 é simplesmente o conjunto R dos números
Leia maisOtimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias
Leia maisIntrodução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação
Leia maisGabriel Coutinho DCC035 - Pesquisa Operacional Lista 6
Lista 6 Exercício. O objetivo deste exercício é modelar o problema de emparelhamento em um grafo bipartido como um problema de fluxo, e verificar que o Teorema de Konig é essencialmente o Teorema de Fluxo
Leia maisOtimização Combinatória - Parte 4
Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional
Leia maisProjeto de doutorado Recoloração Convexa de Árvores
Projeto de doutorado Recoloração Convexa de Árvores Orientadora: Yoshiko Wakabayashi Área de Concentração: Otimização Combinatória Resumo Dada uma árvore T = (V, E), uma coloração de T é uma função f :
Leia maisCI065 CI755 Algoritmos e Teoria dos Grafos
CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices
Leia maisOBSTRUÇÕES DE COGRAFOS-(K, L)
OBSTRUÇÕES DE COGRAFOS-(K, L) Raquel de Souza Francisco COPPE/Sistemas, Universidade Federal do Rio de Janeiro, RJ, 21945-970, Brasil raquelbr@cos.ufrj.br Sulamita Klein IM e COPPE/Sistemas, Universidade
Leia maisAnálise de algorimos de aproximação utilizando o método dual-tting
Análise de algorimos de aproximação utilizando o método dual-tting Leonardo Marchetti (No. USP: 5639102) 8 de fevereiro de 2010 1 Sumário 1 Introdução 3 2 Dual-Fitting 7 3 Cobertura mínima por conjuntos
Leia maisMATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO Profa. Kathya Collazos Linares *As aulas baseiam-se no material do Professor Antonio Alfredo Ferreira Loureiro; Jorge Figueiredo e Judith Gersting Árvore
Leia maisFábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de
Leia maisANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 24 de novembro de 2015 Período: 2015.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
Leia mais1.3 Isomorfismo 12 CAP. 1 CONCEITOS BÁSICOS
12 CAP. 1 CONCEITOS BÁSICOS I i I j. Essa relação de adjacência define um grafo com conjunto de vértices {I 1,...,I k }. Esse é um grafo de intervalos. Faça uma figura do grafo definido pelos intervalos
Leia maisDefinição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.
1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 5: Grafos Conexos. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 5: Grafos Conexos Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
Leia maisAulas 10 e 11 / 18 e 20 de abril
1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar
Leia maisO estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste
O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os
Leia maisGABRIEL BUJOKAS
APLICAÇÕES DE ÁLGEBRA LINEAR À COMBINATÓRIA GABRIEL BUJOKAS (GBUJOKAS@MIT.EDU) A gente vai discutir algumas das aplicações clássicas de álgebra linear à combinatória. Vamos começar relembrando alguns conceitos
Leia maisCapítulo 1. Aula Conectividade Caminhos
Capítulo 1 Aula 7 1.1 Conectividade Muitos problemas podem ser modelados com caminhos formados ao percorrer as arestas dos grafos. Por exemplo, o problema de determinar se uma mensagem pode ser enviada
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 13: Árvores. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 13: Árvores Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
Leia maisCONCEITOS BÁSICOS EM GRAFOS
Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,
Leia maisTeoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Leia maisCiclos hamiltonianos e o problema do caixeiro viajante
Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.
Leia maisA = B, isto é, todo elemento de A é também um elemento de B e todo elemento de B é também um elemento de A, ou usando o item anterior, A B e B A.
Capítulo 1 Números Reais 1.1 Conjuntos Numéricos Um conjunto é uma coleção de elementos. A relação básica entre um objeto e o conjunto é a relação de pertinência: quando um objeto x é um dos elementos
Leia maisEstruturas de Dados Grafos
Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
Leia maisINTRODUÇÃO À TEORIA DOS CONJUNTOS
1 INTRODUÇÃO À TEORIA DOS CONJUNTOS Gil da Costa Marques 1.1 Introdução 1.2 Conceitos básicos 1.3 Subconjuntos e intervalos 1.4 O conjunto dos números reais 1.4.1 A relação de ordem em 1.5 Intervalos 1.5.1
Leia mais14 Coloração de vértices Considere cada um dos grafos abaixo:
14 Coloração de vértices Considere cada um dos grafos abaixo: a) Quantas cores são necessárias para colorir os vértices de um grafo de maneira que dois vértices adjacentes não recebam a mesma cor? b) Qual
Leia maisAula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo
Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464 / PCC174 Departamento de Computação - UFOP Breve Revisão Programação Linear vs Programação Inteira Modelagem
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 16: Grafos Planares Preparado a partir do texto: Rangel, Socorro. Teoria do
Leia maisCones e raios extremos
Cones e raios extremos Marina Andretta ICMC-USP 7 de novembro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 20: Decomposições de Arestas Preparado a partir da ref.: J.M. Aldous, R. Wilson,
Leia maisTeorema 1 - Todo corte de arestas de um grafo conexo G contém pelo menos uma aresta em comum com qualquer árvore geradora de G. Exemplo 2 - Seja T:
12 - Conjuntos de Corte o estudarmos árvores geradoras, nós estávamos interessados em um tipo especial de subgrafo de um grafo conexo: um subgrafo que mantivesse todos os vértices do grafo interligados.
Leia maisSOBRE A COMPLEXIDADE DE COLORAÇÃO MISTA
SOBRE A COMPLEXIDADE DE COLORAÇÃO MISTA Júlio César Araújo Universidade Federal do Ceará - UFC Mestrado e Doutorado em Ciência da Computação ParGO - Paralelismo, Grafos e Otimização juliocesar@lia.ufc.br
Leia maisO Problema da Subseqüência Comum Máxima sem Repetições
Instituto de Matemática e Estatística Universidade de São Paulo Trabalho de Formatura Supervisionado O Problema da Subseqüência Comum Máxima sem Repetições Christian Tjandraatmadja Supervisora: Prof. a
Leia mais04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II
04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.
Leia maisAlgoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3
Algoritmo Aproximado Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas N P- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),
Leia maisNúmero de Ramsey multicolorido em Grafos Multipartidos
Trabalho apresentado no XXXV CNMAC, Natal-RN, 2014. Número de Ramsey multicolorido em Grafos Multipartidos Juliana Sanches Programa de Pós-graduação em Matemática Aplicada - UFRGS 91509-900, Porto Alegre,
Leia maisProgramação Linear - Parte 5
Matemática Industrial - RC/UFG Programação Linear - Parte 5 Prof. Thiago Alves de Queiroz 1/2016 Thiago Queiroz (IMTec) Parte 5 1/2016 1 / 29 Dualidade Os parâmetros de entrada são dados de acordo com
Leia maisNotações e revisão de álgebra linear
Notações e revisão de álgebra linear Marina Andretta ICMC-USP 17 de agosto de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211
Leia maisPlanaridade AULA. ... META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de:
Planaridade AULA META Introduzir o problema da planaridade de grafos. OBJETIVOS Ao final da aula o aluno deverá ser capaz de: Distinguir grafo planar e plano; Determinar o dual de um grafo; Caracterizar
Leia maisO Problema do Multi Corte Mínimo em Digrafos
O em Digrafos Orientador: Professor Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo Trabalho de Conclusão de Curso - 9 O em Digrafos Conteúdo O em Digrafos Problema Dado
Leia maisApontamentos III. Espaços euclidianos. Álgebra Linear aulas teóricas. Lina Oliveira Departamento de Matemática, Instituto Superior Técnico
Apontamentos III Espaços euclidianos Álgebra Linear aulas teóricas 1 o semestre 2017/18 Lina Oliveira Departamento de Matemática, Instituto Superior Técnico Índice Índice i 1 Espaços euclidianos 1 1.1
Leia maisIntrodução à Teoria do Grafos Notas de aula. Socorro Rangel últimas atualizações: (2009), (2012)
Campus de São José do Rio Preto Introdução à Teoria do Grafos Notas de aula Socorro Rangel (socorro@ibilce.unesp.br) últimas atualizações: (2009), (2012) Instituto de Biociências Letras e Ciências Exatas
Leia maisPesquisa Operacional para o Desenvolvimento Vol. 9, n. 3, p , 2017 ISSN TUTORIAL CONVIDADO. Lehilton L. C.
Pesquisa Operacional para o Desenvolvimento Vol. 9, n. 3, p. 109-118, 2017 ISSN 1984-3534 TUTORIAL CONVIDADO UMA BREVE INTRODUÇÃO A ALGORITMOS DE APROXIMAÇÃO Lehilton L. C. Pedrosa a a Instituto de Computação
Leia mais1 Introdução Motivação
1 Introdução 1.1. Motivação A programação linear, ao menos na modelagem matemática que se conhece hoje, foi desenvolvida durante a segunda grande guerra quando foi utilizada no planejamento e execução
Leia maisTeoria de dualidade. Marina Andretta ICMC-USP. 19 de outubro de 2016
Teoria de dualidade Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização
Leia maisTeoria dos Grafos. Conjuntos de Corte e Conectividade
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Conjuntos de
Leia maisTeoremas de dualidade
Teoremas de dualidade Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização
Leia maisTécnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 41
4 Resolução de IPs A teoria de programação linear foi proposta na década de 40 e logo foi observado que seria desejável a resolução de problemas que apresentavam variáveis do tipo inteiro [37]. Isto levou
Leia maisO grau de saída d + (v) de um vértice v é o número de arcos que tem
Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o
Leia maisBCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Programação Dinâmica 2 Na aula de hoje Algoritmos Gulosos. 3 Problemas Combinatórios
Leia maisProblema do Caminho Mínimo
Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.
Leia maisCI065 CI755 Algoritmos e Teoria dos Grafos
CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 10 de junho de 2018 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 18: Coloração de Arestas Preparado a partir do texto: Rangel, Socorro. Teoria
Leia maisLista de Exercícios Programação Inteira. x 2 0 e inteiros.
Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +
Leia maisConexão de terminais com limitação de roteadores: complexidade e relação com fluxos e caminhos disjuntos
Conexão de terminais com limitação de roteadores: complexidade e relação com fluxos e caminhos disjuntos Alexsander Andrade de Melo 1 Orientadores: Celina Miraglia Herrera de Figueiredo 1, Uéverton dos
Leia maisGrafos: componentes fortemente conexos, árvores geradoras mínimas
Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente
Leia maisCapítulo 1 Conceitos e Resultados Básicos
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 1 Conceitos e Resultados Básicos Um grafo é um par ordenado (V, A), onde V e A são conjuntos disjuntos, e cada elemento
Leia maisÁrvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Leia maisTeorema de Hajós para Coloração Ponderada
Author manuscript, published in "XXXIX Simpósio Brasileiro de Pesquisa Operacional, SBPO 2007. (2007) 2631-2635" Teorema de Hajós para Coloração Ponderada Júlio César Silva Araújo Universidade Federal
Leia maisLargura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos
Largura em Árvore de Grafos Planares Livres de Ciclos Pares Induzidos Aline Alves da Silva Departamento de Computação Universidade Federal do Ceará (UFC) Campus do Pici, Bloco 910 Fortaleza, CE Brasil
Leia maisMatemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação
Aula 06: Teoria dos Grafos Tópico 01: Grafos e suas Representações Nesta aula nós passamos a estudar um outro assunto, mas que também tem muita aplicação na vida prática, a Teoria dos Grafos. Para esta
Leia maisCM Funções. Notas de Aula PSE Departamento de Matemática - UFPR
1. CM 128 - Funções Notas de Aula PSE 2017 Departamento de Matemática - UFPR Sumário 1 Conjuntos 4 1.1 Aula 1 - Operações entre conjuntos................................... 4 1.1.1 Conjuntos.............................................
Leia maisMatemática I. 1 Propriedades dos números reais
Matemática I 1 Propriedades dos números reais O conjunto R dos números reais satisfaz algumas propriedades fundamentais: dados quaisquer x, y R, estão definidos a soma x + y e produto xy e tem-se 1 x +
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
Leia maisTeoria dos Grafos AULA 2
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br AULA 2 Subgrafos, Operações com Grafos Preparado a partir
Leia maisAnálise de Algoritmos
Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Matroides e o método guloso U: conjunto finito arbitrário. C: família
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia mais