Ich arbeite an genetischen Algorithmus, der blend BLX-Alpha Crossover verwendet.BLX-Alpha Crossover: Welcher Ansatz ist der richtige?
fand ich 2 Algorithmen, die voneinander
ganz anders scheint mir- https://yadi.sk/i/u5nq986GuDoNm - Seite 8
Crossover wird wie folgt:
a. Wählen Sie 2 Eltern: G1, G2
b. Erzeugen einer gleichmäßig verteilten Zufallszahlengamma aus [-alpha, 1 + alpha], wobei alpha = 0,5
c. eine Nachkommenschaft erzeugen, wie folgt: G = G1 + gamma * (1 - gamma) * G2 http://www.tomaszgwiazda.com/blendX.htm
crossover wird wie folgt hergestellt:
ein. wähle zwei Eltern X (t) und Y (t) aus einem Elternpoolb. erzeuge zwei Nachkommen X (t + 1) und Y (t + 1) wie folgt:
c. für i = 1 bis n do
d. di = | xi (t) -yi (t) |
e. Wählen Sie eine uniforme zufällige reelle Zahl aus dem Intervall
f. xi (t + 1) = u
g. Wählen Sie eine uniforme zufällige reelle Zahl aus dem Intervall
h. yi (t + 1) = u
i. Ende tun
wo: a - positive reelle Parameter
xi, yi - die i-te Komponente eines Elternteils
di - Abstand betweet Mutter Komponenten
Welche dieser zwei Algorithmen korrekt ist ? Oder sind sie gleich? In meiner Aufgabe verwende ich die zweite Methode, weil die erste unbefriedigende Ergebnisse liefert. Ich habe mich mit dieser Frage beschäftigt, weil ich an GA arbeite, wo der erste Algorithmus verwendet werden soll.
Jede Hilfe wäre willkommen!
Es gibt viele Crossover-Operatoren. Es gibt kein "richtiges". Probieren Sie beide aus und verwenden Sie diejenige, die am besten für Ihr Problem geeignet ist. – Ray