5 Entwurfsmethoden für Algorithmen
5 Entwurfsmethoden für Algorithmen
5 Entwurfsmethoden für Algorithmen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Ferner gilt ub(z) ≥ ub(x), da z durch EXTRACT_MAX aus Q entnommen wird. Hieraus folgt:<br />
value(z) (2)<br />
= ub(z) ≥ ub(x) (1)<br />
≥ opt(x) ≥ value(y)<br />
Analoges gilt <strong>für</strong> Minimierungsprobleme und unteren Schranken. Hier sind die Bedingungen<br />
(1) und (2) durch<br />
(1’) Für alle Knoten v im Aufzählungsbaum gilt opt(v) ≥ lb(v).<br />
(2’) Für alle Blätter z im Aufzählungsbaum gilt value(z) = lb(z).<br />
zu ersetzen. Die Priority Queue ist als Minimusmheap hinsichtlich der unteren Schranken zu<br />
implementieren.<br />
Das 15er Puzzle<br />
Wir erläutern den Einsatz der LC-Methode <strong>für</strong> das 15er-Puzzle, das wir als Minimierungsproblem<br />
formulieren. Vgl. Beispiel 5.2.1 auf Seite 167. Gegeben ist eine Anfangskonfiguration x0<br />
der 15 Plättchen auf einem 4×4-Spielfeld. Gesucht ist ein kürzester Weg (Folge von Spielzügen<br />
minimaler Länge) von x0 zur sortierten Zielkonfiguration.<br />
Um die LC-Methode anwenden zu können, benötigen wir geeignete Werte opt( ¯x) und zugehörige<br />
(leicht zu berechnende) untere Schranken lb( ¯x) <strong>für</strong> jeden Knoten ¯x im Aufzählungsbaum.<br />
Sei x = 〈x0,...,xn〉 ein Knoten im Aufzählungsbaum. Ist ¯x ein Blatt, d.h. stimmt xn mit der<br />
195