Thursday 16 March 2017

Genetischer Algorithmus Forex Matlab

VII. Parameter von GA Crossover und Mutation Wahrscheinlichkeit Es gibt zwei grundlegende Parameter der GA - Crossover Wahrscheinlichkeit und Mutation Wahrscheinlichkeit. Crossover-Wahrscheinlichkeit sagt, wie oft Crossover durchgeführt wird. Wenn es keine Crossover gibt, ist der Nachwuchs eine exakte Kopie der Eltern. Wenn es einen Crossover gibt, wird Nachkommen aus Teilen der Eltern Chromosom gemacht. Wenn die Crossover-Wahrscheinlichkeit 100 ist. Dann werden alle Nachkommen durch Crossover gemacht. Wenn es 0 ist. Die ganze neue Generation besteht aus exakten Kopien von Chromosomen aus alter Population (aber das bedeutet nicht, dass die neue Generation gleich ist). Crossover ist in der Hoffnung, dass neue Chromosomen haben gute Teile der alten Chromosomen und vielleicht die neuen Chromosomen werden besser sein. Allerdings ist es gut, einen Teil der Bevölkerung zu überleben, um die nächste Generation zu überleben. Mutation Wahrscheinlichkeit sagt, wie oft werden Teile des Chromosoms mutiert werden. Wenn es keine Mutation gibt, wird Nachkommen nach Crossover (oder Kopie) ohne Veränderung genommen. Wenn Mutation durchgeführt wird, wird ein Teil des Chromosoms geändert. Wenn die Mutationswahrscheinlichkeit 100 ist. Das ganze Chromosom wird gewechselt, wenn es 0 ist. Nichts wird geändert Mutation wird gemacht, um zu verhindern, dass fallende GA in lokales Extrem, aber es sollte nicht sehr häufig auftreten, denn dann wird GA tatsächlich in zufällige Suche wechseln. Andere Parameter Es gibt auch einige andere Parameter von GA. Ein wichtiger Parameter ist die Populationsgröße. Populationsgröße sagt, wie viele Chromosomen in der Population sind (in einer Generation). Wenn es zu wenige Chromosomen gibt, hat GA ein paar Möglichkeiten, Crossover durchzuführen und nur ein kleiner Teil des Suchraums wird erforscht. Auf der anderen Seite, wenn es zu viele Chromosomen gibt, verlangsamt sich GA. Die Forschung zeigt, dass nach einer gewissen Grenze (die vor allem von der Kodierung und dem Problem abhängt) es nicht sinnvoll ist, die Populationsgröße zu erhöhen, weil es das Problem nicht schneller löst. Einige Empfehlungen für alle Parameter finden Sie in einem der folgenden Kapitel. Beispiel Hier sehen Sie Beispiel ähnlich wie vorher. Aber hier können Sie versuchen, Crossover und Mutation Wahrscheinlichkeit zu ändern. Sie können auch den Elitismus kontrollieren. In der folgenden Grafik sehen Sie die Leistung von GA. Rot ist die beste Lösung, Blau ist Mittelwert (Fitness) aller Bevölkerung. Versuche, die Parameter zu ändern und zu sehen, wie sich GA verhält. Hier ist Applet, aber dein Browser unterstützt Java nicht. Wenn Sie Applets sehen möchten, überprüfen Sie bitte die Browser-Voraussetzungen. Frage: Wenn Sie versuchen, die Mutationswahrscheinlichkeit auf 100 zu erhöhen, wird sich GA sehr seltsam verhalten, fast wie wenn die Mutationswahrscheinlichkeit 0 ist. Wissen Sie, warum Sie einen Hinweis verwenden können und wenn Sie noch nicht wissen, schauen Sie sich die Lösung Genetik an Algorithmen wurden erfunden, um einige der in der natürlichen Evolution beobachteten Prozesse nachzuahmen. Viele Menschen, darunter Biologen, sind erstaunt, dass das Leben auf der Ebene der Komplexität, die wir beobachten, in der relativ kurzen Zeit, die durch die Fossilienrekorde vorgeschlagen wurde, entwickelt haben könnte. Die Idee mit GA ist, diese Kraft der Evolution zu nutzen, um Optimierungsprobleme zu lösen. Der Vater des ursprünglichen genetischen Algorithmus war John Holland, der es in den frühen 1970er Jahren erfand. Was sind genetische Algorithmen Genetische Algorithmen (GAs) sind adaptive heuristische Suchalgorithmen auf der Grundlage der evolutionären Ideen der natürlichen Selektion und Genetik. Als solche stellen sie eine intelligente Ausnutzung einer zufälligen Suche zur Lösung von Optimierungsproblemen dar. Obwohl randomisiert, sind GAs keineswegs zufällig, sondern sie nutzen historische Informationen aus, um die Suche in die Region der besseren Leistung innerhalb des Suchraums zu lenken. Die grundlegenden Techniken der GAs sind entworfen, um Prozesse in natürlichen Systemen zu simulieren, die für die Evolution notwendig sind, besonders diejenigen, die den Prinzipien folgen, die zuerst von Charles Darwin vom Überleben der Stärksten festgelegt wurden. Da in der Natur die Konkurrenz unter den Einzelpersonen für spärliche Ressourcen zu den passendsten führt Individuen dominieren über die schwächeren. Warum genetische Algorithmen Es ist besser als herkömmliche AI, dass es robuster ist. Im Gegensatz zu älteren AI-Systemen brechen sie nicht leicht, auch wenn sich die Eingänge leicht ändert oder bei vernünftigem Lärm. Auch bei der Suche nach einem großen Raum-Raum, multimodalen Zustandsraum oder n-dimensionalen Oberfläche kann ein genetischer Algorithmus erhebliche Vorteile gegenüber einer typischeren Suche nach Optimierungstechniken bieten. (Lineare Programmierung, Heuristik, Tiefe-erste, Atem-Erste und Praxis) Genetische Algorithmen Übersicht GAs simulieren das Überleben der Stärksten unter den Individuen über die aufeinander folgende Generation zur Lösung eines Problems. Jede Generation besteht aus einer Population von Zeichenketten, die analog zu dem Chromosom sind, das wir in unserer DNA sehen. Jeder einzelne repräsentiert einen Punkt in einem Suchraum und eine mögliche Lösung. Die Individuen in der Bevölkerung werden dann gemacht, um durch einen Prozess der Evolution zu gehen. GAs basieren auf einer Analogie mit der genetischen Struktur und dem Verhalten von Chromosomen innerhalb einer Population von Individuen, die die folgenden Fundamente verwenden: Einzelpersonen in einer Population konkurrieren um Ressourcen und Kameraden. Diejenigen, die am erfolgreichsten in jedem Wettbewerb sind, produzieren mehr Nachkommen als jene Personen, die schlecht funktionieren. Gene aus guten Individuen propagieren in der ganzen Bevölkerung, so dass zwei gute Eltern manchmal Nachkommen produzieren, die besser sind als alle Elternteile. So wird jede sukzessive Generation für ihre Umwelt besser geeignet. Suchraum Eine Population von Individuen wird im Suchraum für eine GA gehalten, die jeweils eine mögliche Lösung für ein gegebenes Problem darstellen. Jede Person wird als endlicher Länge Vektor von Komponenten oder Variablen, in Bezug auf einige Alphabet, in der Regel das binäre Alphabet codiert. Um die genetische Analogie fortzusetzen, sind diese Individuen mit Chromosomen verglichen und die Variablen sind analog zu den Genen. So besteht ein Chromosom (Lösung) aus mehreren Genen (Variablen). Ein Fitness-Score wird jeder Lösung zugeordnet, die die Fähigkeiten eines Einzelnen repräsentiert, um zu konkurrieren. Das Individuum mit dem optimalen (oder allgemein nahezu optimalen) Fitness-Score wird gesucht. Die GA zielt darauf ab, die selektive Züchtung der Lösungen zu nutzen, um Nachkommen besser zu produzieren als die Eltern, indem sie Informationen aus den Chromosomen kombinieren. Die GA unterhält eine Population von n Chromosomen (Lösungen) mit zugehörigen Fitnesswerten. Die Eltern werden ausgewählt, um auf der Grundlage ihrer Fitness zu produzieren, die Nachkommen über einen Fortpflanzungsplan produzieren. Folglich werden hochpassende Lösungen mehr Möglichkeiten zur Reproduktion gegeben, so dass Nachkommen Eigenschaften von jedem Elternteil erben. Als Eltern paaren und produzieren Nachkommen, muss Raum für die Neuankömmlinge gemacht werden, da die Bevölkerung in einer statischen Größe gehalten wird. Einzelpersonen in der Bevölkerung sterben und werden durch die neuen Lösungen ersetzt, die schließlich eine neue Generation schaffen, sobald alle Paarungsmöglichkeiten in der alten Bevölkerung erschöpft sind. Auf diese Weise wird gehofft, dass über aufeinanderfolgende Generationen bessere Lösungen gedeihen werden, während die am wenigsten passenden Lösungen aussterben. Neue Generationen von Lösungen werden produziert, die im Durchschnitt gutere Gene enthalten als eine typische Lösung in einer früheren Generation. Jede sukzessive Generation wird mehr gute Teillösungen als bisherige Generationen enthalten. Irgendwann, sobald die Bevölkerung konvergiert hat und keine Nachkommen produziert, die sich deutlich von denen in früheren Generationen unterscheiden, soll der Algorithmus selbst zu einer Reihe von Lösungen für das vorliegende Problem konvergiert werden. Implementierungsdetails basierend auf natürlicher Selektion Nachdem eine anfängliche Population zufällig erzeugt wurde, entwickelt sich der Algorithmus durch drei Operatoren: eine Selektion, die dem Überleben der geeignetsten Crossover entspricht, die die Paarung zwischen Individuen Mutation darstellt, die zufällige Modifikationen einführt. 1. Selektion Betreiber Schlüssel Idee: Geben Sie Präfenz zu besseren Individuen, so dass sie ihre Gene an die nächste Generation weitergeben. Die Güte jedes einzelnen hängt von seiner Fitness ab. Fitness kann durch eine objektive Funktion oder durch ein subjektives Urteil bestimmt werden. 2. Crossover-Operator Prime-Distinguished-Faktor von GA aus anderen Optimierungstechniken Zwei Personen werden aus der Population mit dem Selektionsoperator ausgewählt Eine Crossover-Site entlang der Bit-Strings wird zufällig ausgewählt Die Werte der beiden Strings werden bis zu diesem Punkt ausgetauscht S1000000 und s2111111 Und die Crossover-Punkt ist 2 dann S1110000 und s2001111 Die beiden neuen Nachkommen aus dieser Paarung erstellt werden, werden in die nächste Generation der Bevölkerung durch Rekombination von Teilen von guten Individuen, wird dieser Prozess wahrscheinlich noch bessere Menschen 3. Mutation Operator Mit einigen niedrigen Wahrscheinlichkeit, ein Teil der neuen Personen werden einige ihrer Bits umgedreht haben. Sein Ziel ist es, die Vielfalt innerhalb der Bevölkerung zu erhalten und die vorzeitige Konvergenz zu hemmen. Mutation allein induziert einen zufälligen Spaziergang durch den Suchraum Mutation und Selektion (ohne Crossover) schaffen eine parallele, geräusch-tolerante, Hügelklettern Algorithmen Effekte von genetischen Operatoren Mit Selektion allein wird dazu neigen, die Population mit Kopien der besten Person aus dem zu füllen Bevölkerung Mit Selektion und Crossover-Operatoren wird dazu neigen, dass die Algorithmen auf eine gute, aber suboptimale Lösung konvergieren. Mit Hilfe von Mutation allein wird ein zufälliger Spaziergang durch den Suchraum verursacht. Mit der Auswahl und Mutation schafft ein paralleler, rausch-toleranter Hügel-Kletter-Algorithmus Die Algorithmen zufällig initialisieren die Population (t) bestimmen die Eignung der Bevölkerung (t) wiederholen wählen Sie die Eltern aus der Population (t) führen Crossover auf Eltern, die Bevölkerung (t1) führen Mutation von Bevölkerung (t1) bestimmen die Eignung der Bevölkerung (t1), bis die beste Person gut genug ist Im vorherigen Unterabschnitt wurde behauptet, dass die GA über die Operationen der Selektion, Crossover und Mutation über aufeinanderfolgende Generationen hinweg in Richtung globaler (oder nahezu globaler) Optium Warum diese einfache Bedienung zu einem schnellen, nützlichen und robusten Techniken führen sollte, liegt vor allem daran, dass GAs die Richtung und den Chance bei der Suche in einer effektiven und effizienten Weise kombinieren. Da die Bevölkerung implizit viel mehr Informationen enthält als nur die individuellen Fitness-Scores, kombinieren GAs die guten Informationen, die in einer Lösung mit guten Informationen aus einer anderen Lösung verborgen sind, um neue Lösungen mit guter Indormation zu schaffen, die von beiden Eltern geerbt werden, unvermeidlich (hoffentlich) führende Schleppseil-Optimalität. Die Fähigkeit des Algorithmus, gleichzeitig zu erforschen und zu nutzen, eine wachsende Menge an theoretischer Rechtfertigung und eine erfolgreiche Anwendung auf reale Probleme, stärkt die Schlussfolgerung, dass GAs eine leistungsstarke, robuste Optimierungstechnik sind. Eine Einführung in genetische Algorithmen. Mit press bearbeitet von Melanie Mitchell Genetische Algorithmen in Ingenieurwissenschaften und Informatik herausgegeben von G. Winter. Et al .. c1995 Grundlagen der genetischen Algorithmen bearbeitet von Gregory J. E. Rawlins. C1991 Für Details der Anwendungen von Genetik-Algorithmen, beziehen Sie sich bitte auf meinen Partner, Chun s article. Genetic Algorithmen in Plain English Das Ziel dieses Tutorials ist es, genetische Algorithmen ausreichend zu erklären, damit Sie sie in Ihren eigenen Projekten nutzen können. Dies ist ein abgestreift-to-the-bare-Essentials Art von Tutorial. Ich werde nicht in eine große Tiefe gehen und ich werde nicht die von Ihnen mit Mathe Angst erschrecken, indem ich böse Gleichungen auf euch alle paar Sätze werfe. In der Tat, Im nicht zu werfen alle bösen Gleichungen an Sie überhaupt Nicht in diesem speziellen Tutorial sowieso. Ltsmilegt Dieses Tutorial soll zweimal gelesen werden. Also mach dir keine Sorgen, wenn wenig davon Sinn macht das erste Mal, wenn du es studierst. (Ein Leser, Daniel, hat dieses Tutorial in deutscher Sprache übersetzt, hier finden Sie es.) (Ein anderer Leser, David Lewin, hat das Tutorial ins Französische übersetzt, hier finden Sie es.) Zuerst eine Biologie-Lektion Jeder Organismus hat Eine Reihe von Regeln, eine Blaupause sozusagen, beschreibt, wie dieser Organismus aus den winzigen Bausteinen des Lebens aufgebaut wird. Diese Regeln sind in den Genen eines Organismus codiert, die wiederum miteinander verbunden sind in lange Strings namens Chromosomen. Jedes Gen repräsentiert eine spezifische Eigenschaft des Organismus, wie Augenfarbe oder Haarfarbe, und hat mehrere verschiedene Einstellungen. Zum Beispiel können die Einstellungen für ein Haarfarbe Gen blond, schwarz oder kastanienbraun sein. Diese Gene und ihre Einstellungen werden gewöhnlich als Organismen-Genotyp bezeichnet. Der physikalische Ausdruck des Genotyps - der Organismus selbst - heißt Phänotyp. Wenn zwei Organismen zusammenpassen, teilen sie ihre Gene. Die resultierenden Nachkommen können am Ende die Hälfte der Gene von einem Elternteil und die Hälfte von der anderen. Dieser Vorgang wird als Rekombination bezeichnet. Sehr gelegentlich kann ein Gen mutiert sein. Normalerweise wird dieses mutierte Gen die Entwicklung des Phänotyps nicht beeinflussen, aber sehr gelegentlich wird es im Organismus als völlig neues Merkmal ausgedrückt. Das Leben auf der Erde hat sich so entwickelt, wie es ist durch die Prozesse der natürlichen Selektion, Rekombination und Mutation. Um zu veranschaulichen, wie diese Prozesse zusammenarbeiten, um die vielfältigen Flora und Fauna zu produzieren, teilen wir unseren Planeten mit, lassen Sie mich Ihnen eine kleine Geschichte erzählen. Es war einmal eine Art von Kreaturen namens Hooters. Hooters hatten sich ganz in den verdunkelten Grenzen eines riesigen Höhlensystems entwickelt, das tief in den Därmen eines Gebirgszuges verborgen war. Theyd hatte ein leichtes Leben, fühlte und riechen um die feuchten Höhlenwände für die Algen, die sie so liebten zu essen, sickern zwischen Felsen und, in der Paarungszeit, aufmerksam auf die Schreie anderer Hooters zuzuhören. Es gab keine Raubtiere in den Höhlen, es waren nur die Hooters, die Algen und die gelegentliche freundliche Schnecke, so dass die Hooters nie etwas zu befürchten hatten (außer vielleicht der gelegentliche, schlecht gehärtete Hooter). Ein unterirdischer Fluss floss durch das Höhlensystem und das Wasser fuhr kontinuierlich durch den Wassertisch und brachte damit die frischen Nährstoffe, die die Algen gedeihen, so gab es immer viel zu essen und zu trinken. Allerdings, obwohl Hooters fühlen und gut hören konnten, hatten sie nie einen Augenblick in der Pechschwärze der Höhlen und waren dadurch völlig blind. Das schien niemals irgendwelche der Hooters zu besiegen, und alle hatten einen Wal von einer Zeit, die in der Dunkelheit abschüttelte und huschte. Dann eines Tages ein Erdbeben verursacht Teil des Höhlensystems zu kollabieren und zum ersten Mal in vielen Jahrtausenden die Hooters fühlte die Wärme des Sonnenlichtes auf ihre Haut und die weiche Frühling des Moos unter ihren Füßen. Ein paar gewagte Hooters schmeckten das Moos und fanden, dass es noch besser war als die Höhlenalgen. "Ooooooooooohquot, die sie zwischen den Ohren des Moos gehorchet haben und sofort von den marodierenden Adlern, die eingeflogen waren, um zu sehen, was die ganze Aufregung war, verschluckt. Für eine Weile sah es so aus, als ob die Hooters zum Aussterben gejagt werden könnten, denn obwohl sie gern das Moos essen konnten, konnten sie niemals sagen, ob ein Adler oben fliege. Nicht nur das, sie konnten nicht einmal sagen, ob sie unter einem Felsen verborgen waren oder nicht, es sei denn, es war niedrig genug, um mit ihren Fühlern zu erreichen. Jeden Tag stolperten viele Hooters aus den Höhlen mit dem süßen Geruch von Moos in ihren Nasenlöchern, nur um schnell weggetragen und von einem Adler gegessen zu werden. Ihre Situation schien grimmig zu sein. Glücklicherweise war im Laufe der Jahre die Bevölkerung der Hooters gewachsen, um in der Sicherheit der Höhlen enorm zu sein, und genug davon überlebten sie zu paaren - schließlich kann ein Adler nur so viel essen. Eines Tages wurde eine Brut von Hooters geboren, die ein mutiertes Hautzellgen teilte. Dieses besondere Gen war verantwortlich für die Entwicklung der Hautzellen auf ihren Stirnen. Während der Entwicklung der Baby-Hooters, als ihre Hautzellen aus den mutierten Genanweisungen wuchsen, waren sie leicht lichtempfindlich. Jeder neue Baby Hooter konnte spüren, wenn etwas das Licht auf die Stirn blockierte oder nicht. Als diese kleinen Baby-Hooters in größere Hooters aufwuchsen und in das Licht wagten, um das Moos zu essen, konnten sie feststellen, ob etwas über Kopf war oder nicht. So wuchsen diese Hooters zu einer etwas besseren Überlebenschance als ihre total blind Cousins. Und weil sie eine bessere Überlebenschance hatten, reproduzierten sie viel mehr und führten daher das neue lichtempfindliche Hautzellgen an ihre Nachkommen weiter. Nach einer sehr kurzen Zeit wurde die Bevölkerung von den Hooters mit diesem leichten Vorteil dominiert. Jetzt können wir ein paar tausend Generationen in die Zukunft ziehen. Wenn Sie diesen Prozess über sehr viele Jahre extrapolieren und viele winzige Mutationen mit sich bringen, die in den Hautzellengenen vorkommen, ist es leicht, sich einen Prozess vorzustellen, bei dem eine lichtempfindliche Zelle zu einem Klumpen lichtempfindlicher Zellen werden kann und dann wie die inneren Zellen des Klumpen Kann mutieren, um in eine winzige Linse geformte Fläche zu härten, die helfen würde, das Licht zu sammeln und es an einen Ort zu fokussieren. Es ist nicht allzu schwierig, eine Mutation vorzustellen, die zwei dieser leichten Sammelgebiete hervorbringt und damit den Hooters eine binokulare Vision verleiht. Das wäre ein großer Vorteil gegenüber ihren zyklopischen Cousins, da die Hooters nun in der Lage wären, Distanzen genau zu beurteilen und ein größeres Gesichtsfeld zu haben. Wie Sie die Prozesse der natürlichen Selektion sehen können - das Überleben der Stärksten - und Genmutation haben sehr mächtige Rollen, um in der Evolution eines Organismus zu spielen. Aber wie ist die Rekombination in das Schema der Dinge passen Nun, um Ihnen zu zeigen, dass ich über einige andere Hooters erzählen muss. Etwa zur selben Zeit tanzten die Hooters mit den lichtempfindlichen Zellen im Moos herum und hockten die Adler, eine andere Brut von Hooters war geboren worden, die ein mutiertes Gen teilte, das ihren Helden betraf. Diese Mutation führte zu einem etwas größeren Hooter als ihre Cousinen, und weil es größer war, konnten sie jetzt über längere Distanzen schreien. Dies erwies sich als nützlich in der rasch abnehmenden Bevölkerung, weil die Hooters mit den größeren Hütern zu potentiellen Kameraden, die weit entfernt waren, rufen konnten. Nicht nur das, sondern die weiblichen Hooters begannen, den Männern eine größere Vorliebe zu zeigen. Das Ergebnis war natürlich, dass die besser ausgestatteten Hooters eine viel bessere Chance hatten, sich zu verkleinern als irgendwelche nicht so gut aus Hooters. Über einen gewissen zeitraum wurden große horten in der bevölkerung weit verbreitet. Dann ein schöner Tag ein weiblicher Hooter mit dem Gen für lichtempfindliche Hautzellen traf einen männlichen Hooter mit dem Gen für die Herstellung von riesigen Hooters. Sie verliebten sich, und kurz darauf produzierte eine Brut von schönen Baby Hooters. Nun, weil die Babys Chromosomen eine Rekombination beider Eltern-Chromosomen waren, teilten sich einige der Babys sowohl die speziellen Gene und wuchsen nicht nur lichtempfindliche Hautzellen auf, sondern auch riesige Hufe, aber diese neuen Nachkommen waren sehr gut bei der Vermeidung der Adler und So dass der Prozess der Evolution begann, sie zu begünstigen und noch einmal diese neue verbesserte Art von Hooter wurde in der Bevölkerung dominant. Und so weiter. Und so weiter. Genetische Algorithmen sind ein Weg, um Probleme zu lösen, indem sie die gleichen Prozesse nachahmen, die Mutter Natur verwendet. Sie verwenden die gleiche Kombination von Selektion, Rekombination und Mutation, um eine Lösung für ein Problem zu entwickeln. Neat huh Schalten Sie die Seite, um herauszufinden, wie genau es gemacht wurde.


No comments:

Post a Comment