Est-il possible de prouver que, pour un problème donné, aucun algorithme gourmand optimal n'existe?

Réponses:

9

La chose la plus simple à faire serait de configurer l'algorithme gourmand pour le problème, puis de chercher un contre-exemple. Si vous en trouvez un, vous avez votre réponse. Sinon, il existe de nombreuses façons de prouver que la cupidité fonctionne . Il y a bien sûr des problèmes avec cela (par exemple, comment formuler spécifiquement l'algorithme gourmand). Quant à caractériser quels problèmes peuvent et quels problèmes ne peuvent pas être résolus avec avidité, il y a aussi une réponse générale à cela.

En fait, dans leur article "An Exact Characterization of Greedy Structures" ( SIAM J. Discrete Math . 6 , pp. 274-283), Helman, Moret et Shapiro ont donné une description formelle de cela (appelé une intégration matroïde , qui généralise à la fois des matroïdes et des greedoids). Extrait du résumé: «Les auteurs présentent des caractérisations exactes de structures sur lesquelles l'algorithme gourmand produit des solutions optimales.»

(E,F,w)EF2EEFEwFE

  1. (E,F)

  2. (E,F)

  3. (E,F)

En d'autres termes: pour des structures telles que celles-ci (qui incarnent essentiellement le type de structures généralement pensé lorsque vous travaillez avec la cupidité), exactement l'ensemble des plongements matroïdes peut être résolu avec avidité.

La définition d'une intégration matroïde n'est pas si difficile que cela, donc prouver qu'un problème donné est ou non une intégration matroïde est certainement faisable. L' entrée Wikipedia donne la définition assez clairement. (Comprendre la preuve pourquoi ce sont les structures exactes résolubles par la cupidité - c'est une toute autre affaire…)

Si votre problème peut être formulé en termes de sélection à partir d'un système d'ensemble pondéré avec une fonction objectif linéaire, et si vous pouvez montrer qu'il ne s'agit pas d' une intégration matroïde, alors vous avez montré qu'il ne peut pas être résolu avec avidité, même si vous n'avez pas '' t été en mesure de trouver un contre-exemple. (Bien que je soupçonne que trouver un contre-exemple serait un peu plus facile.)

Cette approche n'est pas entièrement sans problèmes, je suppose. Comme vous le dites, l'idée générale de la cupidité est plutôt informelle, et il pourrait bien être possible de la modifier de telle manière que le formalisme des systèmes d'ensemble pondérés linéairement ne s'applique pas.

Magnus Lie Hetland
la source
10

Oui, il y a un tel travail. Allan Borodin et ses co-auteurs ont développé une théorie où ils formalisent la notion de gourmandise et obtiennent des résultats dont les ratios d'approximation peuvent être atteints avec eux. Ils introduisent une classe d'algorithmes prioritaires, qui généralise les algorithmes gourmands. Leur premier travail sur ce sujet est l'article " (Incremental) Priority Algorithms ".

1+ϵ

À ivotron: si vous ne parliez pas de ma première interprétation, je supprimerai cette réponse.

Oleksandr Bondarenko
la source