From 8b0ee1c9dcdac696c8e66d42a7ae3b4e6d0df63d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chlo=C3=A9=20Muller?= <chloe.muller@student-cs.fr> Date: Tue, 28 Jan 2020 17:03:14 +0100 Subject: [PATCH] croissance (peut etre) --- __pycache__/RotTable.cpython-37.pyc | Bin 2508 -> 2620 bytes __pycache__/Traj3D.cpython-37.pyc | Bin 1972 -> 1958 bytes __pycache__/individu.cpython-37.pyc | Bin 1568 -> 1659 bytes algogenetique.py | 14 ++++---------- individu.py | 6 ++++-- population.py | 7 +++---- 6 files changed, 11 insertions(+), 16 deletions(-) diff --git a/__pycache__/RotTable.cpython-37.pyc b/__pycache__/RotTable.cpython-37.pyc index e6bef50c3581cf2f06a53777c7291030d276cecd..0665bddc8d3fe8aeea7fabbae0d2c01f9aaae884 100644 GIT binary patch delta 808 zcmX>jyhnu3iI<m)fq{WRA<7``F!w}02}Xm7>iWtljKK_=EH6Pae#sybhD8||7#tWF z7>e^YPL^Q|*H1A>F-$Q^F-|c_F-<W~u}HB_v7f^g#g^ib;@H9v#h&7n;@rXz#gXEY z;@ZLx#hK!k;@-j##g*cb;@QFw#hv1n;@!d!#gpQb;@iRy#hc<6%%JJN`3>WDMng@m zB0&ZQh9V&lAq*l!Km^DMMPeY9IEau05mF#RcJc$}EqU<_3=I0A#i>Qb`pFqN`Kh_3 zIXS6C`Y!p&rManjCB^!#$@w{{3MuNDdFiQV8uKz!ON;bP6?7GXLyYuYJ@r#Fb+b}S zD|A!K@^eZ{GV}BD5;KcZi}i!@OF|Npa#HmQDsOSb$7kkcmc++fPZnU+sb^teU|?rp zU~mQnOdA6OLq$UgLl&b8Lu^?sV?{v;Qwn1<h?i2!RKlFalEqrWki}NRD9KR6l)@y= zAj!bZfG(24+{;wUT*HvX4pGO-Ajwd}Y|g;UV8Z|s1(^?$0hz%Dk(|7cRkxm_h>3xL z;g(!H%(?OL!TzDa@y`B1L9W38{(dfwe$KA9Sc?+#(o=7-=9T6aRNi7MO3X{i&%MQ7 znwOcDUzA&<1PV??1_lOAmLe4pTNPv|W9BW^l+>J(#3D727?@B8v6Nwc=i&jS6Gk3J zK1Mx8vB`RDVT|6BTiHq({U-lrD`kwHT*zL@7&p0)U1BmbM=E3D<V+4_M!w0t9LAc) zAcM3)ga(KJ8ChfmVwr#lQxIVeA}l69;ZWpAVPIh3U}RyQEXXM}S)EhOi-{2(axim% z05b<K2QvpVI9N1UZ*k@(mSmKcWabp#VgWIWbU}uK!Yqod1Qfl7lV@@&^KgL8=V0Vu H;!6YoL0h-Q delta 626 zcmdlZaz>cXiI<m)fq{YHu#G|7ajuDc5{zCG)%6upSyNdSuq|Y0W@Kalv9s7ySR}!` z6vki%P1cDqGK?V`D`gmM?Nc0D7^2ux98;WH7^2uyoKsv{7@{~*TvOay7@{~++*3SS z7^1jRJX5?{7^1jSyi<Hy7@~Mme1jP@{Wia0{LVO8oMmHLE&~IDvsFxJacWU<OmbpT zPJWC_esXDUYF<fkjB{{IaEMV%NXFrn`9+zj3Mr|@3SOzD6)~=!U|PYoEI+5TBr`uR zFEO(ywKyg<Q#UKMv_dx(O?<Kft0<%XWHVNsRAvSS29VF485kIf(-;^SDiTT<vKU<$ zV#8_~D*{TGQW%>-JeOLg8ip+98b(Qm8YWf-Nrn=ZEY>VGkXndX3X?d4Bm*}Cx=0Fh zFVp1bth(atMNA9~3`I%|3=FqeixTtFQ;QTC7#JoyvPl?fG8d_UBvnC@jG0AhAP$&N z2eFhH7#Pe!4rBwx5hD*H-{kphVT`tuzp<4vI!w-CFJ<(d9K#_o`4@X4W5DDXj#|dx z$+tL^8F?rF<1kh+1eu`$B0vTe8Gu+uAi@|#n1Tqi$x)n&i~*BtINg0XI5^lim^pYk zm^qjsZWd%<V9?~a#hIH}l2KZcnNxg=1;i}U0ci#KDvGTnF)1h2@D^)9QD$BV#0s$Q Yc)64Xco-NMI2bt?Ihgo@*%*1403QyM`Tzg` diff --git a/__pycache__/Traj3D.cpython-37.pyc b/__pycache__/Traj3D.cpython-37.pyc index 865cc612f429be0814ee850289aa455b69755f50..a2a274a976ce1c2947d34c190976cd65879f2491 100644 GIT binary patch delta 116 zcmdnOzl@*PiI<m)fq{WR^^RVg$VT1@#)w!31_u4m;?$yI{p5_C{M6jioSf7meV6>? z(%jU%l45<=<oujeg%tJ7y!6yFjd_`=rA7Lt3c3oxAx8SHp8Bbox>>2E6}qWq`8lN} UnfZBniJ3*I#rm6HGoEAx00D0%xBvhE delta 130 zcmZ3+zlERIiI<m)fq{WR_>Nv&_(t9e#<Xk(1_o!Vn9$<XqT-n3#G;)17?=Fy(%jU% zlHwTW;F#bLqnMD4!z=TPGE)^&Qi~P5QcEjhTs^_Gf@@iRPH9PIeqLT;W>IQ!OlqcX RR%&U5ZYrAi=DUn1SplU#E)4(x diff --git a/__pycache__/individu.cpython-37.pyc b/__pycache__/individu.cpython-37.pyc index af04e82760def202853d9a3c799aeaa8eb2c20f9..8d2c7962bd3231fbc5508be8d5f91432b01d2846 100644 GIT binary patch delta 540 zcmZ3$^P7jyiI<m)fq{WRI?5o<mSZB{zj|f{1_oya28LoW1_p*2#u|orh8l(ij46x@ zL2RZJhF}IwCcmgKM@L6@cgGOt5D;>A1TmdMAiz1q-PzsQJ;V_t?GEBOJA!zQ&hCz2 z;Oy+~>>T3m?(XjB?(XdF9ugAb=pF)+)vRZ}#afb>l#_akBeg6sr!=u7^%iS!a(+>& zCetmJ;?$h9B6bD_hLsFO+zbp1U*j1V81zGnQ;UlAlQVMiQ*%pma#D-*UGkGlb5rw5 ziuGNS^K()aQq(i^(o@eg=4Gaq7U`QR=qdz<80ouu>ZfMvW~G)^=%$wC=aiOY=I2e` zz{tj^KY2T&H)F+QW~LGr)*3eH$>mJJ9Gnac44RxpT$3*`B}jrS2fLt%hk=2ih=YNF zK@b#ZB9jA{MVYvmHm5R+GD`4)v@qRb&dD#o#gdVko>9aIQY|=n5{r_o5Ca3lE%ws9 z%(VQX+*>U9MJ0*1Sd#OLiZt1axF%m@u|~7x7DsMrNg~LN8k1F7!<BhKMu9B8#S~yz zBnRRlTm@$FOrFmwCM{mX266^x5fexWD0*+P=9T6aR2B(MzQ8Ic09J}1cqad2RRRFM Csfcj^ delta 420 zcmey(vw(-siI<m)fq{YHvyDOA7xsyK|1_8w7#N%x7#NBL7#J987;6~f8B!Q(7~&aI z7=jrz8T~YwZn2gmCgn_?!zhsr()%?Rq{AvEv^ce>I3_u<C?`M0B|o_|H#M)MIL0|R zCOE_>CM4tV%KW0tRE3n(Vg;|%(ux>YPcW_ET9%(vT9TQcmzS7Xlv*5<nyH(WT3Vr- ziY7i;kja~|WO6K1$>gg{!5kb63=Eo_MVyljm=laa&L{#C+zbp1w>VPE5_3uuOHu_v z{tyEBkCBa$kCBf_fKh-^go%TZgJbgnW>H27UXUqFx0rMC%Wtt{WTs~nF)}bP6bVdz z%c8_6I9Y&Invrv|4y&~!*l;ibu_3p#BoX9jwaE>v;Z{5#O=2LcnF0)p<Ul;IS_A>o pRm8@?z`zM|5{SXU!ok8JI$4lSl2LH7Hk+IPLNS=dJvow12>_aLU<?2N diff --git a/algogenetique.py b/algogenetique.py index cbcde63..935461c 100644 --- a/algogenetique.py +++ b/algogenetique.py @@ -16,30 +16,24 @@ def main(N,tmax,pmutation, proportion,brin="plasmid_8k.fasta"): brin = ''.join(lineList[1:])''' L=[] People=Population(N) - # afficher(People) for i in range(tmax): - print("\n \n NOUVELLE GENERATION \n \n") + print(i) max=0 best=None - for individu in People.indiv: - individu.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") People.reproduction(p = proportion, proba_mutation= pmutation) - # for individu in People.indiv: - # individu.mutation(pmutation) for individu in People.indiv: - individu.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") if individu.score>max: best=individu max=individu.score - afficher(People) + L.append(max) - #print(L) + plt.plot([i for i in range(tmax)], L) plt.show() return(best) -main(10,50,0,5) +main(100,100,0.1,50) diff --git a/individu.py b/individu.py index 3ef8ae6..c367c48 100644 --- a/individu.py +++ b/individu.py @@ -12,7 +12,7 @@ class Individu(): def __init__(self, table): self.table = table - self.score = None + self.score = self.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") def evaluate(self, brin): traj = Traj3D() @@ -31,9 +31,11 @@ class Individu(): # print(rot_traj) # print(rot_computed) #diff_angle = sum(abs(rot_computed - rot_traj)) - + self.score = 1/distance + return 1/distance + def mutation(self, proba = P1): table_rotations = self.table.rot_table diff --git a/population.py b/population.py index dc51f8c..2d42981 100644 --- a/population.py +++ b/population.py @@ -47,7 +47,6 @@ class Population: if meilleur.score < individu.score: meilleur = individu newself = [meilleur] - print("\n \n \nmeilleur", meilleur.table.rot_table, "\n \nscore", meilleur.score) vu=set() t=randrange(0,self.n) m=randrange(0,self.n) @@ -134,7 +133,7 @@ class Population: p = (self.n)//2 vieille_taille = self.n selection(p) - newself = list(self.indiv) + newself = [element for element in self.indiv] while len(newself)<vieille_taille: m=randrange(0,self.n) t=randrange(0,self.n) @@ -143,10 +142,12 @@ class Population: couple_enfant = enfant(x,y) for child in couple_enfant : child.mutation(proba_mutation) + child.evaluate("AAAGGATCTTCTTGAGATCCTTTTTTTCTGCGCGTAATCTGCTGCCAGTAAACGAAAAAACCGCCTGGGGAGGCGGTTTAGTCGAA") newself.append(couple_enfant[0]) newself.append(couple_enfant[1]) self = self.modifier_population(newself) + def afficher(popu): for individu in popu.indiv : print("\n individu \n") @@ -165,8 +166,6 @@ def test(): #test() - - -- GitLab