21.12.2012 Aufrufe

Klassifikation von Mustern

Klassifikation von Mustern

Klassifikation von Mustern

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

1.6. OPTIMIERUNGSVERFAHREN 41<br />

gegeben: Zustandsmenge S = {s0, s1, s2, . . . , si, . . .},<br />

Kostenfunktion φ(si)<br />

bestimme eine Kontrollsequenz (Tk) mit den folgenden Eigenschaften:<br />

Tk > 0 ∧ ∀k ≥ 0 : Tk ≥ Tk+1 ∧ limk→∞ Tk = 0<br />

bestimme den initialen Zustand s0 und berechne φ0 = φ(s0)<br />

setze sc = s0; φc = φ0<br />

∀ Tk<br />

berechne sn = erzeuge zustand(sc) und φn = φ(sn)<br />

a = akzeptiere zustand(φc, φn, Tk) ∈ {T, F}<br />

IF a = T /∗ d.h. wenn neuer Zustand akzeptiert wird ∗/<br />

THEN setze sc = sn, φc = φn<br />

/∗ neuen Zustand und Kosten übernehmen ∗/<br />

Ergebnis: Zustand sc mit den Kosten φc ist Lösung<br />

Bild 1.6.2: Prinzip eines Algorithmus zur kombinatorischen Optimierung. Beispiele für die Berechnung<br />

<strong>von</strong> a gibt (1.6.33).<br />

1.6.7 Kombinatorische Optimierung<br />

Wir fassen unter dem Begriff kombinatorische Optimierung eine Klasse <strong>von</strong> Verfahren zusammen,<br />

die ausgehend <strong>von</strong> einem Startwert neue Funktionswerte nach einem Zufallsmechanismus<br />

bestimmen bis ein „akzeptables“ Minimum gefunden wurde. Sie setzen weder eine differenzierbare<br />

Kostenfunktion g noch eine mit nur einem Minimum voraus und werden auch als<br />

Selektionsverfahren bezeichnet. Es gibt Probleme, wie z. B. das „Problem des Handlungsreisenden“,<br />

die NP–schwer sind, d. h. exponentielle Komplexität haben. In solchen Fällen braucht<br />

man aber oft nicht die optimale Lösung, sondern nur eine recht gute suboptimale, die dann mit<br />

weit geringerer Komplexität berechenbar ist. Auch dafür eignen sich kombinatorische Optimierungsverfahren.<br />

Ein kombinatorisches Optimierungsproblem wird definiert durch eine (endliche oder unendliche)<br />

Menge S <strong>von</strong> Zuständen, eine Kostenfunktion φ, die jedem Zustand aus S nichtnegative<br />

Kosten zuweist, einen Startzustand s0 ∈ S, eine Vorschrift zur Generierung neuer Zustände<br />

aus gegebenen Zuständen und ein Abbruchkriterium für die Optimierung. Die Zustände sind<br />

im Prinzip beliebig, es können symbolische Datenstrukturen, reelle Zahlen oder eine endliche<br />

Menge ganzer Zahlen sein. Die Kostenfunktion muss vom Anwender für den jeweiligen<br />

Problemkreis gewählt werden. Die Generierung neuer Zustände beruht z. B. auf der zufälligen<br />

Generierung kleiner Abweichungen vom aktuell gegebenen Zustand. Das Abbruchkriterium beruht<br />

auf dem Erreichen eines Zustands mit minimalen Kosten und kann kombiniert werden mit<br />

dem Verbrauch einer vorgegebenen Rechenzeit.<br />

Das Grundschema eines kombinatorischen Optimierungsalgorithmus zeigt Bild 1.6.2. Die<br />

dort auftretende Kontrollsequenz Tk liefert eine reelle Zahl, deren Wert die Annahme eines neu<br />

generierten Zustands steuert. Im Prinzip muss Tk anfänglich hoch sein und dann langsam gegen<br />

Null gehen. Damit die Optimierung nicht in einem lokalen Minimum hängen bleibt, werden gelegentlich<br />

auch Folgezustände mit höheren Kosten akzeptiert. Prinzipiell bedeutet die monoton<br />

mit der Zahl k der Iterationen sinkende Folge der Werte <strong>von</strong> Tk, dass die Wahrscheinlichkeit<br />

für die Annahme eines Folgeszustands mit höheren Kosten mit zunehmender Zahl <strong>von</strong> Iterationen<br />

sinkt. Die Funktionen erzeuge_zustand bzw. akzeptiere_zustand generieren einen neuen

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!