Diskussion zum Artikel "Algorithmen zur Optimierung mit Populationen: Mikro-Künstliches Immunsystem (Mikro-AIS)"

 

Neuer Artikel Algorithmen zur Optimierung mit Populationen: Mikro-Künstliches Immunsystem (Mikro-AIS) :

Der Artikel befasst sich mit einer Optimierungsmethode, die auf den Prinzipien des körpereigenen Immunsystems basiert - Mikro-Künstliches Immunsystem (Micro Artificial Immune System, Micro-AIS) - eine Modifikation von AIS. Micro-AIS verwendet ein einfacheres Modell des Immunsystems und einfache Informationsverarbeitungsprozesse des Immunsystems. In dem Artikel werden auch die Vor- und Nachteile von Mikro-AIS im Vergleich zu herkömmlichen AIS erörtert.

Der AIS-Algorithmus modelliert diese Prozesse unter Verwendung der Konzepte von Antigenen (Inputs), Antikörpern (Lösungen) und Killerzellen (Optimierungsprozesse), um das Problem optimal zu lösen. Antigene sind die Inputs, die optimiert werden müssen. Antikörper sind eine mögliche Lösung für dieses Problem. Killerzellen sind Optimierungsprozesse, die nach den besten Lösungen für ein Optimierungsproblem suchen.

Die Optimierungsmethode Artificial Immune System (AIS) wurde in den 1990er Jahren vorgeschlagen. Frühe Forschungen zu dieser Methode gehen auf die Mitte der 1980er Jahre zurück, mit wichtigen Beiträgen von Farmer, Packard, Perelson (1986) und Bersini und Varela (1990).

Seitdem hat sich die AIS-Methode weiterentwickelt und ist Gegenstand ständiger Forschung in der wissenschaftlichen Gemeinschaft. Viele Variationen und Modifikationen dieser Methode wurden vorgeschlagen, ebenso wie ihre Anwendung auf verschiedene Optimierungs- und Lernprobleme. Das körpereigene Immunsystem spielt auch eine wichtige Rolle beim Schutz vor äußeren Einflüssen wie Infektionen und Tumoren. Es ist in der Lage, Anomalien zu erkennen und aufzuspüren und feindliche Agenten anzugreifen, während es gleichzeitig in der Lage ist, Informationen über sie zu unterscheiden und für eine spätere Verwendung zu speichern.

Micro-AIS (Micro-Immune Algorithm) ist eine Modifikation des Immunsystem-Algorithmus (AIS), der zur Lösung von Optimierungsproblemen entwickelt wurde. Es unterscheidet sich vom konventionellen AIS dadurch, dass es ein einfacheres Modell des Immunsystems und einfachere Informationsverarbeitungsprozesse des Immunsystems verwendet.

Autor: Andrey Dik

 

AO

Description

Hilly

Hilly final

Forest

Forest final

Megacity (discrete)

Megacity final

Final result

% of MAX

10 p (5 F)

50 p (25 F)

1000 p (500 F)

10 p (5 F)

50 p (25 F)

1000 p (500 F)

10 p (5 F)

50 p (25 F)

1000 p (500 F)

1

(P+O)ES

(P+O) evolution strategies

0,99934

0,91895

0,56297

2,48127

1,00000

0,93522

0,39179

2,32701

0,83167

0,64433

0,21155

1,68755

6,496

72,18

2

SDSm

stochastic diffusion search M

0,93066

0,85445

0,39476

2,17988

0,99983

0,89244

0,19619

2,08846

0,72333

0,61100

0,10670

1,44103

5,709

63,44


Bitte verweisen Sie auf die entsprechenden Artikel in dieser Tabelle.

 

Neuronale Netze, Algorithmen, Optimierung, Lernen - das ist alles toll.

Ursprünglicher Datensatz

Mit welchem Algorithmus kann man eine Nachricht lesen? Nachricht


Bei der Systemanalyse kommt es auf die Elemente des Systems und die funktionalen Beziehungen zwischen ihnen an, die durch den Sinn (Zweck) der Existenz des Systems verbunden sind.

Inwieweit ist es gerechtfertigt, die stochastische Analyse dort anzuwenden, wo wir eigentlich die funktionale Analyse anwenden sollten?

Die Frage geht zwar in eine andere Richtung, aber in die Richtung, die grundlegende Basis des Prozesses zu verstehen.

 

Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien

Bibliotheken: Input_Struct

fxsaber, 2024.01.19 18:16

Beispiel einer Bibliotheksanwendung für eigene Optimierungsalgorithmen.

 
Ist es schwierig, eine Funktion für eine Art zu optimieren?
double FF( const double &Arg[] )
{
  double Res = 1;

  for (uint i = ArraySize(Arg); (bool)i--;)
    Res *= MathSin(Arg[i]);

  return(Res);
}
Die besten Werte sollten in der Nähe von eins liegen. Aber können sich die Algorithmen in dieser Artikelserie diesem Maximum nähern?
 
fxsaber #:
Ist es schwierig, eine Funktion für eine Art zu optimieren? Die besten Werte sollten in der Nähe von eins liegen. Aber können sich die Algorithmen in dieser Artikelserie diesem Maximum nähern?
Nach meiner Klassifizierung gehört diese Funktion zu den einfachen Funktionen.
 
fxsaber #:

Bitte verweisen Sie auf die entsprechenden Artikel in dieser Tabelle

Ab dem nächsten Artikel wird es Links geben. Ich habe eine relativ einfache Möglichkeit gefunden, dies zu tun.

 
fxsaber #:

Ich habe lange versucht, Algorithmen dieser Serie in den Optimierer zu ziehen (ich wollte sie parallelisieren), aber er stürzt episch ab - https://www.mql5.com/en/forum/454524/page2#comment_50233782.

MT5 forward testing bugs.
MT5 forward testing bugs.
  • 2023.10.20
  • www.mql5.com
This post is about a some weirdly related (I think) bugs that happen when forward testing optimized results. Please read through it all...
 
Stanislav Korotky #:

Ich habe lange versucht, Algorithmen dieser Serie in den Optimierer zu ziehen (ich wollte sie parallelisieren), aber er stürzt episch ab - https://www.mql5.com/en/forum/454524/page2#comment_50233782.

Hab's drin.



Optimization - несколько алгоритмов оптимизации в одном месте.
Optimization - несколько алгоритмов оптимизации в одном месте.
  • www.mql5.com
Получилось собрать в одном месте сразу несколько алгоритмов оптимизации и создать простой механизм их использования. Механизм. Помещаем советник в Тестер и используем GUI вкладки Inputs , чтобы
 

Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien

Diskussion des Artikels "Populationsoptimierungsalgorithmen: Micro Artificial immune system (Micro-AIS) Algorithmen".

fxsaber, 2024.01.19 22:30

Ist es schwierig, eine Funktion einer Art zu optimieren?
double FF( const double &Arg[] )
{
  double Res = 1;

  for (uint i = ArraySize(Arg); (bool)i--;)
    Res *= MathSin(Arg[i]);

  return(Res);
}
Die besten Werte sollten in der Nähe von eins liegen. Aber können sich die Algorithmen in dieser Artikelserie diesem Maximum nähern?

Getestet.

#define  dInput01 X1
#define  dInput02 X2
#define  dInput03 X3
#define  dInput04 X4
#define  dInput05 X5
#define  dInput06 X6
#define  dInput07 X7

#include <fxsaber\Input_Struct\Input_Struct.mqh> // https://www.mql5.com/de/code/47932

INPUT_STRUCT inInputs;

MACROS_INPUT(double, X1, 0);
MACROS_INPUT(double, X2, 0);
MACROS_INPUT(double, X3, 0);
MACROS_INPUT(double, X4, 0);
MACROS_INPUT(double, X5, 0);
MACROS_INPUT(double, X6, 0);
MACROS_INPUT(double, X7, 0);

// FF für den internen Optimierer ist ein Beispiel.
double OnTester()
{
  return(MathSin(inInputs.X1) *
         MathSin(inInputs.X2) *
         MathSin(inInputs.X3) *
         MathSin(inInputs.X4) *
         MathSin(inInputs.X5) *
         MathSin(inInputs.X6) *
         MathSin(inInputs.X7));
}

#include <fxsaber\Optimization\Optimization_Addon.mqh> // https://www.mql5.com/ru/blogs/post/755815


Eingaben.


Benutzerdefinierter Optimierer.


Benutzerdefiniert.

PSO Finished 15835 of 35000 planned passes: true
BestResult = 0.9884554736115849: X1 = 99.0, X2 = 99.0, X3 = 11.0, X4 = 77.0, X5 = 14.0, X6 = 11.0, X7 = 33.0
Check = 0.9884554736115849: X1 = 99.0, X2 = 99.0, X3 = 11.0, X4 = 77.0, X5 = 14.0, X6 = 11.0, X7 = 33.0

01: OPTIMIZATION_METHOD_AO_Micro_AIS
OPTIMIZATION_METHOD_AO_Micro_AIS
BestResult = 0.6914924547679845: X1 = 17.0, X2 = 89.0, X3 = 61.0, X4 = 33.0, X5 = 71.0, X6 = 64.0, X7 = 8.0
Check = 0.6914924547679845: X1 = 17.0, X2 = 89.0, X3 = 61.0, X4 = 33.0, X5 = 71.0, X6 = 64.0, X7 = 8.0

02: OPTIMIZATION_METHOD_AO_POES
OPTIMIZATION_METHOD_AO_POES
BestResult = 0.9268682527605293: X1 = 55.0, X2 = 80.0, X3 = 27.0, X4 = 99.0, X5 = 8.0, X6 = 52.0, X7 = 11.0
Check = 0.9268682527605293: X1 = 55.0, X2 = 80.0, X3 = 27.0, X4 = 99.0, X5 = 8.0, X6 = 52.0, X7 = 11.0

03: OPTIMIZATION_METHOD_AO_P_O_ES
OPTIMIZATION_METHOD_AO_P_O_ES
BestResult = 0.7717845794829589: X1 = 11.0, X2 = 49.0, X3 = 74.0, X4 = 30.0, X5 = 11.0, X6 = 77.0, X7 = 43.0
Check = 0.7717845794829589: X1 = 11.0, X2 = 49.0, X3 = 74.0, X4 = 30.0, X5 = 11.0, X6 = 77.0, X7 = 43.0

04: OPTIMIZATION_METHOD_AO_SC
OPTIMIZATION_METHOD_AO_SC
BestResult = 0.5703083565001157: X1 = 4.0, X2 = 39.0, X3 = 20.0, X4 = 93.0, X5 = 8.0, X6 = 20.0, X7 = 33.0
Check = 0.5703083565001157: X1 = 4.0, X2 = 39.0, X3 = 20.0, X4 = 93.0, X5 = 8.0, X6 = 20.0, X7 = 33.0

05: OPTIMIZATION_METHOD_AO_SIA
OPTIMIZATION_METHOD_AO_SIA
BestResult = 0.3770511069126069: X1 = 30.0, X2 = 55.0, X3 = 49.0, X4 = 77.0, X5 = 100.0, X6 = 65.0, X7 = 27.0
Check = 0.3770511069126069: X1 = 30.0, X2 = 55.0, X3 = 49.0, X4 = 77.0, X5 = 100.0, X6 = 65.0, X7 = 27.0

06: OPTIMIZATION_METHOD_AO_SA
OPTIMIZATION_METHOD_AO_SA
BestResult = 0.4195625904721657: X1 = 58.0, X2 = 77.0, X3 = 27.0, X4 = 40.0, X5 = 70.0, X6 = 14.0, X7 = 70.0
Check = 0.4195625904721657: X1 = 58.0, X2 = 77.0, X3 = 27.0, X4 = 40.0, X5 = 70.0, X6 = 14.0, X7 = 70.0

07: OPTIMIZATION_METHOD_AO_NMm
OPTIMIZATION_METHOD_AO_NMm
BestResult = 0.8314291991406518: X1 = 30.0, X2 = 46.0, X3 = 99.0, X4 = 11.0, X5 = 96.0, X6 = 39.0, X7 = 74.0
Check = 0.8314291991406518: X1 = 30.0, X2 = 46.0, X3 = 99.0, X4 = 11.0, X5 = 96.0, X6 = 39.0, X7 = 74.0

08: OPTIMIZATION_METHOD_AO_DE
OPTIMIZATION_METHOD_AO_DE
BestResult = 0.514763435265798: X1 = 33.0, X2 = 39.0, X3 = 49.0, X4 = 20.0, X5 = 73.0, X6 = 20.0, X7 = 58.0
Check = 0.514763435265798: X1 = 33.0, X2 = 39.0, X3 = 49.0, X4 = 20.0, X5 = 73.0, X6 = 20.0, X7 = 58.0

09: OPTIMIZATION_METHOD_AO_SDOm
OPTIMIZATION_METHOD_AO_SDOm
BestResult = 0.6248310950237546: X1 = 55.0, X2 = 61.0, X3 = 20.0, X4 = 71.0, X5 = 26.0, X6 = 74.0, X7 = 36.0
Check = 0.6248310950237546: X1 = 55.0, X2 = 61.0, X3 = 20.0, X4 = 71.0, X5 = 26.0, X6 = 74.0, X7 = 36.0

10: OPTIMIZATION_METHOD_AO_IWDm
OPTIMIZATION_METHOD_AO_IWDm
BestResult = 0.6582185170915256: X1 = 33.0, X2 = 24.0, X3 = 61.0, X4 = 55.0, X5 = 46.0, X6 = 36.0, X7 = 1.0
Check = 0.6582185170915256: X1 = 33.0, X2 = 24.0, X3 = 61.0, X4 = 55.0, X5 = 46.0, X6 = 36.0, X7 = 1.0

11: OPTIMIZATION_METHOD_AO_CSS
OPTIMIZATION_METHOD_AO_CSS
BestResult = 0.17125241139972677: X1 = 11.0, X2 = 5.0, X3 = 11.0, X4 = 37.0, X5 = 56.0, X6 = 65.0, X7 = 37.0
Check = 0.17125241139972677: X1 = 11.0, X2 = 5.0, X3 = 11.0, X4 = 37.0, X5 = 56.0, X6 = 65.0, X7 = 37.0

12: OPTIMIZATION_METHOD_AO_SDS
OPTIMIZATION_METHOD_AO_SDS
BestResult = 0.7015125972513457: X1 = 17.0, X2 = 46.0, X3 = 27.0, X4 = 39.0, X5 = 77.0, X6 = 71.0, X7 = 86.0
Check = 0.7015125972513457: X1 = 17.0, X2 = 46.0, X3 = 27.0, X4 = 39.0, X5 = 77.0, X6 = 71.0, X7 = 86.0

13: OPTIMIZATION_METHOD_AO_SDSm
OPTIMIZATION_METHOD_AO_SDSm
BestResult = 0.8318883232825393: X1 = 77.0, X2 = 14.0, X3 = 14.0, X4 = 30.0, X5 = 80.0, X6 = 49.0, X7 = 24.0
Check = 0.8318883232825393: X1 = 77.0, X2 = 14.0, X3 = 14.0, X4 = 30.0, X5 = 80.0, X6 = 49.0, X7 = 24.0

14: OPTIMIZATION_METHOD_AO_MEC
OPTIMIZATION_METHOD_AO_MEC
BestResult = 0.821421124921697: X1 = 99.0, X2 = 58.0, X3 = 90.0, X4 = 27.0, X5 = 14.0, X6 = 80.0, X7 = 96.0
Check = 0.821421124921697: X1 = 99.0, X2 = 58.0, X3 = 90.0, X4 = 27.0, X5 = 14.0, X6 = 80.0, X7 = 96.0

15: OPTIMIZATION_METHOD_AO_SFL
OPTIMIZATION_METHOD_AO_SFL
BestResult = 0.7123520662251704: X1 = 49.0, X2 = 52.0, X3 = 80.0, X4 = 93.0, X5 = 52.0, X6 = 87.0, X7 = 14.0
Check = 0.7123520662251704: X1 = 49.0, X2 = 52.0, X3 = 80.0, X4 = 93.0, X5 = 52.0, X6 = 87.0, X7 = 14.0

16: OPTIMIZATION_METHOD_AO_EM
OPTIMIZATION_METHOD_AO_EM
BestResult = 0.4739892519704631: X1 = 39.0, X2 = 96.0, X3 = 49.0, X4 = 54.0, X5 = 93.0, X6 = 8.0, X7 = 11.0
Check = 0.4739892519704631: X1 = 39.0, X2 = 96.0, X3 = 49.0, X4 = 54.0, X5 = 93.0, X6 = 8.0, X7 = 11.0

17: OPTIMIZATION_METHOD_AO_SSG
OPTIMIZATION_METHOD_AO_SSG
BestResult = 0.7570642423726676: X1 = 5.0, X2 = 49.0, X3 = 30.0, X4 = 96.0, X5 = 14.0, X6 = 55.0, X7 = 89.0
Check = 0.7570642423726676: X1 = 5.0, X2 = 49.0, X3 = 30.0, X4 = 96.0, X5 = 14.0, X6 = 55.0, X7 = 89.0

18: OPTIMIZATION_METHOD_AO_MA
OPTIMIZATION_METHOD_AO_MA
BestResult = 0.7831093525101701: X1 = 93.0, X2 = 36.0, X3 = 17.0, X4 = 58.0, X5 = 42.0, X6 = 61.0, X7 = 74.0
Check = 0.7831093525101701: X1 = 93.0, X2 = 36.0, X3 = 17.0, X4 = 58.0, X5 = 42.0, X6 = 61.0, X7 = 74.0

19: OPTIMIZATION_METHOD_AO_HS
OPTIMIZATION_METHOD_AO_HS

Error optimization!

20: OPTIMIZATION_METHOD_AO_GSA
OPTIMIZATION_METHOD_AO_GSA
BestResult = 0.020184193323560605: X1 = 9.0, X2 = 27.0, X3 = 54.0, X4 = 6.0, X5 = 77.0, X6 = 75.0, X7 = 23.0
Check = 0.020184193323560605: X1 = 9.0, X2 = 27.0, X3 = 54.0, X4 = 6.0, X5 = 77.0, X6 = 75.0, X7 = 23.0

21: OPTIMIZATION_METHOD_AO_GSA_Stars
OPTIMIZATION_METHOD_AO_GSA_Stars

Error optimization!

22: OPTIMIZATION_METHOD_AO_BFO
OPTIMIZATION_METHOD_AO_BFO
BestResult = 0.7322059190279094: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 36.0, X7 = 99.0
Check = 0.7322059190279094: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 36.0, X7 = 99.0

23: OPTIMIZATION_METHOD_AO_IWO
OPTIMIZATION_METHOD_AO_IWO
BestResult = 0.7392111937754324: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 37.0, X7 = 100.0
Check = 0.24076952243473274: X1 = 20.0, X2 = 11.0, X3 = 52.0, X4 = 49.0, X5 = 89.0, X6 = 37.0, X7 = 100.0

24: OPTIMIZATION_METHOD_AO_BA
OPTIMIZATION_METHOD_AO_BA
BestResult = 0.35033516894855804: X1 = 98.0, X2 = 49.0, X3 = 92.0, X4 = 77.0, X5 = 96.0, X6 = 99.0, X7 = 21.0
Check = 0.35033516894855804: X1 = 98.0, X2 = 49.0, X3 = 92.0, X4 = 77.0, X5 = 96.0, X6 = 99.0, X7 = 21.0

25: OPTIMIZATION_METHOD_AO_FAm
OPTIMIZATION_METHOD_AO_FAm
BestResult = 0.8628261244286874: X1 = 61.0, X2 = 33.0, X3 = 93.0, X4 = 55.0, X5 = 30.0, X6 = 49.0, X7 = 55.0
Check = 0.8628261244286874: X1 = 61.0, X2 = 33.0, X3 = 93.0, X4 = 55.0, X5 = 30.0, X6 = 49.0, X7 = 55.0

26: OPTIMIZATION_METHOD_AO_FSS
OPTIMIZATION_METHOD_AO_FSS
BestResult = 0.6586267117021989: X1 = 90.0, X2 = 17.0, X3 = 30.0, X4 = 11.0, X5 = 11.0, X6 = 89.0, X7 = 46.0
Check = 0.6586267117021989: X1 = 90.0, X2 = 17.0, X3 = 30.0, X4 = 11.0, X5 = 11.0, X6 = 89.0, X7 = 46.0

27: OPTIMIZATION_METHOD_AO_COAm
OPTIMIZATION_METHOD_AO_COAm
BestResult = 0.751387775021677: X1 = 33.0, X2 = 74.0, X3 = 89.0, X4 = 52.0, X5 = 2.0, X6 = 8.0, X7 = 99.0
Check = 0.751387775021677: X1 = 33.0, X2 = 74.0, X3 = 89.0, X4 = 52.0, X5 = 2.0, X6 = 8.0, X7 = 99.0

28: OPTIMIZATION_METHOD_AO_GWO
OPTIMIZATION_METHOD_AO_GWO
BestResult = 0.7905125996746682: X1 = 64.0, X2 = 24.0, X3 = 58.0, X4 = 11.0, X5 = 39.0, X6 = 36.0, X7 = 55.0
Check = 0.7905125996746682: X1 = 64.0, X2 = 24.0, X3 = 58.0, X4 = 11.0, X5 = 39.0, X6 = 36.0, X7 = 55.0

29: OPTIMIZATION_METHOD_AO_ABC
OPTIMIZATION_METHOD_AO_ABC
BestResult = 0.2279828722733523: X1 = 37.0, X2 = 49.0, X3 = 45.0, X4 = 96.0, X5 = 86.0, X6 = 54.0, X7 = 89.0
Check = 0.2279828722733523: X1 = 37.0, X2 = 49.0, X3 = 45.0, X4 = 96.0, X5 = 86.0, X6 = 54.0, X7 = 89.0

30: OPTIMIZATION_METHOD_AO_ACOm
OPTIMIZATION_METHOD_AO_ACOm
BestResult = 0.7283588705105443: X1 = 58.0, X2 = 36.0, X3 = 46.0, X4 = 58.0, X5 = 77.0, X6 = 42.0, X7 = 46.0
Check = 0.7283588705105443: X1 = 58.0, X2 = 36.0, X3 = 46.0, X4 = 58.0, X5 = 77.0, X6 = 42.0, X7 = 46.0

31: OPTIMIZATION_METHOD_AO_PSO
OPTIMIZATION_METHOD_AO_PSO
BestResult = 0.5892210470192797: X1 = 52.0, X2 = 52.0, X3 = 68.0, X4 = 62.0, X5 = 86.0, X6 = 77.0, X7 = 30.0
Check = 0.5892210470192797: X1 = 52.0, X2 = 52.0, X3 = 68.0, X4 = 62.0, X5 = 86.0, X6 = 77.0, X7 = 30.0

32: OPTIMIZATION_METHOD_AO_RND
OPTIMIZATION_METHOD_AO_RND
BestResult = 0.6663782757838177: X1 = 4.896755719304697, X2 = 61.0, X3 = 23.0, X4 = 8.0, X5 = 52.0, X6 = 67.0, X7 = 58.0
Check = 0.6663782757838177: X1 = 4.896755719304697, X2 = 61.0, X3 = 23.0, X4 = 8.0, X5 = 52.0, X6 = 67.0, X7 = 58.0


ZY Irgendetwas funktioniert in IWO nicht richtig. Vielleicht habe ich es schief portiert.

 
fxsaber #:

und warum sollten wir die Parameter für diese Funktion durch Optimierung suchen?

Die Lösung liegt auf der Hand