Aproximações com garantia

Cobertura de vértices, mochila, TSP métrico e cobertura de conjuntos, com execução e provas das garantias.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Na mochila de capacidade 10 com A=(6,12)A=(6,12), B=(5,9)B=(5,9) e C=(5,9)C=(5,9), escolher por densidade devolve valor 12, embora B+CB+C 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 ρ≥1\rho\ge1 garante C≤ρOPTC\le\rho OPT. Para maximização, garante C≥OPT/ρC\ge OPT/\rho. 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 caca na estrela, devolvemos {c,a}\{c,a\}, tamanho 2. O centro cc 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 MM: depois de escolher uma, retiramos todas as que partilham extremos com ela. Qualquer cobertura precisa de um vértice distinto para cada aresta de MM, logo OPT≥∣M∣OPT\ge |M|. Devolvemos exatamente 2∣M∣2|M| vértices e cobrimos todas as arestas, portanto

C=2∣M∣≤2OPT.C=2|M|\le2OPT.

Uma passagem pelas arestas, aceitando apenas as que ainda têm ambos os extremos fora da cobertura, implementa a regra em O(n+m)O(n+m). 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 OPT=0OPT=0 não esteja definido.

Escolher o maior grau não prova otimalidade

Liga um vértice c a quatro vértices a1,a2,a3,a4a_1,a_2,a_3,a_4 e liga cada aia_i a duas folhas privadas, sem outras arestas. Inicialmente c tem grau 4, cada aia_i 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 aia_i. O resultado tem cinco vértices.

Escolher apenas a1,a2,a3,a4a_1,a_2,a_3,a_4 cobre todas as arestas com quatro. Quatro também é um limite inferior: as quatro arestas entre cada aia_i 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 5/45/4; 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 jj que não cabe. Chama PP ao valor desse prefixo e MM 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 10Capacidade restanteValor
Levar A=(6,12)A=(6,12), densidade 24P=12P=12
B=(5,9)B=(5,9) não cabe, densidade 1,84Parar o prefixo
Melhor objeto individualPeso 6M=12M=12 com AA

O resultado é 12. O ótimo é 18 com B+CB+C, por isso esta execução satisfaz 12≥18/212\ge18/2.

Para provar a garantia, permite frações. A solução fracionária ótima contém o prefixo e uma fração α≤1\alpha\le1 do primeiro objeto que não cabe. Como essa relaxação inclui todas as soluções 0-1,

OPT≤P+αvj≤P+vj≤P+M.OPT\le P+\alpha v_j\le P+v_j\le P+M.

Pelo menos um entre PP e MM vale metade da soma: max⁡(P,M)≥(P+M)/2≥OPT/2\max(P,M)\ge(P+M)/2\ge OPT/2. 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 O(nlog⁡n)O(n\log n).

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 c(u,w)≤c(u,v)+c(v,w)c(u,w)\le c(u,v)+c(v,w). 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 AB,BC,CDAB,BC,CD e o passeio A,B,C,D,C,B,AA,B,C,D,C,B,A:

O passeio duplicado custa 6. A primeira visita dá a ordem A,B,C,DA,B,C,D, e o circuito A,B,C,D,AA,B,C,D,A custa 4. O regresso D,C,B,AD,C,B,A foi substituído por D,AD,A, 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, c(MST)≤OPTc(MST)\le OPT. Duplicar dá custo 2c(MST)≤2OPT2c(MST)\le2OPT. Cada atalho não aumenta o custo, pela desigualdade triangular aplicada repetidamente ao trecho removido. Assim o circuito final custa no máximo 2OPT2OPT.

O custo exato depende da MST e da ordem de visita. No mesmo quadrado, a MST AB,AD,DCAB,AD,DC pode produzir a ordem A,B,D,CA,B,D,C; o circuito custa 2+222+2\sqrt2, por atravessar as diagonais BDBD e CACA. Continua dentro da garantia. O algoritmo não promete encontrar o perímetro em qualquer desempate. Construir a MST domina o custo, por exemplo O(n2)O(n^2) com matriz; o passeio custa O(n)O(n).

TSP geral

Sem a hipótese métrica, não há aproximação de fator constante ρ≥1\rho\ge1 em tempo polinomial, a menos que P=NPP=NP. Dado um grafo com nn vértices, completa-o atribuindo peso 1 às arestas existentes e ρn+1\rho n+1 às restantes.

Se há ciclo hamiltoniano original, o ótimo novo é nn, e a aproximação deve devolver custo no máximo ρn\rho n. Se não há, qualquer circuito usa uma aresta nova e custa pelo menos (ρn+1)+(n−1)=ρn+n(\rho n+1)+(n-1)=\rho n+n, acima daquele limiar. Comparar a saída com ρn\rho n decidiria HAM-CYCLE. A construção tem O(n2)O(n^2) arestas e custos de representação polinomial para ρ\rho 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 MM o maior peso. Definir c′(u,v)=c(u,v)+Mc'(u,v)=c(u,v)+M para vértices distintos torna válidas as desigualdades triangulares: c′(u,w)≤2Mc'(u,w)\le2M, enquanto c′(u,v)+c′(v,w)≥2Mc'(u,v)+c'(v,w)\ge2M para três vértices distintos. Mantém c′(u,u)=0c'(u,u)=0.

Todos os circuitos hamiltonianos têm nn arestas. O seu custo aumenta exatamente nMnM, 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

C+nM≤2(OPT+nM).C+nM\le2(OPT+nM).

Retirar a constante dá C≤2OPT+nMC\le2OPT+nM, não C≤2OPTC\le2OPT. Se MM 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 UU e uma família cuja união cobre UU, 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 U={1,2,3,4,5,6}U=\{1,2,3,4,5,6\}, S1={1,2,3}S_1=\{1,2,3\}, S2={4,5}S_2=\{4,5\}, S3={6}S_3=\{6\} e S4={1,4}S_4=\{1,4\}:

EscolhaNovos elementosElementos que faltamCobrança por novo elemento
S1S_11, 2, 34, 5, 61/31/3
S2S_24, 561/21/2
S3S_36Nenhum1

As cobranças somam 3(1/3)+2(1/2)+1=33(1/3)+2(1/2)+1=3, o número de conjuntos escolhidos. Aqui, S1S_1 é obrigatório para cobrir 2 e 3, S2S_2 para cobrir 5 e S3S_3 para cobrir 6. Três é, portanto, ótimo nesta instância.

Em geral, seja d≥1d\ge1 o maior tamanho de um conjunto. Uma escolha com rr elementos novos cobra 1/r1/r a cada um. Considera um conjunto SS de uma cobertura ótima: quando ainda faltam kk dos seus elementos, o guloso poderia escolher SS, pelo que escolhe algum conjunto com pelo menos kk novos. A cobrança de cada elemento de SS retirado nesse passo é no máximo 1/k1/k.

Ordenando os elementos de SS pela altura em que são cobertos, a cobrança total fica limitada por

H∣S∣=1+12+⋯+1∣S∣≤Hd≤1+ln⁡d.H_{|S|}=1+\frac12+\cdots+\frac1{|S|}\le H_d\le1+\ln d.

Somar sobre os conjuntos de uma cobertura ótima conta cada elemento pelo menos uma vez. Logo o custo guloso é no máximo HdOPTH_dOPT. 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á II pertenças e qq conjuntos, isso custa O(∣U∣(I+q))O(|U|(I+q)), 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.

Voltar à explicação
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 1>(W−1)/W1>(W-1)/W. 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.
Voltar à explicação
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
Escreve as quatro ligações depois de retirar as visitas repetidas.
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 2+22≈4,8282+2\sqrt2\approx4{,}828. 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.
Voltar à explicação
Uma escolha de maior ganho que perde o ótimo

O universo é U={1,2,3,4,5,6}U=\{1,2,3,4,5,6\} e os únicos conjuntos são S1={1,2,3,4}S_1=\{1,2,3,4\}, S2={1,2,5}S_2=\{1,2,5\} e S3={3,4,6}S_3=\{3,4,6\}, 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 H4H_4.

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 é 3/23/2, abaixo de H4=1+1/2+1/3+1/4=25/12H_4=1+1/2+1/3+1/4=25/12. O exemplo prova que o guloso pode falhar a otimalidade. A prova por cobranças da lição é que garante HdH_d 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.
Voltar à explicação
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 C≤412C\le412. A garantia pretendida na instância original seria C≤12C\le12, 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.
Voltar à explicação

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.