Enquanto eu examinava o material sobre a abordagem gananciosa, soube que um conhecimento sobre matróides (greedoids) me ajudaria a abordar o problema adequadamente. Depois de ler sobre os matróides, entendi o que são os matróides. Mas como você usa o conceito de um matróide para resolver um determinado problema de otimização?
Veja, por exemplo, o problema de seleção de atividades . Quais são as etapas para usar a teoria matróide para resolver o problema?
algorithms
graph-theory
greedy-algorithms
matroids
Impostor
fonte
fonte
Respostas:
A conexão é que, se você puder representar a estrutura subjacente ao seu problema de otimização como matróide, poderá usar o algoritmo ganancioso canônico para otimizar a soma de qualquer função de peso positivo. Se seu objetivo de otimização se encaixa nesse paradigma, você pode resolver seu problema com a abordagem gananciosa.
Exemplo
Considere o problema mínimo da árvore de extensão com pesos de borda positivos¹. Mostraremos que existe um matróide correspondente a esse problema, o que implica que ele pode ser resolvido com avidez, isto é, pelo algoritmo canônico ganancioso no referido matroide.
Seja um gráfico não direcionado com a função de custo de borda. Então, comG = ( V, E, C ) c : E→R+ ( E, I)
é um matróide. Assim, podemos encontrar o elemento de maximizando a soma dos pesos das arestas . É uma árvore de abrangência mínima. Observe que o algoritmo ganancioso canônico é chamado algoritmo de Kruskal neste contexto por razões históricas.Eu c′( e ) = (maxe ∈ Ec ( e ) ) - c ( e )
Provas
Para mostrar: é um matróide. Temos que verificar três propriedades :( E, I)
Para mostrar: qualquer elemento com peso máximo em é uma árvore de cobertura mínima de . Primeiro de tudo, é claro que tem peso máximo de acordo com ; portanto, por definição de , também tem peso mínimo de acordo com . Agora, tudo o que temos a mostrar é que é uma árvore de abrangência: se não fosse, não seria o máximo no sentido de que ainda poderíamos adicionar arestas (com peso positivo), contradizendo o peso máximo.F∗ Eu G F∗ c′ c′ c
fonte