Anwendung genetischer Algorithmen zur Lösung des n

Werbung
Anwendung genetischer Algorithmen
zur Lösung des n-Dame-Problems und
zur Optimierung von Autoprofilen
Studiengang Informatik
Jana Müller
11.12.2008
Otto-von-Guericke-Universität Magdeburg
Fakultät für Informatik (FIN)
Abstract
Genetische Algorithmen helfen schwierige und komplexe Sachverhalte zu vereinfachen und tragen
dazu bei optimale Lösungen für unterschiedliche Anwendungsgebiete zu erreichen. Schon seit
Beginn der Menschheit musste der Homo sapiens feststellen, dass die Natur ihm einiges Voraus
hatte, wenn es um Optimierung und Anpassung an die Umwelt und die Umgebung ging. Trotz des
Wissens darum, wurden genetische Algorithmen erst seit den 60iger Jahren stärker angewendet.
Der Grund dafür ist, dass bis zu diesem Zeitpunkt davon ausgegangen wurde, dass die Evolution
zu komplex sei, um sie nachbilden zu können.
Gegen Anfang der 60iger Jahre wandte sich John. H. Holland den genetischen Algorithmen zu und
schuf die heute verbreitetste Form. Im Jahre 1975 veröffentlichte er sein Buch „Adaption in natural
and artificial systems“. In diesem Werk beschäftigte er sich mit Fragestellungen, die nichts an ihrer
Aktualität verloren haben z.B. natürliche Suchalgorithmen zur Bearbeitung praktischer Probleme
zu finden. Genetische Algorithmen werden nicht nur für theoretische, nicht entscheidbare
Probleme mit polynomialen Zeitaufwand verwendet, sondern auch, um Bewegungsabläufe von
Robotern, die Konstruktion komplexen Bauteilen und Systemen (beispielsweise den Bau einer
Brücke) oder Reifenprofile zu verbessern. Wie genetische Algorithmen dem Menschen bei diesen
Problematiken helfen können, um eine optimale Lösung zu finden und ob stets dieses Optimum
erreicht werden kann, ist Inhalt der folgenden Darstellung.
-2-
Inhaltsverzeichnis
Abstract.................................................................................................................................................2
1. Einleitung.........................................................................................................................................4
2. Grundlagen.......................................................................................................................................4
2.1 Biologische Begriffe und ihre Bedeutung................................................................................4
2.2 Aufbau des Algorithmus...........................................................................................................5
2.3 Ziele..........................................................................................................................................6
3. Anwendungsbeispiel n-Dame-Problem............................................................................................6
3.1 Einführung................................................................................................................................6
3.2 Lösungsansatz...........................................................................................................................7
4. Praxisbeispiel Autoreifen................................................................................................................10
5. Fazit................................................................................................................................................11
6. Anhang............................................................................................................................................12
7. Quellenangaben..............................................................................................................................14
7.1 Literaturverzeichnis................................................................................................................14
7.2 Webverzeichnis.......................................................................................................................14
7.3 Bildverzeichnis.......................................................................................................................14
-3-
1. Einleitung
Genetische Algorithmen verfügen über die Fähigkeit, eine schwierige, komplexe Problematik stark
zu vereinfachen und tragen dazu bei eine optimale Lösung zu finden. Schon früher musste man
feststellen, dass die Natur dem Menschen einiges voraus hat, wenn es um Anpassung oder Lösen
von Problemen geht. Beispielsweise ist der Spinnfaden eines Spinnennetzes sehr elastisch,
dehnbar und reißfest. Das muss das Netz auch sein, denn wenn es nicht reißfest wäre, müsste die
Spinne verhungern, wenn ein Insekt durch ihr Netz fliegen würde und jedes Mal ihr Netz zerreißt.
Aus diesem Grund kamen in den 50iger Jahren erste Ideen zu genetischen Algorithmen. Jedoch
stellte man zu diesem Zeitpunkt fest, dass die Evolution viel zu komplex ist, um sie nachbilden zu
können. Dies rührte aus der falschen Annahme, dass die Mutation die treibende Kraft der
Evolution sei.
In den 60iger Jahren wandte man sich erneut den genetischen Algorithmen zu. Professor John H.
Holland von der Universität Michigan erkannte, dass die Rekombination das wichtigste Element
der Evolution ist, was aus Darwins Evolutionstheorie hervorgegangen ist. Die Evolutionstheorie
besagt, dass die Individuen, die am besten angepasst sind, eine größere Überlebenschance
haben und daher mehr Nachkommen zeugen können, wobei schlechter Angepasste verdrängt
werden. Dies stellt das Prinzip der Selektion, auch Auslese genannt, dar. Im Jahr 1975 erschien
Hollands Buch „Adaption in natural and artificial systems“, in dem er Fragestellungen aufwarf, die
nichts an ihrer Aktualität verloren haben z.B. natürliche Suchalgorithmen zur Bearbeitung
praktischer Probleme. Weiterhin versuchte er in diesem Buch zu erklären, wie und warum
genetischen Algorithmen funktionieren und wirken.
Heutzutage werden genetische Algorithmen oft verwendet, um Problemstellungen zu optimieren.
Beispielsweise nahm man sich Katzen und Hunde als Vorbild für die Verbesserung von
Autoreifenprofilen. Wieso und warum, wird in dieser Arbeit geklärt. Zunächst einmal wird auf
biologische Grundlagen im nächsten Kapitel eingegangen, da genetischen Algorithmen sehr stark
auf dem Prinzip der biologischen Evolution beruhen.
2. Grundlagen
Genetische Algorithmen stützen sich auf die Grundlagen der biologischen Evolution. Dies ist
erkennbar an dem Wort „genetisch“, was man auf das biologische Teilgebiet, die Genetik,
zurückführen kann. Die Genetik (lat. geneá = Abstammung) beschäftigt sich mit dem Aufbau sowie
der Funktion von Erbanlagen und mit deren Weitervererbung, wobei die Vererbung die Weitergabe
von Erbinformationen von Generation zu Generation ist [09]. Die Erklärung eines Algorithmus wird
ausführlich in der Referenz [02] angegeben.
Da genetische Algorithmen an die Evolution angelehnt sind, wird in diesem Kapitel auf die
Funktionsweise genetischer Algorithmen sowie auf einige Begrifflichkeiten für das allgemeine
Verständnis eingegangen.
2.1 Biologische Begriffe und ihre Bedeutung
Mehrere Individuen bilden eine Menge von Lebewesen, eine Population. Jedes Lebewesen
besteht aus Zellen, den Grundbausteinen eines jeden Individuums. Im Zellkern befinden sich
Chromosomen. Sie enthalten die Eigenschaften, die das Lebewesen „zugesprochen“ bekommt.
Chromosomen besitzen Gene. Diese sind einzelne Teilstücke, die eine „Teileigenschaft“, z.B. die
Augenfarbe, festlegen.
-4-
Selektion
Als Selektion wird die natürliche Auslese bezeichnet. Das bedeutet, Lebewesen, die gut an ihre
Umgebung sowie Veränderungen ihrer Umwelt angepasst sind, haben eine höhere
Überlebenschance. Individuen, die schlechter angepasst sind, werden verdrängt. Hieraus
resultiert, dass sich die gut angepassten Lebewesen mit einer größeren Wahrscheinlichkeit
fortpflanzen und somit ihre Gene weiter vererben. Die Angepasstheit eines Lebewesens wird als
Fitness bezeichnet.
Das Erbgut kann auf zwei grundlegende Arten verändert werden durch Rekombination und
Mutation. Beide zusammen bilden die Basis für die genetische Vielfalt einer Population.
Rekombination
Die Rekombination wird auch als Crossover bezeichnet. Hier wird das Erbgut verschiedener
Individuen gekreuzt. Das Resultat sind neue Gen- und Merkmalskombinationen, die entstehen
können.
Mutationen
Eine Mutation ist eine zufällig auftretende Veränderung der Erbinformation durch Modifizierung der
Chromosomen. Dies geschieht, wenn ein Gen hinzugefügt oder verändert wird, in dem die Abfolge
der Genbausteine verändert wird. Genauso können zwei Gene vertauscht oder ersetzt werden. Die
Mutation ist nicht auf Rekombination zurückzuführen, jedoch vererbbar. Die Ausprägung der
Modifikation prägt das Erscheinungsbild (Phänotyp) des Lebewesens.
Eine Mutation kann durchaus positiv sein, da durch die Erzeugung neuer Kombinationen eine
alternative oder eine bessere Variante zum ursprünglichen Optimum entstehen kann.
2.2 Aufbau des Algorithmus
Ein genetischer Algorithmus besteht aus:
1. Einer Kodierungsvorschrift für die Lösungskandidaten. Wobei man generell nicht sagen
kann, wie die Lösungskandidaten kodiert werden. Dies entscheidet sich je nach
Problemstellung, d.h. es gibt keine allgemeinen Regeln, die man in diesem Fall anwenden
kann. Darstellungsmöglichkeiten der Kodierung sind ganze oder reelle Zahlen sowie Binäroder Dezimaldarstellungen.
2. Danach benötigt man am Anfang eine Methode zur Erzeugung der Anfangspopulation. In
der Informatik bedeutet das, dass meist zufällig Zeichenketten erzeugt werden. (Je nach
gewählter Kodierung können jedoch komplexe Verfahren genauso notwendig sein.)
3. Nachdem eine Population erzeugt wurde, ist eine Bewertungsfunktion notwendig, um die
Individuen zu beurteilen. Man bezeichnet sie auch als Fitnessfunktion. Diese spielt die
Rolle der Umgebung und gibt die Qualität der Individuen an. Sehr oft entspricht die
Bewertungsfunktion der zu optimierenden Funktion. Allerdings kann sie genau so
zusätzliche Elemente beinhalten, die die zu erfüllenden Nebenbedingungen darstellen
sollen.
4. Auf Grundlage der Fitnessfunktion folgt die Auswahlmethode. In dieser Methode werden
die Individuen festgelegt, die entweder zur Erzeugung neuer Nachkommen auserwählt
wurden oder unverändert in die nächste Generation gelangen.
5. Des Weiteren besteht ein genetischer Algorithmus aus genetischen Operatoren, die die
Lösungskandidaten verändern. Zu diesen Operatoren zählt man die Mutation (zufällige
Veränderung der Gene) und das Crossover (Rekombination von Chromosomen).
-5-
6. Um einen genetischen Algorithmus zu beeinflussen, reicht es, wenn man die Werte für die
Parameter ändert z.B. die Populationsgröße oder die Mutationswahrscheinlichkeit.
7. Abschließend benötigt ein genetischer Algorithmus ein Abbruchkriterium z.B. die
vorgegebene minimale Lösungsqualität wurde erreicht, nach der festgelegten Anzahl von
Generationen gab es keine Verbesserung oder die Berechnung der vorgegebenen
Generationsanzahl wurde ausgeführt.
2.3 Ziele
Allgemeines Ziel eines genetischen Algorithmus ist es, Optimierungsprobleme zu lösen, d.h. es ist
ein Suchraum gegeben sowie eine zu optimierende Funktion, bei der ggf. Nebenbedingungen mit
berücksichtigt werden sollten. Die Lösung von Problemen soll heuristisch erfolgen, d.h. es soll
schnell ein Ergebnis gefunden werden aufgrund von Erfahrungen sowie Bewertungen vorheriger
Probleme. Die Lösung sollte optimal sein, was allerdings nicht immer erreicht wird.
Genetische Algorithmen lösen nicht nur schwere NP-Aufgaben (nichtdeterministisch polynomial)
[02], wie das Problem des Handlungsreisenden oder das Rucksackproblem, sondern auch
Parameteroptimierungen (Verbesserung des Reifenprofils), die Erstellung von Fahr-, Stunden- und
Raumplänen sowie die Konstruktion von Bewegungsabläufen von Robotern oder komplexen
Bauteilen und Systemen – beispielsweise den Bau einer Brücke. Dabei sind die Lage, das Gewicht
sowie die Form zu optimieren.
Das Finden einer Lösung kann auf unterschiedlichste Weise erfolgen:
1. Analytische Lösung: Diese Lösungsart ist sehr effizient. Allerdings werden sie in vielen
Fällen nicht benutzt, da sie entweder nicht auf die Problemstellung anwendbar sind oder zu
komplex werden.
2. Vollständige Durchforstung: Ist sehr ineffizient, daher wendet man sie hauptsächlich in
kleinen Suchräumen an.
3. Blinde Zufallssuche: Diese Art ist stets anwendbar – allerdings muss der Benutzer mit
einem sehr ineffizienten Ergebnis rechnen.
4. Gesteuerte Suche: Eine Voraussetzung hierfür ist, dass die Funktionswerte sich ähnelnder
Elemente des Suchraums ähnlich sind. Die Effizienz ist gut bis sehr gut.
Genetische Algorithmen verwenden die gesteuerte Suche.
Im kommenden Kapitel wird an einem theoretischem Problem, dem n-Dame-Problem, näher auf
die Grundzüge eines genetische Algorithmuses eingegangen.
3. Anwendungsbeispiel n-Dame-Problem
3.1 Einführung
Was beinhaltet das n-Dame-Problem? Das n-Dame-Problem ist eine Verallgemeinerung des AchtDame-Problems. Es beschäftigt sich mit der Problematik, wie n Schachdamen auf einem nxn
großem Schachbrett positioniert werden können. Die Damen dürfen sich nicht gegenseitig
bedrohen, d.h. sie können sich weder horizontal, vertikal noch diagonal schlagen. Welche
Möglichkeiten zum Bedrohen eine einzelne Dame auf einer Position besitzt bzw. welches ihre
Zugmöglichkeiten sein könnten, ist auf der Abbildung 1 abgebildet durch die schwarzen Punkte. Es
ist ein 8x8 Feld dargestellt.
-6-
Abbildung 1: Zugmöglichkeiten einer Dame
Auf Abbildung 2 wird eine mögliche Lösung des 8x8 Dame-Problems dargestellt, bei der keine
Dame eine andere bedroht. Für dieses Problem existieren 92 mögliche Lösungen (inbegriffen der
Rotationen und Spiegelungen).
Abbildung 2: Lösung des 8-Dame-Problems
Die Problematik kann durch verschiedenste Optimierungsverfahren gelöst werden z.B. durch
Backtracking oder direkte Berechnung [05]. Backtracking [02] ist in diesem Fall die üblichere
Variante, jedoch eignet sich das n-Dame-Problem gut, um das Prinzip der genetische Algorithmen
zu veranschaulichen. Aus diesem Grund wird im Folgenden auf Lösungsansätze eingegangen.
3.2 Lösungsansatz
Im Kapitel Grundlagen wurde auf den Aufbau eines genetischen Algorithmus eingegangen. Im
folgenden wird man diesen wiedererkennen.
Als erstes wird mit der Kodierung begonnen. Ein Lösungskandidat wird durch ein Chromosom mit
n Genen dargestellt. Jedes Gen beschreibt eine Spalte des Schachbrettes, in der die Dame
-7-
platziert ist. Durch die Genausprägung wird der Ort der Dame in der zugehörigen Zeile angezeigt.
Die Kodierung trägt dazu bei, Lösungskandidaten, die mehr als eine Dame in einer Zeile
innehaben, auszuschließen.
Abbildung 3 stellt die Kodierung der Lösungskandidaten dar. Es wird eine chromosom-basierte
Problemlösung (Phänotyp) in Form eines 5x5 Schachbrett dargestellt, auf dem fünf Damen
platziert wurden. Das Schachbrett ist jeweils von null bis fünf durchnummeriert, damit die
Platzierungen der Damen angegeben werden können. Der Genotyp des Chromosoms, d.h. die
formale Kodierung einer Lösung, wird als Vektor angegeben. Das Auslesen erfolgt
folgendermaßen: Man liest das gegebene Brett zeilenweise aus, d.h. man beginnt oben wie in
einem Buch die Zeile entlang zu lesen. Trifft man währenddessen auf eine Dame, wird die Spalte
nach unten durchsucht, um zu sehen, in welcher Spalte sie steht. Diese Information wird sich
gemerkt. Ist dies erledigt, wird fortgesetzt. Bei diesem Beispiel erhält man durch das eben
beschriebene Verfahren den Vektor (3,1,4,0,3)T. Das „T“ bei der Vektorangabe bedeutet, dass es
sich um eine transponierte Vektorangabe handelt.
Abbildung 3: Kodierung der Lösungskandidaten
Es stellt sich nun die Frage, wie groß die Startpopulation sein sollte. Die Antwort auf diese Frage
lautet: weder zu groß noch zu klein. Wenn es zu wenig Individuen gibt, liegt eine Artenarmut vor
(eine fehlende Variabilität). Dies hat zur Folge, dass das Optimum eventuell nicht erreicht wird. Ist
die Population hingegen zu groß, so wird der Algorithmus unnötig langsam, was die
Berechnungszeit der einzelnen Generationen verlängert.
Da nun die Kodierung sowie die Generierung der Startpopulation abgeschlossen ist, wird jetzt die
Bewertung durchgeführt. Die Fitness spielt hier eine sehr wichtige Rolle, da für alle Individuen der
Population diese berechnet wird. Die Bewertung gibt an, wie angepasst das jeweilige Individuum
an die angegebenen Anforderungen ist.
Eine negative Zahl wird vergeben, wenn die Spalten oder Diagonalen mit mehr als einer Dame
bestückt sind. Die Negation dient dazu, um die maximierende Fitness zu erhalten. Kommt es vor,
dass mehr als zwei Figuren in einer Spalte oder Zeile zu finden sind, so wird jedes Paar gezählt,
was die spätere Implementation vereinfachen soll. Aus der Fitnessfunktion erhält man
augenscheinlich das Abbruchkriterium: Beträgt die (maximal mögliche) Fitness = 0, so wurde eine
Lösung gefunden. Zusätzlich sollte man eine maximale Generationenanzahl festlegen, um die
Terminierung zu garantieren.
Abbildung 4: Darstellung der Fitness
-8-
Abbildung 4 verdeutlicht das eben Beschriebene noch einmal. Zu sehen ist ein 5x5 Schachbrett.
Die zuerst angegebene Dame des Vektors (3,1,4,0,3)T kollidiert zum einen diagonal mit der Dame
auf der Position 0 und zum anderen mit der Figur, die in derselben Spalte (3) steht. Daraus
resultiert die negative Fitness -2.
Doch wie werden die Individuen ausgewählt? Die Auswahl der Individuen, aus der die neue
Generation erzeugt werden soll, erfolgt durch ein Turnier. Anhand des Phänotyps werden die
Fortpflanzungskandidaten zufällig ausgewählt. Umso höher die Fitness des Individuums ist, je
größer ist die Chance ausgewählt zu werden. Aber wieso werden nicht immer die Besten
genommen? Der Grund dafür ist, dass auch schlechte Lösungen zum Ziel führen können – sogar
manchmal besser als nur gute. Wenn ein Individuum das Turnier „gewinnt“, heißt das, dass es in
die nächste Generation gelangt.
Nachdem die Individuen ausgewählt wurden, soll jetzt auf die Rolle der genetischen Operatoren
eingegangen werden, dem Crossover, der Mutation und der Selektion. Unter Crossover, auch
Rekombination genannt, versteht man das Austauschen eines Chromosomenstücks zwischen zwei
Individuen. Im folgenden wird näher auf das Ein-Punkt-Crosssover eingegangen. Bei diesem
Verfahren wird zufällig eine Trennstelle zwischen zwei Genen ausgewählt und die Gensequenzen
auf der einen Seite dieser Trennstelle ausgetauscht.
In Abbildung 5 ist zum einen der Vektor v1 = (3,1,4,0,3)T mit einer Fitness von -2 und zum anderen
der Vektor v2 = (1,4,3,2,0)T mit einer Fitness von -3 dargestellt. (Im Anhang sind die Schachbretter
zu den zugehörigen Vektoren dargestellt. Sie sollen die Kollisionen, die die Fitness bedingen,
bildhaft verdeutlichen.) Da die jeweilige Fitness der beiden Vektoren nicht zufriedenstellend ist,
wird eine Trennstelle ausgewählt. In der Abbildung ist dies die Trennstelle zwei. Aufgrund des
Tauschens
der
letzten
Chromosomenabschnitte,
entstehen
zwei
neue
Vektoren
v1(rekombiniert)=(3,1,4,2,0)T und v2(rekombiniert)=(1,4,3,0,3)T . Der erste neue Vektor besitzt nun
eine Fitness von null, d.h. durch die Rekombination wurde die Fitness verbessert und sogar die
optimale Bewertung erreicht. Hingegen hat das Vertauschen beim zweiten Vektor keine
Fitnessveränderung gebracht. (siehe Anhang)
Abbildung 5: Ein-Punkt-Crossover
Die Mutation hingegen ist eine Methode, die die Erbinformationen zufällig manipuliert. Dadurch
können bestimmte Genausprägungen entstehen, die in der Population bisher nicht vorhanden
waren, aber zur Lösung des Optimierungsproblems entscheidend sind. Der Zufall ist sehr wichtig,
da er die Variabilität erhält und somit vor dem „Festfahren“ (wenn nur Rekombination verwendet
wird) schützt. Es mutieren die Individuen, die neu entstehen sollen, d.h. die Mutation findet vor der
Geburt statt. Ungefähr 10% aller Individuen werden verändert. Der Anteil der Mutation ist wichtig.
Ist der Prozentanteil der Individuen, die mutieren zu groß, hat dies nicht mehr viel mit Vererbung zu
tun. Ein zu geringer Anteil an Veränderungen wirkt sich jedoch negativ aus, da kaum neue
Kombinationen entstehen und somit die Population eventuell „fest fährt“.
Für das n-Dame-Problem sieht das wie folgt aus. Während einer Mutation wird ein Vektoreintrag
zufällig verändert, was bedeutet, dass eine Dame in eine andere Spalte gesetzt wird. Da die
Mutation sehr auf dem Zufallsprinzip basiert, sind ihre Auswirkungen meistens eher negativ als
-9-
positiv, da eine Verschlechterung der Fitness auftritt. Darstellung 6 zeigt eine solche
Fitnessverschlechterung. Bevor der Vektor mutierte, besaß er eine Fitness von -2. Nach der
Mutation erhielt er eine Bewertung von -4. Die Schachbrettdarstellung der jeweiligen Vektoren sind
im Anhang zu finden.
Bei genetischen Algorithmen kann zufällig bestimmt werden, wie viele Gene ersetzt werden sollen.
Abbildung 6: Mutation
Eine Population kann an Individuen zunehmen, abnehmen oder gleich bleiben. Es wird nun davon
ausgegangen, dass der Lösungspool sich vergrößert hat. Aus diesem Grund muss die Population
für die nächste Generation beschränkt werden. Dies geschieht durch Selektion. Die vorgegebene
Population wird so lange selektiert, bis die gewünschte Populationsgröße erreicht ist. Wie viele
Individuen in die nächste Generation gelangen, ist abhängig vom vorgegebenen Prozentsatz.
Doch nicht nur die Individuen mit der besten Fitness haben eine Chance in die nächste Generation
zu kommen, sondern auch schlechte. Die Auswahl findet durch das oben erklärte Turniersystem
statt. Da in der neuen Generation anscheinend noch keine optimale Lösung gefunden wurde.
Wurde hingegen das Optimum gefunden, d.h. das Abbruchkriterium Fitness 0 ist erfüllt, wird der
Algorithmus abgebrochen. Wenn das Abbruchkriterium nicht erreicht wurde, werden die
genetischen Operatoren von Neuem angewendet.
4. Praxisbeispiel Autoreifen
In einem Artikel des Spiegels von 2006 wurde ein interessanter Beitrag zur Verwendung von
genetischen Algorithmen geschrieben. Forscher hatten es geschafft, innerhalb kürzester Zeit
Reifenprofile zu verbessern. Der Grund dafür war, dass sich ein Unternehmen Tiere als Vorbilder
genommen hatten. Vor allem Katzen und Hunde wurden als Vorbilder ausgewählt. Die Forscher
bemerkten, dass z.B. Katzenpfoten sich bei Richtungswechsel verbreitern, um mehr Kontakt zum
Boden zu haben.
Reifenentwickler versuchten diese Beobachtung auf die Aquaplaningproblematik von Autoprofilen
zu übertragen und erhofften sich Verbesserungen durch die Anwendung der Evolutionsprinzipien
Fortpflanzung, Mutation und Selektion. Sie suchten ein Verfahren, dass Zufall mit System
verbinden würde und versuchten es deshalb mit genetischen Algorithmen. Das Ausgangsprofil
wurde durch Parameter (z.B. Abstand und Breite der Längsrillen) beschrieben und andere
Parameter (z.B. Durchmesser, Breite) wurden konstant gehalten, um alleinig die Anordnung der
Rillen zu betrachten. Die Angaben wurden zur Parametrierung einer Software genutzt, die diese
Parameter zufällig veränderte (Prinzip der Mutation). Aus den besten Individuen wurde der
Mittelwert ihrer Parameter als Eingabe für einen neuen Durchlauf verwendet, d.h. sie durften sich
fortpflanzen. In der ersten Generation wurden z.T. Profile erzeugt, die eine sehr viel höhere
Geschwindigkeit beim Aquaplaningtest, als ein profilloser Reifen, ermöglichten. Anscheinend
erhielten die Forscher schon in den ersten beiden Generationen nahezu perfekte Profile, um dazu
genaueres sagen zu können, müssten jedoch noch mehrere Generationen erzeugt werden. Erst in
späteren Generationen zeigt sich, ob die Verbesserung bereits ein Optimum darstellt. Da die
Modellierung der Profile jedoch sehr komplex war und man an die Grenzen der damaligen digitalen
Technik stieß, wurde die Versuchsreihe nach dem zweiten Versuch, von geplanten sechs,
- 10 -
abgebrochen.
Wenn in Zukunft genetische Algorithmen komplett in Computern ablauffähig sein würden, könnte
man nicht nur auf einen zu optimierenden Aspekt einzeln eingehen, sondern genauso Sicherheit,
Verbrauch und Komfort in die Optimierung mit einbeziehen. Eine einzelne Optimierung bringt den
Menschen nur begrenzt weiter. In diesem Beispiel ist es der Reifenbauer. Der Reifen, der sich in
dem Test herauskristallisiert hat, besitzt breite Rillen an der Reifenflanke. Praxistests zeigten
allerdings, dass dies im Konflikt zur Handhabung des Autos steht. [11]
5. Fazit
Genetische Algorithmen bieten die Möglichkeit, eine optimale Lösung zu finden, wobei sie sich
genetische Prinzipien, wie die Rekombination, Mutation und Selektion, zu Nutze machen. Die
Bewertung der Lösungskandidaten spielt hierbei eine sehr wichtige Rolle, da sie die Kandidaten in
die vorgesehene „richtige“ Richtung lenkt. Doch nicht nur die Bewertung, sondern auch die
Kodierung des Erbguts ist entscheidend. Weitere wichtige Faktoren sind die Größe der Population,
die Mutationswahrscheinlichkeit sowie die Anzahl der Generationen. Sie alle bedingen die
Performanz und die Qualität der gesuchten Lösung.
Ein Vorteil der genetischen Algorithmen ist, dass sie in jeglichen Optimierungsverfahren verwendet
werden können. Sie werden nicht nur zum Lösen schwerer NP-Aufgaben verwendet (Problem des
Handlungsreisenden, Rucksackproblem, nxn Dame-Problem), sondern auch in der Praxis z.B. um
Reifenprofile zu verbessern, Fahr-, Stunden- und Raumpläne zu erstellen oder komplexe Bauteile
und Systeme zu konstruieren (Brückenbau). Des Weiteren kann sehr viel über die Parameter
gesteuert werden, wodurch versucht wird, gute Ergebnisse zu erzielen. Zwar wird stets eine gute
Lösung gefunden, jedoch nicht immer die beste. Entscheidend für das Ergebnis ist eine optimale
Parametrierung, die aber alles andere als trivial ist. Auch bei der Wahl der Operatoren ist es nicht
einfach, da eine dominierende Population im Extremfall einzig und allein identische Chromosomen
besitzt. Daraus resultiert, dass nicht nur Crossover verwendet werden soll, sondern auch die
Mutation, die auf zufällige Art neue Kombinationen schafft. Was wiederrum in zu starkem Maße
negative Auswirkungen hat.
Zusammenfassend kann gesagt werden, dass es sich lohnt, genetische Algorithmen einzusetzen –
auch wenn sie einige negative Seiten haben. Ein negativer Aspekt ist beispielsweise, dass die
„Artenvielfalt“, die sie bringen, enorm ist. Andererseits sind Menschen in ihrem jeweiligen Metier
vielleicht betriebsblind geworden und entdecken durch genetische Algorithmen neue Möglichkeiten
jeweilige Probleme zu lösen. Auch hat das Beispiel der Autoreifen gezeigt, dass genetische
Algorithmen in Zukunft verwendet werden, um verschiedenste, zu optimierende Aufgabestellungen
zu lösen. Die Tests sind zeitaufwendig und komplex. Daher stößt man schnell an die heutigen
technischen Grenzen, wodurch die Einsatzmöglichkeiten genetischer Algorithmen zur Optimierung
begrenzt sind.
- 11 -
6. Anhang
Da aus den Vektoren allein die Kollisionen kaum erkennbar sind, sind im Folgenden die
Schachbretter zu den Abbildungen 5 und 4 abgebildet. Die roten sowie blauen Linien stellen die
Kollisionen dar
Legende: Rote und blaue Linien sollen die Kollisionen darstellen.
Schachbrettdarstellungen zur Abbildung 5: Ein-Punkt-Crossover
1.Schachbrett des Vektors (3,1,4,0,3)T
2.Schachbrett des Vektors (1,4,3,2,0)T
Nach dem Crossover
1. Schachbrett mit Fitness 0
2.Schachbrett mit Fitness -3
- 12 -
Schachbrettdarstellung zur Abbildung 6: Mutation
Schachbrett vor der Mutation
Schachbrett nach der Mutation:
- 13 -
7. Quellenangaben
7.1 Literaturverzeichnis
•
[01]
Gerdes, Ingrid. Klawonn, Frank. Kruse, Rudolf. Evolutionäre Algorithmen. 1.Auflage.
Vieweg Verlag. 2004
•
[02]
Saake, Gunter. Sattler, Kai-Uwe. Algorithmen und Datenstrukturen. 3.Auflage.
dpunkt.verlag. Heidelberg. 2006
•
[03]
Michalewicz, Zbigniew. Genetic Algorithm + Data Structures = Evolution Programs.
Springer-Verlag. 3.Auflage. Berlin [u.a.]. 1996.
•
[04]
Heistermann, Jochen. Genetische Algorithmen. Theorie und Praxis evolutionärer
Optimierung. Teubner. Stuttgart [u.a.].1994
7.2 Webverzeichnis
•
[05]
http://fuzzy.cs.uni-magdeburg.de/studium/ga/ (20.11.2008: 18.00Uhr)
•
[06]
•
[07]
http://www.plm.eecs.uni-kassel.de/ki-in-spielendateien/Ki_in_Spielen_Genetische_Algorithmen_Ausarbeitung.pdf (20.11.2008, 19.30 Uhr)
•
[08]
http://www.hdm-stuttgart.de/~vs016/documents/Elaboration-NaturePatterns.pdf
(30.11.2008; 11.20 Uhr)
•
[09]
http://de.wikipedia.org/wiki/Genetik (30.11.2008; 11.15 Uhr)
•
[10]
http://de.wikipedia.org/wiki/Bionik (30.11.2008; 11.25 Uhr)
•
[11]
http://www.spiegel.de/wissenschaft/mensch/0,1518,445723,00.html
18.00 Uhr)
http://www.plm.eecs.uni-kassel.de/ki-in-spielendateien/Ki_in_Spielen_Genetische_Algorithmen_Ausarbeitung.pdf (20.11.2008; 19.00 Uhr)
(30.11.2008;
7.3 Bildverzeichnis
•
[12]
http://fuzzy.cs.uni-magdeburg.de/studium/ga/ (20.11.2008; 18.00 Uhr)
•
[13]
Otto-von-Guericke-Symbol - http://www.sim-md.de/theses_howto.html (22.11.2008;
18.30 Uhr)
- 14 -
Herunterladen