Algoritmos gulosos
Provas por troca para atividades, mochila fracionária, ordem de serviço e códigos de Huffman.
Regra e prova
Fixa escolha sem desfazer. Prova que algum ótimo admite essa escolha e que o resto conserva a estrutura. Um exemplo correto não prova a regra; um contraexemplo refuta-a.
Atividades e serviço
- Atividades: ordena por fim crescente; aceita se . Custo , ou se ordenado.
- Trocar primeira de ótimo pela de fim mais cedo conserva compatibilidade.
- Início mais cedo e duração mais curta falham. Com valores por atividade, é outro problema.
- Servidor: todos disponíveis, tempos ; serve por duração crescente. Trocar adjacentes com reduz soma em . Total até terminar todos continua .
Blocos contíguos
Caixas , sem reordenar nem dividir. Leva maior prefixo que cabe; abre outro quando próxima não cabe. Custo .
Fronteira gulosa após camiões, por indução com sufixo de peso positivo. Sem ordem fixa, a prova cai.
Mochila e trocos
- Fracionária: , ; ordena por e enche, com fração do último. Troca de peso para maior densidade nunca reduz valor. .
- 0-1: troca proibida. Com e , densidade dá 12 e dá 18.
- exceções: enumera subconjuntos excecionais; completa regulares por valor (peso igual) ou por peso (valor igual). Para fixo, polinomial sem tabela em .
- Trocos: maior que cabe só é ótimo em sistema canónico ilimitado. Com 1,3,4 e alvo 6, dá em vez de . Stock finito pode invalidar regra mesmo em canónico.
Huffman
Símbolos nas folhas; custo .
- Heap com frequências.
- Retira dois mínimos, cria pai com soma, reinsere.
- Repete até uma raiz.
Fusões , , ; custo . Existe ótimo com dois mínimos como irmãos mais profundos; contrair reduz sem perder otimalidade. Heap dá . Empates mudam códigos sem mudar custo. Um símbolo exige convenção explícita no formato.