Heuristiken Automatic Problem Solving Institut für Informatik Universität Potsdam WS 05/06 Kozhevnikov Serhiy Überblick • • • • Beschreibung des Problems Heuristiken Lokale Suchmethoden Genetische Algorithmen Komplizierte Aufgaben 1. Das Problem hat eine optimale oder perfekte Lösung. Die Berechnungen sind aber zu kompliziert wegen der große Menge der mögliche Lösungen. - Traveling salesperson problem - Die Gewinn bringende Kombination im Schach u.s.w. 2. Das Problem hat mehrere Lösungen von gleichen Bewertungen oder keine Lösung. Alle Faktoren, die die Qualität des Lösens beeinflussen, können nicht beachtet werden. - Benehmen Modellierung Komplizierte Aufgaben 1. Das Problem hat eine optimale oder perfekte Lösung. Die Berechnungen sind aber zu kompliziert wegen der große Menge der mögliche Lösungen. - Traveling salesperson problem - Die Gewinn bringende Kombination im Schach u.s.w. 2. Das Problem hat mehrere Lösungen von gleichen Bewertungen oder keine Lösung. Alle Faktoren, die die Qualität der Lösung beeinflussen, können nicht beachtet werden. - Benehmen Modellierung Finden einer Lösung, die nicht unbedingt optimal ist. Heuristiken „Das Studium der Methoden und Regeln von Entdeckung und Erfindung“ (Polya 1945) Als Heuristik bezeichnet man eine Strategie, die das Streben nach Erkenntnis und das Finden von Wegen zum Ziel planvoll gestaltet. Sie wird auch als Lehre der Problemlöseverfahren bezeichnet. Heuristik ist ein Algorithmus, der gute Lösungen mit den minimalen Berechnungen findet. Heuristiken „Heuristic is a process that may solve a given problem, but offers no guarantees of doing so.“ (Newell, Shaw, Simon. 1963) • Heuristiken finden die Lösungen ohne Berechnungen des ganzen Feldes der Lösungen. • In mehreren Fällen kann die beste Lösung mit Hilfe intuitive Mechanismen gefunden werden. • Es gibt keine Garantie, dass die gefundene Lösung optimal oder sogar gut ist. Lokale Suchmethoden • • • • • • • Hill Climbing Stochastic Hill Climbing Simulated Annealing Tabu-search … … … Hill Climbing 1. 2. 3. 4. 5. Erzeuge eine anfängliche Lösung s. Erzeuge Nachbarschaft N(s) von Lösung s Selektiere in Nachbarschaft die Lösung mit bester Bewertung Falls die selektierte Lösung besser als die aktuelle Lösung ist, akzeptiere diese als aktuelle Lösung und fahre mit dem Schritt 2 fort Beende die Suche Stochastic Hill Climbing • Nur eine Lösung aus der Nachbarschaft wird selektiert. • Diese Lösung wird für die nächste Iteration mit einer Wahrscheinlichkeit akzeptiert, die von der Evaluierungsdifferenz zwischen dieser Lösung und der aktuellen Lösung abhängig ist. Simulated Annealing • Während der Suche wird auch eine schlechtere Lösung mit einer bestimmten Wahrscheinlichkeit akzeptiert. • Unterscheidet sich von der Stochastic Hill Climbing dadurch, dass die Bedeutung der Evaluirungsdifferenz bei jedem Schritt zunimmt. Tabu search • Durch die Verwendung einer Tabu-Liste werden während der Suche Zyklen(Besuchen von gleichen Lösungen) vermieden. • In der Tabu-Liste werden für eine fixierte Anzahl von durchlaufenden Iterationen bestimmte Informationen zur Suche gespeichert(z.B. bereits besuchte Lösungen) • Die Akzeptanz der Lösung für die nächste Iteration hängt ab von: - Bewertung der Lösung - Tabu-Liste. Genetische Algorithmen • Basieren auf biologischen Prozessen • Bei Verwendung von genetischen Algorithmen zur Problemlösung werden drei Phasen durchlaufen: 1. Repräsentation von potenziellen Lösungen der Problemdomäne 2. Erzeugung einer neuen Generation von Individuen, die Merkmale ihrer Eltern in sich vereinen, mit Paarungs- und Mutationsalgorithmen. 3. Selektion der besten Individuen für die nächste Generation basiert auf einer Bewertfunktion. Genetische Algorithmen Beispiele der genetischen Operatoren: - Mutation. Ein Aspekt eines Kandidaten wird in zufälliger Weiser verändert. - Kreuzung. Der Kreuzungsmechanismus teilt zwei Lösungskandidaten auf und tauscht Komponenten gegeneinander aus um neuen Kandidaten zu produzieren. Informationsquellen 1. Z. Michalewicz, D.B. Fogel. How to solve it: Modern Heuristics. 2. www.wikipedia.de 3. http://mat.gsia.cmu.edu