Na verdade, a descrição geral e completa de um problema que pode ser resolvido por um algoritmo ganancioso é uma incorporação matróide , que generaliza tanto o conceito de um matróide quanto o de um greedoide . A resposta é não - um problema solucionável por um algoritmo ganancioso não precisa ter uma estrutura matróide, mas terá a estrutura de uma incorporação matróide (que é, infelizmente, muito mais complicada).
Um modelo mental para isso pode ser o número mínimo de árvores abrangidas. A estrutura usada pelo algoritmo de Kruskal é matróide, mas a estrutura usada pelo algoritmo de Prim (que requer um nó inicial) não é. (É, no entanto, um greedoide - e uma incorporação matróide.)
(S,C)SCS f:2S→RS
O algoritmo ganancioso, definido em termos desse formalismo, é bastante simples: você começa com o conjunto vazio e adiciona sucessivamente um único elemento até chegar a uma base, sempre garantindo que (i) seu conjunto seja viável a cada etapa e ( ii) o elemento que você adiciona maximiza a função objetivo do resultado resultante, wrt. todos os elementos alternativos que você poderia ter adicionado. (Ou seja, conceitualmente, você tenta adicionar todas as alternativas possíveis e escolhe a que produz o maior valor objetivo.)
Talvez você possa argumentar que pode haver outras formas de algoritmo ganancioso, mas existem vários livros sobre algoritmos e otimização combinatória que descrevem esse algoritmo baseado em sistema de conjunto como o algoritmo ganancioso. Isso não impede que você descreva algo que não se encaixa, mas ainda pode ser chamado de ganancioso, suponho. (Ainda assim, isso faz cover qualquer coisa que poderia potencialmente ter uma estrutura matróides, por exemplo, embora seja muito mais geral.)
O que Helman et al. o que eles descrevem quando esse algoritmo funcionará. Mais especificamente:
Eles mostram que, para funções objetivas lineares (onde o valor objetivo é a soma dos pesos dos elementos), o algoritmo ganancioso funcionará exatamente na estrutura que eles definem como uma incorporação matróide;
Eles fornecem uma caracterização semelhante para os objetivos de gargalo (onde o valor objetivo de um conjunto é igual ao mínimo sobre os pesos dos elementos individuais); e
Eles fornecem uma caracterização exata de quais funções objetivas (além das lineares) são otimizadas pelo algoritmo ganancioso em aplicações matróides.