Kann man beweisen, dass es für ein bestimmtes Problem keine optimalen Greedy-Algorithmen gibt?


Antworten:


9

Am einfachsten wäre es, den Greedy-Algorithmus für das Problem einzurichten und dann nach einem Gegenbeispiel zu suchen. Wenn Sie eine finden, haben Sie Ihre Antwort. Ansonsten gibt es viele Möglichkeiten zu beweisen, dass Gier funktioniert . Natürlich gibt es dabei einige Probleme (z. B. wie man den Greedy-Algorithmus spezifisch formuliert). Auch für die Charakterisierung, welche Probleme gierig gelöst werden können und welche nicht, gibt es eine allgemeine Antwort.

Tatsächlich haben Helman, Moret und Shapiro in ihrer Arbeit „Eine genaue Charakterisierung gieriger Strukturen“ ( SIAM J. Discrete Math . 6 , S. 274-283) genau dies formal beschrieben ( Matroid-Einbettung genannt , die verallgemeinert) sowohl Matroiden als auch Greedoiden). Aus der Zusammenfassung: „Die Autoren präsentieren genaue Charakterisierungen von Strukturen, auf denen der Greedy-Algorithmus optimale Lösungen liefert.“

(E,F,w)EF2EEFEwFE

  1. (E,F)

  2. (E,F)

  3. (E,F)

Mit anderen Worten: Für Strukturen wie diese (die im Grunde die Art von Strukturen verkörpern, an die normalerweise bei der Arbeit mit Gier gedacht wird) kann genau der Satz von Matroid-Einbettungen gierig gelöst werden.

Die Definition einer Matroid-Einbettung ist nicht allzu schwierig, daher ist es durchaus möglich zu beweisen, dass ein bestimmtes Problem eine Matroid-Einbettung ist oder nicht. Der Wikipedia-Eintrag gibt die Definition ganz klar. (Den Beweis verstehen, warum dies genau die Strukturen sind, die durch Gier lösbar sind - das ist eine ganz andere Sache…)

Wenn Ihr Problem in Bezug auf die Auswahl aus einem gewichteten Mengen-System mit einer linearen Zielfunktion formuliert werden kann und Sie zeigen können, dass es sich nicht um eine Matroid-Einbettung handelt, haben Sie gezeigt, dass es nicht gierig gelöst werden kann, selbst wenn Sie es nicht getan haben. ' Ich konnte kein Gegenbeispiel finden. (Obwohl ich vermute, dass es viel einfacher wäre, ein Gegenbeispiel zu finden.)

Dieser Ansatz ist wohl nicht ganz ohne Probleme. Wie Sie sagen, ist die allgemeine Idee der Gier eher informell, und es könnte durchaus möglich sein, sie so zu optimieren, dass der Formalismus linear gewichteter Mengen-Systeme nicht gilt.


10

Ja, es gibt solche Arbeit. Allan Borodin mit Mitautoren entwickelte eine Theorie, in der sie den Begriff der Gier formalisieren und Ergebnisse erhalten, mit denen Annäherungsverhältnisse erreicht werden können. Sie führen eine Klasse von Prioritätsalgorithmen ein, die gierige Algorithmen verallgemeinern. Ihre erste Arbeit zu diesem Thema ist das Papier " (Inkrementelle) Prioritätsalgorithmen ".

1+ϵ

Zu ivotron: Wenn Sie nicht meine erste Interpretation gemeint haben, werde ich diese Antwort löschen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.