Ein genetischer Algorithmus ist ein adaptiver heuristischer Suchalgorithmus, der von Darwins Evolutionstheorie in der Natur inspiriert ist .' Es wird zur Lösung von Optimierungsproblemen beim maschinellen Lernen eingesetzt. Es ist einer der wichtigsten Algorithmen, da er dabei hilft, komplexe Probleme zu lösen, deren Lösung lange dauern würde.
Länge der Zeichenfolge Java
Genetische Algorithmen werden häufig in verschiedenen realen Anwendungen eingesetzt, zum Beispiel Entwerfen elektronischer Schaltkreise, Codeknacken, Bildverarbeitung und künstliche Kreativität.
In diesem Thema erklären wir den genetischen Algorithmus im Detail, einschließlich der grundlegenden Terminologien, die im genetischen Algorithmus verwendet werden, seiner Funktionsweise, den Vorteilen und Einschränkungen des genetischen Algorithmus usw.
Was ist ein genetischer Algorithmus?
Bevor wir den genetischen Algorithmus verstehen, wollen wir uns zunächst mit den grundlegenden Terminologien befassen, um diesen Algorithmus besser zu verstehen:
Nach der Berechnung der Fitness aller in der Population lebenden Personen wird in einem Auswahlprozess bestimmt, welche der Individualitäten in der Population sich fortpflanzen und den Samen produzieren dürfen, der die kommende Generation bilden wird.
Arten von Auswahlstilen verfügbar
Jetzt können wir einen genetischen Algorithmus als heuristischen Suchalgorithmus zur Lösung von Optimierungsproblemen definieren. Es handelt sich um eine Teilmenge evolutionärer Algorithmen, die in der Informatik verwendet wird. Ein genetischer Algorithmus nutzt genetische und natürliche Selektionskonzepte, um Optimierungsprobleme zu lösen.
10 ml bis oz
Wie funktioniert der genetische Algorithmus?
Der genetische Algorithmus arbeitet am evolutionären Generationszyklus, um qualitativ hochwertige Lösungen zu generieren. Diese Algorithmen verwenden verschiedene Operationen, die die Grundgesamtheit entweder erweitern oder ersetzen, um eine Lösung mit besserer Anpassung zu erhalten.
Die Lösung der komplexen Optimierungsprobleme umfasst im Wesentlichen fünf Phasen, die im Folgenden aufgeführt sind:
1. Initialisierung
Der Prozess eines genetischen Algorithmus beginnt mit der Generierung der Gruppe von Individuen, die als Population bezeichnet wird. Hier ist jeder Einzelne die Lösung für das gegebene Problem. Ein Individuum enthält eine Reihe von Parametern, die Gene genannt werden, oder ist durch diese gekennzeichnet. Gene werden zu einer Kette zusammengefasst und erzeugen Chromosomen, was die Lösung des Problems darstellt. Eine der beliebtesten Techniken zur Initialisierung ist die Verwendung zufälliger Binärzeichenfolgen.
Task-Manager Linux
2. Fitnessaufgabe
Wird die Fitnessfunktion verwendet, um zu bestimmen, wie fit eine Person ist? Darunter versteht man die Fähigkeit eines Individuums, mit anderen Individuen zu konkurrieren. In jeder Iteration werden Einzelpersonen anhand ihrer Fitnessfunktion bewertet. Die Fitnessfunktion liefert jedem Einzelnen einen Fitness-Score. Dieser Wert bestimmt außerdem die Wahrscheinlichkeit, für die Reproduktion ausgewählt zu werden. Je höher der Fitnesswert, desto größer sind die Chancen, für die Fortpflanzung ausgewählt zu werden.
3. Auswahl
In der Selektionsphase werden Individuen für die Fortpflanzung von Nachkommen ausgewählt. Alle ausgewählten Individuen werden dann in Zweierpaaren angeordnet, um die Fortpflanzung zu erhöhen. Dann übertragen diese Individuen ihre Gene an die nächste Generation.
Es stehen drei Arten von Auswahlmethoden zur Verfügung:
- Auswahl des Rouletterads
- Turnierauswahl
- Rangbasierte Auswahl
4. Reproduktion
Nach dem Auswahlprozess erfolgt im Reproduktionsschritt die Entstehung eines Kindes. In diesem Schritt verwendet der genetische Algorithmus zwei Variationsoperatoren, die auf die Elternpopulation angewendet werden. Die beiden an der Reproduktionsphase beteiligten Operatoren sind unten aufgeführt:
- Ein-Punkt-Crossover
- Zweipunkt-Crossover
- Crossover-Lackierung
- Crossover vererbbarer Algorithmen
Die Gene der Eltern werden untereinander ausgetauscht, bis der Kreuzungspunkt erreicht ist. Diese neu erzeugten Nachkommen werden der Population hinzugefügt. Dieser Vorgang wird auch Crossover oder Crossover genannt. Verfügbare Arten von Crossover-Stilen:
Der Mutationsoperator fügt zufällige Gene in die Nachkommen (neues Kind) ein, um die Vielfalt in der Population aufrechtzuerhalten. Dies kann durch Umdrehen einiger Teile in den Chromosomen erfolgen.
Mutation hilft bei der Lösung des Problems der vorzeitigen Konvergenz und fördert die Diversifizierung. Das folgende Bild zeigt den Mutationsprozess:
Verfügbare Arten von Mutationsstilen,
Primzahl Java
5. Kündigung
Nach der Reproduktionsphase wird ein Abbruchkriterium als Grundlage für die Beendigung herangezogen. Der Algorithmus endet, sobald die Schwellenwert-Fitnesslösung erreicht ist. Es wird die endgültige Lösung als die beste Lösung in der Bevölkerung identifizieren.
Allgemeiner Arbeitsablauf eines einfachen genetischen Algorithmus
Vorteile des genetischen Algorithmus
- Die parallelen Fähigkeiten genetischer Algorithmen sind am besten.
- Es hilft bei der Optimierung verschiedener Probleme wie diskreten Funktionen, Problemen mit mehreren Zielen und kontinuierlichen Funktionen.
- Es bietet eine Lösung für ein Problem, die sich mit der Zeit verbessert.
- Ein genetischer Algorithmus benötigt keine abgeleiteten Informationen.
Einschränkungen genetischer Algorithmen
- Genetische Algorithmen sind keine effizienten Algorithmen zur Lösung einfacher Probleme.
- Es garantiert nicht die Qualität der endgültigen Lösung eines Problems.
- Die wiederholte Berechnung von Fitnesswerten kann einige rechnerische Herausforderungen mit sich bringen.
Unterschied zwischen genetischen Algorithmen und traditionellen Algorithmen
- Ein Suchraum ist die Menge aller möglichen Lösungen des Problems. Im herkömmlichen Algorithmus wird nur ein Lösungssatz verwaltet, während in einem genetischen Algorithmus mehrere Lösungssätze im Suchraum verwendet werden können.
- Herkömmliche Algorithmen benötigen mehr Informationen, um eine Suche durchzuführen, während genetische Algorithmen nur eine objektive Funktion benötigen, um die Fitness eines Individuums zu berechnen.
- Herkömmliche Algorithmen können nicht parallel arbeiten, wohingegen genetische Algorithmen parallel arbeiten können (die Berechnung der Fitness der Individuen ist unabhängig).
- Ein großer Unterschied bei genetischen Algorithmen besteht darin, dass vererbbare Algorithmen nicht direkt auf Suchergebnissen basieren, sondern auf deren Darstellungen (oder Renderings), die häufig als Chromosomen bezeichnet werden.
- Einer der großen Unterschiede zwischen herkömmlichen Algorithmen und genetischen Algorithmen besteht darin, dass sie nicht direkt mit Kandidatenlösungen arbeiten.
- Herkömmliche Algorithmen können am Ende nur ein Ergebnis generieren, während genetische Algorithmen mehrere optimale Ergebnisse aus verschiedenen Generationen generieren können.
- Mit dem herkömmlichen Algorithmus ist es nicht wahrscheinlicher, dass er optimale Ergebnisse generiert, während genetische Algorithmen nicht garantieren, dass er optimale globale Ergebnisse generiert. Allerdings besteht auch eine große Chance, das optimale Ergebnis für ein Problem zu erhalten, da er genetische Operatoren wie Crossover und Mutation verwendet.
- Traditionelle Algorithmen sind deterministischer Natur, während genetische Algorithmen probabilistischer und stochastischer Natur sind.