L'algorithme génétique et ses applications possibles - page 2

 
L'objectif est défini dans l'optimiseur intégré, mais pas directement.

1. vous définissez votre indicateur comme une fonction définissant la courbe de profit de la stratégie
2. l'optimiseur prend comme cible le bénéfice obtenu de la stratégie

Les applications possibles de l'AG sont mentionnées ici
 
Si je comprends bien, le "croisement" peut se faire entre des "gènes" (paramètres) identiques d'individus (copies du même système avec des valeurs différentes des mêmes paramètres).

Dans ce cas, le "croisement" devrait être une simple moyenne (somme de deux valeurs divisée par deux, de deux paramètres, de deux "chromosomes" identiques en structure) ?

Je veux dire que les valeurs des paramètres opposés des copies d'un système sont additionnées, divisées par deux, et qu'une troisième copie du système est obtenue, avec les valeurs moyennes des paramètres ?
 
RomFil:
il n'y a aucun moyen de rendre votre cible

OnTester() ne fonctionne pas ?

 
Реter Konow:
Si je comprends bien, le "croisement" peut se faire entre des "gènes" (paramètres) identiques d'individus (copies du même système avec des valeurs différentes des mêmes paramètres).

Dans ce cas, le "croisement" doit-il être une simple moyenne (la somme de deux valeurs, deux paramètres, deux "chromosomes" identiques en structure) ?

Vous pouvez faire ce que vous voulez, il existe des dizaines de variantes.

 

Super ! Je ne savais pas que cinq avait une telle fonction... :) Je travaille toujours sur quatre... :) Merci.

C'est tout alors. La question est hors ... :)
 
RomFil:

Super ! Je ne savais pas que cinq avait une telle fonction... :) Je travaille toujours sur quatre... :) Merci.

C'est tout alors. La question est hors ... :)
En fait, "cette fonctionnalité" existe depuis quatre )))).
 
SeriousRacoon:
En fait, "cette fonctionnalité" existe depuis quatre )))).
Donc je suis un "nerd" ... :)
 
Реter Konow:
L'approche en elle-même n'est pas suffisante. Il peut servir d'outil de "polissage" des systèmes finis - tests et débogage.
Les systèmes eux-mêmes ne peuvent pas être construits comme ça. Vous avez besoin d'un algorithme différent. Quand il sera inventé, on se souviendra de l'AG.

J'ai vu de telles méthodes chez des gars qui travaillent sur des projets de "vie artificielle". C'est intéressant. À première vue, cela ressemble à de la bouillie, mais la génétique fabrique des gènes "intelligents" à partir de cette bouillie par des millions de passages.

 
Aleksey Mavrin:

J'ai vu ces méthodes chez des gars qui travaillent sur des projets de "vie artificielle". C'est intéressant. À première vue, cela ressemble à de la bouillie, mais la génétique fabrique des gènes intelligents à partir de bouillie par des millions de passages.

Vous voulez dire "intelligent" - optimisé et adapté à un certain environnement ?

OK. Nous créons un environnement fermé, à partir d'un complexe de systèmes en interaction. Par exemple : les individus à trois gènes "dévorent" (s'attachent et grandissent) les individus à deux gènes s'ils ne peuvent pas leur "échapper" (disons que les gènes X et Y sont des coordonnées sur le plan). L'individu à trois gènes se voit ajouter un gène Z - la troisième dimension. Il a un avantage. La tâche de l'individu à deux gènes est de survivre et de ne pas se faire attraper, et la tâche de l'individu à trois gènes est d'attraper l'individu à deux gènes aussi rapidement que possible et d'économiser du temps et des ressources.

Le but : l'individu génétiquement plus faible doit calculer celui qui est génétiquement plus fort pour survivre.
 
Aleksey Nikolayev:

OnTester() ne convient pas ?

Oui, dans le mode d'optimisation génétique par "Maximum du critère de l'utilisateur" l'AG du testeur maximisera le résultat obtenu par le double OnTester() - tout fonctionne, mais il y a un problème dans l'automatisation "pour relancer l'AG" quand il commence à converger autour du maximum local trouvé et ne veut pas chercher d'autres options par les paramètres d'entrée, en général, dans le réglage fin vous devez aider l'AG en ajoutant des conditions à OnTester() ou en divisant les paramètres d'optimisation en plusieurs intervalles

Raison: