Heuristiken. Mike Hüftle. 28. Juli Einleitung

Größe: px
Ab Seite anzeigen:

Download "Heuristiken. Mike Hüftle. 28. Juli Einleitung"

Transkript

1 Heuristiken Mike Hüftle 28. Juli 2006 Inhaltsverzeichnis 1 Einleitung Greedy-Heuristiken Methodenbeschreibung Beispiel Varianten Anwendung Nachbarschaftssuche Hill-Climbing Iterative lokale Suche Tabu Search Simulated Annealing Genetische Algorithmen Entwicklung Methodenbeschreibung Nebenpfad: Populationsgröße Nebenpfad: Detaillierte Methodenbeschreibung Nebenpfad: Genetische Operationen Nebenpfad: Evolutionsparameter Methodenbeschreibung Varianten Anwendung Anwendung Ameisensysteme Methodenbeschreibung Nebenpfad: Ameisen-Algorithmus Varianten Anwendung

2 6 Fitnesslandschaften Methodenbeschreibung Nebenpfad: Methodenbeschreibung Anwendung Künstliche Neuronale Netze Aufbau Reizweiterleitung Nebenpfad: Feedback-Netze Nebenpfad: Feedforward-Netze Lernverfahren Nebenpfad: Aktivierungsfunktion Nebenpfad: Lernverfahren Nebenpfad: Lernalgorithmen Perceptron, Adaline und Backpropagation Hopfield-Netz Boltzmann-Maschine Kohonen-Netze Anwendung Anwendung Literatur und Methodenverzeichnis Literatur zu Greedy-Heuristiken und Nachbarschaftssuche Literatur zu Genetischen Algorithmen Literatur zu Ameisensystemen und Fitnesslandschaften Literatur zu Neuronalen Netzen Methoden

3 1 Einleitung 1.1 Heuristiken Heuristiken (aus dem Griechischen: heuriskein - Finden, entdecken) sind Methoden zur Suche von guten (nahezu optimalen) Lösungen für ein Optimierungsproblem. Die Suche erfolgt in möglichst kurzer Zeit, jedoch ohne die Optimalität der Lösung zu garantieren. In vielen Fällen wird nicht einmal eine Aussage getroffen, wie nahe die gefundene Lösung am Optimum liegt. Jedoch ist eine heuristische, gute Lösung für praktische Probleme oft ausreichend genau und kann effizienter berechnet werden, als eine optimale Lösung. Einteilung von Heuristiken Aufgrund des breiten Einsatzgebietes existiert eine Vielzahl allgemein einsetzbarer und problemspezifischer heuristischer Methoden. Diese lassen sich grob in Konstruktionsheuristiken zur Ermittlung einer ersten Ausgangslösung und Verbesserungsheuristiken zur Suche nach Lösungen mit höherem bzw. niedrigerem Zielfunktionswert untergliedern. Die Abbildung zeigt die Klassifikation wichtiger heuristischer Methoden. 3

4 1.2 Konstruktionsheuristiken Konstruktions- oder Eröffnungsheuristiken bauen eine Anfangslösung schrittweise auf, indem in jedem Schritt eine Lösungskomponente zur aktuellen Lösung hinzugefügt wird. Die Auswahl dieser Komponente erfolgt in Abhängigkeit von verschiedenen Regeln mit dem Ziel, eine möglichst gute erste Lösung zu erzeugen, die mit anderen Methoden weiter verbessert werden kann. Eine häufig eingesetzte Strategie zur Auswahl der Lösungskomponenten ist die Greedy-Heuristik. Verbesserungsheuristiken Verbesserungsheuristiken arbeiten nach verschiedenen Prinzipien: Lokale Verbesserungsheuristiken versuchen mit Hilfe von Änderungen einzelner Komponenten des Lösungsvektors den Zielfunktionswert zu verbessern. Heuristiken, die auf der Nachbarschaftssuche basieren, untersuchen in einem möglichst großen Bereich im Lösungsraum nach verbessernden Lösungen. Populationsbasierte Heuristiken, wie z.b. Genetische Algorithmen, gehen von einer Menge von Lösungen aus, aus denen neue Lösungen erzeugt werden. Weitere Heuristiken Fitnesslandschaften sind ein Konzept zur Beschreibung und Analyse von Lösungsräumen. Neuronale Netze schließlich sind ein Ansatz, mit dem auch große Instanzen NP-schwerer Probleme gelöst werden können, beispielsweise beim Tourenplanungsproblem. 4

5 2 Greedy-Heuristiken 2.1 Methodenbeschreibung Schrittweiser Lösungsaufbau Die Idee des Greedy-Algorithmus ist es, durch wiederholte Anwendung einer einfachen Prozedur schrittweise eine Lösung aufzubauen. In jedem Schritt der Heuristik wird einer Teillösung eine neue Lösungskomponente hinzugefügt. Welche Lösungskomponente ausgewählt wird, wird mittels einer Greedyfunktion bestimmt (z.b. eine Kostenfunktion, d.h. die Komponente mit den geringsten Kosten wird ausgewählt). Lösungsgüte Nicht immer wird ein solcher Algorithmus das Problem vollständig lösen und wenn er eine Lösung erzielt, so ist diese nur zufällig optimal. Aber in vielen Fällen kann mit einem Greedy-Algorithmus eine sehr gute oder sogar die optimale Lösung ermittelt werden. Beispielsweise führt der Kruskal-Algorithmus als Greedy-Heuristik zu einem minimal spannenden Baum. Bei vielen Problemen schließt sich an die Greedy- Lösung eine Verbesserungsheuristik an, mit der die anfängliche Lösung weiter verbessert wird. Ein Beispiel hierfür ist die Nächste-Nachbar-Heuristik zur Bestimmung einer Ausgangslösung für das Travelling Salesman-Problem (TSP). 5

6 2.2 Beispiel Eisverkäufer- Problem Die Abbildung zeigt ein Beispiel für das Vorgehen des Greedy-Algorithmus. Dargestellt ist das Eisverkäufer-Problem. In einer Stadt soll eine minimale Anzahl von Eisverkäufern an zu bestimmenden Straßenecken so platziert werden, dass jeder Bewohner spätestens an der übernächsten Straßenecke einen Eisverkäufer findet. Eine Greedy-Heuristik ist nun, zuerst die Straßenecken auszuwählen, welche die meisten adjazenten Straßenecken haben, die noch nicht zu einem Eisverkäufer benachbart sind. Die Nachbarschaft eines Eisverkäufers ist ein in der Abbildung grau hinterlegtes Vieleck. Als erstes wird die Ecke 1 mit 5 adjazenten Knoten ausgewählt. Dann Ecke 2 mit 4 und Ecken 3 und 4 mit jeweils noch 3 adjazenten Knoten, die zu keinem anderen Eisverkäufer benachbart sind. Da insgesamt 8 Eisverkäufer platziert werden müssen, erreicht der Greedy-Algorithmus in diesem Fall keine gute Lösung. Schätzen Sie doch einmal, wieviele Eisverkäufer für das obige Beispiel ausreichen: Optimale Anzahl Eisverkäufer 6 6

7 2.3 Varianten Aufgrund der großen Beliebtheit des Greedy-Algorithmus wurden Ende der 1980er Jahre mehrere Varianten entwickelt, welche in vielen Fällen zu besseren Lösungen führen. Semi-Greedy- Heuristiken Semi-Greedy-Heuristiken [] fügen in jedem Schritt nicht unbedingt die Lösungskomponente mit dem höchsten Greedy-Funktionswert f(e) hinzu, sondern bewerten die möglichen Lösungskomponenten und fügen die besten in eine Kandidatenliste ein. Es werden nur die Elemente der hinzugefügt, die im Fall einer Minimierung dem Kriterium f(e) f min + α (f max f min ) genügen, wobei α [0, 1], f sub max /sub der bisher schlechteste sowie f sub min /sub der bisher beste Greedy-Funktionswert sind. Die Aufnahme einer neuen Komponente hängt somit von diesen beiden Greedy- Funktionswerten ab. Aus der so verwalteten Kandidatenliste wird zufällig ein Element ausgewählt und der bisherigen Teillösung hinzugefügt. GRASP GRASP (Greedy Randomized Adaptive Search Procedure) ist eine Metaheuristik, die systematisch Greedy-Konstruktionsheuristiken randomisiert, um viele gute Startlösungen für die nachfolgende lokale Suche zu generieren. GRASP ist ein iterativer Prozess mit den zwei Teilschritten Lösungskonstruktion und lokale Suche. Die lokale Suche auf der Basis von Greedy-Startlösungen weist eine geringere Varianz der erzielten Lösungsgüte als die lokale Suche auf Basis von zufälligen Startwerten []. Die einzelnen Lösungskomponenten werden wie bei den Semi-Greedy-Heuristiken in einer Kandidatenliste vorgehalten. Die Auswahl für diese Liste erfolgt auf Grundlage eines Auswahlkriteriums. Dieses hängt also vom Ergebnis der lokalen Suche ab und wird nach jeder Iteration aktualisiert. 7

8 2.4 Anwendung Vorteile von Greedy- Heuristiken Greedy-Heuristiken bestimmen sehr schnell eine gute Lösung. Sie sind dem Benutzer intuitiv verständlich. Nachteile von Greedy- Heuristiken Die berechnete Lösung ist in der Regel nicht optimal. Es wird nicht in jedem Fall eine Lösung gefunden, d.h. der Algorithmus muss eventuell mehrmals gestartet werden Anwendung Das Greedy-Prinzip gibt eine sehr allgemeine Vorgehensweise zur Lösung eines Optimierungsproblems vor. Greedy-Heuristiken werden deshalb in allen Bereichen eingesetzt. Sie eignen sich insbesondere dann, wenn für komplexe Probleme eine Abschätzung der optimalen Lösung gesucht ist oder die Anforderungen an die Lösungsgüte gering sind. Auch in On-line-Anwendungen, die eine schnelle Antwortzeit erfordern, werden oftmals Greedy-Heuristiken eingesetzt. 8

9 3 Nachbarschaftssuche 3.1 Hill-Climbing Einführung Heuristiken zur Nachbarschaftssuche sind Methoden, die sich nicht auf die Untersuchung lokaler Bereiche im Lösungsraum beschränken, sondern Strategien zur Überwindung solcher Bereiche beinhalten. Nachbarschaftsheuristiken sind daher in der Regel Metaheuristiken, d.h. Methoden, welche eine oder mehrere untergeordnete Optimierungsverfahren steuern. Hierbei sind die untergeordneten Verfahren auf die Suche nach lokalen Optima spezialisiert und die Metaheuristik führt diese Verfahren zu Bereichen im Lösungsraum, in denen möglicherweise bessere Lösungen zu erwarten sind. Hill Climbing Hill Climbing ist eine der einfachsten und gebräuchlichsten Suchstrategien in der Optimierung. Diese Methode wird Hill Climbing genannt, da sie (ähnlich einem Bergsteiger) versucht den Gipfel auf dem direktesten Weg, d.h. dem steilsten, zu erreichen. Von einer gegebenen Startlösung aus wird solange der nächst bessere Punkt aus der Nachbarschaft der aktuellen Lösung als nächster Iterationspunkt gewählt, bis keine Verbesserung des Zielfunktionswertes mehr möglich ist. Somit endet die Methode oft in lokalen Optima und wird deshalb meist mit zufällig ausgewählten Startpunkten wiederholt. Eine weitere Möglichkeit ist, mehrere Lösungswege gleichzeitig als Lösungspopulation zu verfolgen. Hill Climbing ist eine gute Lösungsstrategie, wenn das zu lösende Modell so viel Information beinhaltet, dass das Steckenbleiben in lokalen Optima vermieden werden kann. 9

10 3.2 Iterative lokale Suche Perturbation DieIterative Lokale Suche (ILS) ist einemetaheuristik, welche die Suche von einem lokalen Optimum s* in einen anderen Bereich des Lösungsraumes führt. Hierfür wird das aktuelle, lokale Optimum s* perturbiert, d.h. der Lösungsvektor wird in einigen Komponenten geändert. Dies Änderungen dürfen jedoch nicht zu klein sein, da das lokale Optimum sonst nicht verlassen wird. Sind die Änderungen im Lösungsvektor zu groß, so ist der Übergang in benachbarte Bereiche des Lösungsraumes zufällig. Lokale Suche Dann wird mittels einer eingebetteten Heuristik, meist einer lokalen Suche, der benachbarte Bereich auf ein lokales Optimum s** untersucht. Das lokale Optimum s** wird als mögliche Lösung wieder verworfen, wenn es ein definiertes Akzeptanzkriterium nicht erfüllt. Wird s** akzeptiert, so wird es zum aktuellen lokalen Optimum s* und die Suche startet von hier aus erneut. Anwendung ILS ist eine sehr einfache, wenig aufwändig zu implementierende und robuste Metaheuristik, deren Effizienz hauptsächlich von der Implementierung der eingebetteten lokalen Suche, der Pertubation und dem Akzeptanzkriterium für die pertubierten Lösungen abhängt. ILS wurde erfolgreich auf eine Vielzahl kombinatorischer Optimierungsprobleme angewendet und übertrifft in vielen Fällen die Effizienz komplexer Metaheuristiken, wie z.b. genetischer Algorithmen (vgl. []). Die prominentesten Anwendungen von ILS sind das Travelling Salesman Problem (z.b. []) und Scheduling- Probleme (z.b. []). 10

11 3.3 Tabu Search Steuerung untergeordneter Methoden Tabu Search ist eine Metaheuristik zur Lösung komplexer mathematischer Optimierungsprobleme, die 1977 von GLOVER vorgestellt wurde []. Sie steuert untergeordnete Optimierungsmethoden so, dass lokale Optima überwunden werden können. Als untergeordnete Methoden kommen prinzipiell alle Methoden in Betracht, die zur Bestimmung lokaler Optima eingesetzt werden können. In jeder Iteration von Tabu Search wird mit solch einem Verfahren ein lokales Optimum bestimmt. Ist ein Abbruchkriterium nicht erfüllt, so wählt Tabu Search einen geeigneten Übergang in einen neuen Bereich des Suchraumes, in dem eventuell eine Verbesserung des Zielfunktionswertes möglich ist. Es ist jedoch auch eine vorübergehende Verschlechterung erlaubt. Tabu- Bedingungen Die Suche im gesamten Lösungsraum wird durch Tabu-Bedingungen eingeschränkt. Dies haben das Ziel, das Durchlaufen von Zyklen zu verhindern. Dies ist wichtig, da sonst bei Schritten, die nicht weit genug vom aktuellen lokalen Optimum wegführen, wieder ein bereits untersuchtes lokales Optimum aufgesucht werden kann. Tabu Search ermöglicht somit einerseits eine intensive lokale Suche mittels der untergeordneten Optimierungsmethode und andererseits eine globale Diversifizierung der Suche im gesamten Lösungsraum. Anwendung Tabu Search wurde ursprünglich zur Lösung kombinatorischer MILP-Probleme entwickelt. Der heutige Einsatzbereich reicht jedoch vom Scheduling über Travelling Salesman Probleme, Quadratische Zuordnungsprobleme [] bis hin zu Clusterproblemen. GLOVER [] und Kuhn [] geben einen umfassenden Überblick über die verschiedenen Anwendungsbereiche. 11

12 3.4 Simulated Annealing Physikalisches Prinzip Simulated Annealing (SA) ist eine Metaheuristik auf Basis einer lokalen Suche, bei der mit einer geringen Wahrscheinlichkeit auch schlechtere Lösungen akzeptiert werden. SA wurde zuerst von KIRKPATRICK [] als physikalische Analogie zu Zustandsveränderungen bei Abkühlungsprozessen in der Physik beschrieben: Wenn ein Festkörper zum Schmelzen gebracht wird, so sind die Atome zufällig verteilt. Wird nun die Temperatur langsam gesenkt, so existiert für jedes Temperaturniveau ein thermisches Gleichgewicht - die Atome können sich in der energetisch günstigsten Struktur anordnen. Analogie zur Optimierung Die Analogie zur Optimierung wird deutlich, wenn Lösungen des Optimierungsproblems als Zustände des physikalischen Systems aufgefasst werden, Nachbarschaftslösungen als Folgezustände und die zu minimierende Energie des Systems als Zielfunktion. Dann können ausgehend von einem lokalen Optimum (Zustand) benachbarte Optima (Zustände) erreicht werden, indem ein Parameter (die Temperatur) verändert wird. Indem auch schlechtere Zustände akzeptiert werden, kann der Algorithmus aus dem Einzugsbereich lokaler Optima entkommen und ein globales Optimum finden. Vorgehen Beim Simulated Annealing wird mit einer zulässigen Lösung des Optimierungsproblems gestartet und eine zufällig gewählte, benachbarte Lösung erzeugt. Besitzt diese einen besseren Zielfunktionswert, so wird diese Lösung akzeptiert und iteriert. Andernfalls wird die neue Lösung nur mit einer gewissen Wahrscheinlichkeit akzeptiert. Diese Wahrscheinlichkeit nimmt mit steigender Iterationszahl (zunehmender Abkühlung) ab (Annealing). Zur nächsten Iteration wird der Temperatur-Parameter abgesenkt und damit die Wahrscheinlichkeit, dass eine schlechtere Lösung akzeptiert wird, verringert. Ist ein Stopp-Kriterium erreicht (z.b. wenn nach 5 Temperaturabsenkungen keine Verbesserung des Zielfunktionswertes mehr erreicht werden kann), so bricht der Algorithmus ab. Anwendung Simulated Annealing ist eine sehr allgemein anwendbares Methode, die in vielen Bereiche der kombinatorischen Optimierung eingesetzt wird und deren asymptotische Konvergenz gesichert ist. Jedoch ist eine Konvergenz in endlich vielen Schritten im Allgemeinen nicht garantiert. Entscheidenden Einfluss auf die Konvergenz hat die gewählte Abkühlungsstrategie. Nachteilig ist jedoch der erhebliche Rechenaufwand der Methode. 12

13 4 Genetische Algorithmen 4.1 Entwicklung Genetische Algorithmen Die den genetischen Algorithmen zugrunde liegenden Ideen stammen aus der Evolutionslehre von Charles Darwin und der Vererbungslehre von Gregor Mendel. Darwin erkannte anhand populationsgeographischer Beobachtungen, dass die Entwicklung der Arten eine Folge von Anpassungs- und Selektionsprozessen ist. Mendel entdeckte aufgrund seiner Beobachtungen an den Eigenschaften von Pflanzensamen die grundlegenden Prinzipien der Vererbungslehre. Die von Mendel und Darwin erkannten Gesetzmäßigkeiten bilden die Grundlage der modernen Evolutionstheorie, die J. Holland [] benutzte, um Problemlösungsstrategien für mathematische Modelle zu entwerfen. Holland entwickelte in den 60er Jahren lernende Systeme, welche nicht nur das Wissen von einzelnen Objekten berücksichtigen, sondern dieses Wissen auch durch Evolution über mehrere Generationen weitergeben können. Evolutionäre Algorithmen Genetische Algorithmen gehören, wie auch die neuronalen Netze, zu den Methoden der naturanalogen Modellierung und Problemlösung. Die Begriffe Genetische Algorithmen und Evolutionäre Algorithmen werden oft synonym verwendet. Jedoch gehören neben den genetischen Algorithmen auch die evolutionären Systeme und die genetische Programmierung zur Familie der evolutionären Algorithmen. Die evolutionären Systeme wurden in den 1970er Jahren von Ingo Rechenberg und Hans-Paul Schwefel [] entwickelt. Sie unterscheiden sich von den genetischen Algorithmen durch die Repräsentation der Individuen als Vektor (anstatt als Bitstring), sowie durch die Art, wie genetische Operatoren angewendet werden. Die genetische Programmierung arbeitet mit einer Baumstruktur zur Repräsentation der Daten und wird zum Design von Schaltkreisen, zur Mustererkennung und zum Training neuronaler Netze eingesetzt. Anwendungsbereiche Sowohl genetische Algorithmen, als auch die evolutionäre Programmierung, werden zur Lösung von Optimierungsproblemen eingesetzt. Genetischen Algorithmen werden darüber hinaus auch für Suchprobleme und Probleme im Maschinellen Lernen angewendet. 13

14 Im Folgenden wird auf die, in der Praxis bedeutsameren, genetischen Algorithmen eingegangen. 14

15 4.2 Methodenbeschreibung Individuen und Population Genetische Algorithmen basieren auf einer parallelen, konkurrierenden Suche nach einer besten Lösung. Sie versuchen aus einer Vielzahl von Lösungen die global optimale herauszufinden. Die einzelnen Lösungen werden Individuen genannt und bilden zusammen eine Population. Es gibt verschiedene Ansätze zur Wahl der besten Populationsgröße. Ein Individuum besitz mehrere Gene. Diese kodieren die Eigenschaften der Lösung bzw. die Variablen des Lösungsvektors. Um zu einer detaillierten Beschreibung der Kodierung genetischer Algorithmen zu gelangen klicken sie bitte hier. Jede Lösung wird hinsichtlich ihrer Lösungsgüte durch einen externen Lösungsalgorithmus ausgewertet und ihr wird ein Fitnesswert zugeordnet. Genetische Operationen Ablaufschema eines genetischen Algorithmus Die besten Individuen einer Population werden mittels eines Selektionsoperators ausgewählt und aus ihnen wird mit den evolutionären Operatoren Rekombination (Kreuzung) und Mutation eine neue Population erzeugt. Durch diese Operatoren entstehen aus einer Population neue Individuen, die eventuell bessere Problemlösungen sind. Wird dieser Prozess mehrfach wiederholt, so verbessern sich die Fitnesswerte der Individuen. Ist ein Abbruchkriterium erreicht, so endet der Iterationsprozess an einer besten Lösung. Um mehr über genetischen Operationen zu erfahren folgen sie bitte diesem Link. Die Wahl der Evolutionsparameter (z.b. Populationsgröße, Mutationswahrscheinlichkeit) hängt von der Problemstellung und den möglichen genetischen Operatoren ab Nebenpfad: Populationsgröße Wahl der Populationsgröße Von verschiedenen Autoren wurde versucht, Orientierungshilfen für die Wahl der Populationsgröße N zu geben. Sie wird von GOLDBERG [] in Abhängigkeit von der Länge eines Chromosoms l berechnet zu: N=1,65 2 0,21 l 15

16 GOLDBERG/DEB/CLARK [] berechnen die Populationsgröße N in Abhängigkeit vom Grad der Nichtlinearität k, der Varianz des Problems σ 2 und der Differenz d der Fitnesswerte zwischen lokalen Optima und globalem Optimum. N=2 k σ2 d Nebenpfad: Detaillierte Methodenbeschreibung Kodierung des Problems Um einen genetischen Algorithmus zur Problemlösung heranziehen zu können muss zunächst eine Kodierung des Problems durchgeführt werden. Dabei wird jede Eigenschaft (d.h. jedes Gen) einer Lösung durch eines oder mehrere Bits repräsentiert. Zum Beispiel steht eine 1 für eine erfüllte und 0 für eine nicht erfüllte Eigenschaft. Oder die Eigenschaft Farbe wird mit 0 für grün, 1 für blau, 2 für rot usw. kodiert. Die spezielle Ausprägung einer Eigenschaft wird als Allel bezeichnet. 0 und 1 sind beispielsweise Allele. Die binäre Kodierung besitzt jedoch den Nachteilen, dass die einzelnen Stellen im binären Code unterschiedlich bedeutsam sind, da die vorderen Stellen größere Zweierpotenzen kodieren als die hinteren. Dies kann durch die Anwendung der Gray-Kodierung behoben werden (vgl. z.b. []). Die Kodierung des Problems ist wesentlich für die Qualität des genetischen Algorithmus. Insbesondere muss eine gute Kodierung den gesamten Lösungsraum abbilden und neue, durch die Anwendung der genetischen Operatoren erzeugte Individuen müssen sinnvolle Lösungen bezüglich des zu lösenden Problems ergeben. Außerdem ist eine Abstimmung von Kodierung und genetischen Operatoren erforderlich. Idealerweise wird eine 1:1-Kodierung verwendet, d.h. jede Lösung des Lösungsraumes entspricht genau einem Chromosom. Es ist jedoch häufig schwierig, solch ein Kodierung zu finden. Deshalb wird in den meisten Fällen eine 1:m-Kodierung implementiert, d.h. eine Lösung kann durch viele Chromosomen repräsentiert werden. Dies reduziert jedoch die Effizienz des genetischen Algorithmus. Beispiel Um beispielsweise ein Travelling Salesman Problem mit 12 Städten zu kodieren werden pro Stadt 4 Bits benötigt. Jede Stadt entspricht hierbei genau einer Bitkombination. Es sind jedoch Bitkombinationen möglich, die nicht mit einer Stadt belegt sind (z.b. 1111). 16

17 Stadt Kodierung Stadt Kodierung Stadt Kodierung Die Anwendung der genetischen Operatoren kann dazu führen, dass eine nicht belegte Bitkombination entsteht. Diese kann dann beispielsweise durch ein Prüfverfahren aus der Population entfernt und durch ein zulässiges Individuum ersetzt werden. Zwei mögliche Lösungen bzw. zwei Touren des TSP sind somit: Zwei Individuen für das TSP Soll eine Funktion optimiert werden, beispielsweise f(x)=x sin (10x)+1 im Intervall [-1,2], so können die x-werte durch einen 22-stelligen Bitvektor repräsentiert werden: x = 21 i=0 b i 2 i = b 2 1, b 2 0,..., b 0 welcher auf das Intervall [-1,2] normiert wird. D.h. der Bitvektor ( ) steht für x=-1, ( ) für den Wert x=2 und ( ) für x=1, mit dem zugehörigen Fitnesswert f(x)=2, Nebenpfad: Genetische Operationen Selektion Die Selektion bestimmt, welche Individuen aus einer Population zur Evolution ausgewählt werden und beeinflusst somit die nächste Lösungspopulation. Der Selektionsdruck bestimmt, wie schnell die Lösungspopulation gegen ein Optimum konvergiert. Bei der Suchstrategie nach der global optimalen Lösung sollte ein Mittelweg zwischen einer intensiven lokalen Suche und einer extensiven Suche in verschiedenen Bereichen des Lösungsraumes gefunden werden. Der Selektionsdruck wird durch die Wahl eines bestimmten Selektionsverfahrens vorgegeben. Ein hoher Selektionsdruck bewirkt eine intensive, schnell konvergierende Suche, die jedoch unter Umständen in einem lokalen Optimum konvergieren kann. Demgegenüber bewirkt ein niedriger Selektionsdruck eine breit angelegte Suche im Lösungsraum begünstigt. Der Selektionsdruck ist also 17

18 ein Maß dafür, welche Chance Individuen mit schlechteren Fitnesswerten haben, in die nächste Generation übernommen zu werden. Bei Problemen mit wenigen lokalen Optima ist es oft günstiger einen höheren Selektionsdruck zu wählen. Gibt es sehr viele lokale Optima im Lösungsraum, so wird ein niedrigerer Selektionsdruck bevorzugt. Im folgenden werden die wichtigsten Selektionsmethoden kurz erläutert: Die Fitnessproportionale Selektion weist anschaulich jedem Individuum ein Segment eines Rouletterades zu. Die Größe des Segmentes ist proportional zu seinem Fitnesswert. Das Individuum, auf dessen Segment das Rouletterad stehen bleibt, wird in eine Elternpopulation übernommen. Ein Nachteil dieser Methode ist jedoch, dass bei einer niedrigen Fitnessvarianz jedes Individuum nahezu die gleiche Überlebenschance hat. Also können besser angepasste Individuen nicht mehr Nachkommen erzeugen, als schlechter angepasste. Um dieses Problem zu lösen wird bei der Fitnessreduktion der Fitnesswert jedes Individuums um einen bestimmten Anteil des am schlechtesten angepassten Individuums erniedrigt. Hierdurch erzeugen besser angepasste Individuen auch mehr Nachkommen. Bei der Sigmaskalierung wird die Größe des Segmentabschnittes beim Rouletterad als eine Funktion des Fitnesswertes des einzelnen Individuums, des Populationsdurchschnittes und der Populationsstandardabweichung berechnet. Die Sigmaskalierung verhält sich ähnlich der fitnessproportionalen Selektion mit einer Fitnessreduktion von 90%. Bei der Boltzmann-Selektion wird das Roulettesegment für gut angepasste Individuen überproportional erhöht. Die Verfahren der Fitnessproportionalen Selektion haben den entscheidenden Nachteil, dass der genetische Algorithmus sich nach der anfänglichen, zufälligen Auswahl einer Population schnell auf wenige lokale Optima konzentriert, die untersucht werden. Außerdem ist die absolute Bewertung der Fitness eines Individuums gegenüber anderen in vielen Fällen der Problemstellung nicht adäquat. Bei der rangbasierten Selektion ist die Größe des Segmentes proportional zum Rang, den das Individuum in der nach Fitnesswerten sortierten Population einnimmt. Dies vermeidet den Nachteil absoluter Fitnessbewertungen und verhindert eine schnelle Konvergenz des Algorithmus. Hierfür müssen jedoch zum Teil längere Rechenzeiten in Kauf genommen werden. Die Turnierselektion erzeugt einen ähnlichen Selektionsdruck wie die rangbasierte Selektion, ist jedoch recheneffizienter. Es werden zwei Individuen zufällig aus der Population ausgewählt, diese kämpfen miteinander und der Verlierer (mit dem schlechteren Fitnesswert) wird in einem Stapel gespeichert. Der Ge- 18

19 winner bleibt weiter im Turnier und kann erneut ausgewählt werden. Ist das Turnier beendet bzw. der Stapel vollständig gefüllt, so kann er wieder von oben, also angefangen vom Gewinner des Turniers geleert werden. Bei der eingeschränkten Turnierselektion werden zwei Individuen einer Population ausgewählt und eine Kreuzung durchgeführt, welche zu zwei Nachkommen führt. Für jeden dieser zwei Nachkommen wird eine Anzahl von n Individuen ausgewählt, mit denen dieser Nachkomme kämpft. Wenn er einen besseren Fitnesswert, als das ihm ähnlichste der n Individuen aufweist, so ersetzt er dieses. Bei der interaktiven Selektion wählt der Anwender die Individuen selbst aus. Dies ist beispielsweise sinnvoll, wenn keine angemessene Fitnessfunktion angegeben werden kann. Kreuzung Kreuzung bedeutet die Kombination der Gene zweier Elternteile zur Erzeugung von neuen Individuen, ihren Nachkommen. Während der Kreuzungsphase werden die Paare ausgewählt, die gekreuzt werden sollen und anschließend die Stelle im Individuum, an der die Individuen geteilt werden. Man unterscheidet drei Arten der Kreuzung: Bei der Einzelpunkt-Kreuzung wird ein Kreuzungspunkt ausgewählt und der linke bzw. der rechte Teil beider Elternteile wird ausgetauscht. Einzelpunkt-Kreuzung Bei der Mehrpunkt-Kreuzung werden mehrere Kreuzungspunkte ausgewählt und die Gene, die zwischen diesen Punkten liegen, ausgetauscht. Die parametrisierte uniforme Kreuzung tauscht jedes Bit der Elternteile mit einer gewissen Wahrscheinlichkeit aus, um Nachkommen zu erzeugen. Die Beeinflussung des Suchverhaltens durch die Kreuzungsoperation wird durch die Destruktivität ausgedrückt. Je destruktiver eine Operation ist, desto unterschiedlicher sind die die Nachkommen von ihren Eltern. Die Einzelpunkt- Kreuzung ist die am wenigsten destruktive Operation. Bei der Wahl des Kreuzungsverfahrens muss beachtet werden, dass eine Kreuzung auch erfolgreiche Individuen zerstören kann, andererseits aber bestimmte Individuen (beispielsweise bei der Einzelpunktkreuzung) überhaupt nicht entstehen können. 19

20 Mutation Die Mutation ändert mit einer gewissen Wahrscheinlichkeit jedes Bit eines Individuums bzw. jedes Gen eines Chromosoms. Die Mutationswahrscheinlichkeit wird oft so gewählt, dass im Durchschnitt weniger als ein Bit eines Chromosoms geändert wird. Die Mutation trägt dazu bei, dass keine einförmigen, nicht mehr evolutionsfähigen Populationen zustande kommen. Durch eine zu häufige Mutation wird jedoch eine Entwicklung zu besseren Individuen behindert. Wird im obigen Beispiel das 10.Gen des Elternteils e1 mutiert, so verbessert sich dessen Fitnesswert von f(x)=2, auf f(x)=2, Nebenpfad: Evolutionsparameter Wahl der Evolutionsparameter Die Wahl der Evolutionsparameter (z.b. Populationsgröße, Mutationswahrscheinlichkeit) hängt von der Problemstellung und den möglichen genetischen Operatoren ab. Deshalb kann keine allgemeingültige Parametrisierung angegeben werden. Des weiteren sollten sich bestimmte Parameter während des Evolutionsprozesses ändern können. Am Anfang stehen Operatoren im Vordergrund, die den Suchraum schnell erkunden, wohingegen nahe des gesuchten Optimums kleine Schritte wichtig sind um in der Nähe des Optimums zu bleiben. Die genannten Anforderungen an die Adaptionsfähigkeit der Operatoren werden hauptsächlich durch die Anpassung der Operatorenwahrscheinlichkeiten (z.b. der Mutationswahrscheinlichkeit) implementiert. Hierfür gibt es zwei unterschiedliche Ansätze: Bei der absoluten Aktualisierung der Parameter werden Statistiken über mehrere Generationen von Populationen geführt und aus deren Entwicklung die Parameter für den nächsten Evolutionsschritt festgelegt. Dies ist gerechtfertigt, so lange die getroffene Annahme über den Evolutionsverlauf einer tatsächlichen Gesetzmäßigkeit entspricht. Im Gegensatz hierzu werden bei der empirischen Adaption oder Selbstadaption die Parameter zusammen mit der Population entwickelt. Die Adaption erfolgt meist auf der Ebene der Individuen und wird anhand deren Fitness bewertet. Es müssen also keine Informationen über das aktuelle Verhalten der gesamten Population vorliegen. 20

21 4.3 Methodenbeschreibung Metaevolution Bei genetischen Algorithmen soll die Suche nach einem globalen Optimum im gesamten zulässigen Lösungsraum durch die zufällige Auswahl der genetischen Operatoren gewährleistet sein. Es besteht jedoch die Möglichkeit, dass die Population zu klein ist oder im Laufe des Evolutionsprozesses Teile des zulässigen Raumes nicht durchsucht werden und die Evolution somit in einem lokalen Optimum konvergiert. Eine Strategie zur Vermeidung derartiger Probleme ist der Einsatz von Methoden der Metaevolution. Diese steuern die parallele Evolution mehrerer Populationen. Zwischen diesen Populationen werden in gewissen Abständen Individuen ausgetauscht, um die Vielfalt zu vergrößern. Wurde mittels eines genetischen Algorithmus eine beste Lösung gefunden, so empfiehlt es sich meist eine lokale Suche anzuschließen, welche die zur besten Lösung des genetischen Algorithmus benachbarten Lösungen auf Optimalität untersucht. 21

22 4.4 Varianten Spezielle Problemstellungen Zur Lösung spezieller Problemstellungen wurde eine Vielzahl von Erweiterungen des klassischen Ansatzes vorgestellt. Hier wird exemplarisch eine Auswahl vorgestellt. Genetische Algorithmen für reellwertige Probleme arbeiten mit kontinuierlichen Werten für die einzelnen Gene []. Mikro-Genetische Algorithmen für einfache und kleine Probleme benutzen nur eine sehr kleine Populationsgröße von 4 bis 5 Individuen, müssen dafür aber spezielle Mutationsoperatoren verwenden []. Genetische Algorithmen mit erweitertem Wissen werden durch Berücksichtigung von vorhandenem Wissen über das Problem (z.b. den Lösungsraum) effizienter implementiert []. Hybride Genetische Algorithmen kombinieren den genetischen Ansatz mit anderen Optimierungsansätzen []. Genetische Algorithmen wurden erfolgreich eingesetzt, um pareto-optimale Lösungen von Mehrziel-Optimierungsproblemen zu finden []. Der CHC-Algorithmus von [] kombiniert Ansätze aus den genetischen Algorithmen und den evolutionären Strategien. 22

23 4.5 Anwendung Vorteile Die Vorteile genetischer Algorithmen sind: Sie können zur Lösung eines breiten Spektrums von Optimierungsproblemen eingesetzt werden (u.a. auch bei nichtdifferenzierbaren Funktionen). Sie sind extrem robust, da sie auch mit fehlerhaften und unvollständigen Daten gute Ergebnisse liefern. Sie können leicht mit anderen Methoden wie Neuronalen Netzen oder Fuzzy-Techniken kombiniert werden. Sie sind verhältnismäßig einfach zu implementieren. Aufgrund des populationsbasierten Ansatzes können genetische Algorithmen effizient parallel implementiert werden. Nachteile Die Nachteile genetischer Algorithmen sind: Genetische Algorithmen sind universell, d.h. es fließen nurwenig problemspezifische Informationen in den Lösungsprozess mit ein. Wenn es eine problemspezifische Lösungsmethode gibt, führt diese in der Regel zu besseren Ergebnissen. Die gefundene Lösung ist nicht notwendigerweise das globale Optimum. Es existiert kein absolutes Maß für die Güte der gefundenen besten Lösung. Die beste Lösung kann von der Initialisierung der Anfangspopulation abhängen. Genetische Algorithmen sind relativ rechenaufwändig. Die Lösungsfindung ist für den Benutzer nicht intuitiv nachvollziehbar. 23

24 4.6 Anwendung Suche in größen Räumen Genetische Algorithmen wurden sowohl für Probleme der Wissensverarbeitung, als auch für Optimierungsprobleme entwickelt. Sie eignen sich für die Suche in großen Suchräumen mit vielen potentiellen Lösungen. Da sie sehr generell, d.h. wenig problemspezifisch arbeiten, stellen sie auch wenige Voraussetzungen an das zu lösende Problem. Aufgrund des populationsbasierten Ansatzes ist es erforderlich, dass die Berechnung der Fitnesswerte der Individuen schnell durchgeführt werden kann, da eine große Anzahl solcher Berechnungen notwendig ist. Wahl der Kodierung Weiterhin muss der Lösungsraum des betrachteten Problems so kodierbar sein, dass er alle (relevanten) Lösungen enthält. Durch die Operationen mit den Individuen dürfen jedoch nicht zu viele unsinnige Lösungen entstehen können. Die Wahl der richtigen Kodierung ist somit eine entscheidende Voraussetzung für den erfolgreichen Einsatz eines genetischen Algorithmus. Problemspezifische In der Literatur wird eine große Anzahl von erfolgreichen und Erfolg versprechenden Anwendungen genetischer Algorithmen beschrieben. Es existieren je- Heuristiken doch auch viele Anwendungen, bei denen genetische Algorithmen zu schlechteren Ergebnissen führen, als andere Heuristiken. Wenn das Aussehen des Lösungsraumes von vornherein bekannt ist, sind problemspezifische Heuristiken effizienter. Wenn der Lösungsraum nur wenige lokale Optima aufweist führt ein Hill-Climbing-Algorithmus meist zu besseren Resultaten. Der Einsatz genetischer Algorithmen ist im Allgemeinen immer dann Erfolg versprechend, wenn: Der Lösungsraum groß ist. Es viele lokale Optima gibt bzw. wenn über die Eigenschaften des Lösungsraumes überhaupt wenig bekannt ist. Kein globales Optimum sondern eine schnelle, näherungsweise optimale Lösung gefunden werden soll. 24

25 Anwendungsbeispiele Die Schwerpunkte der Anwendung genetischer Algorithmen liegen in der Optimierung NP-schwerer Probleme, dem Maschinellen Lernen, der Analyse in der chemischen Industrie und der Modellierung von Vorgängen in der Biologie. Außerdem können sie noch bei einer Vielzahl weiterer Probleme eingesetzt werden, wie beispielsweise der Funktionsoptimierung oder auch bei Computerspielen. Beispiele aus der Literatur sind: Bin-Packing-Probleme [] Travelling-Salesman-Probleme [] [] Scheduling-Probleme [] [] [] Merkmalsauswahl für Probleme des Maschinellen Lernens [] Datenanalyse [] Analyse in der chemischen Industrie [] Optimierung von Funktionen [] Computerspiele [] 25

26 5 Ameisensysteme 5.1 Methodenbeschreibung Ameisensysteme sind ein auf dem Gebiet der kombinatorischen Optimierung eingesetztes, heuristisches Optimierungsverfahren, das erstmals von DORIGO 1992 vorgestellt wurde. Sie werden vor allem zur Lösung von Kürzeste-Wege- Problemen eingesetzt (z.b. beim Routing in der Telekommunikation). Methodenbeschreibung Ameisensysteme bilden das Verhalten von Ameisen bei der Futtersuche nach. Eine Ameisenkolonie kann in kurzer Zeit den kürzesten Weg von ihrem Nest zu einer Futterquelle finden, indem die einzelnen Tiere auf ihrem Weg Duftstoffe, so genannte Pheromone hinterlassen, welche sich im Laufe der Zeit verflüchtigen. Normalerweise bewegt sich eine einzelne Ameise fast zufällig. Trifft sie jedoch eine Pheromonspur, so folgt sie dieser mit einer Wahrscheinlichkeit, die von der Pheromonintensität auf dieser Spur abhängt. Geht sie dieser Spur nach, so verstärkt sie die Pheromonspur durch ihre eigenen Ausscheidungen und zieht hierdurch weitere Ameisen an. Somit wird eine optimale Entscheidung über den einzuschlagenden Weg zur Futterquelle durch kollektives Verhalten getroffen. Hier finden sie eine Algorithmus. ausführlichere Methodenbeschreibung des Ameisen Nebenpfad: Ameisen-Algorithmus Methodenbeschreibung Die möglichen Wege, die eine Ameisenkolonie nehmen kann werden durch einen Graphen mit Bögen (i,j) abgebildet, wie dies in der Abbildung dargestellt ist. An jedem Knoteni bzw. j dieses Graphen müssen sich die Ameisen entscheiden, welchen Weg sie weiter einschlagen. Diese Entscheidung ist von der Pheromonintensität t sub ij /sub (t) zum Zeitpunkt t auf einem Bogen (ij) abhängig. Die Intensität dieser Markierungen verändert sich mit der Zeit. Eine Ameise wählt nun eine Kante mit einer Wahrscheinlichkeit, die sich aus den Pheromonintensitäten ergibt. Wenn alle Ameisen nach n Zeitschritten am Ziel angekommen sind werden die Pheromonintensitäten auf allen Kanten aktualisiert zu t ij (t + n) = ρ t ij + δt ij, 26

27 wobei ρ die Verdunstung des Pheromons zwischen den Zeitpunkten t und t+n angibt. Die Zunahme der Pheromonintensität δt ij ergibt sich als Summe der Pheromonausschüttungen aller Ameisen die entlang des Bogens (i,j) gelaufen sind. Die Pheromonausschüttung einer Ameise auf einem Bogen ist hierbei umgekehrt proportional zur Länge der Kante. Zudem wird für jede Ameise eine so genannte Tabuliste gespeichert, auf der festgehalten wird, welche Knoten diese Ameise bereits besucht hat und für ihren weiteren Weg tabu sind. Wenn alle Ameisen ihr Ziel erreicht haben ist ein Iterationsdurchlauf beendet, der bisherige kürzeste Weg wird gespeichert und der Algorithmus startet erneut mit dem nächsten Lauf der Ameisen, die sich dann an den aktualisierten Pheromonintensitäten orientieren. Das Verfahren endet, wenn entweder ein Stopp-Kriterium erreicht ist oder alle Ameisen den gleichen Weg nehmen. 27

28 5.2 Varianten Weitere Ameisensysteme Da die Ameisensysteme von DORIGO gegenüber anderen Metaheuristiken relativ schlecht abschneiden, wurde von STÜTZLE und HOOS [ützle98?] die Min- Max-Ameisensysteme entwickelt. Diese legen den Wertebereich für die Pheromonkonzentration auf ein Intervall [τ min, τ max ] fest. Außerdem darf nur die beste (z.b. die schnellste) Ameise eine Pheromonspur legen. Schließlich entwickelten DORIGO und DI CARO [] das Verfahren der Ameisenkolonie- Optimierung (Ant Colonie Optimization, ACO), welches im Gegensatz zu den ursprünglichen Ameisensystemen auch eine lokale Verbesserungssuche zulässt. Vor- und Nachteile von Ameisensystemen Aufgrund ihres allgemeinen Ansatzes sind Ameisensysteme bei den meisten Problemstellungen weniger effizient als Algorithmen, die speziell auf ein bestimmtes Problem zugeschnitten sind. Jedoch bieten Ameisensystem mehrere Vorteile gegenüber speziellen Heuristiken: Sie sind vielseitig und können sehr gut auf verschiedene Modifikationen desselben Problems angepasst werden. Beispielsweise können sie sowohl auf das symmetrische Travelling Salesman-Problem als auch auf das asymmetrische TSP angewendet werden. Sie können mit minimalen Veränderungen des Basisalgorithmus an verschiedene NP-schwereProbleme angepasst werden. Da es ein populationsbasierter Ansatz ist, können Ameisensysteme parallel Implementiert werden. 28

29 5.3 Anwendung Routing- Probleme Ameisensysteme und ihre Varianten eignen sich vor allem zur Lösung NPschwererRouting-Probleme, die mit klassischen Methoden der exakten Optimierung nicht lösbar sind. Insbesondere sind dies Probleme, bei denen die Größe des Routing-Graphen exponentiell mit der Problemgröße wächst und Probleme bei denen sich die Eigenschaften des Graphen dynamisch verändern. Anwendungsbeispiele Ameisensystem wurden erfolgreich eingesetzt bei Netzwerk Routing-Problemen [] [] Travelling Salesman-Problemen [] [] Quadratischen Zuordnungsproblemen [][] Vehicle Routing-Problemen [] [] 29

30 6 Fitnesslandschaften 6.1 Methodenbeschreibung Beschreiben von Lösungsräumen Fitnesslandschaften sind eine Methode, um das Verhalten heuristischer Suchmethoden in der Optimierung zu beschreiben. Sie unterstützen die Wahl einer guten Suchstrategie im Lösungsraum, indem sie Informationen über die Struktur des zu durchsuchenden Raumes bereitstellen. Methodenbeschreibung In vielen Bereichen der Optimierung ist die Menge der lokalen Optima sehr groß, so dass eine vollständige Enumeration aller dieser Lösungen nicht durchführbar ist. Nur ein kleiner Teil der Lösungen kann ausgewertet werden. Deshalb ist es meist notwendig, Informationen über die Struktur des Problems bzw. des Lösungsraumes in die Lösungsfindung mit einzubeziehen. Fitnesslandschaften dienen dazu, die Struktur eines Optimierungsproblems zu erkunden, um die problemspezifische Vorhersage der Performance einer Heuristik zu ermöglichen und das Design einer Heuristik für ein bestimmtes Problem zu erstellen. Räumliche Anordnung der Optima Eine Fitnesslandschaft besteht aus einer räumlichen Anordnung der lokalen Optima des Optimierungsproblems. Jedem solchen Optimum wird eine Höhe im Raum zugeordnet, welche der Fitness der zugehörigen Lösung entspricht. Die räumliche Struktur der Fitnesslandschaft wird durch eine Metrik d definiert, die jedem Paar von Optima einen Distanzwert zuweist (z.b. mit der Hamming- Distanz, der euklidischen Distanz oder anderen Distanzmaßen). Somit sind ähnliche Optima in der Fitnesslandschaft benachbart. detaillierten Methodenbeschreibung Nebenpfad: Methodenbeschreibung Formale Definition Eine Fitnesslandschaft kann formal definiert werden als Tripel L=(S,f,d) mit einer Menge von Lösungen S, einer Fitnessfunktion f und einem Distanzmaß d(s,t) zwischen zwei Lösungen s und t. Die Nachbarschaft N(s) = {t s d(s, t) = d min } eines Punktes s besteht aus allen Lösungen t, die höchstens die Distanz d sub min /sub von s haben. Die Landschaft kann auch als Graph interpretiert werden mit der KnotenmengeV=S und den Kanten E={(s,t)}. 30

31 Beispielsweise ist dann der Durchmesser der Landschaft gleich der maximalen Entfernung zwischen zwei Lösungen im Graphen. Die Topologie des Graphen ist problemabhängig: z.b. ist für das Bipartitioning-Problem der Graph ein Johnson-Graph oder für das Travelling Salesman-Problem ein Cayley-Graph (vgl. Stadler 1995). Eigenschaften von Fitnesslandschaften Für die problemspezifische Vorhersage der Performance einer Heuristik und das Design einer Heuristik für ein bestimmtes Problem werden die Charakteristika einer Fitnesslandschaft beschrieben, welche die Effizienz von heuristischen Suchmethoden wesentlich beeinflussen: Die Unebenheit der Landschaft, d.h. die Varianz von f Die Zahl der lokalen Optima und ihre Verteilung im Lösungsraum Die Struktur und die Größe von Attraktionsgebieten lokaler Optima Die Größe und Struktur von Ebenen mit gleicher Fitness Bestimmung der Unebenheit Um diese Eigenschaften messen zu können, wurden verschiedene Methoden entwickelt. Zur Abschätzung der Unebenheit einer Landschaft wird z.b. die random walk -Korrelationsfunktion von Weinberger eingesetzt. Letztere bestimmt die Autokorrelation durch einen Zufallslauf durch die Fitnesslandschaft, wobei die Random Walk -Korrelation r(m) für die Fitnesswerte von Lösungen (s,t) auf diesem Lauf berechnet wird, die m Schritte voneinander entfernt sind. In der Regel wird mit zunehmender Anzahl an Schritten m von s ausgehend die Korrelation r(m) kleiner. Aus den Werten der Korrelationen wird eine Korrelationslänge berechnet. Diese ist ein Maß für die Unebenheit der Fitnesslandschaft. Für viele Problemtypen kann die Korrelationslänge abgeschätzt werden, wie z.b. beim Travelling Salesman-Problem oder beim Quadratischen Zuordnungsproblem. Globale Eigenschaften Zur Bestimmung globaler Eigenschaften des Lösungsraumes wird die Fitness- Distanz-Korrelation eingesetzt. Diese wird aus der Korrelation der Fitness und der Distanz zur global optimalen Lösung berechnet. Bei strukturierten Lösungsräumen konzentrieren sich die lokalen Optima in einem kleinen Bereich des Lösungsraumes, d.h. mit abnehmender Distanz 31

32 zum globalen Optimum werden die Fitnesswerte größer. Bei unstrukturierten Lösungsräumen hingegen sind die lokalen Optima chaotisch über den gesamten Lösungsraum verteilt. 32

33 6.2 Anwendung Vorteile von Fitnesslandschaften Fitnesslandschaften sind eine gute Möglichkeit, um die Laufzeiten heuristischer Methoden für kombinatorischer Optimierungsprobleme zu verbessern. Sie können mit nahezu allen heuristischen Methoden kombiniert werden. Das Konzept der Fitnesslandschaft ist intuitiv verständlich und gut graphisch darstellbar. Nachteile von Fitnesslandschaften Die Implementierung ist relativ aufwändig und zusätzlich zur Implementierung der heuristischen Methode erforderlich. Ob die Laufzeit von Heuristiken durch den Einsatz von Fitnesslandschaften sinkt ist problemspezifisch. Anwendung Aufgrund der relativ aufwändigen Implementierung eignen sich Fitnesslandschaften vor allem für komplexe, kombinatorische Optimierungsprobleme mit vielen Instanzen. Sie werden in Kombination mit vielen heuristische Optimierungsmethoden eingesetzt, wie z.b. mit Memetischen und Genetischen Algorithmen oder Algorithmen zur Nachbarschaftssuche. Sind die Strukturen des Lösungsraumes aufgrund der Problemstellung jedoch bereits bekannt oder arbeiten heuristische Methoden auch ohne den Einsatz von Fitnesslandschaften effizient, so kann auf Fitnesslandschaften verzichtet werden. 33

34 7 Künstliche Neuronale Netze 7.1 Aufbau Begriff Künstlichen neuronalen Netze sind der Oberbegriff für eine Sammlung von Methoden, deren Mechanismen zur Informationsverarbeitung sich an den Nervensystemen im Gehirn von Säugetieren orientieren. In Analogie zur menschlichen Lernfähigkeit lassen sich mit neuronalen Netzen künstliche lernende Systeme modellieren, die fehlertolerant und robust gegen ungenaue Daten sind. Aufbau Ein neuronales Netz lässt sich als ein gerichteter, gewichteter Graph darstellen, bestehend aus Neuronen (Knoten) und Verknüpfungen (Bögen) zwischen diesen. Ein solches neuronales Netzwerk bildet über die Vielzahl einfacher, miteinander verbundener Neuronen ein funktionales Gesamtsystem. Die Neuronen werden schichtenweise angeordnet. Jedes neuronale Netzwerk besteht mindestens aus zwei Schichten. Die unterste Schicht wird als Eingabeschicht und die oberste Schicht als Ausgabeschicht bezeichnet. Die Eingabeneuronen in der Eingabeschicht besitzen keine eingehenden und die Ausgabeneuronen keine ausgehenden Verbindungen. Über die Ausgabeneuronen gibt das neuronale Netz die Ergebnisse der Berechnungen nach außen weiter. Oft wird die Eingabeschicht links und die Ausgabeschicht rechts im neuronalen Netzwerk dargestellt. Zwischen diesen beiden Schichten können eine beliebige Anzahl verborgener Schichten (hidden layers) angeordnet sein, die für den Benutzer nicht sichtbar sind. In der Praxis wird meist nur eine verborgene Schicht verwendet (vgl. Abbildung). 34

35 7.2 Reizweiterleitung ReizweiterleitungDie Neuronen erhalten über die gerichteten Verbindungen Reize (Eingaben). Diese Eingaben werden verarbeitet und erzeugen eine Ausgabe, die über Verbindungen zu anderen Neuronen weitergeleitet wird. Die Reihenfolge, in der die Neuronen aktiviert werden, wird festgelegt (z.b. durch eine topologische Sortierung im Graphen). Diese Vorgänge können parallel ausgeführt werden, was die Leistungsfähigkeit des Gesamtsystems erheblich steigert. Die Anpassung eines neuronalen Netzes erfolgt über die Verbindungen, indem die Reizweiterleitung an andere Neuronen unterschiedlich stark erfolgt und variiert werden kann. Die unterschiedlich starke Weiterleitung der Reize wird über die Bewertung der Verbindungen mit Gewichten erreicht. RückkopplungRückkopplung In Bezug auf die Informationsverarbeitung werden Netze mit und ohne Rückkopplung ( Feedback-Netze und Feedforward-Netze) unterschieden. Die Abbildung zeigt, in welchen Neuronalen Netzen Feedback- und Feedforward- Verfahren eingesetzt werden Nebenpfad: Feedback-Netze Feedback- Netze Feedback-Netze erlauben Rückkopplungsmöglichkeiten, d.h. bei einem solchen Netz kann eine Ausgabe wieder als Eingabe benutzt werden, wodurch ein Iterationsprozess in Gang gesetzt wird. Es werden so viele Iterationen durchlaufen bis das Netz einen stabilen Zustand erreicht und sich die Gewichte nur noch minimal ändern. Beispiele hierfür sind das Hopfield-Netz und die Boltzmann- Maschine Nebenpfad: Feedforward-Netze Feedforward- Netze Feedforward-Netze sind rückkopplungsfrei, d.h. Neuronen einer Ebene werden nur mit Neuronen einer höheren Ebene verknüpft. Werden eine Ebene oder mehrere Ebenen übersprungen, so wird dies eine shortcut connection genannt oder ein Feedforward-Netz zweiter oder höherer Ordnung. Bei vollständig vernetzten Netzen wird jedes Neuron mit jedem anderen Neuron verknüpft. Bei vollständigen Feedforward-Netzen wird ein Neuron mit 35

Verbesserungsheuristiken

Verbesserungsheuristiken Verbesserungsheuristiken Bestandteile der Lokalen Suche Für schwierige Optimierungsaufgaben haben Verbesserungsheuristiken eine große praktische Bedeutung. Sie starten mit Ausgangslösungen, die von z.b.

Mehr

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

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

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

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

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme

Ausarbeitung zum Modulabschluss. Graphentheorie. spannende Bäume, bewertete Graphen, optimale Bäume, Verbindungsprobleme Universität Hamburg Fachbereich Mathematik Seminar: Proseminar Graphentheorie Dozentin: Haibo Ruan Sommersemester 2011 Ausarbeitung zum Modulabschluss Graphentheorie spannende Bäume, bewertete Graphen,

Mehr

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn

Optimierung. Optimierung. Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren. 2013 Thomas Brox, Fabian Kuhn Optimierung Vorlesung 2 Optimierung ohne Nebenbedingungen Gradientenverfahren 1 Minimierung ohne Nebenbedingung Ein Optimierungsproblem besteht aus einer zulässigen Menge und einer Zielfunktion Minimum

Mehr

Routing Algorithmen. Begriffe, Definitionen

Routing Algorithmen. Begriffe, Definitionen Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

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

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

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

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

Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents

Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents Hybrid Optimization Methods for Warehouse Logistics and the Reconstruction of Destroyed Paper Documents Betreut von: ao.univ.-prof. Dr. Günther R. Raidl ao.univ.-prof. Dr. Ulrich Pferschy 25. Jänner 2010

Mehr

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme

Newton-Verfahren zur gleichungsbeschränkten Optimierung. 1 Gleichungsbeschränkte Optimierungsprobleme Newton-Verfahren zur gleichungsbeschränkten Optimierung Armin Farmani Anosheh (afarmani@mail.uni-mannheim.de) 3.Mai 2016 1 Gleichungsbeschränkte Optimierungsprobleme Einleitung In diesem Vortrag geht es

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

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking

Mehr

Heuristiken im Kontext von Scheduling

Heuristiken im Kontext von Scheduling Heuristiken im Kontext von Scheduling Expertenvortrag CoMa SS 09 CoMa SS 09 1/35 Übersicht Motivation Makespan Scheduling Lokale Suche Weitere Metaheuristiken Zusammenfassung Literatur CoMa SS 09 2/35

Mehr

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck

Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen. Clusteranalyse. Tobias Scheffer Thomas Vanck Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse Tobias Scheffer Thomas Vanck Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Boltzmann Maschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2014 Übersicht Boltzmann Maschine Neuronale Netzwerke Die Boltzmann Maschine Gibbs

Mehr

3. Das Reinforcement Lernproblem

3. Das Reinforcement Lernproblem 3. Das Reinforcement Lernproblem 1. Agierender Agent in der Umgebung 2. Discounted Rewards 3. Markov Eigenschaft des Zustandssignals 4. Markov sche Entscheidung 5. Werte-Funktionen und Bellman sche Optimalität

Mehr

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20 Gliederung / Künstliche Neuronale Netze Perzeptron Einschränkungen Netze von Perzeptonen Perzeptron-Lernen Perzeptron Künstliche Neuronale Netze Perzeptron 3 / Der Psychologe und Informatiker Frank Rosenblatt

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung

Mehr

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering

Das Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme

Mehr

1. Einleitung wichtige Begriffe

1. Einleitung wichtige Begriffe 1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und

Mehr

GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE

GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE Seminararbeit GRUNDLAGEN VON METAHEURISTIKEN UND LOKALE SUCHE Simeon Andreev Institut für Theoretische Informatik Karlsruher Institut für Technologie (KIT) Inhaltsverzeichnis 1 Einleitung 3 1.1 Einführung...................................

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens

Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Fachhochschule Brandenburg Fachbereich Informatik und Medien Kolloquium zur Diplomarbeit Einsatz Evolutionärer Algorithmen zur Optimierung der Tourenplanung eines Wachschutzunternehmens Übersicht Darstellung

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

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften

5. Clusteranalyse. Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften 5. Clusteranalyse Lernziele: Grundlegende Algorithmen der Clusteranalyse kennen, ihre Eigenschaften benennen und anwenden können, einen Test auf das Vorhandensein einer Clusterstruktur kennen, verschiedene

Mehr

Structurally Evolved Neural Networks for Forecasting

Structurally Evolved Neural Networks for Forecasting Structurally Evolved Neural Networks for Forecasting - Strukturierte neuronale Netze für Vorhersagen Institut für Informatik - Ausgewählte Kapitel aus dem Bereich Softcomputing Agenda Grundlagen Neuronale

Mehr

Nichtlineare Gleichungssysteme

Nichtlineare Gleichungssysteme Kapitel 2 Nichtlineare Gleichungssysteme Problem: Für vorgegebene Abbildung f : D R n R n finde R n mit oder ausführlicher f() = 0 (21) f 1 ( 1,, n ) = 0, f n ( 1,, n ) = 0 Einerseits führt die mathematische

Mehr

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger Toleranzbasierte Algorithmen für das Travelling Salesman Problem Gerold Jäger (Zusammenarbeit mit Jop Sibeyn, Boris Goldengorin) Institut für Informatik Martin-Luther-Universität Halle-Wittenberg gerold.jaeger@informatik.uni-halle.de

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Euklidische Distanzmatrizen. Andrei Grecu

Euklidische Distanzmatrizen. Andrei Grecu Euklidische Distanzmatrizen Andrei Grecu Übersicht Motivation Definition und Problemstellung Algo 1: Semidefinite Programmierung Algo 2: Multidimensional Scaling Algo 3: Spring Embedder Algo 4: Genetischer

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.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. Falls

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

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

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002)

3. Entscheidungsbäume. Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) 3. Entscheidungsbäume Verfahren zum Begriffslernen (Klassifikation) Beispiel: weiteres Beispiel: (aus Böhm 2003) (aus Morik 2002) (aus Wilhelm 2001) Beispiel: (aus Böhm 2003) Wann sind Entscheidungsbäume

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

Genetische Programmierung

Genetische Programmierung 15. Juli 2007 Anfang der 90er von John R. Koza entwickelt. Verfahren zur automatisierten Erstellung von Programmen. Von der Evolution inspiriert. Anforderungen an die Möglichst korrekte Lösung ergeben

Mehr

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?

Mehr

Algorithmen & Programmierung. Rekursive Funktionen (1)

Algorithmen & Programmierung. Rekursive Funktionen (1) Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Genetische Algorithmen

Genetische Algorithmen Projekt für Algorithmische Anwendungen Genetische Algorithmen Von Mike Müller 11037091 Dennis Freese 11038517 Gruppe: B-ROT 1 Inhaltsverzeichnis Allgemeines...3 Geschichtliche Entwicklung der genetischen

Mehr

Algorithms for Regression and Classification

Algorithms for Regression and Classification Fakultät für Informatik Effiziente Algorithmen und Komplexitätstheorie Algorithms for Regression and Classification Robust Regression and Genetic Association Studies Robin Nunkesser Fakultät für Informatik

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Minimal spannender Baum

Minimal spannender Baum Minimal spannender Baum 16 1 2 21 5 11 19 6 6 3 14 33 10 5 4 18 Die Kreise zeigen die vorgesehenen Standorte neu zu errichtender Filialen einer Bank. Entlang der bestehenden Straßen sollen Telefonleitungen

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014 Übersicht Stand der Kunst im Bilderverstehen: Klassifizieren und Suchen Was ist ein Bild in Rohform? Biologische

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

Clusteranalyse: Gauß sche Mischmodelle

Clusteranalyse: Gauß sche Mischmodelle Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Clusteranalyse: Gauß sche Mischmodelle iels Landwehr Überblick Problemstellung/Motivation Deterministischer Ansatz: K-Means Probabilistischer

Mehr

SIMULATED ANNEALING IM RAHMEN DES PS VIRTUAL LAB MARTIN PFEIFFER. Simulated Annealing Virtual Lab 1 /42

SIMULATED ANNEALING IM RAHMEN DES PS VIRTUAL LAB MARTIN PFEIFFER. Simulated Annealing Virtual Lab 1 /42 SIMULATED ANNEALING IM RAHMEN DES PS VIRTUAL LAB MARTIN PFEIFFER Simulated Annealing Virtual Lab 1 /42 - Simulated Annealing = Simuliertes Abkühlen - Verfahren zum Lösen kombinatorischer Probleme - inspiriert

Mehr

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL

Synthese Eingebetteter Systeme. 16 Abbildung von Anwendungen: Optimierung mit DOL 12 Synthese Eingebetteter Systeme Sommersemester 2011 16 Abbildung von Anwendungen: Optimierung mit DOL 2011/06/24 Michael Engel Informatik 12 TU Dortmund unter Verwendung von Foliensätzen von Prof. Lothar

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten

15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten 15. Algorithmus der Woche Das Rucksackproblem Die Qual der Wahl bei zu vielen Möglichkeiten Autoren Rene Beier, MPI Saarbrücken Berthold Vöcking, RWTH Aachen In zwei Monaten startet die nächste Rakete

Mehr

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit)

3.2 Lineare Optimierung (Entscheidungen unter Sicherheit) 3. Lineare Optimierung (Entscheidungen unter Sicherheit) Betrachtet wird hier der Fall Θ = (bzw. die Situation u(a, ϑ) bzw. l(a,ϑ) konstant in ϑ Θ für alle a A). Da hier keine Unsicherheit über die Umweltzustände

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen zur Lösung kombinatorischer Optimierungsprobleme aus dem Bereich Produktion und Logistik S. Häckel, S. Lemke TU Chemnitz Fakultät für Wirtschaftswissenschaften Professur für Produktionswirtschaft

Mehr

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É. Tardos Janick Martinez Esturo jmartine@techfak.uni-bielefeld.de xx.08.2007 Sommerakademie Görlitz Arbeitsgruppe 5 Gliederung

Mehr

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms Scheduling-Theorie Mathematische Modelle und Methoden für deterministische Scheduling-Probleme LiSA - A Library of Scheduling Algorithms Otto-von-Guericke Universität Magdeburg/FMA/Heidemarie Bräsel &

Mehr

Teil II Optimierung. Peter Buchholz 2016. Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung

Teil II Optimierung. Peter Buchholz 2016. Modellgestützte Analyse und Optimierung Kap. 9 Einführung Optimierung Teil II Optimierung Gliederung 9 Einführung, Klassifizierung und Grundlagen 10 Lineare Optimierung 11 Ganzzahlige und kombinatorische Optimierung 12 Dynamische Optimierung Literatur: zu 10-12: Neumann,

Mehr

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.

Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten

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

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)

Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer

Mehr

Computational Intelligence

Computational Intelligence Vorlesung Computational Intelligence Stefan Berlik Raum H-C 80 Tel: 027/70-267 email: berlik@informatik.uni-siegen.de Inhalt Überblick Rückblick Optimierungsprobleme Optimierungsalgorithmen Vorlesung Computational

Mehr

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer

Mehr

Genetische Algorithmen

Genetische Algorithmen Genetische Algorithmen Projektgruppe 431 Metaheuristiken Bianca Selzam Inhaltsverzeichnis 1 Einleitung......................................................... 1 2 Grundlagen aus der Biologie.......................................

Mehr

Iterative Methods for Improving Mesh Parameterizations

Iterative Methods for Improving Mesh Parameterizations Iterative Methods for Improving Mesh Parameterizations Autoren: Shen Dong & Michael Garland, SMI 07 Nicola Sheldrick Seminar Computergrafik April 6, 2010 Nicola Sheldrick (Seminar Computergrafik)Iterative

Mehr

Einführung in neuronale Netze

Einführung in neuronale Netze Einführung in neuronale Netze Florian Wenzel Neurorobotik Institut für Informatik Humboldt-Universität zu Berlin 1. Mai 2012 1 / 20 Überblick 1 Motivation 2 Das Neuron 3 Aufbau des Netzes 4 Neuronale Netze

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Grundlegende Eigenschaften von Punktschätzern

Grundlegende Eigenschaften von Punktschätzern Grundlegende Eigenschaften von Punktschätzern Worum geht es in diesem Modul? Schätzer als Zufallsvariablen Vorbereitung einer Simulation Verteilung von P-Dach Empirische Lage- und Streuungsparameter zur

Mehr

Konfidenzintervalle Grundlegendes Prinzip Erwartungswert Bekannte Varianz Unbekannte Varianz Anteilswert Differenzen von Erwartungswert Anteilswert

Konfidenzintervalle Grundlegendes Prinzip Erwartungswert Bekannte Varianz Unbekannte Varianz Anteilswert Differenzen von Erwartungswert Anteilswert Konfidenzintervalle Grundlegendes Prinzip Erwartungswert Bekannte Varianz Unbekannte Varianz Anteilswert Differenzen von Erwartungswert Anteilswert Beispiel für Konfidenzintervall Im Prinzip haben wir

Mehr

Bestimmung einer ersten

Bestimmung einer ersten Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,

Mehr

Hypothesen: Fehler 1. und 2. Art, Power eines statistischen Tests

Hypothesen: Fehler 1. und 2. Art, Power eines statistischen Tests ue biostatistik: hypothesen, fehler 1. und. art, power 1/8 h. lettner / physik Hypothesen: Fehler 1. und. Art, Power eines statistischen Tests Die äußerst wichtige Tabelle über die Zusammenhänge zwischen

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 11 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Kapitel 13. Evolutionäre Spieltheorie. Einleitung. Evolutionäre Biologie. Übersicht 2. Alternative: Biologische Evolutionstheorie

Kapitel 13. Evolutionäre Spieltheorie. Einleitung. Evolutionäre Biologie. Übersicht 2. Alternative: Biologische Evolutionstheorie Übersicht : Evolutionäre Spieltheorie Einleitung Evolutionäre Biologie Evolutionäre Spieltheorie: Idee Gefangenendilemma (Beispiel) Evolutionäre Stabilität Beispiele Wiederholtes Gefangenendilemma Chicken-Spiel

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger

6. Komprimierung. (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Komprimierung 6. Komprimierung (Text)komprimierung ist ein Wechsel der Repräsentation von Daten, so daß sie weniger Platz brauchen Motivation: beschleunigt Plattenzugriffe oder Datenübertragungen Voraussetzung:

Mehr

Hackenbusch und Spieltheorie

Hackenbusch und Spieltheorie Hackenbusch und Spieltheorie Was sind Spiele? Definition. Ein Spiel besteht für uns aus zwei Spielern, Positionen oder Stellungen, in welchen sich das Spiel befinden kann (insbesondere eine besondere Startposition)

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Partikelschwarmoptimierung für diskrete Probleme

Partikelschwarmoptimierung für diskrete Probleme Partikelschwarmoptimierung für diskrete Probleme Yushan Liu Fakultät für Mathematik TU München 26. Oktober 2014 Ferienakademie im Sarntal - Kurs 1 Moderne Suchmethoden der Informatik: Trends und Potenzial

Mehr

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen

Kapitel 4. Optimierungsalgorithmen. Technische Universität Wien. Gunnar Klau Technische Universität Wien. Institut für Computergraphik und Algorithmen Kapitel 4 Optimierungsalgorithmen Gunnar Klau Institut für Computergraphik und Algorithmen 1 Gliederung Kombinatorische vs. Ganzzahlige Optimierung Exakte Verfahren Branch-and-Bound Schnittebenenverfahren

Mehr

1 Lineare Optimierung, Simplex-Verfahren

1 Lineare Optimierung, Simplex-Verfahren 1 Lineare Optimierung, Simplex-Verfahren 1.1 Einführung Beispiel: In einer Fabrik werden n Produkte A 1, A 2,..., A n hergestellt. Dazu werden m Rohstoffe B 1, B 2,..., B m (inklusive Arbeitskräfte und

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten Yacin Bessas yb1@informatik.uni-ulm.de Proseminar Neuronale Netze 1 Einleitung 1.1 Kurzüberblick Die Selbstorganisierenden Karten, auch Self-Organizing (Feature) Maps, Kohonen-

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

k np g(n, p) = Pr p [T K] = Pr p [T k] Φ. np(1 p) DWT 4.1 Einführung 359/467 Ernst W. Mayr

k np g(n, p) = Pr p [T K] = Pr p [T k] Φ. np(1 p) DWT 4.1 Einführung 359/467 Ernst W. Mayr Die so genannte Gütefunktion g gibt allgemein die Wahrscheinlichkeit an, mit der ein Test die Nullhypothese verwirft. Für unser hier entworfenes Testverfahren gilt ( ) k np g(n, p) = Pr p [T K] = Pr p

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

Implementationsaspekte

Implementationsaspekte Implementationsaspekte Überlegungen zur Programmierung Neuronaler Netzwerke Implementationsprinzipien Trennung der Aspekte: Datenhaltung numerische Eigenschaften der Objekte Funktionalität Methoden der

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

Maximizing the Spread of Influence through a Social Network

Maximizing the Spread of Influence through a Social Network 1 / 26 Maximizing the Spread of Influence through a Social Network 19.06.2007 / Thomas Wener TU-Darmstadt Seminar aus Data und Web Mining bei Prof. Fürnkranz 2 / 26 Gliederung Einleitung 1 Einleitung 2

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

Mehr

Neuronale Netze mit mehreren Schichten

Neuronale Netze mit mehreren Schichten Neuronale Netze mit mehreren Schichten Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Neuronale Netze mit mehreren

Mehr

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld Westfählische Wilhelms-Universität Eulersche Graphen Autor: 21. Mai 2015 Inhaltsverzeichnis 1 Das Königsberger Brückenproblem 1 2 Eulertouren und Eulersche Graphen 2 3 Auffinden eines eulerschen Zyklus

Mehr