Skip to content
Snippets Groups Projects
Commit 30a8cfb2 authored by Zhong Yi's avatar Zhong Yi
Browse files

Merge branch 'main' of gitlab-student.centralesupelec.fr:yi.zhong/ei into main

parents 8b9dce77 74ab564a
No related branches found
No related tags found
No related merge requests found
ALPHA = 3
p = 0.2
Pm = 0.3
size = 32
nb_iter = 10
size = 1024
nb_iter = 100
AGRANDISSEMENT = 5
nom_selection = "selection_roulette"
nom_croisement = "croisement_milieu"
......
......@@ -83,7 +83,7 @@ class RotTable:
self.dist_carre = (xf-x0)**2 + (yf-y0)**2 + (zf-z0)**2
return math.sqrt(self.dist_carre)
def evaluate(self, molecule): # renvoie la distance au carrée séparant les deux extrémités de la molecule telle que générée par la table self
def evaluate(self, molecule):
traj = Traj3D(False)
traj.compute(molecule+molecule[:AGRANDISSEMENT], self)
......@@ -112,6 +112,7 @@ class RotTable:
traj = Traj3D(False)
double_molecule = molecule+molecule
traj.compute(double_molecule, self)
res = 0
n = len(traj.getTraj())//2
for i in range(0, n, pas):
x0 = traj.getTraj()[i][0]
......@@ -120,7 +121,7 @@ class RotTable:
xf = traj.getTraj()[n+i][0]
yf = traj.getTraj()[n+i][1]
zf = traj.getTraj()[n+i][2]
res = res + ((xf-x0)**2 + (yf-y0)**2 + (zf-z0)**2)(1/2)
res = res + ((xf-x0)**2 + (yf-y0)**2 + (zf-z0)**2)**(1/2)
return res/(n//pas)
def copy(self):
......@@ -186,7 +187,7 @@ class RotTable:
def mutate_v3(self, molecule):
Pm = 0.2 # à choisir dans [0,001 ; 0,01]
score = max(self.evaluate(molecule)/(35879836.7637*AGRANDISSEMENT), 1)
score = max(self.evaluate(molecule)/(6000*AGRANDISSEMENT), 1)
parametre_preced = self.getTable()
for selected_gene in List_of_genes:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment