Der genetische Algorithmus und seine Anwendungsmöglichkeiten - Seite 2

 
Das Ziel wird im integrierten Optimierer festgelegt, nur nicht direkt.

1. Sie setzen Ihren Indikator als eine Funktion, die die Gewinnkurve der Strategie definiert
2. der Optimierer nimmt den erzielten Gewinn der Strategie als Ziel

Mögliche Anwendungen von GA werden hier genannt
 
Wenn ich es richtig verstehe, kann "Kreuzung" zwischen identischen "Genen" (Parametern) von Individuen erfolgen (Kopien desselben Systems mit unterschiedlichen Werten derselben Parameter).

In diesem Fall sollte die "Kreuzung" ein einfacher Durchschnitt sein (Summe zweier Werte geteilt durch zwei, zweier Parameter, zweier identisch strukturierter "Chromosomen")?

Ich meine, die Werte der gegensätzlichen Parameter der Kopien eines Systems werden addiert, durch zwei geteilt, und man erhält eine dritte Kopie des Systems mit den Durchschnittswerten der Parameter?
 
RomFil:
es gibt keine Möglichkeit, Ihr Ziel zu erreichen

OnTester() funktioniert nicht?

 
Реter Konow:
Wenn ich es richtig verstehe, kann "Kreuzung" zwischen identischen "Genen" (Parametern) von Individuen erfolgen (Kopien desselben Systems mit unterschiedlichen Werten derselben Parameter).

Sollte in diesem Fall die "Kreuzung" ein einfacher Durchschnitt sein (die Summe von zwei Werten, zwei Parametern, zwei identischen "Chromosomen" in der Struktur)?

Sie können machen, was Sie wollen, es gibt Dutzende von Varianten.

 

Großartig! Ich wusste nicht, dass five so eine Funktion hat ... :) Ich arbeite noch an vier... :) Danke.

Das war's dann. Die Frage ist ab ... :)
 
RomFil:

Großartig! Ich wusste nicht, dass five so eine Funktion hat ... :) Ich arbeite noch an vier... :) Danke.

Das war's dann. Die Frage ist ab ... :)
Eigentlich gibt es "diese Funktion" schon seit vier ))))
 
SeriousRacoon:
Eigentlich gibt es "diese Funktion" schon seit vier ))))
Ich bin also ein "Nerd" ... :)
 
Реter Konow:
Der Ansatz an sich ist nicht ausreichend. Es kann als Werkzeug für den "Feinschliff" fertiger Systeme dienen - zum Testen und Debuggen.
Die Systeme selbst können nicht auf diese Weise gebaut werden. Sie brauchen einen anderen Algorithmus. Wenn sie erfunden ist, wird man sich an GA erinnern.

Ich kenne solche Methoden von Leuten, die an so genannten "künstlichen Lebens" -Projekten arbeiten. Interessantes Zeug. Auf den ersten Blick sieht es wie Brei aus, aber die Genetik macht aus dem Brei in Millionen von Durchgängen "intelligente" Gene.

 
Aleksey Mavrin:

Ich kenne diese Methoden von Leuten, die an so genannten "künstlichen Lebens"-Projekten arbeiten. Interessantes Zeug. Auf den ersten Blick sieht es wie Brei aus, aber die Genetik macht aus dem Brei in Millionen von Durchgängen intelligente Gene.

Sie meinen "smart" - optimiert und angepasst an eine bestimmte Umgebung?

GUT. Wir schaffen eine geschlossene Umgebung, die aus einem Komplex von interagierenden Systemen besteht. Ein Beispiel: Individuen mit drei Genen "verschlingen" (heften sich an und wachsen) Individuen mit zwei Genen, wenn sie ihnen nicht "entkommen" können (nehmen wir an, die Gene X und Y sind Koordinaten auf der Ebene). Das Drei-Gen-Individuum hat ein zusätzliches Gen Z - die dritte Dimension. Sie hat einen Vorteil. Die Aufgabe des Individuums mit zwei Genen ist es, zu überleben und nicht erwischt zu werden, und die Aufgabe des Individuums mit drei Genen ist es, das Individuum mit zwei Genen so schnell wie möglich zu erwischen und Zeit und Ressourcen zu sparen.

Das Ziel: Das genetisch schwächere Individuum muss das genetisch stärkere berechnen, um zu überleben.
 
Aleksey Nikolayev:

OnTester() ist nicht geeignet?

Ja, im Modus der genetischen Optimierung durch "Maximum des Benutzerkriteriums" wird GA des Testers das Ergebnis maximieren, das aus dem doppelten OnTester() erhalten wurde - alles funktioniert, aber es gibt ein Problem bei der Automatisierung "GA aufzumuntern", wenn es beginnt, um das gefundene lokale Maximum zu konvergieren und nicht nach anderen Varianten durch Eingabeparameter suchen will, im Allgemeinen sollte man GA bei der Feinabstimmung helfen, indem man Bedingungen zu OnTester() hinzufügt oder die Optimierungsparameter in mehrere Intervalle aufteilt