J'ai développé une application avec Java qui utilise des algorithmes génétiques. Mon application a besoin de paramètres comme comme:Algorithmes de réseaux neuronaux ou quelque chose comme ça pour trouver des paramètres appropriés pour une application qui utilise des algorithmes génétiques pour l'exécuter moins de temps
How many genes will be populate at first?
How many genes will be killed after crossover and mutation?
What will be the mutation rate?
je peux tester quelque chose d'aussi comme:
How long(milliseconds) does it take to find a solution.
Comment puis-je trouver les bonnes valeurs en tant que paramètres pour mon application. Je veux dire que je donnerai comme une entrée qui donne:
Genes to populate | Genes to kill | Mutation rate | Result(milliseconds)
---------------------------------------------------------------------------------
50 5 16/1000 146
50 5 16/1000 208
50 5 16/1000 1000
50 5 16/1000 216
100 5 16/1000 178
100 5 16/1000 546
100 5 16/1000 646
100 5 16/1000 46
100 5 16/1000 186
50 10 16/1000 346
50 10 16/1000 246
50 10 16/1000 546
50 5 34/1000 746
50 5 34/1000 186
50 5 34/1000 196
50 10 34/1000 496
50 10 34/1000 23
50 10 34/1000 169
que les résultats sont aléatoires. Je n'ai pas testé mon programme.
Après je lance cet algorithme (je pense que je vais donner un temps de résultat qui est bon pour moi par exemple 78 millisecondes), il dira quelque chose comme ça:
You should use that parameters to get a result that takes 78 milliseconds:
Genes to populate | Genes to kill | Mutation rate
--------------------------------------------------------
34 7 24/1000
PS1: Un plus est que, quelle stratégie je devrais suivre pour le tester. Par exemple, changer un paramètre et le tester un certain nombre de fois et changer d'autre paramètre etc.etc (j'ai essayé de donner mes valeurs exemple) ou tester quelques valeurs et trouver un paramètre et utiliser toujours ce paramètre et tester d'autres paramètres cela change un par un et en trouvant un autre paramètre et en utilisant ces deux paramètres et en changeant d'autres un par un et en continuant comme ça.
PS2 Je peux utiliser une API ou un logiciel pour le trouver aussi.
EDIT: Ce sont mes variables que j'utilise nowwith leurs valeurs:
MAX_POPULATION_SIZE = 50;
HARD_WEIGHTS = {1,20,1,1,1,20,1};/* It means that I have 7 variables for this */
NUMBER_OF_GENES_TO_KILL = 5;
MUTATION_RATE = 100;
MAX_MUTATION_NUMBER = 1000;
/* Mutation rate is MUTATION_RATE/MAX_MUTATION_NUMBER */
Je vais modifier ma question pour les paramètres. – kamaci
Mise à jour de la réponse. – Shelwien