VR-Seminar WS 2003/2004. Genetische Algorithmen

Größe: px
Ab Seite anzeigen:

Download "VR-Seminar WS 2003/2004. Genetische Algorithmen"

Transkript

1 VR-Seminar WS 2003/2004 Genetische Algorithmen Seminararbeit im Studiengang Mediensysteme von Christian Nitschke Matr. Nr Fachsemester Prof. Bernd Fröhlich Lehrstuhl Systeme der Virtuellen Realität Fakultät Medien Bauhaus-Universität Weimar 30. März 2004

2 Inhaltsverzeichnis i Inhaltsverzeichnis 1 Einleitung 1 2 Evolution Vererbung Informatik und Evolution Optimierungsprobleme Heuristische Verfahren Metaheuristische Verfahren Evolutionäre Algorithmen Genetische Algorithmen Entwicklung Genetischer Algorithmen Konferenzen Suchmethode Genetischer Algorithmen Verschiedene Bedeutungen von Suche Suche nach gespeicherten Daten Suche von Wegen zu einem definierten Ziel Suche nach Lösungen Erläuterungen Gemeinsamkeiten aller Suche-nach-Lösungen-Methoden (3) Biologische Terminologie Genetische Algorithmen als Abstraktion der Natur Suchräume und Fitnesslandschaften Suchraum Distanz zweier Lösungen Konzept der Fitness-Landschaften Aufbau eines Genetischen Algorithmus Ablauf Generation Durchlauf Elemente eines Genetischen Algorithmus Fitnessfunktion Reproduktions-Operatoren Selektion Kreuzung Mutation Ersetzungsstrategien

3 Inhaltsverzeichnis ii Vollständige Ersetzung Elitismus Arbeitsweise Genetischer Algorithmen Schemata/Hyperplanes Verarbeitung von Schemata durch den GA Berechnung der Dynamik Selektion Kreuzung Mutation Schema-Theorem (Holland, 1975) Building-Block-Hypothese (Goldberg, 1989) TSP mit einem Genetischen Algorithmus Travelling Salesman Problem (TSP) Spezifische GA-Operatoren Initializer Crossover Mutator Comparator Evaluator GA-Algorithmen Simple GA Steady-State GA Incremental GA Crowding GA Deme GA Anwendungen von Genetischen Algorithmen Genetic Algorithms in Parametric Design of Aircraft Dynamic Anticipatory Routing in Circuit-Switched Telecommunications Networks A Genetic Algorithm Applied to Robot Trajectory Generation Strategy Acquisition with Genetic Algorithms Genetic Synthesis of Neural Network Architecture A Genetic Algorithm Approach to Multiple Fault Diagnosis Software Test Data Generation from a Genetic Algorithm Data Mining Using Genetic Algorithms Genetic Algorithms for Game Playing Simulation of an Artificial Eco-System Using Genetic Algorithms... 38

4 1 EINLEITUNG 1 1 Einleitung Viele bekannte Probleme der Informatik können im allgemeinen nicht effizient gelöst werden. Es existieren meist keine Verfahren, die in zumutbarer Zeit zu einer Lösung führen. Was kann man nun tun, um doch an eine praktikablen Lösung zu gelangen? Man könnte einen Algorithmus entwerfen, der die Lösung nur annähert, dafür aber schnell arbeitet. Desweiteren könnte man kompliziertes Expertenwissen über den Lösungsraum anwenden. Wenn man jedoch nicht über solches Wissen verfügt oder nicht die Zeit hat, einen speziellen Algorithmus zu entwerfen und trotzdem auf eine gute Lösung in praktikabler Zeit nicht verzichten möchte, dann bietet der Genetische Algorithmus eine elegante Alternative. Ein Genetischer Algorithmus ist ein generisches, einfach einzusetzendes Lösungsverfahren, welches von der Natur nachempfundene Techniken einsetzt. Er abstrahiert die natürliche Evolution, um zu einer optimalen Lösung zu gelangen. Dabei arbeitet er paralell mit einer ganzen Menge von Lösungen, die miteinander interagieren können. Die künstliche Evolution wird durch Operatoren wie Selektion, Kreuzung, Mutation und Ersetzung vollzogen. Das Ziel ist es wie auch bei der natürlichen Evolution mit der Zeit immer bessere bzw. optimalere Generationen von Lösungen zu erzeugen.

5 2 EVOLUTION 2 2 Evolution Genetische Algorithmen basieren auf der Abstraktion des Verfahrens der natürlichen Evolution. Daher ist es wichtig, einen kurzen Überblick darüber zu geben. Die Evolution ist ein andauernder Entwicklungsprozeß, den alle Lebewesen in der Natur durchlaufen. Sie ist geprägt vom Drang zum Überleben. Dabei erfolgt implizit eine Anpassung der Art an die vorherrschenden Umweltbedingungen. Die zwei wichtigsten Prinzipien der Evolution sind Selektion und Vererbung. Nur am besten angepasste Individuen kommen überhaupt in den Genuß ihr besseres Erbmaterial weiterzugeben. Andere sterben möglicherweise schon vor der Paarungszeit oder erhalten keine Chance. Somit verschwindet schlechteres, weniger angepaßtes Erbmaterial auf lange Sicht aus der Population. Das Verfahren spricht für sich, denn durch die Evolution haben sich im Laufe der Zeit komplexe Strukturen und effektive Mechanismen in allen möglichen Formen und Variationen entwickeln können. 2.1 Vererbung - Weitergabe von Erbmaterial Damit Erbmaterial weitergegeben werden kann, müssen sich zwei Elternindividuen finden. Dies kann als natürliche Selektion bezeichnet werden. Den Auswahlprozess bestehen nur die stärksten bzw. fittesten oder am besten angepaßten Individuen. Bei der Paarung kommt es nun zu einer Rekombination und damit einer Vermischung des Erbmaterials der Eltern. Dadurch erhalten entstehende Kindindividuen jeweils einen Teil der Eigenschaften von jedem Elter. Während der nötigen Replikation der DNS-Stränge der Eltern können gelegentliche Fehler auftreten. Eine solche Mutation kommt gewissermassen einer Einschleusung von fremden Erbmaterial gleich, da das erzeugte Erbgut bei keinem der Eltern vorhanden ist. Dies ist nicht immer von Nachteil. Mutationen können so gesehen zu einer Variabilität bei der Vererbung führen.

6 3 INFORMATIK UND EVOLUTION 3 3 Informatik und Evolution Was hat Evolution nun mit Informatik zu tun? Warum verwendet man Genetische Algorithmen? Wo lassen sie sich einordnen? Diese Fragen sollen u.a. nachfolgend geklärt werden. 3.1 Optimierungsprobleme Eine Vielzahl von Rechenproblemen sind Optimierungsaufgaben. Dabei wird das Problem durch verschiedene Parameter beschrieben. Ist die Anzahl der verschiedenen Parameterwerte gering, können alle möglichen Wertekombinationen durchgetestet werden, um die optimale Lösung, das sog. Globale Optimum zu finden. 3.2 Heuristische Verfahren Viele Optimierungsprobleme erfordern jedoch die Suche in einem komplexen Lösungsraum, der nicht durch Brute-Force-Methoden, d.h. erschöpfende Suche zu beherrschen ist, so z.b.: die Suche nach Proteinen (Aminosäuresequenzen) mit bestimmten gewünschten Eigenschaften oder die Vorhersage der Entwicklung an der Börse. Das Ziel ist es nun, qualitativ hochwertige Lösungen zu schweren Problemen zu finden, ohne alle Lösungen erschöpfend evaluieren zu müssen. Genau hier setzen heuristische Verfahren an, die ein gewisses Wissen über die Beschaffenheit des Lösungsraumes einsetzen. In der Konsequenz müssen nicht alle Lösungen getestet werden. Die Forderung, der ein heuristisches Verfahren genügen sollte ist, ein hinreichend gutes Ergebnis in gegenüber erschöpfender Suche stark reduzierter Zeit zu finden. Damit besteht kein Anspruch auf das Finden des globalen Optimum, was aber durchaus so hinnehmbar ist, v.a. da besonders ausgereifte Verfahren meistens nahezu optimale Lösungen finden oder andererseits oftmals auch weniger optimale Lösungen ausreichend sind. Das in den heuristischen Verfahren verankerte Wissen kann vorprogrammiert sein (problemspezifische Algorithmen) oder sich während der Laufzeit entwickeln (Metaheuristische Verfahren). Metaheuristiken transformieren ein Problem auf eine Abstraktionsebene und führen dort ihren speziellen Optimierungsalgorithmus aus.

7 3 INFORMATIK UND EVOLUTION Metaheuristische Verfahren Vertreter der metaheuristischen Verfahren sind z.b. Ant Colony Optimization (ACO) oder Evolutionäre Algorithmen (EA). 3.4 Evolutionäre Algorithmen Die Evolutionären Algorithmen basieren auf dem System der natürlichen Evolution. Dabei scheint eine Übertragung in die Informatik garnicht verwunderlich, da die Evolution ein sehr leistungsfähiges und vielversprechendes Optimierungsverfahren ist. Zu den evolutionären Algorithmen zählen: Genetische Algorithmen (GA), Genetische Programmierung (GP), Evolutionäre Strategien (ES) und Evolutionäre Programmierung (EP). 3.5 Genetische Algorithmen Genetische Algorithmen stellen auf Strategien der Evolution basierende Optimierungsverfahren dar. Sie erreichen ihre Effizienz durch massive Parallelisierung und den gezielten Einsatz nichtdeterministischer Strategien, wie z.b. dem Einsatz von Wahrscheinlichkeiten für die Anwendung bestimmter Operatoren. Parallelisierung ist hier nicht rechnerisch, sondern vielmehr in Bezug auf die Interaktion von Lösungen zu verstehen: Nach der sequentiellen Berechnung einer Generation von Lösungen, werden die je nach Fitness besten Lösungen miteinander rekombiniert. Diese implizite Parallelisierung stellt einen Vorteil gegenüber anderen Metaheuristiken wie z.b. Hillclimbing oder Simulated Annealing dar, die nur jeweils eine Lösung zu einem gewissen Zeitpunkt verarbeiten. Trotz der oftmals sehr komplexen Lösungsräume verschiedener Probleme, können doch Lösungen erstaunlicher Qualität gefunden werden. Genetische Algorithmen sind adaptive Verfahren. Die Bewertung von Lösungen verändert sich mit veränderten Umweltbedingungen, was z.b. anschaulich als verschiedene Nutzerpräferenzen dargestellt werden kann.

8 3 INFORMATIK UND EVOLUTION 5 Abbildung 1: Einordnung der Genetischen Algorithmen

9 4 ENTWICKLUNG GENETISCHER ALGORITHMEN 6 4 Entwicklung Genetischer Algorithmen Die Genetische Algorithmik hat ihre Wurzeln in den 60er Jahren des letzten Jahrhunderts. Es soll nun ein kurzer Überblick über wichtige Etappen ihrer Entwicklung gegeben werden. J. D. Bagley (1967) Der Begriff Genetischer Algorithmus geht auf die frühen Arbeiten von Bagley zurück. [1] J. H. Holland (1975) In den 60er Jahren hatte John Holland an der University of Michigan die Idee zur Entwicklung von Genetischen Algorithmen als Abstraktion der biologischen Evolution in ihrer heute bekannten Form. Im Großen und Ganzen gab es bei Hollands Forschung folgende zwei Schwerpunkte: 1. Theorie: Erklärung der adaptiven Prozesse in der Natur, 2. Praxis: Entwicklung von Software basierend auf der Theorie. Eine herausragende Leistung erzielte er mit der Aufstellung des Schema-Theorems, durch welches er theoretisch beweisen konnte, wie und warum Genetische Algorithmen funktionieren. [15] K. De Jong (1975) De Jong, einer von Hollands Studenten, analysierte eine Klasse von genetisch adaptiven Systemen. Seine Arbeiten stellen eine Grundlage für viele weitere auf dem Gebiet der Genetischen Algorithmen dar. [8] D. E. Goldberg (1983) Goldberg beschäftigte sich mit der Optimierung der Steuerung von Gasleitungssystemen. Dazu entwickelte er einen neuartigen, einfach aufgebauten Genetischen Algorithmus, mit welchem er Ergebnisse nahe am globalen Optimum erzielen konnte. [10] D. E. Goldberg (1989) Im Jahre 1989 fasste er seine Entwicklungen und Anwendungen auf dem Gebiet der Genetischen Algorithmik in einem Buch zusammen. [11] Weitere Entwicklung Das Interesse an Genetischen Algorithmen hat bis heute sehr zugenommen. Meistens werden keine reinen GA mehr eingesetzt. Vielmehr entwickelt man angepaßte Algorithmen für die jeweiligen Einsatzgebiete. Diese sogenannten Hybrid-Lösungen kombinieren die Mächtigkeit Genetischer Algorithmen mit dem Wissen über die Beschaffenheit des Lösungsraumes spezieller Probleme.

10 4 ENTWICKLUNG GENETISCHER ALGORITHMEN Konferenzen International Conference on Genetic Algorithms (ICGA) Die ICGA, eine Konferenz zur Theorie und Anwendung von Genetischen Algorithmen, findet seit 1985 alle zwei Jahre in den USA statt. Parallel Problemssolving from Nature (PPSN) Seit 1990 gibt es ein Pendant zur ICGA mit gleichem Themenschwerpunkt in Europa. Die PPSN findet hier alle zwei Jahre, jeweils in den geraden Jahren statt.

11 5 SUCHMETHODE GENETISCHER ALGORITHMEN 8 Abbildung 2: 8-Puzzle: Finden der kürzesten Sequenz aus Zügen, die die Randpuzzel in die geordnete Reihenfolge überführen [18], S.11 5 Suchmethode Genetischer Algorithmen Genetische Algorithmen führen eine spezielle Art von Suche durch. Diese soll nun nachfolgend in den Kontext der verschiedenen Bedeutungen von Suche eingeordnet werden. Ziel ist das Finden der potentiellen Einsatzgebiete Genetischer Algorithmen. 5.1 Verschiedene Bedeutungen von Suche Suche nach gespeicherten Daten Diese Art von Suche unterscheidet sich wesentlich von den beiden nachfolgend vorgestellten. Gesucht wird hier nach bestimmten Daten, die im Speicher eines Rechners abgelegt sind. Verwendet wird dazu ein durch den Suchenden vorgegebener Suchschlüssel. Ziel ist das effiziente Auffinden der gespeicherten Daten. Als Beispiel für einen Algorithmus ist hier die Binäre Suche zu nennen Suche von Wegen zu einem definierten Ziel Hier ist eine effiziente Abfolge von Aktionen gesucht, durch die sich ein gegebenes Ziel erreichen lassen. Soche Verfahren werden u.a. auf dem Gebiet der Künstlichen Intelligenz (KI) angewendet. Beispielhaft wären hier Algorithmen wie Tiefensuche oder branch-and-bound zu nennen. Ein Beispiel aus der KI: Das 8-puzzle siehe dazu Abbildung 2 auf Seite 8 sowie Abbildung 3 auf Seite Suche nach Lösungen Die Suche nach Lösungen zu einem definierten Problem repräsentiert eine allgemeinere Klasse von Suchproblemen als die Suche nach Wegen zu einem Ziel. Gefragt ist

12 5 SUCHMETHODE GENETISCHER ALGORITHMEN 9 Abbildung 3: 8-Puzzle: Teil eines Suchbaumes [18], S.11 hier das effiziente Auffinden einer guten Lösung aus einer sehr großen Menge von möglichen Lösungen. Die Anordnung der Lösungen im problemspezifischen Lösungsraum ist dabei unbekannt. Beispiele für Algorithmen wären hier Hill Climbing, Simulated Annealing, Tabu Search und auch Genetische Algorithmen. 5.2 Erläuterungen 1...Suche nach gespeicherten Daten 2...Suche nach Wegen 3...Suche nach Lösungen 1 unterscheidet sich von 2 und 3. Man kann hier sagen, daß ein bestimmtes Datum entweder vorhanden ist oder nicht. Es gibt dabei kein nach einem bestimmten Grad vorhanden. 2 und 3 durchsuchen meistens nur einen Teil des Suchraumes. Dies ist v.a. bei größeren Problemen nötig. Dabei werden bestimmte Lösungen aus dem Suchraum ausgewählt und evaluiert. Wichtig ist, daß diese Lösungen möglichst intelligent ausgewählt werden. 3 stellt gewissermaßen eine Supermenge zu 2 dar. Es ist z.b. möglich, eine bestimmte Abfolge von Zügen im 8-Puzzle als Kandidatenlösung für einen Suchalgorithmus aus 3 zu kodieren. Trotzdem eignen sich für Suchprobleme aus 2 meistens KI-Baum- Suchalgorithmen besser als Genetische Algorithmen, da diese in der Lage

13 5 SUCHMETHODE GENETISCHER ALGORITHMEN 10 sind Teilpfade zu evaluieren. Ein GA betrachtet einen Pfad als eigenständige Lösung und nicht als eine teilbare Abfolge von Teilpfaden. 5.3 Gemeinsamkeiten aller Suche-nach-Lösungen-Methoden (3) Die Initiallösung, eine Menge/Population von Lösungen, wird meist per Zufall (Nichtdeterminismus) erzeugt. Die Evaluation von Lösungen wird unter Verwendung eines gegebenen Fitnessoder Qualitätskriteriums erreicht. Aufgrund der Ergebnisse der Evaluation wird entschieden, welche Lösungen verworfen und welche behalten werden. Gute Lösungen können vor ihrer Weiterverwendung abgewandelt (variiert) werden.

14 6 BIOLOGISCHE TERMINOLOGIE 11 6 Biologische Terminologie Wenn man einen Genetischen Algorithmus beschreiben möchte, sind Kenntnisse der natürlichen Basis sowie der Art der Abstraktion, die hierbei vorgenommen wird, von Nöten. Organismen bestehen aus Zellen. Jede Zelle enthält die gesamten Erbinformationen des Individuums. Die Erbinformationen stellen eine Art Bauanleitung für den Organismus dar. Sie sind in einem Genom kodiert. Ein Genom besteht aus ein (haploid) oder zwei (diploid) Chromosomen (DNA-Strings). Chromosomen bestehen wiederum aus aus Genen. Die Gene befinden sich an bestimmten Stellen im Chromosom und stehen jeweils für eine kodierte Eigenschaft. Als Allel eines Genes bezeichnet man die Menge aller möglichen Werte (Ausprägungen), die das Gen annehmen kann. Man unterscheidet zwischen Genotyp und Phänotyp eines Individuums: Der Genotyp bezeichnet die Gesamtheit der genetisch kodierten Merkmalsinformationen. Der Phänotyp steht für die Gesamtheit der eigentlichen physischen oder charakterlichen Ausprägungen der Merkmale, basierend auf dem Genotyp, z.b. der speziellen Haarfarbe, Größe oder Intelligenz (im Bezug auf den Menschen). Definition Fitness eines Individuums Die Fitness eines Individuums ist ein Maß für die Wahrscheinlichkeit, daß dieses Individuum überlebt und sich fortpflanzen kann. Sie ist proportional zur Anzahl der Nachkommen. Die Fitness wird am Phänotyp eines Individuums bestimmt. 6.1 Genetische Algorithmen als Abstraktion der Natur Tabelle 1 auf Seite 12 faßt die Abstraktion durch Genetische Algorithmen zusammen. Anzumerken ist, daß die Begriffe Chromosomen, Genotyp, Phänotyp oder Individuum zwar unterschiedliche Konstrukte darstellen, im Großen und Ganzen jedoch alle auf dem Gebiet der Genetischen Algorithmen auch eine Lösung für ein Problem repräsentieren. Aus diesem Grund können sie auch ersatzweise verwendet werden.

15 6 BIOLOGISCHE TERMINOLOGIE 12 Natur Genetischer Algorithmus Bedeutung Repräsentation Auftreten Chromosom Lösungskandidat Bitstring einfach (haploid) Gen Parameter der Lösung 1 oder mehrere mehrere Bits kodieren einen speziellen Wert Allel Menge möglicher Parameterwerte Menge aller Werte, die gen annehmen kann: 1Bit: 0,1, n pro Gen Genotyp Konfiguration der Bits (Parameter) Bit: entspr. ein oder mehrere Bitstrings (Chromosome) wird durch das bestimmte Problem festgelegt Phänotyp Transformation der Genotyp- Lösung aus der Bitrepräsentation in die problemspezifische Repräsentation Fitness Evaluation von Genotyp oder Phänotyp Funktion gibt für ein Individuum (Phönotyp, falls vorhanden, sonst Genotyp) einen Fitnesswert zurück nicht immer vorhanden Evaluierungsfunktion Tabelle 1: Übersicht der Abstraktion von Genetischen Algorithmen

16 7 SUCHRÄUME UND FITNESSLANDSCHAFTEN 13 7 Suchräume und Fitnesslandschaften Ein Genetischer Algorithmus operiert auf einem problemspezifischen Lösungs- oder Suchraum. Wie ein solcher Raum beschaffen ist und was ihn charakterisiert, soll nun beschrieben werden. 7.1 Suchraum Der Suchraum ist die Menge aller Kandidatenlösungen eines Problems. Er wird durch die Attribute (Parameter) aufgespannt. Optimierungsverfahren benutzen v.a. zwei Maße, um sich durch den Raum zu bewegen. Dies sind die Distanz von Lösungen und die Fitness (Güte, Qualität) einer einzelnen Lösung. 7.2 Distanz zweier Lösungen Ist die Beschaffenheit des Raumes bekannt, so kann ein Maß für die Distanz zweier Lösungen gefunden werden. Beispiel: Problem aus Bioinformatik - Computergestütztes Design von Proteinen Ein Protein ist eine Sequenz von Aminosäuren mit unbestimmter Länge. Beschränken wir die Länge der Sequenz hier einmal auf maximal 100 Aminosäuren. Die Anzahl der möglichen (kombinierbaren) Aminosäuren für eine Position in der Sequenz betrage 20. Wenn man die einzelnen Aminosäuren durch Buchstaben kodiert, könnte eine Sequenz z.b. folgendermaßen beginnen: GAABDFMCCHK. Für dieses Beispiel ergeben sich stolze = Kombinationsmöglichkeiten, die man auf ihre Qualität (Fitness) untersuchen müsste. Die Distanz zweier Lösungen wird hier anhand der Anzahl unterschiedlicher Säuren bezogen auf gleiche Indizes bestimmt, z.b.: GAABDFMCCHK (AND) GACDMFMCJHKAD > Distanz: 6 =============

17 7 SUCHRÄUME UND FITNESSLANDSCHAFTEN 14 Abbildung 4: 3D-Gebirge (Fitness-Landschaft) [18], S.6 mit l = 2, f (0, 0) = 0.7, f (0, 1) = 1.0, f (1, 0) = 0.1, f (1, 1) = Konzept der Fitness-Landschaften Nehmen wir an, daß die Lösung (Genom) eines Problems durch einen Bitstring der Länge l kodiert werden kann. Dies kann man o.b.d.a. festlegen, da mehrere Bits z.b. auch dezimale Typen repräsentieren können. Das Problem spannt einen l-dimensionalen Suchraum auf, der die Menge aller möglichen Lösungen enthält. Jeder Lösung kann ein reeler Fitnesswert zugeordnet werden. Man erhält eine Funktion f mit f : {0, 1} l R. f spannt einen (l + 1)-dimensionalen Raum auf. Man nennt diesen Raum auch Fitness-Landschaft. Für l = 2 ergibt sich anschaulich ein 3D-Gebirge. Die Beschaffenheit der Fitness-Landschaft ist nicht bekannt. Man kann keine Aussage darüber treffen, an welchen Stellen sich Lösungen mit akzeptablen Fitnesswerten befinden. Ein Genetischer Algorithmus als Optimierungsalgorithmus schlägt bestimmte Kandidatenlösungen vor und erhält eine Aussage über deren Fitnesswert. Die Aufgabe ist es nun, weiterer Kandidatenlösungen basierend auf der der Güte der bereits evaluierten Lösungen in einer intelligente Art und Weise auszuwählen. Das Verfahren der Lokalen Suche nimmt z.b. an, daß sich in der Nachbarschaft einer guten Lösung weitere gute und bessere Lösungen finden. Zur Bestimmung von Nachbarschaft wird das Maß der Distanz zweier Lösungen verwendet. Beim Genetischen Algorithmus geschieht die Auswahl der nächsten vorzuschlagenden Lösungen durch Anwendung genetischer Operatoren, hauptsächlich: Selektion, Kreuzung und Mutation.

18 7 SUCHRÄUME UND FITNESSLANDSCHAFTEN 15 Einfluß der Operatoren auf die Navigation durch die Fitness-Landschaft Kreuzung und Mutation haben Einfluß auf die Bewegung der Population in der Fitness- Landschaft. Die Selektion entfernt in Fitness-Tälern befindliche Individuen aus der Population.

19 8 AUFBAU EINES GENETISCHEN ALGORITHMUS 16 Abbildung 5: Grundsätzlicher Ablauf eines Genetischen Algorithmus 8 Aufbau eines Genetischen Algorithmus Nachfolgend wird ein Überblick über den grundlegenden Aufbau eines Genetischen Algorithmus gegeben. Gefordert ist: ein klar definiertes Problem, ein Fitnessmaß bzw. ein Maß für die Distanz von Lösungen, eine geeignete Repräsentation/Abstraktion der Problemlösungen auf dem Gebiet der Genetischen Algorithmik. 8.1 Ablauf Einige Anmerkungen zu Abbildung 6 auf Seite 17: Die Crossover-Slots müssen nicht unbedingt parallel liegen. Das bedeutet, daß in der temporären Generation eine Durchmischung stattfinden kann. Es kann eine Mutation auf den Nachwuchs angewendet werden.

20 8 AUFBAU EINES GENETISCHEN ALGORITHMUS 17 Abbildung 6: Übergang von einer Generation zur Nachfolger-Generation [22], S.5 Desweiteren ist es möglich, daß auch Eltern in die nächste Generation übernommen werden (Elitismus). 8.2 Generation Eine Generation stellt eine Iteration bzw. einen Zeitschritt bei der Ausführung des Algorithmus dar. Es sind meist 50 bis 500 Generationen nötig. Dies ist jedoch von der Beschaffenheit des spezifischen Problems abhängig. 8.3 Durchlauf Ein Durchlauf eines Genetischen Algorithmus bezeichnet die Ausführung bis zur Beendigung. Die Anzahl der durchlaufenen Generationen richtet sich nach dem Erreichen einer Akzeptanzschwelle für die Fitness oder einer maximalen Anzahl von durchzuführenden Iterationen. Die Akzeptanzschwelle kann absolut vorgegeben werden. Ist die Beschaffenheit des Fitness-Gebirges gänzlich unbekannt, kann man hier auch auf Konvergenz testen.

21 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS 18 9 Elemente eines Genetischen Algorithmus Diese Sektion untersucht die wichtigen Elemente von Genetischen Algorithmen, wie z.b. Fitnessfunktion oder Genetische Operatoren. Es gibt keine allgemein akzeptierte Definition von Genetischen Algorithmen. Trotzdem haben die meisten GA-Methoden folgende Gemeinsamkeiten: Zu jedem Zeitschritt ist eine Population von Lösungen vorhanden. (Parallelität) Die Selektion von Lösungen wird basierend auf Fitnesswerten vorgenommen. Die nächste Generation von Lösungen wird unter Zuhilfenahme des Kreuzungsoperators erzeugt. Eine gewisse Varianz im Erbgut der Population wird durch die Anwendung des Mutationsoperators erreicht. Der Inversionsoperator (nach Holland) wird wenig genutzt. 9.1 Fitnessfunktion Fitnessfunktionen können ganz unterschiedlich beschaffen sein. Die einzige Gemeinsamkeit ist, daß sie ein gegebenes Individuum evaluieren und einen Wert für dessen Fitness zurückgeben. Was im Inneren einer solchen Funktion passiert, bleibt für den Genetischen Algorithmus verborgen. Dieses Verhalten ist vergleichbar mit einer Black- Box. Ein einfaches Exemplar einer Fitnessfunktion Gesucht ist ein x mit f ( x) f (x), x, 0 x < π (siehe Abbildung 7 auf Seite 19). Dies ist wirklich eine einfache Fitnessfunktion. Sie erfordert einen geringen Aufwand seitens der Ausführung, aber auch seitens der Programmierung. Typischerweise sind Fitnessfunktionen eher komplexer aufgebaut. Meist ist noch einiges Expertenwissen aus dem Problembereich nötig, welches implementiert werden muss. Erinnern wir uns an das Problem des Designs von Proteinen (Sektion 7.2 auf Seite 13). Das Ziel war es, Proteine zu finden, die eine gewünschte 3D-Struktur-Anordnung besitzen. In Bezug auf die Fitness einer Lösung dieses Problems könnte man sagen: Die Fitness ist umso größer, je geringer die potentielle Energie der Aminosäuresequenz ist. Der Wert kann errechnet werden. Dazu benötigt man Wissen über die Kräfte, die auf bestimmte Aminosäurekombinationen wirken.

22 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS 19 Abbildung 7: f (x) = sin 16x, 0 x < π Abbildung 8: Reproduktions-Operatoren wirken auf Individuen einer Generation, um eine Nachfolge-Generation zu bilden

23 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS Reproduktions-Operatoren Selektion Während der Selektion, werden die Individuen für die Reproduktion ausgewählt. Je höher der Fitnesswert einer Lösung ist, desto höher ist ihre Selektionswahrscheinlichkeit. Bestimmung der Selektionswahrscheinlichkeit eines Individuums Es gibt mehrere Verfahren, die Selektionswahrscheinlichkeiten für die Individuen einer Population aufgrund ihrer Fitnesswerte zu bestimmen. Jeder Fitnesswert wird durch die Summe aller Fitnesswer- Normierung/Proportion te dividiert. Skalierung Falls der Abstand zwischen der maximalen und der minimalen Fitness zu klein ist, wird eine Skalierung durchgeführt. Dadurch wird die Entropie verringert, d.h. die Werte für die Wahrscheinlichkeiten sind unterschiedlicher. Rang Hier werden alle Lösungen anhand ihrer Fitness sortiert. Alle Lösungen haben somit den gleichen Abstand. Konkrete Fitnesswerte gehen verloren. Im Gegensatz zu den beiden vorher genannten Verfahren, sind hier die Wahrscheinlichkeiten für die Selektion nicht proportional zu den jeweiligen Fitnesswerten. Wettkampf Die Wettkampf-basierte Selektion erfolgt in 2 Schritten: 1. Es werden mehrere Individuen gleichverteilt aus der Population ausgewählt. 2. Das Individuum mit der höchsten Fitness wird selektiert. (N,m) Die m besten Individuen werden aus der Population ausgewählt. Alle erhalten die gleiche Wahrscheinlichkeit Kreuzung Bei der Kreuzung erfolgt eine Rekombination meist zweier haploider Chromosomen. Diese Operation wird mit einer gegebenen Wahrscheinlichkeit p c (meist aus [0.6, 0.9]) durchgeführt. Das Resultat sind zwei haploide Kind-Chromosomen. Es folgen einige wichtige Kreuzungsverfahren.

24 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS 21 Abbildung 9: Vergleich verschiedener Selektionsmethoden [14], S.27 Abbildung 10: Auswahl durch virtuelles Roulette [14], S.28

25 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS 22 Abbildung 11: Mögliche Kreuzungspunkte [14], S.29 Abbildung 12: 1-Punkt-Kreuzung [14], S.29 1-Punkt-Kreuzung Die 1-Punkt-Kreuzung wird in den meisten GA eingesetzt. Dabei wird ein Kreuzungspunkt zufällig ausgewählt. Es erfolgt eine Rekombination durch den Austausch der Bitstrings vor und nach dem Kreuzungspunkt. 2-Punkt-Kreuzung Wie der Name schon sagt, werden hier zufällig zwei Kreuzungspunkte ausgewählt. Die Rekombination erfolgt durch Austausch des Bitstrings zwischen den beiden Kreuzungspunkten. 2-Punkt-Kreuzung mit Translokation Hier werden für beide Eltern zufällig je zwei Kreuzungspunkte mit dem gleichen Abstand ausgewählt. Die Rekombination erfolgt Abbildung 13: 2-Punkt-Kreuzung [14], S.30

26 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS 23 Abbildung 14: 2-Punkt-Kreuzung mit Translokation [14], S.30 Abbildung 15: Gleichmäßige Kreuzung [14], S.31 analog zur 2-Punkt-Kreuzung. Der Unterschied ist, daß durch die unterschiedlichen Kreuzungspunkte, wenn sie nicht gerade aufeinander fallen, eine Translokation erfolgt. Gleichmäßige Kreuzung Hier wird zufällig eine Bitstring-Auswahlschablone erzeugt. Anhand dieser Schablone wird nun entschieden, welche Gene von Elter 1 und welche von Elter 2 verwendet werden. Die Auswahl erfolgt genau entgegengesetzt für jedes Kind Mutation Nach der Rekombination werden mit einer bestimmten Wahrscheinlichkeit einzelne Bits zufällig invertiert. Diesen Vorgang nennt man Mutation. Die

27 9 ELEMENTE EINES GENETISCHEN ALGORITHMUS 24 Abbildung 16: Gleichmäßige Mutation [14], S.32 Wahrscheinlichkeitp m, daß eine Mutation stattfindet, ist normalerweise ziemlich klein (meist aus [0.01, 0.03]). Es folgt ein wichtiges Mutationsverfahren. Gleichmäßige Mutation Für jedes Bit wird mit der Wahrscheinlichkeit p m bestimmt, ob invertiert wird. 9.3 Ersetzungsstrategien Nachdem nun durch die Reproduktion eine temporäre Generation von Nachkommen gebildet ist, muß aus beiden Generationen die neue Elterngeneration gebildet werden. Dafür gibt es mehrere Ersetzungsstrategien Vollständige Ersetzung Die Elterngeneration wird verworfen. Die Kindgeneration wird neue Elterngeneration. Der Nachteil dabei ist, daß auch gute Individuen verworfen werden. Dadurch benötigt man mehr Generationen nötig bis das Optimum gefunden ist. Aus diesem Grund werden Verfahren mit Elitismus eingesetzt Elitismus Die besten Individuen der Elterngeneration werden in die neue Elterngeneration übertragen. Man unterscheidet: starker Elitismus: Übertragung ohne Mutation und schwacher Elitismus: Übertragung mit Mutation. Schwacher Elitismus wird angewendet, falls die Eltern relativ zu den Kindern zu hohe Fitnesswerte besitzen.

28 10 ARBEITSWEISE GENETISCHER ALGORITHMEN Arbeitsweise Genetischer Algorithmen Bis jetzt wissen wir, wie Genetische Algorithmen aufgebaut sind. Dies ist recht einfach zu beschreiben. Wir haben auch mehrfach gehört, daß sie sehr erfolgreich sind. Die Frage, die sich nun stellt, ist die Frage nach dem Warum. Warum sind Genetische Algorithmen so effektiv? Wie arbeiten sie? Dazu soll nun eine Einführung in die Theorie der Genetischen Algorithmen hin zum Holland schen Schema-Theorem gegeben werden Schemata/Hyperplanes Holland führte im Bezug auf Genetische Algorithmen den Begriff Schema ein. Seine Idee war: Gute Lösungen müssen aus guten Bausteinen (einzelnen Bitstrings) bestehen. Genetische Algorithmen finden solche guten Bausteine, stärken deren Gewichtung und selektieren sie zur Rekombination also zur Vererbung. Ein Schema ist die Menge von Bitstrings, die durch ein bestimmtes Bitstring-Template beschreibbar ist. Z.B ergibt sich für das Template 1****1 die Menge aller Bitstrings, die mit 1 beginnen und mit 1 enden. Goldberg führt hierfür den Begriff Hyperplane H ein. Hyperplanes sind n- dimensionale Ebenen (n... Anz ( ), n l), auf denen die Bitstrings aus der durch das zugehörige Template beschriebenen Menge enthalten sind. Instanz eines Schemas oder sind Instanzen von 1****1. Länge und Ordnung eines Schemas 1****1 ist ein Schema 2. Ordnung mit der Länge l = 6. Definierte Länge eines Schemas Die definierte Länge ist die Differenz der äußeren festen Bits. Bei 1****1 ist die definierte Länge 6 1 = 5. Abbildung 17 auf Seite 26 stellt Schema oder Hyperplane *** anschaulich dar. Dies sind sozusagen alle Bitstrings der Länge l = 3. Die Teilmenge, Schema *1*, wird dabei durch die 4 Eckpunkte auf der oberen Fläche des Würfels repräsentiert. Abbildung 18 auf Seite 26 zeigt eine 4-dimensionale Hyperplane für das Schema ****. Die Teilmenge, Schema **1*, wird durch die Punkte an den Ecken des Pyramidenstumpfes, definiert durch die beiden oberen Flächen der Würfel, dargestellt.

29 10 ARBEITSWEISE GENETISCHER ALGORITHMEN 26 Abbildung 17: Bitstrings mit l = 3 und Hamming-Abständen auf 3D-Cube [22], S.8 Abbildung 18: Bitstrings mit l = 4 und Hamming-Abständen auf 4D-Hypercube [22], S.8

30 10 ARBEITSWEISE GENETISCHER ALGORITHMEN 27 Der Begriff Schema kann entweder für 1. das Template selber oder 2. die Menge aller beschriebenen Elemente verwendet werden. Die eigentliche Beduetung ist dem Kontext zu entnehmen Verarbeitung von Schemata durch den GA Jeder l-bitstring ist eine Instanz von 2 l -Schemata. Beispielsweise ergeben sich für die Länge l = 2 folgende 2 2 Schemata: **, *1, 1*, 11. Der Biststring 11 ist Instanz aller Schemata. Eine Population mit n Strings enthält also Instanzen von 2 l bis n 2 l Schemata, je nachdem, ob die Strings ähnlich oder unähnlich sind. Wenn der GA für die n Strings der Population die Fitness evaluiert, evaluiert er implizit die durchschnittliche Fitness der 2 l bis n 2 l verschiedenen Schemata mit. Anschaulich: Die Schemata 1***** und 0***** sind im Mittel in einer zufällig erzeugten Population von Bistrings der Länge l = 6 mit je etwa n/2 Elementen vertreten. Da n/2 in Bezug auf die Anzahl aller Elemente der Schemata ziemlich klein ist, kann hier nur eine Schätzung der durchschnittlichen Fitness erfolgen. Die durchschnittlichen Fitnesswerte werden nicht explizit berechnet. Ihr Einfluß ist aber implizit sichtbar, wenn sich die Anzahl der Instanzen verschiedener Schemata beim Ablauf des GA erhöht oder verringert Berechnung der Dynamik der Anzahl von Instanzen eines Schemas Wie kann man die zeitliche Entwicklung der Anzahl von Elementen eines Schemas, die in einer Population vertreten sind berechnen? Selektion H...Schema, welches mit mindestens einer Instanz in der Population zum Zeitpunkt t enthalten ist m (H, t)...anzahl der Instanzen von H zum Zeitpunkt t U (H, t)...schätzung der durchschnittlichen Fitness von H zum Zeitpunkt t

31 10 ARBEITSWEISE GENETISCHER ALGORITHMEN 28 gesucht ist E (m (H, t + 1))...Schätzung für die Anzahl der Instanzen von H zum Zeitpunkt t + 1 xih... x ist Instanz von H f (x)...fitness von Instanz x f (t)...durchschnittliche Fitness der gesamten Population zum Zeitpunkt t f(x)...schätzung für die Anzahl der Nachkommen von Instanz x f(t) Annahme Wir nehmen an, daß die Wahrscheinlickeit für die Selektion einer Instanz proportional zu deren Fitnesswert ist. Kreuzung und Mutation bleiben hier unbeachtet. Schätzung für die Anzahl der Instanzen von H zum Zeitpunkt t + 1 E (m (H, t + 1)) = f (x) f (t) x H U (H, t) = m (H, t) f (t) Betrachtung von Kreuzung und Mutation Die Operationen Kreuzung und Mutation können Instanzen von erschaffen und zerstören. Hier betrachten wir nur die destruktiven Qualitäten (worst case) Kreuzung Kreuzungsoperator: 1P-Crossover gesucht ist Eine untere Grenze für die Schätzung E (m (H, t + 1)). Annahme Eine Instanz von H wird zum Reproduzieren ausgewählt, d.h. die Selektion war erfolgreich. Man sagt: Schema H überlebt 1P-Crossover, wenn der Nachkomme auch eine Instanz von H ist. l...länge der Bitstrings im Suchraum

32 10 ARBEITSWEISE GENETISCHER ALGORITHMEN 29 d (H)...definierte Länge von H (Distanz der äußeren definierten Bits) p c...wahrscheinlichkeit für die Anwendung von 1P-Crossover ( ) p d(h) c...obergrenze für die Wahrscheinlichkeit, daß H 1P-crossover nicht überlebt l 1 ( ) p d(h) c ist eine Obergrenze, da z.b. Crossover bei zwei identischen Instanzen l 1 wieder zwei identische Instanzen erzeugen würde. Eben auch, wenn d(h) = 1, also l 1 das Schema, bei der Anwendung von 1P-Crossover eigentlich nicht überleben würde. S c (H)...Wahrscheinlichkeit, daß H 1P-Crossover überlebt ( ) d (H) S c (H) 1 p c l 1 Interpretation Je kürzer Schema H im Bezug zur Gesamtlänge l ist (d (H)), desto höher ist die Wahrscheinlichkeit des Überlebens von H während des 1P-Crossover Mutation p m...wahrscheinlichkeit für die Anwendung der Mutation auf ein beliebiges Bit o (H)...Ordnung von H (Anzahl der festen Bits) S m (H)...Wahrscheinlichkeit, daß H die Mutation überlebt S m (H) = (1 p m ) o(h) Interpretation Je kleiner die Ordnung o (H), also die Anzahl der festen Bits in Schema H ist, desto höher ist die Wahrscheinlichkeit des Überlebens von H während der Mutation.

33 10 ARBEITSWEISE GENETISCHER ALGORITHMEN Schema-Theorem (Holland, 1975) Selektion E (m (H, t + 1)) = f (x) f (t) x H U (H, t) = m (H, t) f (t) Kreuzung ( ) d (H) S c (H) 1 p c l 1 Mutation S m (H) = (1 p m ) o(h) führt zu Schema-Theorem E (m (H, t + 1)) U (H, t) f (t) ( ) d (H) m (H, t) 1 p c (1 p m ) o(h) l 1 Interpretation Kurze Schemata niedriger Ordnung mit einer durchschnittlichen Fitness über dem Populations-Durchschnitt werden sich über die Zeit (Evolution) exponentiell fortpflanzen. Das Schema-Theorem ist eine Untergrenze für die Schätzung E (m (H, t + 1)), da nur die destruktiven Effekte von Crossover und Mutation betrachtet werden Building-Block-Hypothese (Goldberg, 1989) Goldberg geht davon aus, daß die Rekombination von Elementen guter Schemata wieder Elemente guter oder sogar besserer Schemata erzeugt. Er stützt sich damit auch auf konstruktive Effekte. E (m (H, t + 1)) sollte daher höher als nur eine Untergrenze sein. Die simualtanen impliziten Schemata-Evaluationen werden auch als implicit paralelism (Holland, 1975) bezeichnet. Abbildung 19 auf Seite 31 zeigt verschiedene Schemata in einer 2D-Repräsentation eines Fitnessgebirges. Trotz des implicit parallelism muß nicht unbedingt das globales Optimum gefunden werden. Das kann z.b. ein

34 10 ARBEITSWEISE GENETISCHER ALGORITHMEN 31 Abbildung 19: 2D-Repräsentation Fitnessgebirge für Variablen X [22], S.10 Peak in einer Region mit schlechten Fitnesswerten sein. Im Normalfall wird die Suche in Gebiete gelenkt, die high potential Kandidatenlösungen enthalten. Je ausgewogener oder ebener der Suchraum ist, desto größer ist die Chance das globale Optimum zu finden.

35 11 TSP MIT EINEM GENETISCHEN ALGORITHMUS 32 Abbildung 20: TSP: Stadt-Stadt-Verbindungen bei 15 Städten [2] 11 TSP mit einem Genetischen Algorithmus Folgende Sektion beschreibt die beispielhafte Implementation zur Lösung des Traveling Salesman Problems durch Genetische Algorithmen Travelling Salesman Problem (TSP) Problembeschreibung Es ist eine Menge von Städten und Verbindungen gegeben. Die Aufgabe ist es, aus allen möglichen Routen die Kürzeste zu finden. Die Route muss dabei alle Städte enthalten. Keine Stadt sollte zweimal besucht werden. Das TSP ist ein NP-komplettes Problem (nichtdeterministisch, in polynomialer zeit lösbar). Der kürzeste Weg liegt in der Menge aller möglichen Kombinationen von Stadt-Stadt- Verbindungen. Bei 15 Städten z.b. müssen schon etwa 90 Milliarden Routen getestet werden. Obwohl es mindestens einen kürzesten Weg (globales Optimum) gibt, ist der Zeitbedarf, diesen durch Testen aller Möglichkeiten zu erhalten, nicht vertretbar. Aus diesem Grund suchen heuristische Verfahren nach einer hinreichend guten Lösung mit stark verringertem Zeitbedarf.

36 11 TSP MIT EINEM GENETISCHEN ALGORITHMUS 33 Abbildung 21: TSP: kürzeste Route bei 15 Städten [2] 11.2 Spezifische GA-Operatoren Initializer Der Initializer erzeugt zufällig eine Lösung (Genom). Dies geschieht als zufällige Sequenz von Städten in Form einer verketteten Liste. Jede Stadt kommt darin nur einmal vor. (s. Problembeschreibung) Crossover(Parent1,Parent2->Child) Der Crossover-Operator erzeugt eine Kind-Lösung aus 2 Eltern-Lösungen. 1. Eine Verbindungsmatrix mit allen Verbindungen beider Eltern aufgebaut. 2. Eine Start-Stadt wird zufällig erzeugt. Alle hin-verbindungen werden aus der Matrix entfernt. 3. Eine Nachfolge-Stadt wird aus der Matrix ausgewählt. Bedingung ist, daß diese Stadt die wenigste Anzahl von Nachfolgern unter allen noch nicht besuchten Städten hat. 4. Schritt 3 wird wiederholt, solange bis alle Städte in der Tourenliste auftreten. Crossover ist zweimal auszuführen, da in einem Durchlauf nur ein Child erzeugt wird.

37 11 TSP MIT EINEM GENETISCHEN ALGORITHMUS Mutator Der Mutator verändert eine Kind-Lösung. Zu Beginn wird mit einer Wahrscheinlichkeit p m = 0.5 (flip-coin) bestimmt, ob ein Austausch einer Stadt oder ein Austausch mehrerer Städte (mit oder ohne Inversion der Reihenfolge) in der Route vorgenommen wird. Im ersten Fall werden einfach zwei Städte vertauscht. Im zweiten Fall sind folgende Schritte auszuführen: 1. Bestimmen der Anzahl der Städte und des Entnahmepunktes. 2. Entnahme der Städte und Zwischenspeicherung in temporärer Liste. 3. Bestimmen des Einsetzungspunktes und ob Inversion durchzuführen ist. 4. Im Fall einer Inversion werden entnommene Städte in umgekehrter Reihenfolge wieder eingesetzt Comparator Der Comparator bestimmt die Distanz zweier Lösungen. Sie ist umso größer, je mehr unterschiedliche Verbindungen die beiden Routen aufweisen. Zu Beginn werden zwei Verbindungsmatrizen aufgebaut. Die Distanz wird bestimmt, indem die Anzahl der unterschiedlichen Verbindungen beider Routen aus den jeweiligen Matrizen gesucht wird Evaluator Der Evaluator bestimmt die Fitness einer Lösung. Je niedriger die Gesamtstrecke der Route ist, desto höher ist die Fitness. Die Gesamtstrecke der Route wird über die Summe der Distanzen der einzelnen Verbindungen bestimmt GA-Algorithmen Es folgt eine kurze Beschreibung der im Testprogramm verfügbaren Genetischen Algorithmen.

38 11 TSP MIT EINEM GENETISCHEN ALGORITHMUS Simple GA Dieser Algorithmus wurde von Goldberg beschrieben. Er verwendet keine überlappenden Populationen. In jeder Generation wird eine vollständig neue Population aufgebaut Steady-State GA Dieser Algorithmus wurde von De Jong beschrieben. Er verwendet überlappende Populationen. Nachdem hier eine neue Generation erzeugt ist, wird eine zweite Population zufällig erzeugt und mit der eigentlichen Generation vermischt. Anschließend wird diese Misch-Generation wieder auf die alte Größe reduziert, indem die Individuen mit der schlechtesten Fitness entfernt werden Incremental GA Dieser Algorithmus verwendet überlappende Populationen. Nur wenige Individuen aus der Elterngeneration werden in die erzeugte Generation zum Austausch übernommen Crowding GA Dieser Algorithmus verwendet überlappende Populationen. Hier wird eine individuelle Ersetzungsstrategie verwendet Deme GA Dieser Algorithmus verwendet überlappende Populationen. Mehrere parallele unabhängige Populationen werden erzeugt. Diese entwickeln sich unabhängig voneinander über einen Steady-State GA. In jeder Generation wandern die besten Individuen einer Population zu einer Nachbarpopulation über.

39 12 ANWENDUNGEN VON GENETISCHEN ALGORITHMEN Anwendungen von Genetischen Algorithmen 12.1 Genetic Algorithms in Parametric Design of Aircraft [4] Mark F. Bramlette & Eugene E. Bouchard Bramlette und Bouchard führen Optimierungen im Flugzeugdesign durch. Ihre Aufgabe ist es, eine Optimierung von Parameterwerten vorzunehmen. Es werden mehrere Algorithmen getestet. Die eigens konzipierte Variation eines Genetischen Algorithmus schneidet im Vergleich am besten ab Dynamic Anticipatory Routing in Circuit-Switched Telecommunications Networks [5] Louis Anthony Cox, Jr., Lawrence Davis & Yuping Qiu Cox, Davis und Qiu beschäftigen sich mit der Optimierung des Routings in Telekommunikations-Netzwerken. Dabei vergleichen sie verschiedene Techniken, darunter auch Genetische Algorithmen. Sie stellen fest, daß GA sehr erfolgreich sind, vor allem wenn das Problem ziemlich komplex ist. Eine Hybridlösung mehrerer Techniken führt zum besten Ergebnis A Genetic Algorithm Applied to Robot Trajectory Generation [6] Yuval Davidor Davidor optimiert die Planung des Weges, den ein Roboter nimmt, um sich von einem Punkt zu einem anderen zu bewegen. Er verwendet einen Genetischen Algorithmus mit Chromosomen variabler Länge sowie neue, interessante Kreuzungs- Operatoren Strategy Acquisition with Genetic Algorithms [12] John F. Grefenstette Grefenstette experimentiert mit SAMUEL, einem GA, der Techniken für das Manövrieren eines simulierten Flugzeuges entwirft. Das System basiert auf Regeln, die in einer Simulation angewendet werden können und das Flugzeug vor Kollisionen mit anderen Maschinen bzw. Raketen schützen sollen. Es werden Chromosomen variabler Länge verwendet, in denen Regeln kodiert sind.

40 12 ANWENDUNGEN VON GENETISCHEN ALGORITHMEN Genetic Synthesis of Neural Network Architecture [13] Steven A. Harp & Tariq Samad Harp und Samad entwickeln eine Technik, um Architekturen von neuralen Netzen in binären Chromosomen zu kodieren. Sie stellen Kombinationsmöglichkeiten von neuralen Netzen mit Genetischen Algorithmen vor A Genetic Algorithm Approach to Multiple Fault Diagnosis [16] Gunar E. Liepens & W. D. Potter Liepens und Potter verwenden einen Genetischen Algorithmus, um die plausibelste Kombination von Gründen, die zu einer Störung eines Mikrowellen- Kommunikations-Systems geführt haben könnten, herauszufinden. Dieser problemspezifische hybrid-ga erzielt eine hohe Performance Software Test Data Generation from a Genetic Algorithm [3] Ken Borgelt, Corporate Software Center, US, Motorola Inc. Borgelt setzt einen Genetischen Algorithmus zum Erstellen von Daten für das strukturierte Testen eines programmierten Software-Moduls ein. Software Tests werden benötigt, um mithilfe eines Debuggers den Abarbeitungsweg bei unterschiedlichen Eingangsdaten verfolgen zu können. Es gibt sehr viele solcher Wege, die getestet werden müssen. Der Genetische Algorithmus findet die nötigen Eingangsdaten, um alle möglichen Wege optimal durchtesten zu können. Dabei wird eine Optimierung einer Population von Testdaten, die als gesamte Population von Bedeutung sind, vorgenommen. Das Verfahren bildet den Grundstein für ein Software-Entwicklungstool zur Automatischen Erzeugung von Testdaten Data Mining Using Genetic Algorithms [17] Darrin J. Marshall, NCR Corporation Data Mining ist hier die Suche in sehr großen Datenbänken nach Patterns, Trends oder Generalisierungen. Marshall setzt einen Genetischen Algorithmus ein, der Verbindungen zwischen den Transaktionen in einer Datenbank untersucht. Ein Beispiel im Bezug auf eine Datenbank mit Bestellungen wäre: Der GA soll aus 100 möglichen Artikeln die 4 heraussuchen, die am häufigsten zusammen gekauft wurden. Abschliessend wird die Verwendung im Marketing diskutiert.

41 12 ANWENDUNGEN VON GENETISCHEN ALGORITHMEN Genetic Algorithms for Game Playing [20] Jiefu Shi Shi konzipiert einen Genetischen Algorithmus, um künstliche Spieler zu trainieren. Er soll dabei die Spielstrategien optimieren. Als Beispiel wird Tic Tac Toe verwendet. Der GA arbeitet sehr robust und kann auch für ähnliche Probleme beim Game- Playing eingesetzt werden Simulation of an Artificial Eco-System Using Genetic Algorithms [21] Steve Wand Einen interessanten Ansatz in Bezug auf Genetische Algorithmen liefert Wand. Für ihn ist der Weg das Ziel. Es wird ein natürliches Ökosystem simuliert. Dabei kämpfen die Individuen um endliche Ressourcen. Ziel ist es, Jäger- und Beute-Populationen im Gleichgewicht zu halten und maximale Biomasse zu produzieren.

42 Literatur 39 Literatur [1] J. D. Bagley. The behavior of adaptive systems which employ genetic and correlation algorithms. PhD thesis, University of Michigan, Doctoral dissertation, University of Michigan, Dissertation Abstracts International, 28(12), 5106B, University Microfilms No [2] E. Bonabeau and G. Théraulaz. Swarm smarts. Scientific American, pages 72 79, mar [3] K. Borgelt. Software test data generation from a genetic algorithm. In L. M. Freeman and C. L. Karr, editors, Industrial Applications of Genetic Algorithms, pages CRC Press, Boca Raton, FL, [4] M. F. Bramlette and E. E. Bouchard. Genetic algorithms in parametric design of aircraft. In L. D. Davis, editor, Handbook of Genetic Algorithms, pages Van Nostrand Reinhold, New York, [5] L. A. Cox, L. Davis, and Y. Qiu. Dynamic anticipatory routing in circuit-switched telecommunications networks. In L. D. Davis, editor, Handbook of Genetic Algorithms, pages Van Nostrand Reinhold, New York, [6] Y. Davidor. A genetic algorithm applied to robot trajectory generation. In L. D. Davis, editor, Handbook of Genetic Algorithms, pages Van Nostrand Reinhold, New York, [7] L. D. Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York, [8] K. De Jong. An analysis of the behavior of a class of genetic adaptive systems. PhD thesis, University of Michigan, Doctoral dissertation, University of Michigan, Dissertation Abstracts International, 36(10), 5140B, University Microfilms No [9] L. M. Freeman and C. L. Karr, editors. Industrial Applications of Genetic Algorithms. CRC Press, Boca Raton, FL, ISBN: [10] D. E. Goldberg. Computer-aided gas pipeline operation using genetic algorithms and rule learning. PhD thesis, University of Michigan, Doctoral dissertation, University of Michigan, Dissertation Abstracts International, 44(10), 3174B, University Microfilms No [11] D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Mass.: Addison-Wesley, [12] J. F. Grefenstette. Strategy acquisition with genetic algorithms. In L. D. Davis, editor, Handbook of Genetic Algorithms, pages Van Nostrand Reinhold, New York, 1991.

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

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

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

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

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

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

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

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

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

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior

Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft. Lars Melchior Eine Analyse des Effektes von Lernen auf Populationsfitness und Diversität in einer NK-Fitnesslandschaft Lars Melchior Theoretische Grundlagen Theoretische Grundlagen Genetik Genetische Algorithmen NK

Mehr

4 Genetische Algorithmen

4 Genetische Algorithmen WS1993/94 AuD II 113 4 Genetische Algorithmen Gegeben: Problem P Menge potentieller Lösungen S= {L 1,,L s } (auch Suchraum) Zielfunktion z : S [0,1] IR (manchmal auch z : S IR ) Gesucht: z(l) > z(l') L

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

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

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

Nichtdeterministische Platzklassen

Nichtdeterministische Platzklassen Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein

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

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

Prof. Dr. Christoph Kleinn Institut für Waldinventur und Waldwachstum Arbeitsbereich Waldinventur und Fernerkundung

Prof. Dr. Christoph Kleinn Institut für Waldinventur und Waldwachstum Arbeitsbereich Waldinventur und Fernerkundung Systematische Stichprobe Rel. große Gruppe von Stichprobenverfahren. Allgemeines Merkmal: es existiert ein festes, systematisches Muster bei der Auswahl. Wie passt das zur allgemeinen Forderung nach Randomisierung

Mehr

Hochschule Regensburg. Übung 12_3 Genetische Algorithmen 1. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer

Hochschule Regensburg. Übung 12_3 Genetische Algorithmen 1. Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer Hochschule Regensburg Übung 12_ Genetische Algorithmen 1 Spezielle Algorithmen (SAL) Lehrbeauftragter: Prof. Sauer Name: Vorname: 1. Was sind GA? - Ein GA ist ein Algorithmus, der Strategien aus der Evolutionstheorie

Mehr

-Generation sehen alle gleich aus (Uniformitätsregel). In der F 2. -Generation treten unterschiedliche Phänotypen auf (Spaltungsregel).

-Generation sehen alle gleich aus (Uniformitätsregel). In der F 2. -Generation treten unterschiedliche Phänotypen auf (Spaltungsregel). Mendelsche Regeln 1 + 2 (1) Merkmale wie die Blütenfarbe können dominant-rezessiv oder intermediär vererbt werden. Bei einem intermediären Erbgang wird die Merkmalsausprägung von beiden Allelen (z. B.

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

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

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

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

Evolutionäre Algorithmen Software

Evolutionäre Algorithmen Software Evolutionäre Algorithmen Software Prof. Dr. Rudolf Kruse Pascal Held {kruse,pheld}@iws.cs.uni-magdeburg.de Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Wissens- und Sprachverarbeitung

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

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

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

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)

NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP

Mehr

8. Konfidenzintervalle und Hypothesentests

8. Konfidenzintervalle und Hypothesentests 8. Konfidenzintervalle und Hypothesentests Dr. Antje Kiesel Institut für Angewandte Mathematik WS 2011/2012 Beispiel. Sie wollen den durchschnittlichen Fruchtsaftgehalt eines bestimmten Orangennektars

Mehr

Grundlagen der Vererbungslehre

Grundlagen der Vererbungslehre Grundlagen der Vererbungslehre Zucht und Fortpflanzung Unter Zucht verstehen wir die planvolle Verpaarung von Elterntieren, die sich in ihren Rassemerkmalen und Nutzleistungen ergänzen zur Verbesserung

Mehr

Spiel 1: Spielerische Simulation der Hardy-Weinberg-Regel

Spiel 1: Spielerische Simulation der Hardy-Weinberg-Regel Spiel : Spielerische Simulation der Hardy-Weinberg-Regel Spielbrett, Box Genpool, Taschenrechner Wichtig! Das Spiel wird fünf Runden gespielt!. Ziehen Sie aus dem Genpool ohne Hinschauen insgesamt 54 Individuen.

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Grundlagen der biologischen Evolution

Grundlagen der biologischen Evolution Ausgewählte Grundlagen der biologischen Evolution Grundlagen der biologischen Evolution Chromosome und Gene Genotyp und Phänotyp Evolutionsfaktoren Epigenetik und was wir sonst noch nicht verstanden haben

Mehr

A. Anhang Daubechies-Wavelets General characteristics: Compactly supported wavelets with extremal phase and highest number of vanishing moments for a

A. Anhang Daubechies-Wavelets General characteristics: Compactly supported wavelets with extremal phase and highest number of vanishing moments for a A. Anhang A.1. Eigenschaften von Wavelets und Wavelet-Familien Die folgenden tabellarischen Zusammenstellungen der wichtigsten Eigenschaften der in dieser Arbeit verwendeten Wavelet-Typen und Wavelet-Familien

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

Mehr

Genetische Algorithmen

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

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

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

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum

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

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

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

2. Datenvorverarbeitung

2. Datenvorverarbeitung Kurzreferat Das Ziel beim Clustering ist es möglichst gleich Datensätze zu finden und diese in Gruppen, sogenannte Cluster zu untergliedern. In dieser Dokumentation werden die Methoden k-means und Fuzzy

Mehr

Modul Biologische Grundlagen Kapitel I.2 Grundbegriffe der Genetik

Modul Biologische Grundlagen Kapitel I.2 Grundbegriffe der Genetik Frage Was sind Fachbegriffe zum Thema Grundbegriffe der Genetik? Antwort - Gene - Genotyp - Phänotyp - Genom - Dexoxyribonucleinsäure - Träger genetischer Information - Nukleotide - Basen - Peptid - Start-Codon

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

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

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

Bioinformatik. Substitutionsmatrizen BLAST. Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Substitutionsmatrizen BLAST. Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Substitutionsmatrizen BLAST Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Substitutionsmatrizen: PAM und BLOSSUM Suche in Datenbanken: Basic Local Alignment Search

Mehr

dgpf Distributed Genetic Programming Framework http://dgpf.sourceforge.net/

dgpf Distributed Genetic Programming Framework http://dgpf.sourceforge.net/ dgpf Distributed Genetic Programming Framework http://dgpf.sourceforge.net/ University of Kassel, Chair of Distributed Systems, Wilhelmshöher Allee 73, D-34121 Kassel, Hesse, Germany Projektarbeiten Allgemeine

Mehr

Zeichnen von Graphen. graph drawing

Zeichnen von Graphen. graph drawing Zeichnen von Graphen graph drawing WS 2006 / 2007 Gruppe: D_rot_Ala0607 Christian Becker 11042315 Eugen Plischke 11042351 Vadim Filippov 11042026 Gegeben sei ein Graph G = (V; E) Problemstellung V E =

Mehr

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Modellierung biologischer Prozesse Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Überblick Einführung Arten von Modellen Die stochastische Pi-Maschine Warum Modelle Die Biologie konzentriert

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

Mehr

Ranking by Reordering Tobias Joppen

Ranking by Reordering Tobias Joppen Ranking by Reordering Tobias Joppen 09.07.2014 Fachbereich Informatik Knowledge Engineering Prof. Johannes Fürnkranz 1 Überblick Einleitung Rank-differential Methode Idee Problemdefinition Beispiel Vereinfachung

Mehr

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation

Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Algorithmen zur Berechnung der Transitiven Hülle einer Datenbankrelation Daniel Reinhold Shenja Leiser 6. Februar 2006 2/28 Gliederung Einführung Transitive Hülle Definition Iterative Algorithmen 1. Naive

Mehr

Vektor-Multiplikation Vektor- Multiplikation

Vektor-Multiplikation Vektor- Multiplikation Vektor- Multiplikation a d c b Thema: Schultyp: Vorkenntnisse: Bearbeitungsdauer: Vektor-Multiplikation: Vektorprodukt Mittelschule, Berufsschule, Fachhochschule Elementare Programmierkenntnisse, Geometrie,

Mehr

11. Rekursion, Komplexität von Algorithmen

11. Rekursion, Komplexität von Algorithmen 11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv

Mehr

Lernumgebung für das Travelling Salesman Problem. Bedienungsanleitung. Projekt im Sommersemester 2016 Betreuer: Prof. Dr.

Lernumgebung für das Travelling Salesman Problem. Bedienungsanleitung. Projekt im Sommersemester 2016 Betreuer: Prof. Dr. Lernumgebung für das Travelling Salesman Problem Bedienungsanleitung Projekt im Sommersemester 2016 Betreuer: Prof. Dr. Peter Klutke Alexander Kirijatov (286925), Andreas Peter (266601), Benjamin Heckel

Mehr

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

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

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

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik

Bioinformatik. Lokale Alignierung Gapkosten. Silke Trißl / Ulf Leser Wissensmanagement in der. Bioinformatik Bioinformatik Lokale Alignierung Gapkosten Silke Trißl / Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Ähnlichkeit Lokales und globales Alignment Gapped Alignment Silke Trißl:

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

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 der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.

Mehr

Constraint-basierte Planung und Optimierung von Prüfungsterminen mithilfe einer graphischen Benutzeroberfläche

Constraint-basierte Planung und Optimierung von Prüfungsterminen mithilfe einer graphischen Benutzeroberfläche Douglas Cunningham,Petra Hofstedt, Klaus Meer, IngoSchmitt (Hrsg.): INFORMATIK 2015 LectureNotes in Informatics (LNI), Gesellschaft für Informatik, Bonn 2015 Constraint-basierte Planung und Optimierung

Mehr

Standardisierte Vorgehensweisen und Regeln zur Gewährleistung von: Eindeutigkeit Schlussfolgerungen aus empirischen Befunden sind nur dann zwingend

Standardisierte Vorgehensweisen und Regeln zur Gewährleistung von: Eindeutigkeit Schlussfolgerungen aus empirischen Befunden sind nur dann zwingend Standardisierte Vorgehensweisen und Regeln zur Gewährleistung von: Eindeutigkeit Schlussfolgerungen aus empirischen Befunden sind nur dann zwingend oder eindeutig, wenn keine alternativen Interpretationsmöglichkeiten

Mehr

Statistische Tests. Kapitel Grundbegriffe. Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe

Statistische Tests. Kapitel Grundbegriffe. Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe Kapitel 4 Statistische Tests 4.1 Grundbegriffe Wir betrachten wieder ein parametrisches Modell {P θ : θ Θ} und eine zugehörige Zufallsstichprobe X 1,..., X n. Wir wollen nun die Beobachtung der X 1,...,

Mehr

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik

Informatik. Teil 1 Wintersemester 2011/2012. Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Informatik Teil 1 Wintersemester 2011/2012 Prof. Dr.-Ing. habil. Peter Sobe Fachkultät Informatik / Mathematik Dieser Foliensatz wurde z.t. von Herrn Prof. Grossmann übernommen Inhalt 1. Algorithmen -

Mehr

27 Funktionelle Genomanalysen Sachverzeichnis

27 Funktionelle Genomanalysen Sachverzeichnis Inhaltsverzeichnis 27 Funktionelle Genomanalysen... 543 27.1 Einleitung... 543 27.2 RNA-Interferenz: sirna/shrna-screens 543 Gunter Meister 27.3 Knock-out-Technologie: homologe Rekombination im Genom der

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

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

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt; Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt Referent Matthias Rost 1 Einleitung Definitionen Maximaler Dynamischer Fluss Algorithmus von Ford-Fulkerson Techniken zur

Mehr

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets

Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Einleitung In welchen Situationen ist Apriori teuer, und warum? Kapitel 12: Schnelles Bestimmen der Frequent Itemsets Data Warehousing und Mining 1 Data Warehousing und Mining 2 Schnelles Identifizieren

Mehr

3. rekursive Definition einer Folge

3. rekursive Definition einer Folge 3. rekursive Definition einer Folge In vielen Fällen ist eine explizite Formel für das n-te Glied nicht bekannt, es ist hingegen möglich, aus den gegebenen Gliedern das nächste Glied zu berechnen, d.h.

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

Algorithmen und Datenstrukturen 1

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

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

Artificial Life und Multiagentensysteme

Artificial Life und Multiagentensysteme Vortrag im Rahmen des Seminars: Artificial Life und Multiagentensysteme Prof. Dr. Winfried Kurth Sommersemester 2003 Prognose von Zeitreihen mit GA/GP Mathias Radicke, Informatikstudent, 10. Semester Gliederung

Mehr

Aufbau und Operatoren evolutionärer Verfahren

Aufbau und Operatoren evolutionärer Verfahren Aufbau und Operatoren evolutionärer Verfahren Darstellung der Gene im Chromosom (Codierung) Basisalgorithmus Partnerwahl Erzeugung von Nachkommen (Rekombination und Mutation) Bewertung Überlebensregeln

Mehr

Kapitel 1 1 Einleitung

Kapitel 1 1 Einleitung Kapitel 1 Einleitung 1 1 1 Einleitung 1 Einleitung Die Informatik begegnet uns im Alltag ständig. Einmal natürlich als Rechenanlagen, die wir in Büros, Arztpraxen und zu Hause sehen. Zum anderen ist sie

Mehr

Kapitel 8 Grundsätzliche Informationen über die autosomal rezessive Vererbung

Kapitel 8 Grundsätzliche Informationen über die autosomal rezessive Vererbung 97 Kapitel 8 Grundsätzliche Informationen über die autosomal rezessive Vererbung von Sandra Grilliot (Der Artikel wurde - mit unserem Dank - der Frühjahrsausgabe 1991 von TEXGENE entnommen.) Wie schwer

Mehr

Threading - Algorithmen

Threading - Algorithmen Threading - Algorithmen Florian Lindemann 22.11.2007 Florian Lindemann () Threading - Algorithmen 22.11.2007 1 / 25 Gliederung 1 Prospect Scoring Function Algorithmus Weitere Eigenschaften Komplexität

Mehr

Kapitel 9 WAHRSCHEINLICHKEITS-RÄUME

Kapitel 9 WAHRSCHEINLICHKEITS-RÄUME Kapitel 9 WAHRSCHEINLICHKEITS-RÄUME Fassung vom 12. Januar 2001 121 WAHRSCHEINLICHKEITS-RÄUME Stichproben-Raum. 9.1 9.1 Stichproben-Raum. Die bisher behandelten Beispiele von Naturvorgängen oder Experimenten

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte Algorithmen 2. Erste Beispiele Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest

Mehr

Einführung Grundbegriffe

Einführung Grundbegriffe Einführung Grundbegriffe 1.1 Der Modellbegriff Broy: Informatik 1, Springer 1998 (2) Die Modellbildung der Informatik zielt auf die Darstellung der unter dem Gesichtspunkt einer gegebenen Aufgabenstellung

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

Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle

Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle Fuzzy Logik und Genetische Algorithmen für adaptive Prozesskontrolle Umgang mit unsicherem Wissen VAK 03-711.08 Oliver Ahlbrecht 8. Dezember 2005 Struktur 1. Einleitung 2. Beispiel Cart-Pole 3. Warum Hybride

Mehr

Genetic Algorithms. Seminar KE und Lernen in Spielen. Bearbeitet von: Felix Becher. Leiter des Seminars: Prof. Dr. Johannes Fürnkranz 06-07-27

Genetic Algorithms. Seminar KE und Lernen in Spielen. Bearbeitet von: Felix Becher. Leiter des Seminars: Prof. Dr. Johannes Fürnkranz 06-07-27 Genetic Algorithms Seminar KE und Lernen in Spielen Bearbeitet von: Felix Becher Leiter des Seminars: Prof. Dr. Johannes Fürnkranz Gliederung Evolutionstheorie Genetische Algorithmen Vor- und Nachteile

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr