From 3b29da8456907f3419d0b1e8cb2e8eaf9e449fd0 Mon Sep 17 00:00:00 2001
From: Kappes Marques Rodrigo <rodrigo.kappes@student-cs.fr>
Date: Wed, 29 Jan 2020 10:43:00 +0100
Subject: [PATCH] optimized the program(/2 the time)

---
 __pycache__/individu.cpython-37.pyc | Bin 2706 -> 2744 bytes
 algogenetique.py                    |   5 +++--
 first_plot.png                      | Bin 2411 -> 2411 bytes
 individu.py                         |   8 ++++----
 population.py                       |   7 ++-----
 5 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/__pycache__/individu.cpython-37.pyc b/__pycache__/individu.cpython-37.pyc
index 83b7aac12df9ffd210cc807f63745df4b2a39629..7e34f928d73822a2cbbf180fb54339b48b5e04c4 100644
GIT binary patch
delta 813
zcmbOvx<i!LiI<m)fq{YHUXWp&#715r#y}PZ1_o9J1_oya28QA|1_p){#uTO&h7yJp
z=4M70hGxcErWBS1j5SOttSJnwOp*)>8Ectq7;6~fnNrxWshsS?D9^|~Ifrp2BhO?p
zCa=l4j7IfE91IK$nv6x9Ad0C7<c1<{1_p*A9yq}ZV(~FBFz|z1!o<M9z{a4-c8evy
zAT{q6OIChn-YwRW#H5_mTP#UMnR&N3Qp*x^N)t;`Z?P69=NF}FvfN@RPR&Ux5@ujv
zxW$o^nV0I5SzJ;i!oa{VIfYA5EIvLnFS8^*9%OGZ$X*6UAx5Fe$C#A)Kz73e;lkwa
zOriBPtSL+>%r#6R46RHlOerj_OleG#47KbvtSPJ@QBYtYiE~ugm9W<^fr2d7sFt&a
zy@pegp_Z$L159(5uw-#$an^9va7!?xFsHEfGS%|bu+{LSGnzBhvK97(Gn8=Eur-5%
zl{<wYm_bvT-R~tEC`1?;7#LoHLgOVfi1qLP|NoP@SY#Q6Cu^{nGxAPOU~#XH;z&wO
z&&<orOTWdOnwN5mF*8aiuQWM6IX}NBB|k5*BsD%MH624NH7_NKCndAEBrz{JH9oI2
z89g>c85kHq!B;E?N;8aXOe{=%i~>v&jC@QiOcIO|Onginj2w(CB8+^@o6A^585w0J
z_pr%IgJXcRD8D2g9AQODAdi53qcHghTRx-VW)t>mMn4%yV$cA|YJ%9D;J7Q&0tvwN
z+~O=s%u6Xs%u7!#QUJ+lg9sfEp$pQ)T_g@->rMX4A<3-|Vyc4(qsfY#GTa6rrXh$h
xo}9=fJUN<EjM08_5oaBn2}sa#@;6QmW=;;-$%<Ukj0%%&xg;5FCx>%c0|0qzvbg{N

delta 920
zcmdlXI!Tn*iI<m)fq{YHvX5chrj5KpjJnJW3=FIc3=GZ;3=G9q3=9l4j5Q4L3@MB$
zOf3v0j48~`j4lk#jI~TDEDM+>7cj~*vQ3`AxRQ}~vK5n8nkL&V){?}eoYY$^`30$Y
zw^*|BGxKh-Bo$@m-Qq|sOUx-vEJ?k^TAZ9;l&Z;mi={X<C#^`3fq~%`M^0v5s!wKd
zNf8eN0|SKM1xv)oXXa&=#K&`kT*Lu#?c^9{Wj;P+hyI(~%N$x?F{6aNh6&`r*q&PU
z8rB-78g_Ap6s8o$R;Dy2NrqYuh?oQeH?k;a4QmQ>4U-5%4Lh0)R}E_oJCc6x5|%8E
zEY2E^8cqp@6y_9`UZz?es2Ep`JvUsCw}!2Tr-nD3$(*5<tuQ8>p@gf3tr--O+z?hU
zgC?urOHg1JF)}bPykufvV3=IPBFiW^c@~Q~Bj4mpEbjHU7&D_p(lU#ROXBlNljD=~
z^NUjQ^Abx^qhzp&#wX|J7L=BxMhWL6Vrr4bA_&(Zl#*Fol9-pA8V@%(N{|;W2+}$^
zmQ_Mq2owiOpg3S;V`5?AV-#SLVB}*2u|ycfn4}m5m_!&wm;{))m^RO06=k%PVqjp<
zWV*$ilV5&|B_lIE1MJ-*0gx~UB<4Ab@=M~uiKa*a6!mN%LT>UawtPl|%~9;tjP(#h
zic~=oY9O7QV4X$kAOX0ZTbxCSc_~GSdFiP|av&KE5TOYov_P7;i^M@}Z3YI0DB--)
z+@#c^`24i^+|rW7lFa<P;vyZ8v<isO2dUvr$uCXHNiFe{0;|2no}6ErSCU#(qzh7_
z2O<n6=W%K>+D)FpS;uAw5-^)A!=+)#&LPLcSHupol&c67vqhkYzQvkXnp;o_cH1qM
X+{BWMA{LMyP;M&%d)jJpEtfR_4A0_K

diff --git a/algogenetique.py b/algogenetique.py
index e89effd..3c02585 100644
--- a/algogenetique.py
+++ b/algogenetique.py
@@ -26,7 +26,6 @@ def main(N,tmax,pmutation, proportion):
         S1.append(int(individu.score))
     maximum=int(max(S1))
     for i in range(tmax):
-        #print(i)
         mini=People.indiv[0].score
         best=People.indiv[0]
         People.reproduction(p = proportion, proba_mutation= pmutation)
@@ -35,6 +34,8 @@ def main(N,tmax,pmutation, proportion):
                 best=individu
                 mini=individu.score
         L.append(mini)
+        print(i,":",mini)
+
     plt.subplot(221)
     plt.plot([i for i in range(tmax)], L)
     
@@ -55,7 +56,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(10,10,0.01,5)
+best,People = main(200,10,0.01,100)
 test = Traj3D()
 test.compute(brin, best.table)
 test.draw("first_plot")
diff --git a/first_plot.png b/first_plot.png
index e091d954c547a80658df7854ba7835a2e39f1b11..f9294f16e9e6dc29674f763436bc6927a5b6bbb7 100644
GIT binary patch
delta 20
ccmaDY^jc^_E~CN3JPDSqZ`;K;c0J?(09oY-r~m)}

delta 20
bcmaDY^jc^_E~DYZJP8(oG;zs|T@N_`PJ;&z

diff --git a/individu.py b/individu.py
index 08744e8..4aa5495 100644
--- a/individu.py
+++ b/individu.py
@@ -84,10 +84,10 @@ class Individu():
 # print(individu1.table.rot_table)
 # individu1.mutation()
 
-table = RotTable()
-test = Individu(table)
-test.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA")
-print(test.score)
+#table = RotTable()
+#test = Individu(table)
+#test.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA")
+#print(test.score)
 
 
 # qqun=Individu(RotTable())
diff --git a/population.py b/population.py
index 7d25073..28a8700 100644
--- a/population.py
+++ b/population.py
@@ -1,4 +1,3 @@
-
 from random import *
 from individu import Individu
 from RotTable import RotTable
@@ -14,9 +13,6 @@ class Population:
         """Fonction qui renvoie une nouvelle instance de population a partir d'une liste d'individus"""
         self.n = len(liste_individus)
         self.indiv = liste_individus
-        for i in range(0,self.n):
-            self.indiv[i].evaluate()
-
         return self
 
     def selection_p_best(self,p=None):
@@ -83,7 +79,7 @@ class Population:
             
             x=self.indiv[m]
             y=self.indiv[t]
-            if x.score<=y.score:
+            if x.score<y.score:
                 newself.append(x)
             else:
                 newself.append(y)
@@ -207,5 +203,6 @@ def test():
 
 
 
+
     
 
-- 
GitLab