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