A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Exercícios de Algoritmos Aproximativos

Apresentações semelhantes


Apresentação em tema: "Exercícios de Algoritmos Aproximativos"— Transcrição da apresentação:

1 Exercícios de Algoritmos Aproximativos

2 Exercício 1 1/2 – \epsilon;1/2+2 \epsilon; ½ - \epsilon
Sol ótima=2. Sol algoritmo =3

3 Exercício 1 b) Assuma que o algoritmo utiliza mais de um caminhão. Sejam T(1),...,T(m) os caminhões utilizados pelo algoritmo, do primeiro para o último. Um limite inferior (w(1)+...w(n))/K Note que não podem haver dois caminhões consecutivos com carga menor que K/2, caso contrário toda carga deveria estar no primeiro deles. Seja p = m div 2. Somando a carga do caminão 2i-1 com a do caminhão 2i, para i=1,...,p concluímos que a carga total é de no mínimo K.p. Logo, pelo menos p+1 caminhões são necessários, o que garante uma aproximação de 2.

4 Exercício 2 Este problema é um caso particular do SET COVER apresentado em sala de aula. De fato, U={p(1),...,p(n)} e S={S(1),...,S(n)}, onde Si são as proteínas que distam no máximo  de p(i).

5 Exercício 3 a) B=100 a(1)=1, a(2)=100
b) Ordene os inteiros do maior para o menor. Execute o algoritmo proposto no item (a).

6 Exercício 3 Análise Limite superior: min{B,a(1)+...+a(n)}
i) a(1)+...+a(n)<=B => algoritmo obtém ótimo ii) a(1)+...+a(n)>B e existe inteiro maior que B/2 => O algoritmo retorna pelo menos B/2 iii) a(1)+...+a(n)>B e todo inteiro é menor que B/2. Considere o primeiro inteiro j que não é incluído em S. Como j<=B/2, então neste ponto S já acumulou pelo menos B/2

7 Exercício 4 Defina X(i)=1 se a(i) pertence a solução e x(i)=0, caso contrário Minimize w(1)x(1) w(n)x(n) s.a. Seja x* a solução ótima da Programação Linear. Defina o Hitting Set H={i | x*(i)>=1/b}

8 Exercício 5 Seja i a última máquina a terminar; j o último job processado em i e L(k) o tempo gasto pela máquina k Temos que L(i)-t(i) <= L(k), para todo k. Somando as desigualdades temos que L(i) <= (L(1)+...+L(m))/ m + t(i) Como t(i)<=50 e (L(1)+...+L(m))/ m >=300, temos que L(i) não excede em 20% a carga média

9 Exercício 6 Estratégia Ordene os jobs em ordem decrescentes de tempos.
Obtenha o escalonamento via List Scheduling considerando que todas as máquinas tem a mesma velocidade

10 Exercício 6 Análise Sabe-se que o algoritmo acima esta a um fator de 3/2 do ótimo quando todas as máquinas, de fato, tem a mesma velocidade. Seja OPT o makespan ótimo de nossa instância Seja OPTfast o makespan ótimo para uma instância com os mesmos jobs mas em que as máquinas lentas são substituídas por máquinas rápidas. Claramente, OPT >= OPTfast. A solução obtida pelo nosso algoritmo esta a um fator de 3 de OPTfast , 3/2 da aproximação x 2 devido ao fato que algumas máquinas são lentas. Portanto, esta a um fator de 3 de OPT.

11 Exercício 7 Algoritmo Considere um algoritmo que atribui a i-ésima pessoa ao anúncio com menor valor agregado no momento

12 Exercício 7 Análise Defina V=v(1)+...+v(n)
Temos que V/m é um limite superior Assuma (por contradição) que exista um anúncio i com valor menor que V/(2m) ao término do algoritmo Seja j um anúncio com valor maior que V/m. Este tem que exisitir (princípio da casa dos pombos) Pela hipótese do enunciado, j esta associado a pelo menos duas pessoas. Note que a soma dos valores de todas as pessoas associadas a j, exceto a última, é maior que V/2m. Portanto, a última pessoa associada a j deveria ter sido associada a i, o que contradiz o funcionamento do algoritmo.

13 Exercício 9 Estratégia Encontrar um subconjunto maximal M de T.
Análise Seja M* a solução ótima e seja t uma tripla pertencente a M*. Ou t pertence a M ou t tem interseção com alguma tripla de M. Portanto, o número máximo de triplas em M*-M é 3|M|. Isso garante uma aproximação de 1/3.

14 Exercício 10 a) Seja v pertencente a T Caso I) v pertence a S. Ok
Caso ii) v não pertence a S. O nó v não foi escolhido porque foi removido devido a um vizinho v’ em S com peso maior que v.

15 Exercício 10 b) Seja T* o conjunto independente de maior peso
A primeira desigualdade vale porque cada vértice de T*-S pode ser associado a um vértice vizinho de S-T* de peso maior. Entretanto, cada vértice de S-T* esta associado no máximo a 4 vizinhos


Carregar ppt "Exercícios de Algoritmos Aproximativos"

Apresentações semelhantes


Anúncios Google