From 51d6496b02f1626a9eb357e8b46518b63d366d76 Mon Sep 17 00:00:00 2001 From: Kappes Marques Rodrigo <rodrigo.kappes@student-cs.fr> Date: Wed, 29 Jan 2020 14:34:16 +0100 Subject: [PATCH] Optimization sur evaluate --- __pycache__/individu.cpython-37.pyc | Bin 4034 -> 3961 bytes algogenetique.py | 7 +++++-- individu.py | 8 ++++---- population.py | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/__pycache__/individu.cpython-37.pyc b/__pycache__/individu.cpython-37.pyc index 35557e4070ba1d2d0c008c67f366796605baa71d..32b398e808901aa0ca8d048b9b3c1ebb2f6c5133 100644 GIT binary patch delta 757 zcmX>k|5J|7iI<m)fq{V`uG28?kHkj4JIsu`CckEOuCHNSz_O5`mNlKBmaT?0g(-!l zhDn5>l}VDJmc52Gg%!k0VFvR#D(p&FYnYlDT^M4GYB_7zYd9qtYPo7Sz%+LWTNZm3 zM-5jEw**59OA1>rQ!P&oTMbV-qd7w@TVYu^LkVXMTQg$~Lp)asb1;J@dzGWY<ijk1 zmjC|$|F6k-i#fk2MU%UTnSp_!NR)wr;TC&xer`c&NotV@0|P@8dwOa~NKs<eE!LvM zy!6ytOnC*9BU!Jrb1<<m2`~z5HfK|3WO~UwIf31pQGW9rc6BC3)yYRV6YJF(7#K8} ziZnpxYJvzskN^+Z)FLgAfHsKG0TFB<LLNl0gIvH?l$x7gmRh6$643<_dLTj{WB^x@ zIEZZkQYV~Onwykb6rZ0KpIcgzSdy8aS6pNWk`XVNyo5_!)C8nd6+{?;2xAaoI(Z_$ z@Z>x`uE}q?;<z{&7#N%x7#NDTOitvm@!l|jv7)Gi6%-xKOfC!)7-N%a*-F@ISehAY z*=tx9u-C9JWMpKRz*yl?!kWSgij)bAu~xMlHOw{ak_<H*k_;srSu6`UQ&=W9@QARc zut_s4oGi$r&s6kdasiLZ<P08TM!(4gJZh5<@u+gw)NrJ*XERM;ESfa=6OZNOR!%!c z)yY}B;q~Sqr!s;FP&mHi2eF6_z#<Efa!}~qV#~`f%1z8ELIfZ;A^?jlLFzyOR%8WY vA%aT?9$vRt%Mx=+Q;T51X3T8Bs55y9Un;*ED4>}F42#S_daWl*@UH>@00pfC delta 793 zcmew<cSxSkiI<m)fq{X+quwyiOL8OM9cIQ0lV3ACyOppkV69<Xz_yTKA!99TIzug6 z4QmQh3QG->2tzAV3R4PeD^nViBttEG4QmP;NHm2RMVzC;u7rJZ9E-FeOBP2KXAM^k zw**59OA320Q!P&oTMbV-qd7w@TVYQ)LkU+6TQg$~Lp*m1b1;J@$K+KkA+F2}3=A*- z{r~@8lkpaFeo=}hPZ3C{NR)wr;TC&xer`c&NotV@h{u#yaEmpus3@^AiakBGB%~-Y z>lSNKVqSXcWOLT*?0iftOcIO|n?>2w8JUV?Cfl)FGb(MaVpnHkRG++vGqGNVfq_Aj zsYsK7fuTqXL<oWec)*4iX@dlGK!h%cU;`0KAc7raHCs_?Zhl#6kpf6W4@BsL2m_D- zTt(s_wjoHJa9(L{Qfg6rep-BPX-Q&9W`16Akr7Bnykv3{m$;}YNU1uAFa{AOAi`|& zI<9Ii4h9AWX9fm_;!Bh5Icz-7O<=5;P{Im|iDo7jh6#+Z4Yh0~Y&9&+jJ51FEDP9c z*cUP~GE88sNGoAYVQppvtBI)Ps9~;Qmt?5nkYp&~$YROjob13O!phB%!X`cWAcrVF zn8g5!9&v_R&YH;^IaE2s8M0X>FcyhTHsDd2tifZ<m^0acM{RNwk1F@98jci>Y^Di} zMH?n>;<04pocxBzmQj7O7H@dH1<3J?AOaM!FF^^6yx=Xe1Q~)YY`GC(TVw@N1PaR{ zYY@v+8bqQ7<t^5-#GKO9B2b9RPS)qsWcFdyn;gxT%C7;61Ev7OB6E-~o5|<-RsjHV C=B{x7 diff --git a/algogenetique.py b/algogenetique.py index 1a0fa83..c445a68 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 1d2a706..9c46b88 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 28a8700..0769839 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]) -- GitLab