Aproximações com garantia
Cobertura de vértices, mochila, TSP métrico e cobertura de conjuntos, com execução e provas das garantias.
Na mochila de capacidade 10 com , e , escolher por densidade devolve valor 12, embora dê 18. Uma solução admissível pode ficar longe do ótimo. Para aceitar uma aproximação, precisamos de limitar essa distância para todas as entradas permitidas, não apenas neste exemplo.
Para minimização com custos positivos, um fator garante . Para maximização, garante . O algoritmo tem de produzir sempre uma solução admissível e correr em tempo polinomial. Uma heurística sem prova de limite não possui essa garantia, mesmo quando funciona bem em alguns casos.
Cobertura de vértices
Uma cobertura contém pelo menos um extremo de cada aresta. Escolhe uma aresta ainda não coberta, acrescenta os dois extremos e retira todas as arestas incidentes neles. Repete até não haver arestas.
Se escolhemos na estrela, devolvemos , tamanho 2. O centro sozinho cobre tudo, logo o ótimo vale 1. O fator 2 é atingido nesta instância, mas falta provar que nunca é excedido.
As arestas escolhidas formam um emparelhamento : depois de escolher uma, retiramos todas as que partilham extremos com ela. Qualquer cobertura precisa de um vértice distinto para cada aresta de , logo . Devolvemos exatamente vértices e cobrimos todas as arestas, portanto
Uma passagem pelas arestas, aceitando apenas as que ainda têm ambos os extremos fora da cobertura, implementa a regra em . Escolher o vértice de maior grau é outra heurística e não herda esta prova. Sem arestas, a cobertura vazia é ótima; a desigualdade mantém-se, embora o quociente por não esteja definido.
Escolher o maior grau não prova otimalidade
Liga um vértice c a quatro vértices e liga cada a duas folhas privadas, sem outras arestas. Inicialmente c tem grau 4, cada grau 3 e cada folha grau 1. A heurística de maior grau escolhe obrigatoriamente c. Depois ficam quatro estrelas de duas folhas, levando a escolher os quatro . O resultado tem cinco vértices.
Escolher apenas cobre todas as arestas com quatro. Quatro também é um limite inferior: as quatro arestas entre cada e a sua primeira folha não partilham extremos. Logo o ótimo é quatro, e a heurística perdeu a otimalidade mesmo sem empate na primeira escolha. Este exemplo tem razão ; refuta a promessa de ótimo, mas não refuta sozinho uma garantia de fator 2. Para refutar essa garantia seria necessário um exemplo com razão superior a 2.
Mochila: prefixo e maior objeto
Assume pesos positivos e valores não negativos. Descarta objetos que não cabem sozinhos. Ordena os restantes por densidade decrescente e leva o prefixo até ao primeiro objeto que não cabe. Chama ao valor desse prefixo e ao maior valor de um objeto individual. Devolve a seleção com maior valor entre ambos, sem juntar as duas seleções.
| Passo, com capacidade 10 | Capacidade restante | Valor |
|---|---|---|
| Levar , densidade 2 | 4 | |
| não cabe, densidade 1,8 | 4 | Parar o prefixo |
| Melhor objeto individual | Peso 6 | com |
O resultado é 12. O ótimo é 18 com , por isso esta execução satisfaz .
Para provar a garantia, permite frações. A solução fracionária ótima contém o prefixo e uma fração do primeiro objeto que não cabe. Como essa relaxação inclui todas as soluções 0-1,
Pelo menos um entre e vale metade da soma: . Ambos correspondem a seleções válidas. Se todos os objetos cabem, o prefixo já é ótimo; se nenhum é elegível, o ótimo é zero. A ordenação custa .
A prova usa o prefixo antes do primeiro objeto omitido. Continuar a experimentar os seguintes pode melhorar o resultado, mas o limite fracionário continua a referir-se àquele prefixo, não a uma seleção arbitrária por densidade.
TSP métrico e atalhos
Assume um grafo completo não dirigido, pesos não negativos e desigualdade triangular . Constrói uma MST, duplica as suas arestas e percorre um circuito euleriano. Conserva a primeira visita a cada vértice e regressa ao início, usando ligações diretas para saltar visitas repetidas.
No quadrado de lado 1, fixa a MST e o passeio :
O passeio duplicado custa 6. A primeira visita dá a ordem , e o circuito custa 4. O regresso foi substituído por , custo 1 em vez de 3.
Retirar uma aresta de um circuito ótimo deixa uma árvore abrangente. Como os pesos são não negativos, . Duplicar dá custo . Cada atalho não aumenta o custo, pela desigualdade triangular aplicada repetidamente ao trecho removido. Assim o circuito final custa no máximo .
O custo exato depende da MST e da ordem de visita. No mesmo quadrado, a MST pode produzir a ordem ; o circuito custa , por atravessar as diagonais e . Continua dentro da garantia. O algoritmo não promete encontrar o perímetro em qualquer desempate. Construir a MST domina o custo, por exemplo com matriz; o passeio custa .
TSP geral
Sem a hipótese métrica, não há aproximação de fator constante em tempo polinomial, a menos que . Dado um grafo com vértices, completa-o atribuindo peso 1 às arestas existentes e às restantes.
Se há ciclo hamiltoniano original, o ótimo novo é , e a aproximação deve devolver custo no máximo . Se não há, qualquer circuito usa uma aresta nova e custa pelo menos , acima daquele limiar. Comparar a saída com decidiria HAM-CYCLE. A construção tem arestas e custos de representação polinomial para fixo. São esses dois casos separados que tornam a redução útil.
Tornar os pesos métricos pode perder a razão
Num grafo completo não dirigido com pesos não negativos, seja o maior peso. Definir para vértices distintos torna válidas as desigualdades triangulares: , enquanto para três vértices distintos. Mantém .
Todos os circuitos hamiltonianos têm arestas. O seu custo aumenta exatamente , por isso a transformação conserva a ordem dos circuitos e o conjunto dos ótimos. Isso chega para transportar uma solução exata. Para uma aproximação de fator 2, a garantia nova apenas diz
Retirar a constante dá , não . Se for grande relativamente ao ótimo original, o termo extra pode dominar. Preservar os ótimos não é suficiente para preservar uma razão de aproximação. Não há contradição com a impossibilidade de fator constante no TSP geral.
Cobertura de conjuntos
Dado um universo e uma família cuja união cobre , queremos escolher o menor número de conjuntos que cubra todos os elementos. Cada conjunto tem custo 1. Em cada passo, o guloso escolhe o que contém mais elementos ainda por cobrir.
Com , , , e :
| Escolha | Novos elementos | Elementos que faltam | Cobrança por novo elemento |
|---|---|---|---|
| 1, 2, 3 | 4, 5, 6 | ||
| 4, 5 | 6 | ||
| 6 | Nenhum | 1 |
As cobranças somam , o número de conjuntos escolhidos. Aqui, é obrigatório para cobrir 2 e 3, para cobrir 5 e para cobrir 6. Três é, portanto, ótimo nesta instância.
Em geral, seja o maior tamanho de um conjunto. Uma escolha com elementos novos cobra a cada um. Considera um conjunto de uma cobertura ótima: quando ainda faltam dos seus elementos, o guloso poderia escolher , pelo que escolhe algum conjunto com pelo menos novos. A cobrança de cada elemento de retirado nesse passo é no máximo .
Ordenando os elementos de pela altura em que são cobertos, a cobrança total fica limitada por
Somar sobre os conjuntos de uma cobertura ótima conta cada elemento pelo menos uma vez. Logo o custo guloso é no máximo . A garantia é logarítmica; ter encontrado um ótimo no exemplo não a transforma em otimalidade geral.
Uma implementação direta pode recalcular ganhos percorrendo todas as pertenças em cada passo. Se há pertenças e conjuntos, isso custa , um limite polinomial. Se faltam elementos e o maior ganho é zero, a família não cobre o universo e não existe solução. Para universo vazio, devolve a família vazia.
Exercícios
Provar um resultado sem saber o ótimo
O algoritmo dos dois extremos escolheu quatro arestas sem extremos partilhados e devolveu oito vértices. Que limite inferior podes dar ao ótimo e que fator garante isso?
Pista
Uma cobertura tem de tocar cada uma das quatro arestas.
Mais uma pista
Como as arestas são disjuntas nos extremos, a mesma escolha não cobre duas delas.
Solução
Qualquer cobertura precisa de pelo menos quatro vértices, um por cada aresta do emparelhamento escolhido. O resultado tem oito, portanto 8 ≤ 2OPT. O algoritmo é uma aproximação de fator 2 nesta análise. O ótimo pode ser maior que quatro; o argumento não o determina exatamente. A admissibilidade vem de remover todas as arestas incidentes aos vértices escolhidos até não restar nenhuma.
Confere a tua resposta:
- Obtive OPT≥4.
- Concluí fator no máximo 2.
- Não confundi limite inferior com valor exato.
Erros frequentes
Oito vértices não significa erro absoluto de quatro, pois não conhecemos o ótimo. A prova não se aplica a escolher só um extremo arbitrário de cada aresta.
Quando o maior objeto corrige o prefixo
Capacidade 10, objetos A=(1,1) e B=(10,9), em pares peso,valor. Executa o prefixo por densidade e compara com o maior objeto individual. Qual é o resultado da aproximação e o ótimo? Generaliza para capacidade W maior que 2, A=(1,1) e B=(W,W-1): o prefixo sozinho tem fator constante?
Solução
As densidades são 1 e 0,9. O prefixo leva A, deixando capacidade 9; B não cabe. P=1, M=9 com B, e devolvemos 9. Os candidatos válidos são vazio, A e B; A+B excede a capacidade. O ótimo é 9.
Na família geral, A continua mais denso porque . O prefixo vale 1 e o ótimo W-1. A razão OPT/P=W-1 cresce sem limite, pelo que o prefixo isolado não tem fator constante. Escolher o melhor entre prefixo e maior objeto evita essa falha; a garantia geral continua a exigir a prova fracionária.
Confere a tua resposta:
- Obtive P=1, M=9 e resultado 9.
- Justifiquei o ótimo por enumeração.
- Mostrei a ausência de fator constante para o prefixo isolado.
Um passeio e a sua ordem de atalhos
A,B,C,D são vértices consecutivos de um quadrado de lado 1, com distâncias euclidianas. A MST usa AB,BC,CD e o passeio duplicado é A,B,C,D,C,B,A. Conserva as primeiras visitas e calcula o circuito final. Compara com a ordem A,B,D,C produzida por outra MST. Ambos têm de custar o perímetro? Justifica o fator 2.
Pista
Solução
O passeio tem seis lados, custo 6. As primeiras visitas dão A,B,C,D; fechando em A, o custo é 4. A ordem A,B,D,C usa dois lados e duas diagonais, custo . O desempate pode mudar o custo, sem obrigar ao perímetro.
O ótimo do quadrado é 4: o perímetro atinge-o e cada uma das quatro arestas de qualquer circuito custa pelo menos 1. Ambos os resultados ficam abaixo de 8. Em geral, a MST custa no máximo OPT, duplicar custa duas vezes a MST e atalhar não aumenta o custo pela desigualdade triangular.
Confere a tua resposta:
- Obtive 6 e 4 para a ordem dada.
- Calculei 2+2√2 na outra ordem.
- Justifiquei a garantia pela desigualdade triangular.
Uma escolha de maior ganho que perde o ótimo
O universo é e os únicos conjuntos são , e , todos de custo 1. Executa o guloso do maior ganho, desempatando por índice menor. Dá as cobranças por elemento, encontra o ótimo e compara o quociente com .
Solução
S1 tem ganho 4 e os outros ganho 3, por isso é escolhido primeiro. Restam 5 e 6. S2 e S3 têm ganho 1; o desempate escolhe S2, depois S3. O resultado usa três conjuntos.
Os elementos 1,2,3,4 recebem cobrança 1/4 cada; 5 e 6 recebem 1 cada. A soma é 3, o custo guloso. S2 e S3 cobrem juntos todo U, e nenhum conjunto sozinho cobre tudo: OPT=2.
A razão é , abaixo de . O exemplo prova que o guloso pode falhar a otimalidade. A prova por cobranças da lição é que garante para todas as instâncias.
Confere a tua resposta:
- Obtive três conjuntos pelo guloso.
- Dei a cobertura ótima S2,S3 de tamanho 2.
- Calculei cobranças e distingui exemplo de garantia geral.
Preservar o ótimo sem preservar o fator
Um TSP completo não dirigido tem quatro cidades, pesos não negativos e peso máximo M=100. O custo ótimo original é 6. Somamos M a cada aresta entre cidades distintas e mantemos zero na diagonal. Prova que os novos pesos satisfazem a desigualdade triangular e que os circuitos ótimos são os mesmos. Uma aproximação de fator 2 na instância nova devolve um circuito: que limite consegues garantir ao retirar a soma adicionada? Isso garante fator 2 na instância original?
Solução
Para três cidades distintas, o peso direto novo é no máximo 200 e a soma dos dois pesos novos é pelo menos 200. As desigualdades com extremos repetidos também valem pela diagonal zero e não negatividade. Portanto os novos pesos são métricos.
Cada circuito tem quatro arestas, logo ganha 400. A ordem dos custos e os ótimos não mudam. O ótimo novo vale 406. O fator 2 permite uma saída de custo até 812; ao retirar 400, só recuperamos o limite . A garantia pretendida na instância original seria , que não decorre daquele limite.
A análise apenas fornece um limite, não afirma que haja aqui um circuito de custo 412. Conservar o conjunto dos ótimos permite transportar uma resposta exata, mas a constante adicionada altera quocientes de custos.
Confere a tua resposta:
- Mostrei desigualdade triangular depois de somar M.
- Expliquei a soma nM igual em todos os circuitos.
- Recuperei só o limite 412 para o custo original, sem concluir fator 2.