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

 
Vladimir Suslov #:

max = pi/2 + n*2*pi

wobei n eine beliebige ganze Zahl ist


Wo liegt die Einschränkung?


Kann die Periode des Beutels eine negative Zahl sein? Nein? Hier ist die Einschränkung von unten.
kann die Periode des Schwungrads größer als 10000 sein? ja, aber es macht keinen Sinn, also hier ist die Einschränkung von oben.
usw. praktische probleme haben einschränkungen, deshalb sind sie N-komplett (aber nicht nur das), sonst macht es keinen praktischen sinn, optimierungsalgorithmen anzuwenden - es dauert sehr lange. denken sie darüber nach.
 
Andrey Dik #:

kann die mach-periode eine negative zahl sein? nein? hier ist die einschränkung von unten.
kann die Periode des Checkers größer als 10000 sein? ja, aber es hat keinen Sinn, das ist die Einschränkung von oben.
usw. praktische Probleme haben Einschränkungen, deshalb sind sie N-komplett (aber nicht nur das)

Eigentlich sprach ich mit fxsaber speziell über seine FF

keine Lust auf Mashka zu wechseln mit...

fxsaber
fxsaber
  • 2024.01.20
  • www.mql5.com
Профиль трейдера
 
Vladimir Suslov #:

Eigentlich sprach ich mit fxsaber speziell über seine FF

keine Lust auf Mashki zu wechseln mit...

Ah, Entschuldigung. Reden Sie weiter, entschuldigen Sie, dass ich Ihr Gespräch unterbrochen habe.
 

Zum Thema der Anwendung der Optimierung auf TK. Es fällt mir schwer, mir eine TS vorzustellen, bei der es sinnvoll ist, sie gleichzeitig für mehr als zehn Eingaben zu optimieren.

Es scheint also, dass die "Freiheitsgrade" eines TS weniger als ein Dutzend betragen. Dies beinhaltet einige Anforderungen an Optimierungsalgorithmen - Coolness hat nichts mehr mit Universalität zu tun (Optimierung einer superkomplexen Sache mit einer riesigen Anzahl von Eingaben).


D.h. für TC muss man verstehen, was man mit der Optimierung wirklich erreichen will.

 
fxsaber #:

Zum Thema der Anwendung der Optimierung auf TK. Es fällt mir schwer, mir einen TS vorzustellen, bei dem es sinnvoll ist, gleichzeitig für mehr als zehn Eingaben zu optimieren.

Es scheint also, dass die "Freiheitsgrade" eines TS weniger als ein Dutzend betragen. Daraus ergeben sich einige Anforderungen an Optimierungsalgorithmen - die Coolness liegt nicht mehr in der Vielseitigkeit (eine superkomplexe Sache mit einer riesigen Anzahl von Eingaben optimieren).


D.h. für TC muss man verstehen, was man mit der Optimierung wirklich erreichen will.


Der Anwendungsbereich der Optimierung von mehr als 10 Parametern ist riesig.
Das erste sind Muster.
Zweitens - Live-Portfolios.
Drittens - neuronale Netze und Kombinationen, Live-"Hardware"
Viertens: Alles, was heute hinter dem Bildschirm mit uns sprechen kann, wird bald noch intelligenter sein, dank selbstanpassender Systeme mit Tausenden, Milliarden von Parametern.

Das Leben ist durch die Optimierung von Aminosäuren entstanden, genauso wie die erste.... Auch das ist Optimierung, die erste, die den Global Optimisation Test bestanden hat.
 
Andrey Dik #:
Der Anwendungsbereich der Optimierung von mehr als 10 Parametern ist umfangreich.

Ich habe von TC gesprochen.

 
fxsaber #:

Ich habe von TC gesprochen.


Das war ich auch.
 
Andrey Dik #:

einige Arten von Algorithmen können die Ergebnisse bei Benchmarks mit Mehrfachverdopplung (zur Simulation von Mehrdimensionalität) überbewerten.

Nach dieser Methode werden die Tests mit der Funktion Hilly durchgeführt.

#define  dInput01 X1
#define  dInput02 Y1
#define  dInput03 X2
#define  dInput04 Y2
#define  dInput05 X3
#define  dInput06 Y3

#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, Y1, 0);
MACROS_INPUT(double, X2, 0);
MACROS_INPUT(double, Y2, 0);
MACROS_INPUT(double, X3, 0);
MACROS_INPUT(double, Y3, 0);

#include <Math\Functions.mqh> // https://www.mql5.com/de/articles/13951

double OnTester()
{
  static C_Hilly Hilly;

  double Arg[];
  const int Amount = inInputs.ToArray(Arg) >> 1;
  
  return(Hilly.CalcFunc(Arg, Amount));
}

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


Einstellungen.


Benutzerdefiniert.


Benutzerdefiniert.

PSO Finished 5580 of 30000 planned passes: true
BestResult = 0.7742122055850458: X1 = -1.48, Y1 = 0.63, X2 = -1.48, Y2 = 0.63, X3 = 2.5100000000000002, Y3 = -3.0
Check = 0.7742122055850458: X1 = -1.48, Y1 = 0.63, X2 = -1.48, Y2 = 0.63, X3 = 2.5100000000000002, Y3 = -3.0

01: OPTIMIZATION_METHOD_AO_Micro_AIS
OPTIMIZATION_METHOD_AO_Micro_AIS
BestResult = 0.859449852020672: X1 = -1.51, Y1 = 0.5800000000000001, X2 = -1.4, Y2 = 0.5700000000000003, X3 = 0.52, Y3 = -0.48999999999999977
Check = 0.859449852020672: X1 = -1.51, Y1 = 0.5800000000000001, X2 = -1.4, Y2 = 0.5700000000000003, X3 = 0.52, Y3 = -0.48999999999999977

02: OPTIMIZATION_METHOD_AO_POES
OPTIMIZATION_METHOD_AO_POES
BestResult = 0.9647613369275468: X1 = -1.49, Y1 = 0.6499999999999999, X2 = -1.41, Y2 = 0.56, X3 = -1.54, Y3 = 0.6499999999999999
Check = 0.9647613369275468: X1 = -1.49, Y1 = 0.6499999999999999, X2 = -1.41, Y2 = 0.56, X3 = -1.54, Y3 = 0.6499999999999999

03: OPTIMIZATION_METHOD_AO_P_O_ES
OPTIMIZATION_METHOD_AO_P_O_ES
BestResult = 0.9858374371924213: X1 = -1.48, Y1 = 0.5800000000000001, X2 = -1.46, Y2 = 0.5800000000000001, X3 = -1.47, Y3 = 0.6499999999999999
Check = 0.9858374371924213: X1 = -1.48, Y1 = 0.5800000000000001, X2 = -1.46, Y2 = 0.5800000000000001, X3 = -1.47, Y3 = 0.6499999999999999

04: OPTIMIZATION_METHOD_AO_SC
OPTIMIZATION_METHOD_AO_SC
BestResult = 0.46044186528197245: X1 = -1.66, Y1 = 0.6499999999999999, X2 = 2.7300000000000004, Y2 = 1.9699999999999998, X3 = 2.24, Y3 = -1.3599999999999999
Check = 0.46044186528197245: X1 = -1.66, Y1 = 0.6499999999999999, X2 = 2.7300000000000004, Y2 = 1.9699999999999998, X3 = 2.24, Y3 = -1.3599999999999999

05: OPTIMIZATION_METHOD_AO_SIA
OPTIMIZATION_METHOD_AO_SIA
BestResult = 0.5396179505233242: X1 = -1.33, Y1 = 0.5100000000000002, X2 = -1.49, Y2 = 1.4900000000000002, X3 = -1.8, Y3 = 0.56
Check = 0.5396179505233242: X1 = -1.33, Y1 = 0.5100000000000002, X2 = -1.49, Y2 = 1.4900000000000002, X3 = -1.8, Y3 = 0.56

06: OPTIMIZATION_METHOD_AO_SA
OPTIMIZATION_METHOD_AO_SA
BestResult = 0.5321147995285683: X1 = 1.38, Y1 = -1.58, X2 = -1.38, Y2 = 0.45999999999999996, X3 = 2.46, Y3 = 1.2800000000000002
Check = 0.5321147995285683: X1 = 1.38, Y1 = -1.58, X2 = -1.38, Y2 = 0.45999999999999996, X3 = 2.46, Y3 = 1.2800000000000002

07: OPTIMIZATION_METHOD_AO_NMm
OPTIMIZATION_METHOD_AO_NMm
BestResult = 0.9920100032939798: X1 = -1.44, Y1 = 0.6099999999999999, X2 = -1.5, Y2 = 0.6000000000000001, X3 = -1.48, Y3 = 0.6200000000000001
Check = 0.9920100032939798: X1 = -1.44, Y1 = 0.6099999999999999, X2 = -1.5, Y2 = 0.6000000000000001, X3 = -1.48, Y3 = 0.6200000000000001

08: OPTIMIZATION_METHOD_AO_DE
OPTIMIZATION_METHOD_AO_DE
BestResult = 0.5455473633280449: X1 = -1.5, Y1 = 0.5700000000000003, X2 = -0.029999999999999805, Y2 = -0.8900000000000001, X3 = 1.42, Y3 = -1.3
Check = 0.5455473633280449: X1 = -1.5, Y1 = 0.5700000000000003, X2 = -0.029999999999999805, Y2 = -0.8900000000000001, X3 = 1.42, Y3 = -1.3

09: OPTIMIZATION_METHOD_AO_SDOm
OPTIMIZATION_METHOD_AO_SDOm
BestResult = 0.7851698884766712: X1 = -1.48, Y1 = 0.6099999999999999, X2 = -0.48999999999999977, Y2 = -2.57, X3 = -1.48, Y3 = 0.6099999999999999
Check = 0.7851698884766712: X1 = -1.48, Y1 = 0.6099999999999999, X2 = -0.48999999999999977, Y2 = -2.57, X3 = -1.48, Y3 = 0.6099999999999999

10: OPTIMIZATION_METHOD_AO_IWDm
OPTIMIZATION_METHOD_AO_IWDm
BestResult = 0.541122421125687: X1 = 1.6100000000000003, Y1 = 2.7300000000000004, X2 = -1.52, Y2 = 0.6299999999999999, X3 = -1.63, Y3 = 3.0
Check = 0.541122421125687: X1 = 1.6100000000000003, Y1 = 2.7300000000000004, X2 = -1.52, Y2 = 0.6299999999999999, X3 = -1.63, Y3 = 3.0

11: OPTIMIZATION_METHOD_AO_CSS
OPTIMIZATION_METHOD_AO_CSS
BestResult = 0.5193274099236366: X1 = -1.52, Y1 = 0.6699999999999999, X2 = 0.2400000000000002, Y2 = 2.24, X3 = -1.78, Y3 = -2.29
Check = 0.5193274099236366: X1 = -1.52, Y1 = 0.6699999999999999, X2 = 0.2400000000000002, Y2 = 2.24, X3 = -1.78, Y3 = -2.29

12: OPTIMIZATION_METHOD_AO_SDS
OPTIMIZATION_METHOD_AO_SDS
BestResult = 0.7382103272996998: X1 = -1.41, Y1 = 0.5899999999999999, X2 = 3.0, Y2 = 1.42, X3 = -1.43, Y3 = 0.6800000000000002
Check = 0.7382103272996998: X1 = -1.41, Y1 = 0.5899999999999999, X2 = 3.0, Y2 = 1.42, X3 = -1.43, Y3 = 0.6800000000000002

13: OPTIMIZATION_METHOD_AO_SDSm
OPTIMIZATION_METHOD_AO_SDSm
BestResult = 0.6404573711868022: X1 = -1.7, Y1 = 0.5999999999999996, X2 = -2.1, Y2 = -2.85, X3 = -1.55, Y3 = 0.5800000000000001
Check = 0.6404573711868022: X1 = -1.7, Y1 = 0.5999999999999996, X2 = -2.1, Y2 = -2.85, X3 = -1.55, Y3 = 0.5800000000000001

14: OPTIMIZATION_METHOD_AO_MEC
OPTIMIZATION_METHOD_AO_MEC
BestResult = 0.5746017381403192: X1 = -2.4299999999999997, Y1 = 1.4800000000000004, X2 = -1.47, Y2 = 0.6200000000000001, X3 = 0.52, Y3 = 2.4699999999999998
Check = 0.5746017381403192: X1 = -2.4299999999999997, Y1 = 1.4800000000000004, X2 = -1.47, Y2 = 0.6200000000000001, X3 = 0.52, Y3 = 2.4699999999999998

15: OPTIMIZATION_METHOD_AO_SFL
OPTIMIZATION_METHOD_AO_SFL
BestResult = 0.6012543161639043: X1 = -1.48, Y1 = 0.71, X2 = -1.48, Y2 = 0.9300000000000002, X3 = -1.18, Y3 = 1.4699999999999998
Check = 0.6012543161639043: X1 = -1.48, Y1 = 0.71, X2 = -1.48, Y2 = 0.9300000000000002, X3 = -1.18, Y3 = 1.4699999999999998

16: OPTIMIZATION_METHOD_AO_EM
OPTIMIZATION_METHOD_AO_EM
BestResult = 0.49859345948875217: X1 = -1.26, Y1 = 1.37, X2 = 2.1799999999999997, Y2 = -0.5299999999999998, X3 = -1.5, Y3 = 0.5
Check = 0.49859345948875217: X1 = -1.26, Y1 = 1.37, X2 = 2.1799999999999997, Y2 = -0.5299999999999998, X3 = -1.5, Y3 = 0.5

17: OPTIMIZATION_METHOD_AO_SSG
OPTIMIZATION_METHOD_AO_SSG
BestResult = 0.9248462969380026: X1 = -1.42, Y1 = 0.6499999999999999, X2 = -1.58, Y2 = 0.54, X3 = -1.42, Y3 = 0.5500000000000003
Check = 0.9248462969380026: X1 = -1.42, Y1 = 0.6499999999999999, X2 = -1.58, Y2 = 0.54, X3 = -1.42, Y3 = 0.5500000000000003

18: OPTIMIZATION_METHOD_AO_MA
OPTIMIZATION_METHOD_AO_MA
BestResult = 0.5319860043547983: X1 = 0.6000000000000001, Y1 = 1.7800000000000002, X2 = -1.42, Y2 = 0.5500000000000003, X3 = -1.48, Y3 = -2.59
Check = 0.5319860043547983: X1 = 0.6000000000000001, Y1 = 1.7800000000000002, X2 = -1.42, Y2 = 0.5500000000000003, X3 = -1.48, Y3 = -2.59

19: OPTIMIZATION_METHOD_AO_HS
OPTIMIZATION_METHOD_AO_HS

Error optimization!

20: OPTIMIZATION_METHOD_AO_GSA
OPTIMIZATION_METHOD_AO_GSA
BestResult = 0.571513952024667: X1 = 1.5700000000000003, Y1 = -1.48, X2 = -1.39, Y2 = 0.71, X3 = 1.5499999999999998, Y3 = -0.040000000000000036
Check = 0.571513952024667: X1 = 1.5700000000000003, Y1 = -1.48, X2 = -1.39, Y2 = 0.71, X3 = 1.5499999999999998, Y3 = -0.040000000000000036

21: OPTIMIZATION_METHOD_AO_GSA_Stars
OPTIMIZATION_METHOD_AO_GSA_Stars

Error optimization!

22: OPTIMIZATION_METHOD_AO_BFO
OPTIMIZATION_METHOD_AO_BFO
BestResult = 0.673690532910006: X1 = 1.5499999999999998, Y1 = 1.3899999999999997, X2 = 0.5, Y2 = -0.52, X3 = -1.47, Y3 = 0.6400000000000001
Check = 0.673690532910006: X1 = 1.5499999999999998, Y1 = 1.3899999999999997, X2 = 0.5, Y2 = -0.52, X3 = -1.47, Y3 = 0.6400000000000001

23: OPTIMIZATION_METHOD_AO_IWO
OPTIMIZATION_METHOD_AO_IWO
BestResult = 0.5624806395733428: X1 = 1.4900000000000002, Y1 = 1.2999999999999998, X2 = 0.43999999999999995, Y2 = -0.48999999999999977, X3 = -1.42, Y3 = 0.6400000000000001
Check = 0.6266957817897628: X1 = 1.4900000000000002, Y1 = 1.2999999999999998, X2 = 0.43999999999999995, Y2 = -0.48999999999999977, X3 = -1.42, Y3 = 0.6400000000000001

24: OPTIMIZATION_METHOD_AO_BA
OPTIMIZATION_METHOD_AO_BA
BestResult = 0.5690853945437194: X1 = 0.48, Y1 = -1.54, X2 = -1.48, Y2 = 0.6200000000000001, X3 = -0.44999999999999973, Y3 = 2.5200000000000005
Check = 0.5690853945437194: X1 = 0.48, Y1 = -1.54, X2 = -1.48, Y2 = 0.6200000000000001, X3 = -0.44999999999999973, Y3 = 2.5200000000000005

25: OPTIMIZATION_METHOD_AO_FAm
OPTIMIZATION_METHOD_AO_FAm
BestResult = 0.5778309203162327: X1 = -1.47, Y1 = 0.6200000000000001, X2 = -1.47, Y2 = 2.5600000000000005, X3 = -2.54, Y3 = 2.3600000000000003
Check = 0.5778309203162327: X1 = -1.47, Y1 = 0.6200000000000001, X2 = -1.47, Y2 = 2.5600000000000005, X3 = -2.54, Y3 = 2.3600000000000003

26: OPTIMIZATION_METHOD_AO_FSS
OPTIMIZATION_METHOD_AO_FSS
BestResult = 0.4978927704570393: X1 = 0.010000000000000231, Y1 = 0.3200000000000003, X2 = -2.08, Y2 = -1.8, X3 = -1.48, Y3 = 0.6000000000000001
Check = 0.4978927704570393: X1 = 0.010000000000000231, Y1 = 0.3200000000000003, X2 = -2.08, Y2 = -1.8, X3 = -1.48, Y3 = 0.6000000000000001

27: OPTIMIZATION_METHOD_AO_COAm
OPTIMIZATION_METHOD_AO_COAm
BestResult = 0.6778174074019874: X1 = -2.2800000000000002, Y1 = 0.14000000000000012, X2 = -1.3499999999999999, Y2 = 0.6600000000000001, X3 = -1.55, Y3 = 0.54
Check = 0.6778174074019874: X1 = -2.2800000000000002, Y1 = 0.14000000000000012, X2 = -1.3499999999999999, Y2 = 0.6600000000000001, X3 = -1.55, Y3 = 0.54

28: OPTIMIZATION_METHOD_AO_GWO
OPTIMIZATION_METHOD_AO_GWO
BestResult = 0.542753660101771: X1 = -0.1299999999999999, Y1 = 0.14000000000000012, X2 = 1.5700000000000003, Y2 = -1.68, X3 = -1.5, Y3 = 0.7200000000000002
Check = 0.542753660101771: X1 = -0.1299999999999999, Y1 = 0.14000000000000012, X2 = 1.5700000000000003, Y2 = -1.68, X3 = -1.5, Y3 = 0.7200000000000002

29: OPTIMIZATION_METHOD_AO_ABC
OPTIMIZATION_METHOD_AO_ABC
BestResult = 0.49786755065740795: X1 = -0.040000000000000036, Y1 = 0.29000000000000004, X2 = -2.0300000000000002, Y2 = -1.76, X3 = -1.49, Y3 = 0.6099999999999999
Check = 0.49786755065740795: X1 = -0.040000000000000036, Y1 = 0.29000000000000004, X2 = -2.0300000000000002, Y2 = -1.76, X3 = -1.49, Y3 = 0.6099999999999999

30: OPTIMIZATION_METHOD_AO_ACOm
OPTIMIZATION_METHOD_AO_ACOm
BestResult = 0.8716708506315909: X1 = -1.49, Y1 = 0.6600000000000001, X2 = -1.51, Y2 = 0.6000000000000001, X3 = 0.54, Y3 = -0.48999999999999977
Check = 0.8716708506315909: X1 = -1.49, Y1 = 0.6600000000000001, X2 = -1.51, Y2 = 0.6000000000000001, X3 = 0.54, Y3 = -0.48999999999999977

31: OPTIMIZATION_METHOD_AO_PSO
OPTIMIZATION_METHOD_AO_PSO
BestResult = 0.5508486039662627: X1 = 1.4100000000000001, Y1 = 1.4400000000000004, X2 = -1.49, Y2 = 0.71, X3 = 2.38, Y3 = 1.5
Check = 0.5508486039662627: X1 = 1.4100000000000001, Y1 = 1.4400000000000004, X2 = -1.49, Y2 = 0.71, X3 = 2.38, Y3 = 1.5

32: OPTIMIZATION_METHOD_AO_RND
OPTIMIZATION_METHOD_AO_RND
BestResult = 0.5036403607427178: X1 = -2.96, Y1 = -0.54, X2 = 0.8799999999999999, Y2 = -1.64, X3 = -1.58, Y3 = 0.6200000000000001
Check = 0.5036403607427178: X1 = -2.96, Y1 = -0.54, X2 = 0.8799999999999999, Y2 = -1.64, X3 = -1.58, Y3 = 0.6200000000000001
 
fxsaber #:

Nach dieser Methodik wird der Hilly-Funktionstest durchgeführt.

Hier hat sich das Bild verändert.

Die Spitze in der Liste der Ergebnisse PSO und IWDm zeigte Werte an den Grenzen des Bereichs, das ist nicht sehr gut.

OPTIMIZATION_METHOD_AO_GSA_Stars

GSA_Stars ist nur ein Spielzeug, für die visuelle Simulation der Körperbewegung, kann entfernt werden.

Und HS aus irgendeinem Grund, sehr interessant algo.

 
Andrey Dik #:

HS erorit aus irgendeinem Grund, sehr interessant algo.

In Optimisation.mqh ist es darüber geschrieben.

// Optimierung_C_AO_HS
#define  MACROS_OPTIMIZATION_INIT , 0.9, 0.1, 0.2, epochCount
  // Kann nicht angepasst werden, ohne den Quelltext zu ändern.
  // Namensgleichheit: C_AO_HS::h[] и S_Harmony::h.
Wenn Sie den Quellcode ändern (Name nicht übereinstimmen), kann ich es anpassen.