diff --git a/__pycache__/individu.cpython-37.pyc b/__pycache__/individu.cpython-37.pyc
index 35557e4070ba1d2d0c008c67f366796605baa71d..32b398e808901aa0ca8d048b9b3c1ebb2f6c5133 100644
Binary files a/__pycache__/individu.cpython-37.pyc and b/__pycache__/individu.cpython-37.pyc differ
diff --git a/algogenetique.py b/algogenetique.py
index 1a0fa8348f1102079f6a2b06f22c0be8f79638e4..c445a682f6fd8e67ff7f88e147ab0f0d5b4b1cf6 100644
--- a/algogenetique.py
+++ b/algogenetique.py
@@ -33,8 +33,11 @@ def main(N,tmax,pmutation, proportion):
             if individu.score<mini:
                 best=individu
                 mini=individu.score
+        
+        S2=[individu.score for individu in People.indiv]
+        avg = sum(S2)/len(S2)
         L.append(mini)
-        print(i,":",mini)
+        print(i,"avg:",avg,"best score:", mini)
 
     plt.subplot(221)
     plt.plot([i for i in range(tmax)], L)
@@ -56,7 +59,7 @@ def main(N,tmax,pmutation, proportion):
 
 lineList = [line.rstrip('\n') for line in open("plasmid_8k.fasta")]
 brin = ''.join(lineList[1:])
-best,People = main(20,10,0.01,10)
+best,People = main(50,20,0.05,25)
 test = Traj3D()
 test.compute(brin, best.table)
 test.draw("first_plot")
diff --git a/individu.py b/individu.py
index 1d2a706a5acea6ae88b00cb210c140c981aa38f6..9c46b886d430b8297fc25773327d7688e073c047 100644
--- a/individu.py
+++ b/individu.py
@@ -29,12 +29,12 @@ class Individu():
         last_seq = self.brin[-numb_ajout:]
 
         traj.compute(last_seq + self.brin + fisrt_seq, self.table)
-        traj_array = np.array(traj.getTraj())
+        traj_array = traj.getTraj()
 
         list_distance = []
 
-        begining = traj_array[0:2*numb_ajout, 0:3]
-        end = traj_array[-2*numb_ajout:, 0:3]
+        begining = traj_array[0:2*numb_ajout]
+        end = traj_array[-2*numb_ajout:]
 
         for i in range(numb_ajout):
 
@@ -98,7 +98,7 @@ class Individu():
                 table_rotation_not_seen.remove(doublet)
 
                 for coord in range(3):
-                    value = table_rotations[doublet][coord] + np.random.uniform( low = - self.table.orta()[doublet][coord + 3]/10, high = - self.table.orta()[doublet][coord + 3]/10)
+                    value = table_rotations[doublet][coord] + np.random.normal(0, self.table.orta()[doublet][coord + 3]/15)
                     if value > self.table.orta()[doublet][coord] + self.table.orta()[doublet][coord + 3]:
                         value = self.table.orta()[doublet][coord] + self.table.orta()[doublet][coord + 3]
                     elif value < self.table.orta()[doublet][coord] - self.table.orta()[doublet][coord + 3]:
diff --git a/population.py b/population.py
index 28a8700140b4f50e4fbad62f36110da084087edd..0769839fc70466164fe07d202d0cc72997c222e5 100644
--- a/population.py
+++ b/population.py
@@ -165,7 +165,7 @@ class Population:
             for child in couple_enfant :
                 lineList = [line.rstrip('\n') for line in open("plasmid_8k.fasta")]
                 brin = ''.join(lineList[1:])
-                child.mutation(proba_mutation)
+                child.mutation_close_values(proba_mutation, number_of_mutations = 2)
                 child.evaluate()
             newself.append(couple_enfant[0])
             newself.append(couple_enfant[1])