___ tag123search ___ Fragen zur Suchalgorithmusmechanik und Implementierung. * NOT * für Fragen zur Verwendung von Suchtools innerhalb einer API (z. B. Google, Bing, Facebook).
___ qstnhdr ___ Unterschied zwischen Exploration und Nutzung im genetischen Algorithmus
___ qstntxt ___
In evolutionären Algorithmen wurden zwei Hauptfähigkeiten beibehalten: Exploration und Exploitation.
In Exploration sucht der Algorithmus nach neuen Lösungen in neuen Regionen, während Exploitation bedeutet, bereits existierende Lösungen zu verwenden und sie zu verfeinern, damit sich die Fitness verbessert.
In meinem Fall bin ich besorgt über genetische Algorithmen, und meine Frage ist, ich lese viele verschiedene Artikel und ich habe drei verschiedene Erklärungen für die Exploration und Ausbeutung diese Ansichten sind wie folgt:
-
In einem Artikel heißt es, dass die Exploration durch Crossover und Ausbeutung durch Mutation erfolgt.
-
in einem Artikel die Umkehrung des ersten, Erforschung durch Mutation und Ausbeutung durch Crossover
-
und in der letzten, die eine Arbeit "über evolutionäre Erkundung und Ausbeutung" (1998) von A. E. Eiben und C.A. Schippers heißt es, dass die Ausbeutung durch einen Selektionsprozess erfolgt, während die Exploration vom Betreiber unabhängig von Crossover oder Mutation durchgeführt wird.
Ich sehe von meinem kleinen Standpunkt aus, dass sowohl Crossover als auch Mutation uns eine neue Lösung gibt, die in der Population nicht der zufällige Teil des Algorithmus ist, also Explorationsprozess, und wenn Individuen für Paarung oder Reproduktion ausgewählt werden Wählen Sie aus bereits vorhandenen Lösungen und nach ihr Fitness, die der heuristische Teil ist, so dass es ausnutzen.
Welches ist das Richtige? Welcher Schritt oder Betreiber ist für die Exploration verantwortlich und wer ist für die Ausbeutung verantwortlich?
Bitte, ich brauche eine logische Antwort dafür.
___ answer20163239 ___
Nummer 3 scheint die richtige Erklärung zu sein.
Crossover und Mutation sind beide Methoden, um den Problemraum zu erforschen. Selektion wird verwendet, um das "gute" genetische Material in der aktuellen Menge auszunutzen.
Aber ich denke, Sie schlagen vor, dass dies zwei getrennte und unterschiedliche Konzepte sind, wenn sie es nicht sind. Sie sind beide Methoden, den Problemraum zu durchqueren, beide werden fast immer in Verbindung verwendet. Ein Algorithmus sollte den Problembereich durch Crossover und Mutation untersuchen, sollte dies aber tun, indem Lösungen nahe an andere gute Lösungen vorgereiht werden.
Der Trick besteht immer darin, das richtige Gleichgewicht zu finden. Gehen Sie zu weit in die Ausbeutung und Sie werden in lokalen Maxima stecken bleiben, zu weit zur Erkundung gehen und Sie werden Zeit mit Lösungen verschwenden, die weniger wahrscheinlich gut sind und die Informationen ignorieren, die Sie bereits gesammelt haben.
___ tag123genealgorithm ___ Ein genetischer Algorithmus (GA) ist eine Suchheuristik, die den Prozess der natürlichen Evolution nachahmt.
___ antwort43360716 ___
Der Crossover-Operator implementiert eine Tiefensuche oder -auswertung, wobei die Breitensuche oder -suche für den Mutationsoperator beibehalten wird:
(Quelle: Ссылка )
%Vor%
Der Algorithmus wird niemals die optimale Lösung erreichen
ohne Mutation. Angenommen, die optimale Lösung ist x = 9 9 0 0 9 9 0 0. Wenn
Mutation tritt nicht auf, dann ist der einzige Weg, Gene zu ändern, der Crossover-Operator. Unabhängig davon, wie Crossover durchgeführt wird, ist das einzige Ergebnis ein Austausch von Genen der Eltern an bestimmten Positionen im Chromosom. Dies bedeutet, dass das erste Gen in den Chromosomen von Kindern nur entweder 6, 8, 2 oder 4 sein kann (dh die ersten Gene von x1, x2, x3 und x4 optimal), und weil keine der Individuen in der Anfangspopulation mit Gen 9 beginnt , der Crossover-Operator allein wird niemals in der Lage sein, zu Beginn eine Genquelle mit Gen 9 zu erzeugen.
(Quelle: Ссылка )
___ tag123geneticprogramming ___ Genetische Programmierung (GP) ist eine Spezialisierung der evolutionären Berechnung, wobei jedes Individuum ein Computerprogramm ist. Es wird verwendet, um eine Population von Computerprogrammen gemäß einer Fitnesslandschaft zu optimieren, die durch die Fähigkeit eines Programms bestimmt ist, eine gegebene Rechenaufgabe auszuführen.
___