Bonjour,
J'aimerais savoir comment faire pour dire que objet1 est égal à ojet2 sans modifier objet2
Voici mon code :
Comment faire pour ne pas modifier l'argument de cette méthode car quand le hasard tombe sur le même individu dans le tableau des meilleurs (tabMeilleurs en paramètre) cet individu à été modifié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public Vector<Individu> mutation(Vector<Individu> tabMeilleurs){ // Tableau d'individus mutés Vector<Individu> mutants = new Vector<Individu>(); // Taille des meilleurs individus int tailleMI = tabMeilleurs.size(); // Taille d'un individu int tailleI = tabMeilleurs.get(0).getTailleIndividu(); // Selon taux de mutation // Ici pour l'exemple on va muter 7 fois des individus au hasard for(int i=0; i<7; i++){ // Choix aléatoire de l'individu à muter dans N meilleurs int positionMI = (int)(Math.random() * (tailleMI)); System.out.println("Position dans tableau meilleurs individus : " + positionMI); // Choix au hasard du gène de l'individu à muter int positionI = (int)(Math.random() * (tailleI)); // Tire au hasard d'un nombre entre -3 et 3 int val = (int)(Math.random() * ((3 - (-3)) + 1) + (-3) ); // Un nouveau individu qui est égal au meilleur individu à la positionMI Individu individu = tabMI.get(positionMI); // Mutation à la positionI par la valeur val de l'individu à la positionMI individu.setVal(positionI, val); // setVal est une méthode de la classe Individu mutants.add(individu); } return mutants; }
Or, je voudrais ici :
que le tableau des meilleurs reste ce qu'il est mais que je puisse créer un nouveau individu à partir de celui-ci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Un nouveau individu qui est égal au meilleur individu à la positionMI Individu individu = tabMeilleurs.get(positionMI); // Mutation à la positionI par la valeur val de l'individu à la positionMI individu.setVal(positionI, val); // setVal est une méthode de la classe Individu
Merci d'avance.
Partager