Um ein Problem lösen zu können,
muss dieses Problem zuerst einmal erkannt und verstanden werden.
Danach muss ein Plan zur Lösung des Problems bereitgestellt und
ausgeführt werden, bevor das Ergebnis schließlich auf Richtigkeit
überprüft werden kann.
Die Lösung des Problems kann auf
unterschiedliche Art und Weise vonstatten gehen. Es gibt zwei
allgemeine Suchverfahren, die auf jedes beliebige Problem angewandt
werden können.
Bei
der Breitensuche
werden
vom Anfangszustand aus alle möglichen direkten Nachfolgezustände
betrachtet. Von allen direkten Nachfolgezuständen werden wiederum
alle direkten Nachfolgezustände ermittelt und so weiter. Man geht
also bei der Suche nach der Lösung des Problems immer weiter in die
Breite, während man sich Ebene für Ebene der Lösung des Problems
nähert. Das Ziel, die Lösung des Problems, wird so in der
Mindestzahl von Ebenen erreicht.
Bei
der Tiefensuche
hingegen wird von allen möglichen Nachfolgezuständen einer
ausgewählt. Erst wenn man in eine Sackgasse gerät oder in einen
bereits erreichten Zustand, wird der letzte Schritt rückgängig
gemacht (backtracking) und vom Vorgängerzustand aus ein alternativer
Schritt ausgeführt. Man geht also dementsprechend bei der
Lösungssuche immer weiter in die Tiefe und nur im Falle einer
Sackgasse in die Breite. Das Problem bei dieser Art der Problemlösung
ist allerdings, dass man schon sehr weit in einem Zweig ist, der die
Lösung nicht enthält und im schlimmsten Fall alle Schritte bis zum
ersten Schritt rückgängig machen und wieder von vorn beginnen muss.
Sowohl
die Breiten- als auch die Tiefensuche können per Vorwärts- und per
Rückwärtssuche ausgeführt werden. Bei der Vorwärtssuche
startet man am Anfang und sucht nach Schritten, die einen näher an
den Zielzustand führen. Bei der Rückwärtssuche
startet
man mit Lösung und versucht Schritte zu finden, die einen
letztendlich zum Anfangszustand führen. Dabei wird das Ziel
schrittweise in Teilziele zerlegt, bis man die Teilziele erfüllen
kann.
Zusätzlich
zu diesen allgemeinen Suchverfahren gibt es heuristische
Suchverfahren,
die bei der Suche im Problemraum problemspezifische Heuristiken
nutzen. Dabei soll die Auswahl von Problemlöseschritten optimiert
werden, indem problemspezifische Informationen ausgenutzt werden. Im
Folgenden werde ich auf zwei dieser Heuristiken eingehen.
Bei
der Hill-climbing-strategie
handelt
es sich um eine Strategie, die sich der Vorwärtssuche bedient. Dabei
wird aus einer Menge aller möglichen Schritte derjenige ausgewählt,
der einen dem Ziel am schnellsten näher zu bringen scheint. Um das
zu erreichen müssen die einzelnen Problemzustände, die sich aus den
einzelnen Schritten ergeben, dahingehend bewertet werden wie ähnlich
sie dem Zielzustand sind. Bei dieser Vorgehensweise kann sich das
Problem ergeben, dass man sein angestrebtes Ziel nicht erreicht,
sondern nur ein lokales Maximum, einen vorgelagerten Gipfel.
Bei
der Mittel-Ziel-Analyse
wird
dieses Problem vermieden, indem eine heuristische Vorwärtssuche mit
Teilzielbildung verknüpft wird. Der aktuelle Zustand wird hierbei
zunächst mit dem Zielzustand verglichen. Entspricht er dem
Zielzustand, gilt das Problem als gelöst. Entspricht er dem Ziel
nicht, wird der größte Unterschied zwischen den beiden Zuständen
anhand einer problemspezifischen Heuristik ermittelt. Gibt es keinen
Schritt, der den Unterschied zwischen den beiden Zuständen
beseitigen kann, gilt das Problem als nicht lösbar. Gibt es einen
möglichen Schritt wird versucht ihn auszuführen, sofern alle
Voraussetzungen dafür erfüllt sind. Sind nicht alle Voraussetzungen
für die Ausführung des Schrittes erfüllt, wird die Schaffung der
Voraussetzungen als neues Teilziel aufgestellt. Durch dieses
Aufstellen von Teilzielen, bekommt die Suche nach der Lösung des
Problems eine Richtung zugewiesen und der Suchraum wird auf die für
das Lösen des Problems relevanten Schritte eingeschränkt. Das
Problem dieses Verfahrens ist seine Komplexität, da unter Umständen
sehr viele Teilschritte in Erinnerung behalten werden müssen.
Ingen kommentarer:
Legg inn en kommentar