Diskussion zum Artikel "Algorithmen zur Optimierung mit Populationen Optimierung gemäß einer bakteriellen Nahrungssuche (BFO)"
Es wäre gut, alle diese Optimierungsalgorithmen an mehr realen Daten zu testen, bei denen die Parameter fünf oder mehr sind und die Anzahl der Kombinationen groß ist.
Es wäre gut, alle diese Optimierungsalgorithmen an mehr realen Daten zu testen, bei denen die Parameter fünf oder mehr sind und die Anzahl der Kombinationen groß ist.
In den Tests werden drei Arten von Testfunktionen verwendet (glatt, glatt mit "Nadel"-Extremum und diskret), jede dieser Funktionen wird mit 10, 50 und 1000 Parametern getestet (insgesamt 9 Tests). Außerdem werden die Tests mit Schritt 0!
Schritt 0 bedeutet, dass die Genauigkeit bis zur 16. Stelle doppelt so hoch ist, d.h. der Schritt ist 0,0000000000000001 für 1000 Parameter, zählen Sie also, wie viele Kombinationen Sie erhalten.
Ok, ich rechne mal nach. ganz grob gesagt sind es 10e10^1000, das sind etwa 10e16000. das ist mehr als es Moleküle im sichtbaren Universum gibt.
Das ist die Anzahl der Parameter:
input int Test1FuncRuns_P = 5; //1) Anzahl der Funktionen im Test input int Test2FuncRuns_P = 25; //2) Anzahl der Funktionen im Test input int Test3FuncRuns_P = 500; //3) Anzahl der Funktionen im Test
Dies ist die Größe der Population:
input int BatsNumber_P = 50; //Anzahl der Fledermäuse
Die Anzahl der Epochen wird berechnet:
int epochCount = NumbTestFuncRuns_P / BatsNumber_P; Habe ich im Code alles richtig verstanden?
1- Dies ist die Anzahl der Parameter:
(2) Dies ist die Größe der Grundgesamtheit:
3. Die Anzahl der Epochen wird geschätzt:
Habe ich mit dem Code alles richtig gemacht?
1. Nein. Die Testfunktionen sind zweidimensional, d.h., zum Beispiel:
input int Test1FuncRuns_P = 5; //1) Anzahl der Funktionen im Testbedeutet auf Russisch 5 Testfunktionen, also multipliziert mit 2 - 10 optimierte Parameter
25 - 50 optimierte Parameter
500 - 1000 optimierte Parameter
2. Ja.
3. Ja, das ist richtig, die geschätzte Anzahl der Epochen wird so gewählt, dass die Gesamtzahl der FF-Durchläufe gleich ist und nicht von der Wahl der Populationsgröße in den Algorithmen abhängt, d.h. dass das Testen der Algorithmen bei unterschiedlichen Populationsgrößenparametern in verschiedenen Algorithmen fair ist.
Okay, danke.
Alle diese Algorithmen aus der Artikelserie sind parralellierbar, die anderen habe ich mir nicht angeschaut? Ich denke, ich könnte es verwenden, es ist nützlich, nur die zu optimierende Funktion ist komplexer, sie hat eine dynamische Anzahl von Parametern, sowohl reelle als auch ganzzahlige, und mit verschiedenen Bereichen, man muss das Problem danach lösen
Ich verstehe, danke.
Alle diese Algorithmen aus der Artikelserie sind parralellierbar, die anderen habe ich mir nicht angeschaut? Ich denke, ich könnte es verwenden, es ist nützlich, nur die zu optimierende Funktion ist komplexer, sie hat eine dynamische Anzahl von Parametern, sowohl reelle als auch ganzzahlige, und mit verschiedenen Bereichen, man muss das Problem anschließend lösen.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel Algorithmen zur Optimierung mit Populationen Optimierung gemäß einer bakteriellen Nahrungssuche (BFO) :
Die Strategie der Nahrungssuche des Bakteriums E. coli inspirierte die Wissenschaftler zur Entwicklung des BFO-Optimierungsalgorithmus. Der Algorithmus enthält originelle Ideen und vielversprechende Optimierungsansätze und ist es wert, weiter untersucht zu werden.
In dem oben genannten Algorithmus wird das Verhalten von Bakterien durch einen Mechanismus bestimmt, der als bakterielle Chemotaxis bezeichnet wird und eine motorische Reaktion dieser Mikroorganismen auf einen chemischen Reiz in der Umgebung darstellt. Dieser Mechanismus ermöglicht es dem Bakterium, sich in Richtung der anlockende Stoffe (meist Nahrung) und weg von den abstoßende Stoffe (für das Bakterium potenziell schädliche) zu bewegen. An den Polen des Bakteriums befinden sich Rezeptoren, die Lockstoffe und abstoßende Stoffe erkennen.
Aufgrund der geringen Größe des Bakteriums ist es nicht in der Lage, die unterschiedlichen Konzentrationen von nützlichen und schädlichen Stoffen zwischen den Polen zu erfassen. Die Bakterien bestimmen die Gradienten dieser Stoffe, indem sie die Veränderungen ihrer Konzentrationen während der Bewegung messen. Die Geschwindigkeit dieser Bewegung kann mehrere Dutzend Bakterienlängen pro Sekunde erreichen. Escherichia coli zum Beispiel bewegt sich normalerweise mit einer Geschwindigkeit vom 10-20-fachem seiner Länge pro Sekunde.
Abb. 1. Replikation: Teilung in originales (mit beibehaltenen Bewegungsvektoren) und geklontes (mit veränderten Bewegungsvektoren) Bakterium.
Taumeln - eine Veränderung des Bewegungsvektors der Bakterie
Autor: Andrey Dik