Genetische Algortithmen Annäherungsverfahren für Optimierungsprobleme

Größe: px
Ab Seite anzeigen:

Download "Genetische Algortithmen Annäherungsverfahren für Optimierungsprobleme"

Transkript

1 Genetische Algortithmen Annäherungsverfahren für Optimierungsprobleme Tobias Schiele Luca Baumann Seminararbeit im Sommersemester 2016 Prof. Dr. Thomas Thierauf - Hochschule Aalen, 16. Juni 2016

2 Zusammenfassung Genetische Algorithmen stellen eine eziente Möglichkeit dar, NP Optimierungsprobleme annähernd zu lösen. Sie bedienen sich dabei der bionischen Methodik Vorgänge aus der Natur in Technologie zu übersetzen. Wie der Name schon suggeriert, werden dabei wiederkehrende Elemente aus der Evolutionstheorie verwendet, um einen leistungsstarken und vielfältigen Algorithmus zu entwickeln.

3 Inhaltsverzeichnis 1 Einleitung Idee Motive für die Anwendung Übersicht Aufbau der Arbeit Hauptteil Einführung Abgrenzung: Stochastisches Optimierungsverfahren Hintergrundinformationen: Biologie Methodik Vorgehen: Von der Biologie zum genetischen Algorithmus Konzeption: Anwendung auf das Traveling Salesman Problem Praktik Implementierung: Genetischer Algorithmus für TSP in Java Analyse des Programms: Ergebnisse verschiedener Kon- gurationen Ergebnisauswertung: Qualität der Lösungen Schlussteil Zusammenfassung und Bewertung Ausblick

4 Kapitel 1 Einleitung 1.1 Idee Der Gedanke, die Lösung für ein Problem automatisch, ohne eigenes Zutun, zu generieren, klingt verrückt. Aber die Umsetzung ist so genial wie einfach. Wir nehmen uns als Beispiel die Natur, die Individuen einer Population in ihrer Umgebung optimiert. Man leite daraus einen Algorithmus ab, der eine Abstraktion von Mutation, Rekombination und Selektion verwendet. Dann gilt es nur noch für ein beliebiges Optimierungsproblem einen Lösungskandidaten zu spezizieren und, jeweils problemorientiert, diese drei Methoden umzusetzen. Dass es ganz so einfach nicht ist war zu erwarten, warum würde man sonst noch so viel über Algorithmen lernen. Deshalb sehen wir im Folgenden, was es bei der Umsetzung eines genetischen Algorithmus zu beachten gilt, wo die Vor- und Nachteile liegen, und was wir vom Ergebnis erwarten dürfen. 1.2 Motive für die Anwendung Die Frage ist, ist ein genetischer Algorithmus das richtige Werkzeug ist um ein Problem zu lösen. Diese soll hier beantwortet werden. Dafür gibt es folgende Voraussetzungen: Es handelt sich um ein Optimierungsproblem. Erfüllbarkeitsprobleme sind sehr schwer mit genetischen Algorithmen zu lösen, man würde sich auf die Suche nach der Nadel im Heuhaufen begeben [Wei15] Es ist kein direktes oder für das Problem spezialisiertes Lösungsverfahren in Betracht zu ziehen. Direkte oder für das Problem spezialisierte Lösungsverfahren sind in aller Regel ezienter, doch manchmal nicht anwendbar oder nicht vor- 3

5 handen. Dies ist vor Allem der Fall, wenn es wenig Hintergrundinformation zu einem Problem gibt. Zwei Lösungskandidaten lassen sich vergleichen, haben also einen wohldenierten Gütewert. Überall dort, wo man mit Optimierungsproblemen arbeitet, über die wenig Hintergrundwissen vorhanden ist, kann es in Betracht gezogen werden einen genetischen Algorithmus zu verwenden. Man erspart sich durch geringem Ezienzverlust und dem Verzicht auf eine Qualitätsgarantie der Lösungen, eine mathematische Modellierung, mit der man in manchem Fall Jahre beschäftigt wäre. 1.3 Übersicht Seit den ersten Veröentlichungen zu evolutionären Algorithmen in den 1950er Jahren haben sich unterschiedliche Implementierungen für viele Anwendungsgebiete entwickelt. Die Wichtigsten sind in folgenden aufgelistet, wir spezialisieren uns in dieser Ausarbeitung jedoch auf die genetischen Algorithmen: Evolutionäre Standardalgorithmen nach [Wei15]: Genetischer Algorithmus Evolutionsstrategie Evolutionäres Programmieren Genetisches Programmieren Hill Climbing Classier System Tabu - Suche Memetischer Algorithmus Neuronales Netz Dierentialevolution Scatter Search Kultureller Algorithmus Ameisenkolonie Partikelschwarm 4

6 1.4 Aufbau der Arbeit Von der Biologie zum genetischen Algorithmus zum Traveling Salesman Problem. Die Ausarbeitung verläuft in drei Phasen, erst wird der genetische Algorithmus abstrakt über einen Vergleich mit der Evolution eingeführt, danach wird er konkret anhand des Traveling Selesman Problem erläutert und in der dritten Phase im Praxisteil analysiert. 5

7 Kapitel 2 Hauptteil 2.1 Einführung Abgrenzung: Stochastisches Optimierungsverfahren Um die Funktion eines genetischen Algorithmus genauer eingrenzen zu können, sollte man zuvor eine ganz andere Methode zur Lösung von Optimierungsproblemen betrachten: Das stochastische Optimierungsverfahren. Anders als beim genetischen Algorithmus orientiert sich das stochastische Verfahren an rein mathematischen Gesichtspunkten. Dabei werden mehrere Durchgänge einer Simulation mit zufälligen Anfangsparametern gestartet. In jeden Durchgang werden dabei die Parameter nach einem zuvor gewählten Verfahren mutiert. Zuletzt werden die Ergebnisse der Durchgänge verglichen und das Beste ausgewählt. Dessen gewählten Anfangsparameter werden daraufhin als Basis für eine erneute Iteration des Verfahrens verwendet. Nachteile des stochastischen Optimierungsverfahrens sind die durch die vielen benötigten Durchgänge hohe Laufzeit und die groÿe Gefahr, nur ein lokales Optimum zu nden, welches sich durch die rasche Einengung der Anfangsparameter im Ergebnis festsetzen kann. Durch die im Folgenden beschriebenen Eigenschaften des Genetischen Algorithmus lassen sich die Probleme des stochastischen Optimierungsverfahrens jedoch zu groÿen Teilen aufheben Hintergrundinformationen: Biologie Um die Entwicklung des evolutionären Algorithmus jedoch nachvollziehen zu können, müssen erst einige Vorgänge in der Natur beschrieben werden. Die Evolution kennt nur ein grundlegendes Gesetz: Der besser angepasste Überlebt (Darwin: Survival of the Fittest). Daraus lässt sich ableiten, dass eine Spezies sich verändern können muss, um in einer sich ändernden Umgebung zu Überleben. Daraus ergibt sich wiederum, dass es ein klar deniertes Ziel (Überleben bzw. Verbreitung) und ein Mittel um dies zu erreichen 6

8 (Selbstveränderung bzw. Mutation) gibt. Überträgt man diese Ideen in die Mathematik, ergibt sich daraus das Optimierungsproblem: In einem Pool aus unterschiedlichsten Individuen einer Spezies(Suchraum) setzt sich jenes durch, das am besten mit der Umgebung zurecht kommt (am besten der Zielfunktion entspricht). Unter Zuhilfenahme weiterer Methoden der Evolution lässt sich wie im nächsten Abschnitt beschrieben ein Algorithmus konstruieren, der das Optimierungsproblem weit ezienter lösen kann als das stochastische Optimierungsverfahren. 2.2 Methodik Vorgehen: Von der Biologie zum genetischen Algorithmus Für die Einführung von genetischen Algorithmen (GA) wird die Begriichkeit der Biologie übernommen, jedoch muss bei einigen Begrien Acht gegeben werden. Andere Begrie kommen hinzu, die gar nicht in der Biologie vorkommen. In Tabelle benden sich eine Reihe von Kurzdenitionen der wichtigsten Begrie. Hier wird deutlich, wie die Konzepte der Biologie überarbeitet und erweitert werden. So gibt es in der Biologie keinen Suchraum, und mit aller Wahrscheinlichkeit kein globales Optimum. Fitness entsteht durch die Anzahl an Nachkommen und deren Überlebensfähigkeit, jedoch nicht durch eine im voraus denierte Bewertungsfunktion. Mit den in Tabelle beschrieben Begrien lassen sich nun die zu lösenden Optimierungsprobleme formal beschreiben. Das resultierende 2-Tupel besteht aus dem Suchraum Ω und einer Bewertungsfunktion f, auf die später noch näher eingegangen wird. Optimierungsproblem = (Ω, f : Ω R) Einfachheitshalber wird an dieser Stelle das Minimierungsproblem als konkrete Instanz eines Optimierungsproblem herangezogen, da sich dies mit Ausblick auf das Traveling Salesman Problem als nützlich erweist. Damit hat das Problem die Lösung O, wobei min(ω) zu optimieren ist. O = min{f(i) i Ω} Anmerkungen zu einigen wichtigen Begrien: Fitnessfunktion 7

9 Individuum i Suchraum Ω Population P Güte / Fitness f(i) Globales Optimum O Mutation Mutationsreichweite Lokales Optimum o Hammingklippe Rekombination Umweltselektion Elternselektion Schema Diversität Selektionsdruck Lösungskandidat Menge aller möglichen Individuen mehrere Individuen Bewertung eines Individuums Menge bestmöglicher Individuen möglichst kleine Änderung des Individuums Hamming-Abstand zur gröÿtmöglichen Mutation Keine besseren Individuen innerhalb der Mutationsreichweite Hamming-Abstand zweier Individuen > Mutationsreichweite Unter Merkmalerhalt mehrere Individuen zusammenfassen Auswählen von Individuen aus einer Population zum Entfernen Auswählen von Individuen aus einer Population zur Rekombination Äquivalenzklasse von Individuen mit gleichen Merkmalen Verteilung der Individuen einer Population auf den Suchraum Steigerung der lokalen Optimierung, Verringerung der Diversität Tabelle 2.1: Die wichtigsten Begrie Im Algorithmus ist es keine Eigenschaft die aus dem Individuum erwächst, sondern eine die für jedes Individuum in einer festen Form vordeniert ist. Diese Denition der Fitnesswerte nennt sich die Fitnessfunktion Hamming-Abstand f : Ω R Der Hamming-Abstand ist kein Begri genetischer Algorithmen, sei aber hier für das Verständnis noch einmal aufgegrien. Er beschreibt in diesem Fall den Grad der Verschiedenheit zweier Individuen. Alle Individuen, die durch die kleinstmögliche Mutation eines Individuums erzeugt werden können, besitzen im Suchraum den Hamming-Abstand 1 zum Ursprungsindividuum. Diversität Wir betrachten die unterschiedlichen Individuen einer Population. In der Natur sind die Unterschiede innerhalb einer Tierart beispielsweise relativ gering. Im genetischen Algorithmus kommt es uns darauf an die Unterschiede jedoch sehr groÿ zu halten. Je gröÿer der Hamming- Abstand zweier Individuen, desto gröÿer ist die Diversität in der Population, worauf später näher eingegangen wird. Fitnessproportionale Elternselektion 8

10 Wir treen die Annahme, dass bessere Individuen eine höhere Chance haben sich zu reproduzieren. Dies nennt man tnessproportionale Elternselektion. Diesen Vorgang beschreibt beispielsweise Algorithmus 1. Algorithm 1 Fitnessproportionale Elternselektion 1: procedure Selektion(P ) 2: if size(p ) < 1 then return 0 Nichts zu Selektieren 3: if size(p ) = 1 then return P [0] Nur ein Individuum 4: sortiere P absteigend nach Fitness 5: index Zufallszahl aus {0, 1,..., size(p ) 1} 6: index index3 (size(p ) 1) 2 7: return individuum P [index] Für size(p ) = 6 macht das folgende Wahrscheinlichkeiten: E(P 0 ) = 3 6, E(P 1 ) = E(P 2 ) = E(P 5 ) = 1 6, E(P 3 ) = E(P 4 ) = 0 Umweltselektion Für die Umweltselektion greift im klassischen GA nicht das Pattern der Natur, wo viele Nachkommen erzeugt werden und nur die besten Überleben. Im klassischen GA werden genauso viele Kinder erzeugt wie Eltern, die Eltern fallen daraufhin unter den Tisch. Jedoch gibt es abgewandelte Versionen, die dem biologischen Ansatz näher sind, wie zum Beispiel der steady-state-ga [Wei15]. Dort werden mehr Kinder erzeugt als Eltern, und daraus dann die Besten ausgewählt um wieder eine konstante Elterngröÿe zu erhalten. Auch können die Eltern wieder mit in den Umweltselektionsprozess einbezogen werden, um so eventuell bereits gefundene Optima nicht durch unvorteilhafte Zufälle bei der Kindererzeugung zu verlieren. An dieser Stelle sei angemerkt, dass dies den Selektionsdruck steigert und dadurch verstärkt auf die Diversität in der Population geachtet werden muss. Mehr zum Dilemma zwischen Selektionsdruck und Diversität auf Seite 10. Rekombination Oftmals auch als Crossover bezeichnet. In den meisten Büchern wird die Rekombination anhand von Bitmustern erklärt die sich auf irgendeine weise verändern, hier sei jedoch ein anderer Ansatz gewählt. Zuerst sei gesagt, die Rekombination ist sehr problemspezisch. 9

11 Will man zwei Individuen miteinander kombinieren, ist es stark abhängig davon, welche Struktur sie aufweisen. Deshalb lässt sich die Rekombination nicht generisch formulieren, sondern muss für jedes Problem ausgearbeitet werden. Allgemein lässt sich jedoch sagen, dass versucht werden sollte, möglichst viele Informationen aus allen Elternteilen zu übernehmen. Wir bleiben an dieser Stelle abstrakt und gehen später bei der Anwendung auf das Traveling Salesman Problem konkret auf die Rekombination ein. Denition Rekombination Rekombination : Ω n Ω, n 2, n N Diese Denition sagt aus, dass mehrere Individuen auf eines abgebildet werden. Abhängig von der Aufgabenstellung kann diese Funktion auf die unterschiedlichste Weise implementiert werden. Das Ziel ist es, gute Strukturen der Elternteile in einem Kind zu vereinen, welches dadurch einen Fitnessvorteil erlangt. Leider sind in der Praxis diese Funktionen oft enorm aufwendig, deshalb genügt es, wenn diese Funktion nach dem Best-Eort-Modell erfüllt wird. Auÿerdem soll die Rekombination nur mit einem gewissen Prozentsatz angewandt werden, da sie meistens sehr rechenintensiv ist und zum anderen sehr starke Eingrie in ein Individuum bedeutet. Dies kann oft bereits gute Individuen zerstören und senkt deshalb den Selektionsdruck. Dilemma zwischen Selektionsdruck und Diversität Um dieses Dilemma zu erklären muss der Begri des Hill-Climbings verdeutlicht werden. Stellen wir uns vor, die Fläche der Erde sei unser Suchraum. Jede Position auf der Erde ist demnach ein gültiges Individuum. Der zugehörige Fitnesswert seien die Höhenmeter über dem Meeresspiegel. Der Mount Everest ist somit das globale Optimum und jeder Hügel der Erde ist ein lokales Optimum. Gesucht ist das Individuum mit dem gröÿten Fitnesswert. Eine Mutation sei ein Schritt zu einer Nachbarposition in einer beliebigen Richtung. Angenommen, wir schreiben folgenden Algorithmus um dieses Problem zu lösen. Er beginnt bei einer zufälligen Startposition auf der Erde. Danach besucht er zehn Nachbarpositionen und die beste Position davon ist seine neue Startposition. Das wiederholt er beliebig lange. Wird dieser Algorithmus das beste Individuum nden? Nein. Oder besser gesagt, vielleicht. Liegt seine Startposition zufällig am Fuÿe des Mount 10

12 Everest, so wird er sich eventuell bis zur Spitze hocharbeiten. Ansonsten wird er immer den Hügel erklimmen, an dem er sich gerade bendet, und von dort aus nicht mehr weiter wissen. Diesen Eekt nennt man Hill-Climbing. Der Selektionsdruck ist extrem hoch, da immer nur das aktuell Beste eine Chance hat weiter zu kommen, man ndet ein Lokales Optima auf direktem Wege. Aber würde man auch anderen Individuen manchmal die Chance lassen als neue Startposition gewählt zu werden, so könnte man möglicherweise einen Hügel überwinden in dem man in ein neues Tal schreitet, und von dort aus einen neuen, vielleicht noch gröÿeren Hügel erklimmt. Allerdings wäre in diesem Fall der Selektionsdruck um einiges geringer da viele Eventualitäten dahinter stecken. Wenn man schlechten Individuen in dieser Art eine Chance lässt, kommt man mit einer geringen Wahrscheinlichkeit zu gar keiner Lösung. Erhöht man die Mutationsreichweite, in dem man mit einer geringen Wahrscheinlichkeit öfters als einmal mutiert, kann das von Vorteil sein um kleine Täler zu überspringen, löst aber trotzdem nicht das Problem. Um diesem Problem zu entrinnen gibt es für unseren Fall die Populationen. Aber inwieweit helfen sie uns wirklich, und ab wann können wir nichts mehr von ihnen erwarten? Stellen wir uns vor, alle Individuen der Population starten zufällig auf demselben Hügel. Egal wie wir sie miteinander kombinieren (wenn wir dabei davon ausgehen, dass wir möglichst viele Informationen beider Elternteile erhalten möchten), dann werden wir trotzdem nicht den Hügel verlassen können. So eine Population nennt sich in diesem Fall konvergiert. Populationen konvergieren auch selbständig relativ schnell, wenn der Selektionsdruck zu hoch ist. Angenommen wir haben zwei Individuen in Asien und acht Stück in Amerika. Sind die Individuen in Asien zu beginn zu schlecht werden sie bei hohem Selektionsdruck schnell aussortiert, und es bleiben die Individuen in Amerika und deren Kinder übrig. Ab diesem Zeitpunkt kann aber Amerika nicht mehr verlassen werden, da die Mutationsoperatoren nicht die nötige Reichweite haben um den Atlantik zu überqueren. Demnach nden wir mit geeigneten Rekombinationsoperatoren auf die Individuen innerhalb Amerikas noch den höchsten Berg in Amerika, aber niemals mehr den Mount Everest. Deshalb wollen wir die Diversität in der Population möglichst hoch halten um, auch wenn groÿe lokale Optima gefunden werden, weitere Rekombinationen und damit eine weitere Erkundung des Suchraums zu gewährleisten. Dies ist Beispielsweise möglich wenn der Selektionsdruck verringert wird, da auch vermeintlich schlechte Individuen weiter in der 11

13 Population bleiben. Auf der anderen Seite sorgt ein geringer Selektionsdruck für eine gewisse Inezienz im Algorithmus, da nicht zielstrebig vorgegangen wird. Das heiÿt, ein guter genetischer Algorithmus benutzt nicht nur geeignete Mutations- und Rekombinationsoperatoren, sondern er besitzt die richtige Balance zwischen Selektionsdruck und der Aufrechterhaltung der Diversität. Mit diesem Wissen wollen wir versuchen darzustellen, wie ein abstrakter genetischer Algorithmus aussehen könnte, der jedoch unter der Beachtung der obigen Details implementiert werden muss. Algorithm 2 Abstrakter GA 1: procedure GA 2: P eltern Zufällige Startpopulation 3: P kinder { } 4: while Abbruchbedingung nicht erfüllt do 5: i 1 Selektion(P Eltern ) Algorithmus1 6: i 2 Selektion(P Eltern ) 7: for count < Kinderanzahl do 8: if Rekombinationswahrscheinlichkeit getroen then 9: kind Rekombination(i 1, i 2 ) 10: else 11: kind i 1 12: kind mutate(kind) 13: P Kinder P Kinder kind 14: P Eltern n beste aus P Kinder P Eltern n = size(p Eltern ) 15: return individuum bestes aus P Eltern Konzeption: Anwendung auf das Traveling Salesman Problem Im Folgenden wird dargestellt, wie die Begrie des genetischen Algorithmus im konkreten Fall des Traveling Salesman Problem T SP aufgefasst werden müssen. Gegeben sei das euklidische TSP modelliert als ungerichteter, gewichteter Graph. Denition G = (V, E) mit V = v 0,..., v n 1, den Knotenpositionen (x(v), y(v)) R 2, sowie den Kantengewichten distanz((v i, v j ) E), siehe Fitnessfunktion auf Seite 14 12

14 Um das Problem weiter zu spezizieren, können an dieser Stelle bereits die Begrie der genetischen Algorithmen verwendet werden. Ausblick: Ein formaler Lösungskandidat des Problems wird eingeführt. Danach wird der Suchraum näher erläutert, die Gewichtsfunktion der Kanten beschrieben und die Optimierungsaufgabe festgelegt. Damit ist das Problem vollständig deniert und es wird auf weitere Konzepte des genetischen Algorithmus eingegangen, die im letzten Abschnitt zu einer Beispieldenition eines GA für das TSP führen. Individuum Ein Individuum ist ein Lösungskandidat des Problems, im TSP somit ein Weg durch alle n Knoten und zurück zum Startknoten. Es handelt sich hierbei um eine Rundreise mit der selben Start- wie Endposition. Um das Problem zu vereinfachen wird die Äquivalenzklasse derselben Wege, die sich nur in Start-/Endposition unterscheiden, zusammengefasst. Deshalb wird festgelegt, dass alle Wege beim Knoten 0 beginnen. Beschreibt man den Weg als Folge von Knoten so beginnt ein Weg beim Knoten 0 und endet dort. Wie sich in der folgenden Denition zeigt, wird genau das umgesetzt. Um ein Individuum formal zu beschreiben wird folgende Vereinbarung getroen: Knoten werden in westlicher Leserichtung beginnend bei 0 durchnummeriert. Daraus ergibt sich v 0 = 0 Aufgrund der Denition als Rundreise mit xem Startknoten 0 ergibt sich: v Start = v Ziel = v 0 = 0 Denition Individuum Sei ein Individuum i eine Folge von Knoten des Graphen G = (V, E) und n = V i = 0, v 1,..., v n 1, 0 i, j N, i, j < n, i j : v i v j dann gilt: i 0 = v Start = i n = v Ziel = v 0 = 0 In Abbildung 2.1 ist ein Beispiel zu sehen. Individuen des TSP sind also reduzierbar auf ihre einzige Eigenschaft: Die Knotenfolge. Suchraum 13

15 Abbildung 2.1: Ein Individuum als Lösungskandidat Abbildung 2.2: Ein Suchraum In allgemeinen Fall besteht der Suchraum Ω wie gehabt aus allen zulässigen Individuen. In diesem Fall ergibt das, wenn man noch einmal die Denition für ein Individuum anwendet: Ω = { 0, v 1...v n 1, 0 i, j < n, i j : v i v j } In Abbildung 2.2 ist ein Suchraum zu sehen. Der Suchraum besteht mengenmäÿig aus 1 (n 1)! vielen Individuen, wenn n die Anzahl an 2 Städten ist. Bei sechs Städten macht das bereits 60 verschiedene Lösungen. Für 101 Städte es sind 4, [Wei15] Lösungen, oder schlichtweg zu viele. Güte / Fitness Die Güte wird beschrieben durch die Summe aller Kantenlängen, welche zu minimieren ist. n 1 f(i) = distanz(i k, i k+1 ) k=0 14

16 Abbildung 2.3: Ein Globales Optimum Die Funktion distanz basiert auf dem Euklidischen Abstand zweier Knoten. distanz(v 1, v 2 ) = (x(v 1 ) x(v 2 )) 2 + (y(v 1 ) y(v 2 )) 2 Globales Optimum Es ist im Falle des TSP die Menge der kürzesten Wege durch alle Städte. O = min{f(i) i Ω} In Abbildung 2.3 ist ein Globales Optimum zu sehen. Population Die Population ist die momentan im Algorithmus vorhandene Menge an Individuen P Ω In Abbildung2.4 ist eine Population zu sehen. Mutation In Abbildung 2.5 ist eine Mutation zu sehen. Eine Mutation macht aus dem Individuum 0, 1, 2, 3, 4, 5, 0 zum Beispiel 0, 3, 2, 1, 4, 5, 0. Dies ist die kleinst mögliche Mutation, und bewirkt, dass zwei Kanten ausgetauscht werden. 15

17 Abbildung 2.4: Eine Population Abbildung 2.5: Eine Mutation Schema Ein Schema sind in unserem Fall die Äquivalenzklasse der Lösungen, die an einer oder mehreren Stellen die selben Kanten besitzen. Beispiel: Man möchte alle Hauptstädte Europas und Amerikas besuchen, so wird man nur einmal auf dem Hinweg und ein weiteres mal auf dem Rückweg den Atlantik überqueren. Alle guten Lösungen werden diesem Schema folgen. Der Algorithmus konzentriert sich nicht bewusst auf gute Schemata, sondern diese entstehen von ganz allein, da später nur gute Lösungen übrig bleiben. In Abbildung 2.6 ist ein Lösungskandidat zu sehen, der einem Schema folgt, welches sich durchsetzen wird. Das Merkmal des Schemas sind dabei die rot markierten Kanten. Rekombination In Abbildung 2.7 entsteht ein neues Individuum und verwendet dafür Kanten der Eltern. Der Algorithmus sei hier nur auf abstrakter Ebene beschrieben. Für die neue Knotenfolge wählt er aus jedem Elternteil abwechselnd die Kanten. Kann er aus einem Elternteil keine Kante wählen, weil sie zu einem Knoten führt der bereits verbraucht wurde, nimmt er die Kante des anderen Elternteil. Ist dies auch nicht möglich, geht er zum nächsten freien Knoten. Elternselektion 16

18 Abbildung 2.6: Ein Schema Abbildung 2.7: Eine Rekombination 17

19 Die Elternselektion erfolgt probabilistisch proportional zum Fitnesswert. Bessere Elternindividuen haben eine höhere Chance zur Rekombination herangezogen zu werden. Siehe dazu Algorithmus Praktik Beiliegend zu dieser Ausarbeitung bendet sich ein genetischer Algorithmus, der das vorhergehend spezizierte TSP löst, und einige Stellschrauben bietet, um ein Gespür für die Wirkungsweise zu bekommen Implementierung: Genetischer Algorithmus für TSP in Java Das wichtigste Vorweg: Die Unterschiede des Programms zum erarbeiteten GA Der abstrakte GA wurde ergänzt durch ein Konzept, das so nicht in der Biologie vorkommt, sich aber in der Praxis für die Lösungsndung als überaus nützlich erwiesen hat. Um dem Dilemma zwischen Selektionsdruck und Diversität (siehe S. 10 entgegen zu wirken, wurde eine Metapopulation eingeführt. Der Begri Metapopulation soll verdeutlichen, dass es keine Population ist die im eigentlichen Sinne des genetischen Algorithmus mit Selektion, Mutation und Rekombination bearbeitet wird, sondern eine Sammelklasse für bestimmte Individuen. Man kann diese Population auch als Speicher für Individuen beschreiben, die sich wiederum aus eigenen Instanzen von GA's ergeben. Der Algorithmus 3 beschreibt die Vorgehensweise des Meta GA's. Man könnte ihn auch als Parallelisierung mehrerer genetischen Algorithmen verstehen, welche als lokale Erkunder dienen. Die Idee dahinter Dieser Speicher speist sich in jedem Slot von einer eigenen kleinen Instanz des vorher erarbeiteten Algorithmus, dessen Aufgabe es ist, ein gutes lokales Optimum zu nden. Das heiÿt wir können mit einem hohen Selektionsdruck arbeiten, ungeachtet dessen, dass unsere Diversität schnell schwindet. In jeder Generation wird deshalb überprüft, ob die Population bereits konvergiert ist, sprich ob er bereits das lokale Optimum gefunden hat. Ist dies der Fall, so wird er ersetzt durch eine neue Instanz des GA, jedoch mit der Metapopulation als Startpopulation. Warum hat das solche Vorteile für die Qualität der Lösungen? Man darf bei der Implementierung eines GA nie das Problem aus den Augen verlieren. Wir betrachten immer noch einen Algorithmus, der eine kurze 18

20 Strecke sucht. Dabei ist feststellbar, dass man meistens, ohne bestimmte Teilstrecken, ganz oensichtlich nie zur besten Lösung kommen wird. In lokalen Optima sind oft zumindest ein Teilmenge dieser Teilstrecken vorhanden. Findet man deshalb relativ schnell verschiedene lokale Optima und kombinieren sie miteinander, erhöht sich die Wahrscheinlichkeit, dass man ein Individuum erhält, welches die wichtigsten Teilstrecken in sich vereint. Dieses Individuum wird somit die Basis für das beste zu erwartende Individuum. Es besitzt im Idealfall alle Voraussetzungen um zu einem sehr guten lokalen oder gar dem globalen Optimum zu gelangen. Algorithm 3 Meta GA 1: procedure MetaGA 2: P Meta Zufällige Startpopulation 3: size size(p Meta ) 4: GAs GA 1,..., GA size Verwalte size viele GA's 5: while Abbruchbedingung nicht erfüllt do 6: for count < size do 7: GA count GAs[count] 8: if GA count ist konvergiert then 9: GA count neuer GA mit Startpopul. P Meta 10: GA count in nächste Generation überführen 11: P Meta [count] GA count [count] An dieser Stelle nicht das beste Indiviuum nehmen, da sonst P Meta sofort konvergieren würde 12: return individuum bestes Individuum aus P Meta Analyse des Programms: Ergebnisse verschiedener Kon- gurationen Was passiert wenn die Populationsgröÿe erhöht wird? Zu aller erst wird der Algorithmus um einiges langsamer, aber empirisch beobachtet verschlechtert sich die Qualität der Lösungen. Dabei würde man doch das Gegenteil erwarten. Wie ist dieses Phänomen zu erklären? Je gröÿer die Populationen, desto länger dauert es bis ein lokales Optimum gefunden wird. Da der GA in diesem speziellen Fall doch die Aufgabe hat, dies möglichst schnell zu nden, verzögert das nur den Prozess. Der Algorithmus hält sich mit einer groÿen Population mehr Möglichkeiten länger oen, welche für uns überüssig sind. Schlieÿlich bezieht der Algorithmus seine Diversität aus der Metapopulation. Was passiert wenn der Rekombinationsprozentsatz erhöht wird? Nach dem selben Prinzip ist ein zu hoher Rekombinationsprozentsatz dafür verantwortlich, dass der GA seine Fühler zu weit ausstreckt. Dies verzögert 19

21 Abbildung 2.8: Beispielkonguration für ein TSP mit 40 Städten nach 1000 Generationen wieder den gewünschten Prozess, schnell zu einem Ergebnis zu kommen. Was passiert wenn die Mutationsrate erhöht wird? Die Mutationsrate sorgt dafür, dass mit einer geringen Wahrscheinlichkeit ein Individuum öfters mutiert. Die Wahrscheinlichkeitsberechnung entspricht hierbei der tnessproportionalen Selektion (siehe Algorithmus 1), wobei 1 mal mutieren den besten Fitnesswert hat, und n = Mutationsrate mal Mutieren den schlechtesten Fitnesswert hat. Das kann im klassischen GA durchaus sinnvoll sein, um eine höhere Mutationsreichweite zu erreichen und wurde deshalb als Konzept übernommen. Für den abgeänderten GA spielt es jedoch keine Rolle mehr, da er sowieso ersetzt wird, wenn er konvergiert. Beispielkongurationen und Ergebnisse Versuchsaufbau: Suche eine Rundreise für 40 Städte mithilfe des GAs innerhalb von 1000 Generationen. In Abbildung 2.8 sieht man links, wie eine vernünftige Konguration der Werte beispielhaft aussehen könnte. Mit dieser Konguration wird innerhalb der 1000 Generationen eine Reisedauer von 386 erreicht. Zum Vergleich sieht man In Abbildung 2.8 rechts, dass mit einer nach der obigen Erklärung schlechten Konguration auch ein schlechterer Fitnesswert (Faktor 1,26) erzielt werden. Laufzeit und Abbruchkriterium Berechnung der Worst-Case Laufzeit in der O-Notation, gemessen an der Eingabegröÿe n = V, wobei V die Menge der Knoten im TSP-Graph ist. Berechnung eines Fitnesswertes: O(n) 20

22 Die Berechnung der Fitnesswerte schlägt mit 0(n) zu Buche, für sie muss die Summe aus dem vorangehenden Kapitel berechnet werden. Dabei werden alle Knoten einmal durchlaufen. Rekombination: O(n) Die Rekombination kann in 0(n) Schritten durchgeführt werden [Wei15], sofern man in der Graphendarstellung mit Adjazenzlisten arbeitet. Im beiliegenden Code wurde der umgangssprachliche Algorithmus von Seite 16 fast genauso implementiert wie dort beschrieben. In seiner intuitiven Form durchläuft er viele Listen und dient deshalb nicht als Referenzimplementierung. Mutation: O(n) Die aufwändigste Mutations macht aus einer Knotenfolge 0, v 1,, v 2,..., v n 1, v n, 0 die Knotenfolge 0, v n, v n 1,..., v 2, v 1, 0. Dabei muss sie immer zwei Knoten miteinander tauschen, und das n mal, deshalb O(n). Anzahl Schleifendurchläufe aus dem Meta GA: O(1) Die Anzahl der Schleifendurchläufe aus dem Meta GA ist unabhängig von der Eingabegröÿe n, und bezieht sich nur auf die Populationsgröÿe, welche hier als Konstante angenommen wird. Anzahl Schleifendurchläufe aus dem GA: 0(1) Analog zu Meta GA Damit lautet das Ergebnis sagenhaft: 0(n) Jedoch ist dieses Ergebnis mit Vorsicht zu genieÿen. Hierbei handelt es sich um die Laufzeit zur Berechnung einer einzigen Generation mit vernachlässigter Populationsgröÿe. Um ein Gespür für die Laufzeit zu bekommen benötigen wir also mehr Informationen über die Populationsgröÿe und die Anzahl an Generationen. An dieser Stelle wird zum ersten mal das bisher wenig diskutierte Abbruchkriterium relevant. Der Algorithmus kann nicht wissen, wann er seinen Dienst geleistet hat, er wird weiter und weiter rechnen. Es sei denn man trit eine dieser zwei Vorkehrungen: Gütewert denieren, der Erreicht werden muss, maximale Anzahl von Generationen festlegen. Im ersten Fall ist keine Abschätzung möglich, da niemand weiÿ, ob der Algorithmus den Gütewert überhaupt erreichen wird. 21

23 Gibt man eine maximale Anzahl von Generationen vor, so lässt sich in Kombination mit der Populationsgröÿe und mithilfe der Wertvorgaben von oben eine passende Laufzeitschranke nden. In diesem Algorithmus:. O(generationen size(p ) 2 n) Ergebnisauswertung: Qualität der Lösungen Die schlechte Nachricht zuerst: Es gibt keine Qualitätsgarantie für genetische Algorithmen in vordenierter Zeit. Die gute Nachricht: Durch Anpassen und Verwenden von geeigneten genetischen Methoden, und eventuell auch Hilfskonzepte wie dem Meta GA, wird folgendes gewährleistet: starke Verbesserung der Individuen zu Beginn, sehr geringe Wahrscheinlichkeit, fatale Ergebnisse zu erhalten. Hat man technisch gesehen keine Chance auf eine Optimale Lösung, kann man also durchaus suboptimale Lösungen des GA hinnehmen. Doch inwiefern sind die Lösungen suboptimal, sprich: Was kann schon schief gehen? Dazu ein kleines Beispiel: In Abbildung 2.9 sehen wir zwei verschiedene Läufe eines GA auf ein und dasselbe Problem. Beides mal wurden Generationen berechnet, und beides mal wurde die dargestellte Lösung spätestens nach Generation nicht mehr verändert. Wir wissen jetzt, wie es passieren kann, dass sich ab einem bestimmten Zeitpunkt nichts mehr ändert. Das bedeutet, dieser GA konvergiert circa bei Generation Dass der rechte GA keine Veränderung mehr gezeigt hat spielt keine Rolle, da er sich bereits im globalen Optima bendet, der linke ist jedoch vorzeitig in ein lokales Optima konvergiert. Da wir in diesem Fall die Güte des globalen Optimums kennen, lässt sich die relative Qualität der schlechten Lösung angeben. Ausgerechnet beträgt der Faktor der Abweichung 1,3. Weitere Versuche bestätigen, dass sich mit diesem Setup ein Qualitätsfaktor zwischen 1 und 1,5 einpendelt, was für das TSP eine angemessene Zahl zu sein scheint. Vor allem, da der Faktor 1,5 ein eher seltener Wert ist. 22

24 Abbildung 2.9: Suboptimale und Optimale Lösung für TSP mit 200 Städten 23

25 Kapitel 3 Schlussteil 3.1 Zusammenfassung und Bewertung Genetische Algorithmen sind ein mächtiges Werkzeug, jedoch ist eine generische Implementierung nur dann sinnvoll, wenn genügend Stellschrauben zur Verfügung stehen, um den Algorithmus anzupassen. Sind diese jedoch zusammen mit einer präzisen Gütefunktion vorhanden, ist das genaue Problem für den Algorithmus unerheblich. Er kann ohne genaues Wissen um das Anwendungsfeld aus nur relativ wenigen Informationen eine zufriedenstellende Lösung berechnet. Der Algorithmus bildet ein komplexes Gleichgewichtssystem zwischen Diversität der Population und Selektionsdruck zur Lösungsndung welches es für jedes Problem individuell anzupassen gilt. Dennoch ist keine Qualitätsgarantie ableitbar, da bei falscher Justierung der Parameter die Lösungen sehr früh in beliebig schlechte lokale Optima konvergieren können. Bei richtiger Anwendung führen genetische Algorithmen jedoch in den allermeisten Fällen in ezienter Laufzeit zu sehr zufriedenstellenden Ergebnissen. 3.2 Ausblick Die Idee der genetischen Programmierung ist bereits seit den 1950er Jahren bekannt, könnte jedoch in nicht all zu ferner Zukunft eine Renaissance erfahren. Das Stichwort hierbei ist "Quantum Genetic Algorithm", kurz QGA, also eine für Quantencomputer angepasste Form der genetischen Algorithmen. Vor allem bei sehr groÿen Populationen ist die Laufzeit und Komplexität eines genetischen Algorithmus auf Basis eines Quantenrechners deutlich ezienter als auf einer konventionellen Architektur [LC12]. Ein weiterer Aspekt ist, dass genetische Algorithmen auch bei vielen aktuellen Problemen Anwendung nden können. So sind sie zum Beispiel ein gutes Mittel, die Basis von neuronalen Netzen zu kongurieren, da deren 24

26 Erfolg stark von ihren vorgegebenen Parametern abhängt [Koe94]. Auch wenn sich in der Softwarebranche wenig voraussagen lässt ist sicher, dass genetische Algorithmen ein unersetzliches Hilfsmittel für viele Probleme darstellen und auch in Zukunft in einem weiten Feld Anwendung nden werden. 25

27 Literaturverzeichnis Combining Genetic Algorithms and Neural Net- [Koe94] Philipp Koehn. works: The Encoding Problem. PhD thesis, [LC12] Zakaria Laboudi and Salim Chikhi. Comparison of genetic algorithm and quantum genetic algorithm. The International Arab Journal of Information Technology, 9(3):243249, [Wei15] Karsten Weicker. Evolutionäre Algorithmen. Springer Vieweg, 3rd edition,

Optimale Produktliniengestaltung mit Genetischen Algorithmen

Optimale Produktliniengestaltung mit Genetischen Algorithmen Optimale Produktliniengestaltung mit Genetischen Algorithmen 1 Einleitung 2 Produktlinienoptimierung 3 Genetische Algorithmen 4 Anwendung 5 Fazit Seite 1 Optimale Produktliniengestaltung mit Genetischen

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen Von Valentina Hoppe und Jan Rörden Seminar: Künstliche Intelligenz II Dozent: Stephan Schwiebert Gliederung Biologische Evolution Genetischer Algorithmus Definition theoretischer

Mehr

Survival of the Fittest Optimierung mittels Genetischer Algorithmen

Survival of the Fittest Optimierung mittels Genetischer Algorithmen Übung zu Organic Computing Survival of the Fittest Optimierung mittels Genetischer Algorithmen Sabine Helwig Lehrstuhl für Informatik 12 (Hardware-Software-Co-Design) Universität Erlangen-Nürnberg sabine.helwig@informatik.uni-erlangen.de

Mehr

Synthese Eingebetteter Systeme. Übung 6

Synthese Eingebetteter Systeme. Übung 6 12 Synthese Eingebetteter Systeme Sommersemester 2011 Übung 6 Michael Engel Informatik 12 TU Dortmund 2011/07/15 Übung 6 Evolutionäre Algorithmen Simulated Annealing - 2 - Erklären Sie folgende Begriffe

Mehr

Genetische und Evolutionäre Algorithmen (Vol. 1)

Genetische und Evolutionäre Algorithmen (Vol. 1) Vortrag über Genetische und Evolutionäre Algorithmen (Vol. ) von Adam El Sayed Auf und Kai Lienemann Gliederung: ) Einführung 2) Grundkonzept 3) Genaue Beschreibung des Genetischen Algorithmus Lösungsrepräsentation

Mehr

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP Tobias Boelter 28. Mai 2013 bei Prof. Dr. Rainer Schrader, Universität zu Köln Inhaltsverzeichnis 1 Einleitung 2 2 Lokale Suche

Mehr

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien

Mehr

Heuristische Verfahren

Heuristische Verfahren Heuristische Verfahren Bei heuristischen Verfahren geht es darum in polynomieller Zeit eine Näherungslösung zu bekommen. Diese kann sehr gut oder sogar optimal sein, jedoch gibt es keine Garantie dafür.

Mehr

2. Von der Evolution zur Optimierung

2. Von der Evolution zur Optimierung 2. Von der Evolution zur Optimierung Die Prinzipien der biologischen Evolution werden auf die Optimierung übertragen. Am Beispiel wird ein erster evolutionärer Algorithmus zur Optimierung konstruiert und

Mehr

Hauptseminar Repräsentationen für Optimierungsalgorithmen

Hauptseminar Repräsentationen für Optimierungsalgorithmen Stefan Bens Hauptseminar Dresden, 03.07.2008 Inhalt 1. Motivation 2. Einleitung 3. Repräsentationsarten und Eigenschaften 4. Beispiel 5. Zusammenfassung Folie 2 Als Repräsentation bezeichnet man die Kodierung

Mehr

Der chinesische Restsatz mit Anwendung

Der chinesische Restsatz mit Anwendung Der chinesische Restsatz mit Anwendung Nike Garath n.garath@gmx.de Martrikelnummer: 423072 Seminar: Verschlüsslungs- und Codierungstheorie Dozent: Dr. Thomas Timmermann Sommersemester 2017 Inhaltsverzeichnis

Mehr

InformatiCup 2009 EvolutionConsole

InformatiCup 2009 EvolutionConsole InformatiCup 2009 EvolutionConsole Wilhelm Büchner Hochschule 19. März 2010 1 1. Das Team Teammitglieder Ralf Defrancesco KION Information Services GmbH Systemadministrator Daniel Herken Scooter Attack

Mehr

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7

Perlen der Informatik I Wintersemester 2012 Aufgabenblatt 7 Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt

Mehr

Bipartite Graphen. Beispiele

Bipartite Graphen. Beispiele Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Die Euler-Mascheroni-Konstante

Die Euler-Mascheroni-Konstante Die Euler-Mascheroni-Konstante Niloufar Rahi Ausarbeitung zum Vortrag in Überraschungen und Gegenbeispiele in der Analysis (Sommersemester 009, Leitung PD Dr. Gudrun Thäter) Zusammenfassung: Wenn von der

Mehr

Evolutionäre Algorithmen - Kapitel 15

Evolutionäre Algorithmen - Kapitel 15 Evolutionäre Algorithmen - Kapitel 15 Metaheuristiken Prof. Dr. Rudolf Kruse ÖÙ Û º ºÙÒ ¹Ñ ÙÖ º Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg 9. Juni 2008 R. Kruse (Uni Magdeburg) Metaheuristiken

Mehr

Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 2011/2012

Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 2011/2012 Die Höhe von binären Suchbäumen Ausarbeitung zum Seminar zu Stochastischen Rekursionsgleichungen im WS 011/01 Sandra Uhlenbrock 03.11.011 Die folgende Ausarbeitung wird, basierend auf Branching Processes

Mehr

Tutoraufgabe 1 (Suchen in Graphen):

Tutoraufgabe 1 (Suchen in Graphen): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn

Mehr

Warum konvergieren Genetische Algorithmen gegen ein Optimum?

Warum konvergieren Genetische Algorithmen gegen ein Optimum? 1 / 21 Gliederung 1 Das Schematheorem Motivation Begriffe Herleitung Ergebnis Das Schematheorem Das Schematheorem Motivation 3 / 21 Warum konvergieren Genetische Algorithmen gegen ein Optimum? Theoretische

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen In dieser Ausarbeitung gemäss Aufgabenstellung auf der Kurshomepage des Moduls Knowledge- Based Systems wird die Funktionsweise und Nutzung von genetischen Algorithmen erläutert.

Mehr

Das Problem des Handlungsreisenden

Das Problem des Handlungsreisenden Seite 1 Das Problem des Handlungsreisenden Abbildung 1: Alle möglichen Rundreisen für 4 Städte Das TSP-Problem tritt in der Praxis in vielen Anwendungen als Teilproblem auf. Hierzu gehören z.b. Optimierungsprobleme

Mehr

Probleme aus NP und die polynomielle Reduktion

Probleme aus NP und die polynomielle Reduktion Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

F A C H H O C H S C H U L E W E D E L

F A C H H O C H S C H U L E W E D E L F A C H H O C H S C H U L E W E D E L Seminar Verkehrsinformatik Offline-Optimierung der Lichtsignal-Koordinierung mittels genetischer Algorithmen Eingereicht von: Erarbeitet im: Marco Lehmann Hoheluftchaussee

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen

Gliederung. Kapitel 4. Lokale Suchverfahren. Meta-Heuristiken. Simulated Annealing. Lokale Suchverfahren. Optimierungsalgorithmen Kapitel Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

Der genetische Algorithmus

Der genetische Algorithmus Joachim Breitner Seminarkurs am Schickhardt-Gymnasium Herrenberg 2002/2003 Halbjahr 12.2 Modellbildung und Simulation am Beispiel der Evolution und dem Programm EvoLab Thema 2: Der genetische Algorithmus

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen

Einführung in die Methoden der Künstlichen Intelligenz. Evolutionäre Algorithmen Einführung in die Methoden der Künstlichen Intelligenz Evolutionäre Algorithmen Dr. David Sabel WS 2012/13 Stand der Folien: 12. November 2012 Evolutionäre / Genetische Algorithmen Anwendungsbereich: Optimierung

Mehr

Kapitel 9: Lineare Programmierung Gliederung

Kapitel 9: Lineare Programmierung Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe 3. Elementare Graphalgorithmen und Anwendungen 4. Minimal spannende Bäume 5. Kürzeste Pfade 6. Traveling Salesman Problem 7. Flüsse

Mehr

Datenstrukturen und Algorithmen 2. Klausur SS 2001

Datenstrukturen und Algorithmen 2. Klausur SS 2001 UNIVERSITÄT PADERBORN FACHBEREICH 7 (MATHEMATIK INFORMATIK) Datenstrukturen und Algorithmen 2. Klausur SS 200 Lösungsansätze Dienstag, 8. September 200 Name, Vorname:...................................................

Mehr

9 Minimum Spanning Trees

9 Minimum Spanning Trees Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman

Paper Computer Science Experiment. Computation (NP-Vollständigkeit) Traveling Salesman Paper Computer Science Experiment Great Principles of Computing Computation (NP-Vollständigkeit) Thema Traveling Salesman Unterrichtsform Lernen am Modell Voraussetzung Wahrscheinlich kennen viele Schüler/innen

Mehr

Exkurs Modelle und Algorithmen

Exkurs Modelle und Algorithmen Exkurs Modelle und Algorithmen Ansatz künstlich neuronaler Netze (KNN) Versuch, die Wirkungsweise menschlicher Gehirnzellen nachzubilden dabei wird auf formale mathematische Beschreibungen und Algorithmen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008

Genetische Algorithmen. Uwe Reichel IPS, LMU München 8. Juli 2008 Genetische Algorithmen Uwe Reichel IPS, LMU München reichelu@phonetik.uni-muenchen.de 8. Juli 2008 Inhalt Einführung Algorithmus Erweiterungen alternative Evolutions- und Lernmodelle Inhalt 1 Einführung

Mehr

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Approximationsalgorithmen für NP-harte Optimierungsprobleme Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante

Mehr

11. Übung zu Algorithmen I 6. Juli 2016

11. Übung zu Algorithmen I 6. Juli 2016 11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus

Mehr

Die Klasse NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus

5. Lokale Suchverfahren. Beispiel TSP: k-change Nachbarschaft. Nachbarschaft. k-opt Algorithmus 5. Lokale Suchverfahren Lokale Suche 5. Lokale Suchverfahren Beispiel TSP: k-change Nachbarschaft Optimale Lösungen können oft nicht effizient ermittelt werden. Heuristiken liefern zwar zulässige Lösungen,

Mehr

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int Informatik Eph IFG1/2 (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Kniffel Modellierung und Implementierung Im Folgenden sollen Teile eines kleinen "Kniffel"-Spiels modelliert, analysiert und implementiert

Mehr

4 Rekursionen. 4.1 Erstes Beispiel

4 Rekursionen. 4.1 Erstes Beispiel 4 Rekursionen Viele Algorithmen besitzen sowohl eine iterative als auch eine rekursive Lösung. Sie unterscheiden sich darin, dass die iterative Version meist einen etwas längeren Kode besitzt, während

Mehr

2.6 Asymptotische Approximation: Min Binpacking

2.6 Asymptotische Approximation: Min Binpacking 2.6 Asymptotische Approximation: Min Binpacking In diesem Abschnitt geht es die Erscheinung, dass manche Optimierungsprobleme Approximationsalgorithmen haben, die nur für Inputs x mit groÿem Wert m (x)

Mehr

Computational Intelligence 1 / 28. Computational Intelligence Evolutionsstrategien 3 / 28

Computational Intelligence 1 / 28. Computational Intelligence Evolutionsstrategien 3 / 28 1 / 28 Gliederung 1 Evolutionsstrategien Selektion Rekombination Mutation Ablauf 2 Genetische Programmierung Repräsentation Genetische Operatoren Ablauf Überblick Evolutionsstrategien 3 / 28 Repräsentation

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2009 11. Vorlesung Uwe Quasthoff Universität Leipzig Institut für Informatik quasthoff@informatik.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Kapitel 4: Netzplantechnik Gliederung der Vorlesung

Kapitel 4: Netzplantechnik Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Netzplantechnik 5. Minimal spannende Bäume 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Grundbegrie der Codierungstheorie

Grundbegrie der Codierungstheorie Grundbegrie der Codierungstheorie Pia Lackamp 12. Juni 2017 Inhaltsverzeichnis 1 Einleitung 2 2 Hauptteil 3 2.1 Blockcodes............................ 3 2.1.1 Beispiele.......................... 3 2.2

Mehr

Künstliche Intelligenz

Künstliche Intelligenz Künstliche Intelligenz Vorlesung 9 und 10: Evolutionäre Standardalgorithmen 1/69 LERNZIELE Die gängigen Standardalgorithmen, aus der Anfangszeit bis heute, werden vorgestellt. Die bekannten Standardalgorithmen

Mehr

Evolutionsstrategien

Evolutionsstrategien Evolutionsstrategien zum Seminar Evolutionäre Algorithmen von Jana Schäfer INHALTVERZEICHNIS 1. Einführung... 3 2. Die Geschichte der Evolutionsstrategien...4 3. Grundlegendes... 6 3.1 Begriffe... 6 3.2

Mehr

Darstellung rationaler Zahlen durch Stammbrüche

Darstellung rationaler Zahlen durch Stammbrüche Darstellung rationaler Zahlen durch Stammbrüche Charlotte Walter 24 November 204 HUMBOLDT-UNIVERSITÄT ZU BERLIN Mathematisch-Naturwissenschaftlicher Kampus Inhaltsverzeichnis Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Heuristiken Greedy-Algorithmen Lokale Suche Tabu Suche

Heuristiken Greedy-Algorithmen Lokale Suche Tabu Suche Seminar Ausgewählte Themen des Operations Research bei Prof. R. Schrader Heuristiken Greedy-Algorithmen Lokale Suche Tabu Suche Wintersemester 2007/2008 Eingereicht von: Florian Schuster Datum: 12.12.2007

Mehr

1 Die Mandelbrotmenge

1 Die Mandelbrotmenge 1 Die Mandelbrotmenge In diesem Abschnitt wollen wir mathematische Aspekte der sogenannten Mandelbrotmenge beleuchten, die wir im Folgenden mit M bezeichnen wollen. 1 Ihr Name ist ihrem Entdecker Benoît

Mehr

3. Die Datenstruktur Graph

3. Die Datenstruktur Graph 3. Die Datenstruktur Graph 3.1 Einleitung: Das Königsberger Brückenproblem Das Königsberger Brückenproblem ist eine mathematische Fragestellung des frühen 18. Jahrhunderts, die anhand von sieben Brücken

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

Mehr

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften 1 Michael Beetz Technische Universität München Wintersemester 2004/05 Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche 2 3 der Eigenschaften der 4 : 8-Puzzle 5 Heuristiken und ihre Eigenschaften

Mehr

Berechnung von Abständen

Berechnung von Abständen 3. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 3.4. Es sei G = (V, E) ein Graph. Der Abstand d(v, w) zweier Knoten v, w V ist die minimale Länge eines Weges von v nach w.

Mehr

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches

Organisatorisches. Programmierpraktikum Das Canadian Traveller Problem. Organisatorisches. Organisatorisches Organisatorisches Programmierpraktikum Das Canadian Traveller Problem Rainer Schrader Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln. April 006 Prof. Dr. Rainer Schrader Tel.: 470-600

Mehr

Genetische Algorithmen

Genetische Algorithmen Michael Gerhäuser Universität Bayreuth 28.06.2008 1 Motivierende Beispiele 2 Grundbegriffe der biologischen Evolution 3 Formalisierung der Grundbegriffe 4 Modellierung mit Markov-Ketten 5 Konvergenzanalyse

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet

22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet 22. Algorithmus der Woche Partnerschaftsvermittlung Drum prüfe, wer sich ewig bindet Autor Volker Claus, Universität Stuttgart Volker Diekert, Universität Stuttgart Holger Petersen, Universität Stuttgart

Mehr

Seminararbeit zum Thema Genetische Algorithmen

Seminararbeit zum Thema Genetische Algorithmen Seminararbeit zum Thema Genetische Algorithmen Seminar in Intelligent Management Models in Transportation und Logistics am Institut für Informatik-Systeme Lehrstuhl Verkehrsinformatik Univ.-Prof. Dr.-Ing.

Mehr

Grundbegrie der Wahrscheinlichkeitsrechnung

Grundbegrie der Wahrscheinlichkeitsrechnung Die Benutzung dieser Materialien ist auf Herbst 2017 beschränkt. Diese Hilfsmaterialien sind nur für unseren Studenten gemeint, dürfen also nicht weiterverteilt werden. Grundbegrie der Wahrscheinlichkeitsrechnung

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Greedy Algorithms - Gierige Algorithmen

Greedy Algorithms - Gierige Algorithmen Greedy Algorithms - Gierige Algorithmen Marius Burfey 23. Juni 2009 Inhaltsverzeichnis 1 Greedy Algorithms 1 2 Interval Scheduling - Ablaufplanung 2 2.1 Problembeschreibung....................... 2 2.2

Mehr

String - Matching. Kapitel Definition

String - Matching. Kapitel Definition Kapitel 1 String - Matching 1.1 Definition String - Matching ( übersetzt in etwa Zeichenkettenanpassung ) ist die Suche eines Musters ( Pattern ) in einem Text. Es findet beispielsweise Anwendung bei der

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Übung: Algorithmen und Datenstrukturen SS 2007

Übung: Algorithmen und Datenstrukturen SS 2007 Übung: Algorithmen und Datenstrukturen SS 2007 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 5 Votierung in der Woche vom 04.06.0708.06.07 Aufgabe 12 Manuelle Sortierung

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Data Cubes PG Wissensmangement Seminarphase

Data Cubes PG Wissensmangement Seminarphase PG 402 - Wissensmangement Seminarphase 23.10.2001-25.10.2001 Hanna Köpcke Lehrstuhl für Künstliche Intelligenz Universität Dortmund Übersicht 1. Einführung 2. Aggregation in SQL, GROUP BY 3. Probleme mit

Mehr

Populationsbasierte Suche. Evolutionäre Algorithmen (1)

Populationsbasierte Suche. Evolutionäre Algorithmen (1) Populationsbasierte Suche Bisherige Meta-Heuristiken: Simulated Annealing Tabu Search Ausgehend von einer Lösung wird gesucht Populationsbasierte Heuristiken Suche erfolgt ausgehend von mehreren Lösungen

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

3. Übungsblatt zu Algorithmen I im SoSe 2017

3. Übungsblatt zu Algorithmen I im SoSe 2017 Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 011 Übungsblatt 30. Mai 011 Grundlagen: Algorithmen und Datenstrukturen

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen Shawn Keen Zusammenfassung Eine weitere Herangehensweise an das maschinelle Lernen ist die Nachahmung evolutionärer Prozesse. Hier wollen wir uns mit den sogenannten Genetischen

Mehr

GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness

GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness GP-Music: An Interactive Genetic Programming System for Music Generation with Automated Fitness Raters Brad Johanson, Riccardo Poli Seminarvortrag von Thomas Arnold G ˇ ˇ ˇ ˇ WS 2012/13 TU Darmstadt Seminar

Mehr

Genetische Algorithmen von der Evolution lernen

Genetische Algorithmen von der Evolution lernen Genetische Algorithmen von der Evolution lernen (c) Till Hänisch 2003, BA Heidenheim Literatur zusätzlich zum Lit. Verz. Nils J. Nilsson Artificial Intelligence Morgan Kaufmann, 1998 Ansatz Bisher: Problemlösung

Mehr

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal 3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

10. Übungsblatt zu Algorithmen I im SS 2010

10. Übungsblatt zu Algorithmen I im SS 2010 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders G.V. Batz, C. Schulz, J. Speck 0. Übungsblatt zu Algorithmen I im SS 00 http//algo.iti.kit.edu/algorithmeni.php

Mehr

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick

8.1 Einleitung. Grundlagen der Künstlichen Intelligenz. 8.1 Einleitung. 8.2 Lokale Suchverfahren. 8.3 Zusammenfassung. Suchprobleme: Überblick Grundlagen der Künstlichen Intelligenz 5. April 0 8. Suchalgorithmen: Lokale Suche Grundlagen der Künstlichen Intelligenz 8. Suchalgorithmen: Lokale Suche 8.1 Einleitung Malte Helmert Universität Basel

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Proseminarvortrag. Markov-Ketten in der Biologie (Anwendungen)

Proseminarvortrag. Markov-Ketten in der Biologie (Anwendungen) Proseminarvortrag Markov-Ketten in der Biologie (Anwendungen) von Peter Drössler 20.01.2010 2 Markov-Ketten in der Biologie (Peter Drössler, KIT 2010) Inhalt 1. Das Wright-Fisher Modell... 3 1.1. Notwendige

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS)

Konstruktions-Verbesserungsheuristiken. Iterierte lokale Suche (ILS) Konstruktions-Verbesserungsheuristiken Iterierte lokale Suche (ILS) Idee: 2-Phasen-Suche 1. Phase: Randomisierte Konstruktionsheuristik 2. Phase: Lokale Suche Beispiele: Multi-Start lokale Suche GRASP:

Mehr

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1 Vorlesung Geometrische Algorithmen Sichtbarkeitsgraphen und kurzeste Wege Sven Schuierer Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Hamiltonsche Graphen

Hamiltonsche Graphen Hamiltonsche Graphen Definition 3.2. Es sei G = (V, E) ein Graph. Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg. Ein Kreis, der jeden Knoten von G genau einmal enthält,

Mehr