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ˋr#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