Pas pour les développeurs MT ! Par quoi remplacer INIT_PARAMETERS_INCORRECT ? - page 6

 
TheXpert:

Il n'y a pas de documentation ou de tutoriel clair de la part des MC sur leur génétique, et c'est se moquer de l'utilisateur que d'exiger une connaissance approfondie de la génétique. De plus, il peut y avoir un très grand nombre d'implémentations, de sorte que même une connaissance approfondie de la génétique ne garantit pas une optimisation efficace.

Nous ne parlons pas de connaissances approfondies ou de particularités de mise en œuvre. La personne ne comprend pas les choses fondamentales, qu'y a-t-il à dire ?

 
TheXpert:

mais rien de tel. tant qu'il n'y a pas de documentation claire et pas de tutoriel de MK sur leur génétique,

Voici un article Les algorithmes génétiques - l'appareil mathématique
 
Alexey Navoykov:

Il ne s'agit pas de connaissances approfondies ou de spécificités de la mise en œuvre. L'homme ne comprend pas les choses fondamentales, qu'y a-t-il à dire ?

Vous avez fondamentalement tort.

Une fois de plus, en tant qu'utilisateur, je vois : Optimisation lente/rapide.

C'est tout, je ne suis pas intéressé par autre chose. Ni en tant que connaissance approfondie, ni à la lumière des choses fondamentales.

Vous n'écrivez pas personnellement votre propre optimiseur génétique, n'est-ce pas ? Non ? Alors pourquoi faut-il étudier la génétique ? Laissez les développeurs le faire...

 
Сергей Таболин:

Vous avez fondamentalement tort.

Une fois encore, en tant qu'utilisateur, je vois : Optimisation lente/rapide.

C'est tout, je ne suis pas intéressé. Ni en tant que connaissance approfondie, ni à la lumière des choses fondamentales.

En vain.

Tout outil nécessite certaines connaissances pour son application. L'algorithme génétique ne fait pas exception ; il a ses forces, ses faiblesses et ses limites. Ils ne peuvent être ignorés.

 

Tu es sérieux là ? L'article de synthèse de 2006 devrait suffire à la compréhension approfondie de la génétique dont parlait Renat ?

Une description détaillée de l'architecture de votre génétique. Avec des exemples clairs montrant quand elle est efficace, quand elle ne l'est pas, et pourquoi. Y compris les paramètres invalides et comment ils ont obtenu le chiffre de 25% maximum pour un fonctionnement normal.

L'utilisateur n'a ni connaissance de l'architecture et de la structure de votre génétique, ni la possibilité de la contrôler directement, mais pour une raison quelconque, il devrait avoir une compréhension profonde pour dire sur le forum que l'optimisation ne fonctionne pas très bien.

 
Alexey Navoykov:

Une personne qui ne comprend pas les choses fondamentales, qu'y a-t-il à dire ?

Une personne ne doit même pas comprendre les bases des algorithmes génétiques pour appuyer sur le bouton d'optimisation. Il suffit d'appuyer sur le bouton.

 
Georgiy Merts:

... elle a ses forces, ses faiblesses et ses limites. Vous ne pouvez pas les ignorer.

C'est vrai.

Seulement, je suis enclin à penser que les limitations devraient être prises en compte, dans la mesure du possible, par les développeurs. Idem pour les faiblesses.

J'essaie de ne pas utiliser du tout l'optimisation génétique. Mais quand je dois le faire, je ne veux pas me retrouver au milieu de ces algorithmes. Eh bien, ce n'est pas pour un utilisateur.

Par exemple, je suis assis devant mon ordinateur, je clique simplement sur les touches et je ne me soucie pas du tout de ce qui se passe entre le moment où j'appuie sur la touche et celui où le personnage apparaît à l'écran. Je ne suis pas du tout intéressé par la façon dont le processeur, la carte graphique, les vis, les refroidisseurs, comment ils interagissent. Ce n'est pas non plus pour l'utilisateur moyen.

 
Сергей Таболин:

J'ai rencontré ce problème : selon la logique du programme, il est nécessaire d'éliminer les appels de fonction invalides. J'utilise INIT_PARAMETERS_INCORRECT pour cela. Mais l'optimisation génétique s'arrête pratiquement d'un coup. Les développeurs se fâchent avec les questions concernant cette situation. Ils conseillent d'étudier l'analyse génétique et ainsi de suite.

Mais pourquoi en ai-je besoin ? En tant qu'utilisateur, je veux obtenir des résultats et je me moque de savoir comment cela fonctionne.

Voici donc un exemple sur trois fonctions 1, 2 et 3. 0 ne doit pas être utilisé.

Dans une chaîne, les fonctions ne doivent pas se répéter et il ne doit pas y avoir de 0 entre les fonctions (sinon il peut y avoir des répétitions).

Un exemple de chaînes autorisées :

  • 100
  • 120
  • 130
  • 123
  • 132
  • 2..
  • 3..

Exemple de chaînes inacceptables :

  • 010
  • 001
  • 110
  • 101
  • 111
  • 121
  • 122
  • 131
  • 133
  • 112
  • 113
  • 102
  • 103
  • 2..
  • 3..
Comme vous pouvez le constater, il y a un ordre de grandeur plus important de chaînes invalides que de chaînes valides. Comment effectuer un échantillonnage ? Comment remplacer INIT_PARAMETERS_INCORRECT ? Où est-ce qu'on creuse ?

Tous les conseils ci-dessus sont corrects.

Vous voulez trouver des bogues dans un algorithme que vous ne comprenez pas.

Je vous conseille de ne pas utiliser la génétique, elle n'est pas faite pour vous.

 
TheXpert:

Il n'est même pas nécessaire de comprendre les bases des algorithmes génétiques pour appuyer sur le bouton d'optimisation. Il suffit d'appuyer sur le bouton.

Et n'appuyez sur aucun bouton si vous n'êtes pas sûr.

Et si c'était un bouton YADER! ))


 
Sergey Chalyshev:

Tous les bons conseils.

Vous voulez trouver des bogues dans un algorithme que vous ne comprenez pas.

Je vous conseille de ne pas utiliser la génétique, elle n'est pas faite pour vous.

Il est évident que c'est vous qui ne comprenez pas du tout le problème. Par conséquent, vos "conseils" trop sûrs d'eux ne valent rien !