From e2a5117554db79fc044e57489a2ded6a6d74a508 Mon Sep 17 00:00:00 2001 From: wls2002 Date: Thu, 11 May 2023 19:04:56 +0800 Subject: [PATCH] initial commit in branch developing --- .idea/.gitignore | 8 ++++ .idea/deployment.xml | 42 ++++++++++++++++++ .idea/inspectionProfiles/Project_Default.xml | 34 ++++++++++++++ .../inspectionProfiles/profiles_settings.xml | 6 +++ .idea/misc.xml | 4 ++ .idea/modules.xml | 8 ++++ .idea/neatax.iml | 12 +++++ .idea/vcs.xml | 6 +++ .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 145 bytes .../neat/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 205 bytes .../function_factory.cpython-311.pyc | Bin 0 -> 24609 bytes .../neat/__pycache__/pipeline.cpython-311.pyc | Bin 0 -> 10463 bytes .../neat/__pycache__/species.cpython-311.pyc | Bin 0 -> 17146 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 735 bytes .../__pycache__/activations.cpython-311.pyc | Bin 0 -> 5949 bytes .../__pycache__/aggregations.cpython-311.pyc | Bin 0 -> 5789 bytes .../__pycache__/crossover.cpython-311.pyc | Bin 0 -> 4347 bytes .../__pycache__/distance.cpython-311.pyc | Bin 0 -> 6419 bytes .../__pycache__/forward.cpython-311.pyc | Bin 0 -> 5326 bytes .../genome/__pycache__/genome.cpython-311.pyc | Bin 0 -> 14324 bytes .../genome/__pycache__/graph.cpython-311.pyc | Bin 0 -> 7673 bytes .../genome/__pycache__/mutate.cpython-311.pyc | Bin 0 -> 25387 bytes .../genome/__pycache__/utils.cpython-311.pyc | Bin 0 -> 7611 bytes algorithms/neat/genome/genome.py | 7 +++ algorithms/neat/pipeline.py | 2 +- examples/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 143 bytes .../__pycache__/time_utils.cpython-311.pyc | Bin 0 -> 1827 bytes examples/jax_playground.py | 20 +-------- examples/xor.py | 23 +--------- problems/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 264 bytes problems/__pycache__/problem.cpython-311.pyc | Bin 0 -> 1191 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 325 bytes .../__pycache__/diy.cpython-311.pyc | Bin 0 -> 1304 bytes .../function_fitting_problem.cpython-311.pyc | Bin 0 -> 2848 bytes .../__pycache__/sin.cpython-311.pyc | Bin 0 -> 1361 bytes .../__pycache__/xor.cpython-311.pyc | Bin 0 -> 1313 bytes .../gym/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 147 bytes utils/__pycache__/__init__.cpython-311.pyc | Bin 0 -> 193 bytes utils/__pycache__/config.cpython-311.pyc | Bin 0 -> 5764 bytes utils/__pycache__/dotdict.cpython-311.pyc | Bin 0 -> 3080 bytes utils/default_config.json | 4 +- 41 files changed, 133 insertions(+), 43 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/deployment.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/neatax.iml create mode 100644 .idea/vcs.xml create mode 100644 algorithms/__pycache__/__init__.cpython-311.pyc create mode 100644 algorithms/neat/__pycache__/__init__.cpython-311.pyc create mode 100644 algorithms/neat/__pycache__/function_factory.cpython-311.pyc create mode 100644 algorithms/neat/__pycache__/pipeline.cpython-311.pyc create mode 100644 algorithms/neat/__pycache__/species.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/__init__.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/activations.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/aggregations.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/crossover.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/distance.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/forward.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/genome.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/graph.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/mutate.cpython-311.pyc create mode 100644 algorithms/neat/genome/__pycache__/utils.cpython-311.pyc create mode 100644 examples/__pycache__/__init__.cpython-311.pyc create mode 100644 examples/__pycache__/time_utils.cpython-311.pyc create mode 100644 problems/__pycache__/__init__.cpython-311.pyc create mode 100644 problems/__pycache__/problem.cpython-311.pyc create mode 100644 problems/function_fitting/__pycache__/__init__.cpython-311.pyc create mode 100644 problems/function_fitting/__pycache__/diy.cpython-311.pyc create mode 100644 problems/function_fitting/__pycache__/function_fitting_problem.cpython-311.pyc create mode 100644 problems/function_fitting/__pycache__/sin.cpython-311.pyc create mode 100644 problems/function_fitting/__pycache__/xor.cpython-311.pyc create mode 100644 problems/gym/__pycache__/__init__.cpython-311.pyc create mode 100644 utils/__pycache__/__init__.cpython-311.pyc create mode 100644 utils/__pycache__/config.cpython-311.pyc create mode 100644 utils/__pycache__/dotdict.cpython-311.pyc diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/deployment.xml b/.idea/deployment.xml new file mode 100644 index 0000000..9bc19b1 --- /dev/null +++ b/.idea/deployment.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..1a7194a --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,34 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..cb6b5a8 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ac86cb7 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/neatax.iml b/.idea/neatax.iml new file mode 100644 index 0000000..6a5a346 --- /dev/null +++ b/.idea/neatax.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/algorithms/__pycache__/__init__.cpython-311.pyc b/algorithms/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..914934a092f9fc9a03a91215ef3d6a2108f518df GIT binary patch literal 145 zcmZ3^%ge<81dh96Qb6=$5CH>>P{wCAAY(d13PUi1CZpd)5K;i>4 PBO~Jn1{hJq3={(ZIF=tp literal 0 HcmV?d00001 diff --git a/algorithms/neat/__pycache__/__init__.cpython-311.pyc b/algorithms/neat/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e5019e80497a46101a19cf53e74469a95a61896e GIT binary patch literal 205 zcmZ3^%ge<81dh96QsjX2V-N=hn4pZ$LO{lJh7^Vr#vF!R#wbQch7_h?22JLdj6exZ z##;FvI~R(tLRUSr(Rx zv_7XyIm({)R*rR7x(cpJ>(H_9ij|}iWwV=eHu+<(@~8nbDWN8%TU}jTSzjtuaLJeW zHmOQ}U(ZZq@Y2h-dz%cw5B>FY_w@99-`BtI>mK}rnwlyB#~=Ub73tsY6@))0#yp%x z;_gKxJ`f~fQjlztea<#-pS0U3?U-{+I@z~t(v5HDoO8ZnvSMDG6mi}qx#ue9t0t@F zt0$}HJ(HgKn#r2^+R55^@1&QVufTcVq;I}%vd$*hg~Ng*z9UGLAKC@sWBlvKWWD5g zP6$^epR9U%@oY?v4+f_e=a**YVn{_7q~MesizZ_6;Pjb=sl?3ULOggT9+QGI3&F(c zSa9Ot{^P-=nWfm=%tCCq>T_x|Y||>1qH9?v=^Um-7Bk&&xF=5h% zvA0W|lKmaqq(gGNBVg2>pf1S;>XzJ~6;cJLNFz8|DOG}2NmZcLQZ=YY@_^PzHK4Up zEvQ%Wg8C#MXq{9CS})auHb@PijZ!0Mlhg#-EH#7rB|m6D3V^mqEugJZD`=b42HGyQ zgLX(Acv4-O_mJ@@4q+S@<#UIo9F`lTH2vTG1-rjx+p-YhreyRL5b}6rYB8o&=?qKPEy*z?m?A_HGbDvRWaa178LSjBl|%E*Ek-3&q<%!+ zjLyZis$8|OLvzMsbJKDIx-U0^#A(!n!Qd~qjLa`2Mx>DiC|mTck?7p1MR_K1dOpr_ zM$Gmj)A}PHUOK0VkqEnsNHS0$5X0sfFI{39I;;ZUTbNkgfwRtPc zY7Jf=R9i=p_GW_pH#}-^?}}3uJ2Igj`tH0VdTxmw>te^X>9p9VihYXMmk~X`?S0Ri z7F$%YMG;%TuQ>1GO2QNuDKI25Oc?(NsSik;s0ce|`J=wSNY3U2GG92&#)R325YAaH znt6g*Qjll4u%av%$GrRSn4Lh0T-ti4HI@=Qo#-%g1!0yR6g!rMS>8szLZEe@S?d0E zt?eMqubM;?`4a%ztux!rQ}=o^cb3GJ9p~-K_F0l!cA#bxPupjkd0L40dD=c3;AtV! z!qfKIR-P6jZ9HwCZRcqr!pEpg&pOSr=N-$AyqodoQBPYV%1PW?bTkMpz;*~io3?0%jWA_vSgO{rnW#1uEt zI6)?u48dKJyAOm@5RF&8=WPja=CN$c3C{QJmwlL*0S0Bdp^xmEeR#9xB-9tD86p^z zgZTPo)$TcfI+{rLCdUisvBJr8c=y~QKwf+=5@s#BfjHTTi-Hn5u77Se{%~+Lp>~h+ z9GUd^>)($|%8Of~8AK+9wcd+Nn)hfoafq5SZ{m3+L?6pd7&+`F!cWL#b+wu$dGX|2 zY(8=_nwUC`kp*%9*jQXTGZ!VCu8Bwk04HNISs9s3vgXzywbo4oj$$Wg=4KM-BEZ$N zi!%!eflqlzdS=jxe^RfEdX)NEG(T##I z}2O0~{uq!q3+`Ox~^}*JvjX`JQP-QT5oo4ey z!EM&(=d)`x7T&fkZeh7G!i%sPcLpfj~asTk*Fj^ zNCUJQO0g_|0 z!)p66D%z3>ZMe~;eUuX+m->tTd(TTwAmbU9Hsqq_+r(4F<7UW&7 zz1`Y=J)C;-#?_Q zy=ps4wq!PLRyXdU+`dfjpxV2GlA%oBklMG4lHGUe{8!u5x{zA8amAf!3#o0JC_j*C z4XUk3!YS$>RQq>QW>2PjBW4v!c4d0PYR@)G2JbYrT|J>T^{GvpSE_EeZCI^RH||o~ z9%Jp?4zyku^?B&iR(1b#NTx%_F_`JV^J?IEcAvokHOQLkAjj-=wYgty9$l%XrmEGA zkEw0DtxeHv@M)X6ACukl>Cp2kXy64k@PgjdCN;<&amStdz|~D^eYaXauu_rf-K6%i z{E%_OJ-FMB9<>9{kwz@oZ`NZs#)<~nowLE~$!r)>Hyoj|y$bsj_MFlX;aNW5$R zKuB2dLxLuKw(jR_xP=y1gTww=LVA6E4{q@PT>~zSV3KGNDMBpdaQ#-6lq8KG0xQn1zIG zGNyuRGY7U%%Q2@;X|?7V-S$qg4jY7So~GuzwIJ`?K0u)E5<)iL0|JxDo6r%5U2{g| zQ*q5nfdCzITx4c|`hi#niv;LVv*criHbIZzS&HOfRAJ>Pt{5k0^efm4f7_MBwc}U5 zqxiaYsgBY=oefoXW74#m{pHuu{i_#XO4PtcW?3>FA(#gvL(gvOg0g3u zs(n>o2q0e)S#f3qg2#7xS5|OW2C{ZrO;1)RLEJ)Puj1*s)8Jn@TC55rx-?dIzYU7G zhmZnOe0+#3YbXolEGm;LU!ojWpj;_<_QmZ{FN%&5<+$Qm3m2Em#aRITc~n6_xH{j@ zvk3_v(|~VjQPli$PYSQTji`c<;>v5ie#xL9SLOSbe-;$Pl&Xq0hr`6}g z-Se?nwk07O`D1Y2cKNpw!CY&zJRXxG3s7`O_JaD3GPN6usv=_bI$ z=0FEza^zYy z7dNEEuquWXG0bv?*TvzqxLFl9E8=FBGq^4ero~}Z99G2PJ22=+S8TV%8l^Uv7DGUQ ziWs_G*L)?R`Ulf>Lu%a++50dfEBiAZ-z`tqx~D5;OMALiPq*UfW_h7?Pbd{idwNw5 ztbZ@d>t6SCr?#X$eX6HV@$|90k#*0=8tRU!o>9d!%JK%*Jp-#KH>7%o6wlCYU&ECr zuRfcKrW-e;eH&HZ#+Cgm`~T7{cDnH(wr9n0+vC0bja#1fbx-@X z=gbb^hVrs|Zw#%4(%oZe&$#LtFL5^Q*{pgtuh>4Lap+8oU4XHQ`6-^n+;}u>5_3X_ z%A>hy+YHPy3 z;OoJ2^9#NKJU5!)8^JeOuGa*f2ZM3G89Wc7gZG2yL1FL#@I2TCz6CrFN`h|%&x7jV z+rX1A$PV!B;K_qD`3~?rnEnIX_iTiR5&Y$0bQTiqoRBGIDeol0&>n>q<^4pSAaalh zLx4vp^%RkB5IIWZ86p!zo+a{4BFBg@xcDNaULwMP;|WT=Lgd>-UL$gnh(u(X2-%Ks zPzR;-@PFevr}+w}myhf^3T6P96vniZZy}xBP-rKO8Kbb3@1k)0FPPC}u(v+z=<-!% z1(V!qZoRs2Wg+XL47U(yzk1=yg=__Jq5xb>=PHS-5>WEhE3am&iSr2E{c32J655rm zA--1V>{dHQm5$M@mw2Dh)uVQfE1l!nI^ydEAn4XXrFAgdKzyUn+Nrh-C@lloCgPig z{sFb`fYNs$>nA>tYrlo~R-tEu+Pz!p-kohDzFlbP09;oB8?zn6cbYx#A}%N(9MH2@ z>DikN5#KE!CeXD_>Drd(1k78!}tePAvl1sMZ%{W~cE7L3eV>Eb|u+LYJ)}bS-$JL=HK7B$R zI`Xq#W$4+oZ{SMhwZ}95;4S~?x_>n7A6Nb3Ym2wGy|}*Z#q_q9)om{;{+AWs%S=QN z8Kb+DNlWxlneJ4{Ojk)S*sUa}3d2$1um4)z%KVBW zQ(b#SQkw^r>OsV~DtnllQt0+ndnp!HQ8|*e+iNCmS>c{k6dHqyrwd^*wIRHU!2Gb{ z87_7$=z%arcmav>t_AER7i{a?g`h5Ke@rc~!vL#f0olPUsvVmTGJnbBu>{g&DS}kli@N0T-?CFp!!=ujG$yA;*Wqu8GtDurwS*98$rG# zf|&U|o{ z|BUW&_u_J80qA&;yRTxPgF_kk*#_uXCJ#B6?>6(9>Qqd~zk`ush$QTsm|)>FMu1N$ zX0Uep7B)nB7DpFp>wvx`7u-DOuz<2k4G?CLe?WvDtNizfd_ZKF2;G1VPO1yRiI3W5 zfMkn-NSZ0fV&2XCT*=WgC5?Rf6I@P1abpvxrTDzHVYB!jqIjIl1!fNO(BaHQWEL;I zn(;JqME*6^f1EjK4AAtiIB&OgT;Gv8wrWcqO1Evo;)8-!(@@Wi!0MLO=vv)sI2{^S zL*t6r`4A=jt=GoCf9~qJ4=()91!co_W#_XQMgds@#|W~3{`}ZW>&IS7ADdKOXMHe`MW%M0x6E<-{AAr(VuH75Tzt4@7ZwqW?8|dOdnN9i3I9 zvso9e4li{36E+<))vno;uFXOdU22?3pY5#=kpHO@g`ol(H ze*79oWAt95kuz?OFdDhae~KHENp9Jln$YheWw2FJx5X0vGs-12A^%e%KLUxuNW3=?oCCNrj4t6;VKR6Spgtfkuud@_LP)rM8$2D zdPuu4^sVE%sl)@iGG7QpbH)P2vhdR?rk_A489Dh)do&rSnE_NomdYmMrb!#{JX zTb@xGo>4r{=t5$3HwdkfpxmVxCh#Pvc_4_%OVZ@V919>riUw;9e7z)x|30$mVnDSF z|CL;!nK2SBYPsSp3gGjGzu29kw4TMQc@cN@(mSqd(rM1P-PH2i3sAm73fB zmaA{28gF#0+19ow!L4ckHr2mv#ls^vYtfr^H}@<3d($0{s~wM1;N}skc+2$_cO(Xc!XE|E4s!HiFAXQ(=SPLapdJ^luJRRg2;={m~wfeC42!rgv3kSrB>bq z(c>?z*Y;xpwkQD8&jK)o>&f~=D(Y+*0OIm2by}Cd|omfbG%TposJ-Rxz@NOvSQDJmBP6Dt_^>krB&u zQ8=-b_u%vW{uG~1&~<*4oJ4q>0;}kT_s+a@r^QQ`>FIR*CV*i~04#8COKrLKW|}s- z_M0*L=xW{S{?yCq_7QB}rEtBs{>u2JbC=Kk_J#K@T>FkPxF_x1t9tj|@*Z0E9!h(U zs9tPH&Fo@tD|RZu(Y5_p3`~pL74|6>7ZMdFF0UbBdW`f=8)j5=e%*ce-J>gYsWEoUFgNkR61t|JbQ>u4B5eJG#jzo}+TtBXGFGVX<2dqR| z1U=w5WKlWJ&cD&GYwAPp!G| zQR!Q*5GP|AOJihFTL$||=&t51mhceC z9=*JdPqDyp6Gtzm-^;|6UXq$F*Z^H_wFNVH{>BAv2C=AxA+cCNnHai{}AwLc0qO)- zLF|>{_~4VmUGmPdh{V#G`S#jI}iQq?>g;E}e;suc? ziDqcW5j&*9CBcv2Z;;Klkbg*QE{4U_t(x|e8#~Fdb&07O4N#%JF^p4A>0}Kx;zbJ7 zU@DO18p)n=+G8oSl~m`aXw$$uq&S3kQX`6YH0>Q#y?CMUGb55ztV)(GNJo^GgXxxo zYRf@WpS}i8x~FDsWv?7|rm(?D>DrPOM-}$Dhhkm(6)6_LIv4SxnWr33r+Mz{DHe8# z7hSE4G8qa~JkRkx+$DAz{Q4D$sm=t}(@QB%P2NiwWmIPqY0^FCt1_z7WU5ZyRg!(> zlqav)K2o25UaUS!_jbj*BkkRxdhuSZp+9(4nBMkPf(O(7L#qGKuXjG$&fdE1OnDJr z?ix#rSWKr+vDR=0<89p6Z$^0bzn~{m_~!@p(U1STM?n7iSAr3app{_DMmf45UkGl{ z!>)OfklbG+FuIeISE?}lns@S>5T@LE@Tk5XJf-?a*Pc}TJ8$`quKSOs{m-cWXB3~l z)MtiiKcmhzf*5Zd=`pO&&08o4(>5C3THeKzy${m=qa^RSaBXMGrqp&9d1nL6JL_Nf z^rzlPd%~(Gta!p$JJsJE#eO+k4HieSw0RGTCC?3tr@vIVmgZXX;LgdPKAMTA=V}~4 zSB^(PSC2FaSnyO4(&DZ|;g%@u8|Tvv5E<_~dce^cVn(iqKw7*Wp_-CNtIiys5)(y9 z^i&3Ear~5PuMErnu)^5=-MsH@zp@z)2vKFbSH-4l8}_P7zI8e796-}bb)Lt&r) zCuWiVj%P51e}0ex{R(Fh`4?zk50sf3to{1TQ6wYDr^;C0qLPI(NKt_qh@1QuxH5Yt z<_tkHTRcP1>QJeLynr!76g6IAeM6t+ib_iPGevg_3w!-VGsQ5QDGFWyefXJTlj0dD zHB-<7HV=Z_#NWLE@~-V&`@8OUD?Y$)O3a!i@XA4ModSE<%4{H8E(Ftf3v}6e$#%(} zAEtT_Z?&YXa}~c%VGHlMSKKT3!HpGoy6p7?*D?iw91}8`=e!^1qKpRo-wlGi?=*iE zuJvcK^qj?#Zd%;DkqztxCLJzKA z#G!|5YII398cXgjl;3Flb^Ov)!3)%d!fVt%OR_>kPaEMHx~}X_xmP`FGoN;)8;+?B z#}v;oLzeM^_37wROs1_`@)vYp#>+cjQO5ryLMup`JrS4xinzZd@;^ZIof@ybhOm>l zL9D4{7mI;^$zn^?0Gg8YU*y)jI7ttd(JhZYR%}1J>ze= zB3}!qB5D6t)xUMcbI0Fy%Rj!3cOQ%~SksOy0;X0DdyxtXWJt``)Og+7b22IheyL|MT?ec^nx#9I1S^%vXRBHwyxeZNM zMz6%Kok%x?@!|@8Oo}9T^SXcYTAdkHCCNR+B=-TSRdOf7wnO1g`psVY1;j{1tBOSC z7o{`!QHO};iA3Hw6P?q~$RQdDdN*565TPB7@>@hM5c!bEIU*N{{Fn%BPn5q)dOk89I}b7C((d~Hdebv z=rRUrb-Om;2OCV{^SPctc?<2Wb&>03p+TFAwzQhWUFq796*y`3P}7{W+gy)PVS~6` zuE(0fI~zxd?I=N zXNJCTsjM5g0FxSxwhdsVtDxM4>uTXVs6bi>Xde8K0xr;p8R8TorVwDD@I!#2&>~wD z$W#AwhCCe7_69o~o%{LcT)+Q2|It5qy{!y9JOAy1@PEAw^ItepdmPok54Rw2hY=Wo zO*0ub#%63WTgD!jsXUs`_SIkBHmKZ141xMPQX^pi)8N1+2w`DvrPsSVb zlDI4F%lKn{5^hPiXF6gXEMsHdWCZROBe?I`80J3wnNO@!u$^Hdt>5El#9=s2rWDn1 zz9*%!lHoj?TTF`vHk}3$CP9)W=d;^l4$!tzilV%%C*IAAHa1jD`7?Fvw0u!?dY|JjS z3-()V%po{#F)$oXa9u)&&?2^ooammj!T466IU97+8EX|fg|=IcSexL1vL2yJ@IigA z;D?w`XoU_34DNJlQB0>KF+b4C!!s);R6dcO&&nzFa)w{5=8lle@1KVcB<;1&fRCGt z<3Id2jO86B#T1x0%~mZX3#`C?ZEGBLC`)HRb&EO)I$fn6Z07snUcXetx;(6F_Hm!>jt+6s{2uca@v z(@;k(1mB}!bx$o7`p7=f$F5p#fmxvARtnTot^PfT+@}ffjqX~cz?5jXmWKVt8W&&& zpw^CB2?+OC!a+-zt~!vsvzBi4$-Fnr7v7T~F;puB{h@s;?W(0(eJEjR%K~jn<9cEl z^_6-p!STch_SJF)+`DisrcTsCFwcA~+&CgozQ2|uFtBx;vuA$?J6I4e<>qBP9eKz8 zlr$F^Fx+Y?BgTbPQkC(dG1}*<8$Uj0?tH_(khpHRWPpim#%MYH?(CZ<#2ZEnPPhUA zo3v;+6j2lmS28QjrRELirG%178l5RArN%Rf>#0mG6PL1rs2J?5(Pl!85>IADqqT}V zIP8#MHyf>s*~MHsfuYCXAPkU{7iGL7j84TwFsNCBFry-|#3Kfx3t|PEgcDW-(&N!$7vgql+^$DEc0pEKrK9JIU8v&#gk6=L{OT~;IR;^WCD^yxhJqs~_!30Dj|UE} zPwNA(pn+HLhr*TcZWKPW8J;eOr}gj*3eVu=U6s>kH%|-Y(}I3_4xOIUxl>Ttx8gv- z;WgoFX+!un`-t;wa(!j4uXI-9`gHDj#67QZ&p+CUd*!ci9+1At?Jslt%^K+FyE=CU zac4B{%;R1CrM+LCS_P?y>#c;s*bih> zcVIg%(5#ZR98I-?9)ziCX@mgSm~8%^iL%1lY?3TxKEcmrkEC-CZJk+1I! zQ^nz0b;*nnMO|1-o zbCcQjFzo^4AKdhhm;K`#hrT`f@DMr?*Zmif|DwiSlz#@rl2oHWqy_%S)%83~2c5E#RSt+TpJr_an$}u}PG+q<_OULmf3QK>TcE6=QBzDYA01nAs#I^2vXns-oK)pu8FjW`NpET` zjLDK~sYSJD-h!*p0zX$CTGZUi+pjf@j-}1@ZbFHAi>$4%j2V=vGZkim@{@bOs_s)} zh3BF~`AYo@&71(VHr9K#Ss5>nh+iHCPaXuv2<8?AtTJlagf4EwEsKkCR>&nqV@I`+ zBwknJb=WqXp!ViPc{i4Zn_FM#hI3I)Nvgq7wcyE)WkIt7%1a;-Vi_8f@kB&8vNa5M zy#;O8QlOjU_+ml^RhZ5yGz_#C+MI#SVz4QL!|E)agwOdc+6*Tsc%U&Z;K$r=4pmI2 z^Ip2)aC8hxDQ?&ZHyHrcqW`vkWfb5Y2Ov&h^l+IwywR(3lZcztxXDK&V`$`!&5^gu zBX4V`&ubsX(T5BA$Q3klMdw~9wk^j>I|)ATE_1s}C)Rgv#B^>3aWfh>^SEQjviil6 z-mwRD?Ac~)?&GZK7ALlbOsswfjU0OrKojq2@1H{xALv8p(a?F_v!^(-oZa$tEDx=` zy%yiNuJ3pxZ;wtVEgl_0vx-p5ImE2fHaC0FwyiW zI2*ssGSW~3ax|S)6yIBLo-NpZ4IKC@dt+NZVWBOyCnc)%gaBjG^gSz5JavpHK3yR@ zUJhDOsF@=ZT&8%Fw6U<`q30AuXtyEI+!B_#{cVHnrj|C!1|)IK$|pchK78&noH?;F zp38xDyphfEiwQ*$1wJJm<0tqZ*<<+~(PS~$J38@NRP6Se_n8GD;YBnzCBn#iHB~9ZBKG+O5 znJu#Me}Q`Tp`J0+GpTn>p^m9-#_#SYPH_T=*xw!g+rwXuuZ|Z_R)T{op3((9IEI2_ z#p93sJ==`aJ5=ckt=uSg4Q(@yj-g5*xEY9)1Ch0e9yo*ohcxm&4(%?@=%M{6v|kHc zz;E<|_Re|il2;F0KqS2q*tI;fa$XPYLxFu-VBceZ=km*+eti4mQs8a~^^c0rlU=FY9DQU>j69+3GOTjJfF*+gr>h?4M+quuux2 z$=E?CivxhgYOJt8N*&Ce4qFAFI`s|SNHCUMe^M)<4bPO+0(p1{$WyS4&k_eYcvPRv zaW~Yl*rAqM8|qkd+5lE4fvHKwJ`f|W;4ZWl+8Sxf1(=;B&yrWArUE#ux7KRHcPMN@ zn9gJ#K<_8=>SaM#)42Mc34SdFPr+O8-GeoEpRPO7M*mW~O2-M>NNE?T;V-n$Hz^xz zY{5NS!ZoeEqok~02Lq@5FKpPIvs>1zr{HfSkFdIGL&E&DERg1~Nb?rjpO8j-BG>`4 z9r?echa%HVz+*bc*FlwLj|1UKWOxhvs-LH-d37@OL{^=fS+bgsWyI|AJ*M}wKu7n1 zZ#b39iNz|J#B5u}W+O;l1g}ecI4oBA=-*`3>diXUI zehpJwTk-W}#}}T*ef_Hon|&kYzL7O~{m?f@^u7tyH=%K%tx(_U_-5#Za_EJ%*P*so z4;@9JqZ$_kn(6PlEv+Vg#?vpK9r?6gAu!tQUj*Zl2$4#U_C~2fKa=DP{XL*ry~akehZ#L zX|t=~LfEQ1sFX(h!+35*R0vyZQH@hSW|u5Iq#tWCu7i0YyyQ@ytLM)%1xNjw;J4WD zL0j}I_Fd+$AU{sc5x05JO7tqBE`?!)man7#OitYS{9ZUx@kE4XB z<8u%Jf74{qQnghWuB(Z3PE=$(v4#(uD?|nCbzqeS?eGF5Mw}+G_ttFQCLH@{6r0l( z!wUmqqBV{itfJs4B;ahqGHyWLPhr{YcmWcXy(SF%nBM1BeWjn{-&#NUy;Hh|g3+RP z3ovHK-*?^(uI<=UVTC-aCPMCyKtU;LcUo%Evmk5RVkSmA2r@)arD( zZD5;ebw{_lgDZj69T*e!-ch}K40Vqcr*2P!6+r78T2WW8f@i+ECxSc?%@f%=`0~c! zw<8Y+(OZ9}T@=v8IsM=~IykR;4nWn}l_|9A0D$<8ov3>lbsyU7ex=;~ir#$$bsqtP zfcGRe3xK=KZtXsx?LM*IkH%gH|H0IE)8Lu!GK<=It(^xs-i}SrK-n{}7SKEcx@QD= zMzq?y-3@&p9U;g#-C(Q407jtke<08ZjU@^MkVPNZT$J)PZWh?ybvU$u#WO67e@qVD zzE;qAh6Ul7a;oq{p%L0gDKoLfv9l4kX*2d#FKtYUK{kMlnV`{L&7g!t{s<@gtI0K6 znmhri^6TJ4Y$mhmgs_4Ks%rBhdm+D*uHPrFbN(7vNP+`*BB3w}9oP&VEr*V7sNY`I zL(?cUO>PG&eFLcP;AY=cxo_&h+3()h`%a?1lQ=6>i5^7Jsmn z;2Z~O^-J!C9@n*7Q(u%zU&1NR$Od;5MJe8nNS7w%a{tnBT$n0U9q#MoUJ-Dp7&BZRCLb3lM4D zO+U82ng%mA-b6?9`{|}?wnB}(n$Ch9N;wLFTJbNjC?1@fj24WU@7lyyT`TXbp8v9M zwT~u}O_KN2Eo9?-zGfJQplz7XcMS7q%o|{yXfa6k4)c>)1?+Kfn>x;ep2Zp!Y+xzL zRJM+cn1BO{q6$Qj$~nlEuVQBuJ7c&soTTPK9m-LhLiF?y4iQ@!QO5X)6=^krW)jzM zV(mExUP=Pbg};HL@D=d9Rb5Rku0hk{a}mAlHQY&PE{VgSgA}-UR`5C|s@I}_PeWS1 z_nAX|2eOq>m|ZZj?FCENZ=}1@KP5LJ|0sPU{p+Rg<{zf?=?~EK2mcYffMOT5#DX5X zf?`*+y(er5ZJj{w7jGs_)Va6VQfUh;pF?fWl^lp4Ew_zg zGyex{g^#T5Lp-Q)n$r@G3)y5mF24x%h)tGQRb`AVGB%Up zB`3@0a1T`4jBmjcbxE3?4FeFzzTCI5+8U+h%ieFpA)CJ z?g_Wm=forZbl2=G?qa0NaH%&I;s4BJtg*}?!(c|n&D@sQ7GgMorZ3(g+t}Q;m`xZi zFy6pFRG0&bHx6MG=D)6Z&AgFn5j>b=RGWtTNA6W~T93-BPy|Dy@}J;r+gX;aFj4KN z-U`!pll&ertvAW9!gOl2_Yt#KYkVtAM0?s>VfJf{Z-wEt#&_Fs-p1l_eYW>|Gw%<7 JqzD=Q{|6CzD5L-Y literal 0 HcmV?d00001 diff --git a/algorithms/neat/__pycache__/species.cpython-311.pyc b/algorithms/neat/__pycache__/species.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ac4fd46ecd6815870fd5a2d22e63cbc8828b2f7 GIT binary patch literal 17146 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 literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/__pycache__/__init__.cpython-311.pyc b/algorithms/neat/genome/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..27827d1f659c79b2d4919cb404ad745ca677ee44 GIT binary patch literal 735 zcmaixO^ehp9LCd^>B~%8M?n@mh#(5RSn<601q3hNf)YZT%?9&QlFYc{7x5#AXK!Bo z3O$xyJ$V!MwkMO$ELd1DJUspVpO)|>{aTi5;MUI{@4F8H0KfcjyTTJ(?;U&r9q0lM zL;wR3!caso5;2SepND)U5}1e-rt=)}Oyn@1Ip%Azft#6EybuK}W=?o1N?6XE@=8>& znmOb5#1?KH=kGwh{_R?UI-U}8)nnOBB=nNeJc;;J9q49 z>`BbR3$wi^$KSbg=ltDs&)uKY)VKsZzxmbM>Mxvv@HhHVe7ptb>9|c0?h2})ieX{Q z_$x+iW0FX`Ei6RjF-SkP*qP7CS+ zT5UlUpe_sQ2C7)l8lY|qS_`zsg4O}8wV?Gt>nx}TXuSpX0`*wX2B2OG+6c74f;Itd zw4lwJU8~X@np3ORT$-Y}wHmEftJCT=kLJ}Hv_`E-YYuwHT0(-_qzXS2)n>H?bcebV zbeFmtv{h{bZC5)$eQGD@9<>W}ueuNPC3Qb&x9SHyp!R?sR1bmns(qj@tNow@>S53? zsYgJMs>ed&hvL`{=zH9v?@m=575uN{C~t=SVpf_8#U?~Eiv+Xx2js8b)Wb@@l5{>n#eNinC3(WTg!og`4icLmz zj`Rh!=yXKu3rxg9?*w9@>8Rd2vyfHvP%ttbQm+7K^;oA0LmvQ%3x9ViE6#)`F><>p zDJ8#|cKR|-Uwm*waVNz0hwhwDjwD~Zec{f9+jVKhmy&%?@s_Z)``(7+e{tV-t}AsM z93~G3>Fa_ZpJ8MIbAb3IMpcHvr$Sba1)`Iz2CU&PR!69lP;Pu9e!5AzALNDcqqkd< zT}hU9?#Vd!#0USP)UF&)4Bk4qaxx`1GY{te-z;X7BHLIi>7l5_SO-9EYYSeaDqCi2 zS)j?*V~PG-Cst0R-<69jJ%;`EedN<@dF!VzpF9Liv*_C#-XPoUuaE~Phl45dXwd(fCw9=7L zI#P0n)pQw4@VamiOeNFrL$ycdo=2kEh8g{QXyd7wbwmR5p~zgsqPUZ3;W@5%2d1}U z=#-(*8&Nr#m`!%3mDY^Xnvz?s>QVA@^}Yk9l6u$35Mimbu$k&EmBm1{En+{F#&Q%@ z$uNl_Zunu?WxqbDF^$oNvY6&5TDBL`E)4x85W})p5+g~^55AQgyr-{SU!PrFTw8oF zxcY8d>CGs;DY@5bEA4h}>lrZU7Q`E3Np_j#6}e?A+Pfq!899bGUzBTvM;Z=(xAEua z|GF4E&Ew=Z;>1Wz@U{4pwTHF9wFRBrh6%8@WMr9vB9xwi~u>jgksR6-{pp)u8(=U3_FFk;JG4wBk zz%QqOnkHf!8N$7EWU56b3|AamQb`E>33^ zU!2sh6r=LPf^W(ks{C`qWrYn%XS$`bC=*D;8O`Ws$VX=|^kxvFy5Qtauw;K)Y0D^W zDY?z6ri{5<&7)u{saaas(dgMwQH-Z~P$SV7xMc=f;0wj`~$Ee^(Ubqs44J1IJc7@eP1 zbCA8<9LmZI7k9Jj0)^!OfMWiSt&5CTU`#2>v$S7FJtJ`z#Exfsc$pO zWhD=*qFQ?7Y?~##CxCQwo5LvhB}sD%fYpM@K#W^32r1nWbRURe0q=3{O{@ji1FKVO zQ>(odj!e>xyO{b7s$95`;TSdYcNZ|$Po%s#bm_Bm0j6;chA<(3@stV+uVM-D*3tOa ztedXV$8w~_)*o|D%#9nLI*&P5Y2H~PbcM*GGw0VZ)<6(-0F0^@Bi*xh-ovu55HC|( zn3IW>!12>1D^vH8qpF>i>A=lVgtN}#sga}gvd&`B&QYVBbrecvj&4X<3B@SKODb*d z9B*F6AvxuF-71_t1CEUTahS21Y#~o zK+z$vTHItccvIvhk$2Nu-pZne_T>D7mXH09-+FRA^^LbuW8*1xX2aXQt~|K>aq#i= z-#bzxK-JXMC=$s#BgSj5%MqmC>PIK<<%D~A$N&HhKa;T zY=RkP=r5b(hIz*1alF1 z;0iTd7jWxpxNhJ&Yq%cSAq#Sy?37)yTlS1PhU-CZm*kc_QoZDre3F03G3*nn1Id4)Q zb%FeCWqD7wZO|nkdkZb)*7d*EeR-dJ*ghNtUAN0feX>^$1}oj=fK{sXiy`wnt*aa* zQs7U_mU``YW4%IK=(WSDiS-NhlGq`FZ@49U+9{5XD)Ok9iKkO)S15BW9a6{TSX@km zVxlUCQnDR<#WOLc zVktswQ0L%%brZ;4l3CX_R;gRK6~~z-52457N-v244#;|p@@TnXl~>_ULjXQut;-)G zkGL}m3V*~Hyf_tC!#t>)8aHg$uE>gP*y3tROc|Uyk%S&hR>g@!-yiHrrZPQJPf8Xu z;#7~A7)>kj%$1}{IX$CtDxH*j*4wgs{JP-)DN$s4K?s6|+6N>@z7<^ab)W574Cf=C zb}e=lm_lz+=+K3ZT;zqTe!hR9H{Ywd+KR3=-PNY?ZLeSy`M)qI`-IzQ&@g{y6^%r# zs@S0x<`n@M0GmWX6gBv9B`qm#sG9av>XGY0?nEp@O@wIBh#lU@L_b@Ir1+XW3B z@T%_vsWG<&>)hV?lM9jAQ}d^CCtfrK7Ek3TicKAQQ%7!a#pRy)PIDFv z+qT>G*KNVZ!^2B97_EBDK<2jbu$Z%13|t9(3m2h}mW^{+K%=@jTOVEs37blrv(MOO z>?5qi-4brFYjqy#Tn1rvt&BO!wE`k=O_{Yxwk$xj#F&}bG&{|0I86Cz9vsAOItYdH z*m^Oz5QOPh$AEms-X*ilEQrg3Atg2oU|;pKYD<-ug;CJkMF>p7omoZuD-A#%kw>h- zq>M&2tz={=Iw>aNlupR1ioJ5VHCKzulX5DG$w{_7DNAvYMtS$qL^>uW)MMS%c0@4J@C#cS`s5XniN1i(mKtbwuwQEcynubLWfR^O|tpbT$}MDY)%) z#oM7`U2%0?W=!pc9t!%tvJZ$w?Yd}Ml1#1JHr2Y^d;~|LMNnz)?n3V}bMLV3-LDDz zscs5R60S2(4Ln>GFy`7>OTmyw3qnpKP8nPR2oI^76n2=g>`A3l(X6bbqe)S{s)TVU zTF9`QN+~}<&O1OE`VP7t?A@6x$h2HILOYanVKkr=X)c8P&XKX`EiEK&jjI9&9 zY)U|*djI^zJD2A!=Xd4B&pQgef7o9bdm1i!j_RJHxq+81e{QfAT+qXD&tKgF@>al7 z30{Jk0RTfaYrVl*K%)XB)0@D~4GzN+W8?-6Ml(-X%c(H<9RM65T6q_U;aeXw zQAj9xi z*5q~$FzprrxFs{p8uW4*)N!qhq2{y{*6n?nN38df$~cQBQ~-N+!>MicpIV>>#Np4t z6~!iHuET|`Iw>J|BvHh|DdFD}3`M8Wau*Y!I^fgX4VsG!c#n(1)hF8w8(&4!GW!yA zr;vcCZYxL*PuY9!j7;a|Uh|h&W0& z5W}v52gj}$^^ub&qZfXCA#yr;`h%ehVbuds3_ufxHzUVKkciksPv$o zoR~<^D-dXZ5*TK<9>>}*fvD&}AAM9#qd1JY)4;ljZ7L9i)^DAj`ObwHr1e3~*;#aU z>dwyGaRkT)1iv)`Sa=veHzk0DkZbkdIXZXrkKB?2fVXaW*FE=rcd_Mw-g01h>RD^i zHK4l&G=9Kb9&29baI@e-@4!@gN>&Xa3I_*#M3wijg|GIi*21lZBN~;`G3bRmX4Ju1 z)Sa40!j0HQe@xS{sc{9vmEMk(CamGbMnUt_ERvow6oZrj;2CZ(54dPj?z<{qr*<;< z$)q@L)KAK>3|z>wkT^ge)DpYF{2$;r4sZ01kwjXA9fEY0?iUX-RL}?d!Oyq?+lPrS zY-OJrAb6pqc=)|=Gzs_AgnUdv_dripC%`Zzj$xP*%QJk5AaN7Mm2=|X3JGY|XN5Fq z`}d zFFtNh$t(ES5&@EPm$p%%b<9aP=#f^$QdSFT*uK!X*plBdugR^w;Jwjy{S%a#|07KZYz1z8Vv zEz8B`gL?D9qHstT5D4IT>1ml6n!l89#lPjDCzmwOk)r2_?m3bh*hF|g&d|T9@R4Hk dA-(xfQ8=s%hc)_?ys$#L%#s_1(Xli-{|n?Nc?|#n literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/__pycache__/crossover.cpython-311.pyc b/algorithms/neat/genome/__pycache__/crossover.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..28a8c5169e6573a856829252b393160338174a54 GIT binary patch literal 4347 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 MSyf?RE*^=00_JL8aR2}S literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/__pycache__/forward.cpython-311.pyc b/algorithms/neat/genome/__pycache__/forward.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2687d14ded4e7fe56e24e349591524d99306a2d8 GIT binary patch literal 5326 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 NIV*lDsllbj{~rXT4yXVC literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/__pycache__/genome.cpython-311.pyc b/algorithms/neat/genome/__pycache__/genome.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..781f1de744740a3fb8ef9def5f6ac764774ffce3 GIT binary patch literal 14324 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 literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/__pycache__/graph.cpython-311.pyc b/algorithms/neat/genome/__pycache__/graph.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..91a6cd76c5dafbc0bb9ff0dc0e1e0e3fa9f9d160 GIT binary patch literal 7673 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 literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/__pycache__/mutate.cpython-311.pyc b/algorithms/neat/genome/__pycache__/mutate.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c6750b0cd47f0c203cf76b209f87082ec445881e GIT binary patch literal 25387 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 literal 0 HcmV?d00001 diff --git a/algorithms/neat/genome/genome.py b/algorithms/neat/genome/genome.py index 535b352..6a34cbe 100644 --- a/algorithms/neat/genome/genome.py +++ b/algorithms/neat/genome/genome.py @@ -193,6 +193,13 @@ def pop_analysis(pop_nodes, pop_connections, input_keys, output_keys): return res +@jit +def count(nodes, connections): + node_cnt = jnp.sum(~jnp.isnan(nodes[:, 0])) + connections_cnt = jnp.sum(~jnp.isnan(connections[0, :, :])) + return node_cnt, connections_cnt + + @jit def add_node(new_node_key: int, nodes: Array, connections: Array, bias: float = 0.0, response: float = 1.0, act: int = 0, agg: int = 0) -> Tuple[Array, Array]: diff --git a/algorithms/neat/pipeline.py b/algorithms/neat/pipeline.py index c8009a5..9396556 100644 --- a/algorithms/neat/pipeline.py +++ b/algorithms/neat/pipeline.py @@ -7,7 +7,7 @@ import numpy as np from .species import SpeciesController from .genome import expand, expand_single from .function_factory import FunctionFactory - +from .genome.genome import count class Pipeline: """ diff --git a/examples/__pycache__/__init__.cpython-311.pyc b/examples/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c75c8b130a98242b3239f8577af727aad5e7f4b6 GIT binary patch literal 143 zcmZ3^%ge<81dh96Qb6=$5CH>>P{wCAAY(d13PUi1CZpd&ryk0@&FAkgB{FKt1RJ$Tppcas!#r#0x12ZEd N;|B&9QN#=s0|4Ws9%ujn literal 0 HcmV?d00001 diff --git a/examples/__pycache__/time_utils.cpython-311.pyc b/examples/__pycache__/time_utils.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4b8c3ab800c9a1c48f3878fffa84d4d851f49b79 GIT binary patch literal 1827 zcmbtU&1)M+6rb5IeeGIWyLQqxiPbuekpmVj#JG?K3QkI)aY}rO32`>swX1X`ExRMz zEh|vK;8ifK8&d2-4>}Y##XaPlv;P3g2)qm!0;PxERNRBfsc+W$uxyteIs3`t;RLU!6=Y*q$3@hXoiiPiF4cxhmU0Z46h41zl>)D z9Z#c__$OO9mBKVUP3&xb{dYW1Z)uA0}F!tL0Crww{_@on{R?}tF0(;E>~?O)0Q&QZHEzuDq$C8k&A!E z-{KMv>sX+t+R1e!(lP1Ql>`#&=pIWg?sBg18{UMdw%U=E#7gu@$`z}jmeui5=Qbg~ zt#*#p@NsR6SEAik80AO)pU3WeFmi?Jv20uWo;=HvREazpaHVQcULC6=R*C5RiQJ`1 zteha{I+m_SLG}I!Jk=GtEfu403 zu~|J)$#RHB94bx+L)0nQWcElDv*3?uO~UgAS~BCpDxynjCVWAvw}r|c&Np356|Uno0? z@mgZMo*4H;KX$%>_{c}TtnSGdcI68j_iOTKT^`+&$9LuNm!+C~vo7D<37*$y8`b2A zx;(KXPx$JkJ#}PP9jU3Qx|;GNKlV-oVesDn?)rmg52|-w-mUdd)cYsATYl`V1`;C4 zeOX<*Qn|f)+k^gx+P{{q_SMwkx;hLimE;T6PpIpmXQ2)0`}p(tTD-x7G*AWb7c=^s zK}U8LJ3Kr*OZ+qVVjIO*-kz~oha`>HUR4sCyk0e^)Gx7qD#zsDfS;C%*{0UQzF zA+)4D1dR4{e@gob2-)rCTmyj3;Ttx%KC!QX{u@S-td>7NfQ2Zif*tH(#zq*hDBgsx=L&k!G;Y`_n6kUk`4j-o3}YX~%R%?ixt;FEM@l*94QT+Y K4fHP%Z1fK List[float]: -# """ -# :param forward_func: (4: batch, 2: input size) -> (pop_size, 4: batch, 1: output size) -# :return: -# """ -# outs = forward_func(xor_inputs) -# outs = jax.device_get(outs) -# fitnesses = 4 - np.sum((outs - xor_outputs) ** 2, axis=(1, 2)) -# return fitnesses.tolist() # returns a list - - # @using_cprofile @partial(using_cprofile, root_abs_path='/mnt/e/neat-jax/', replace_pattern="/mnt/e/neat-jax/") def main(): config = Configer.load_config() - # config.neat.population.pop_size = 50 problem = Xor() - # problem = Sin() - # problem = DIY(func=lambda x: (np.sin(x) + np.exp(x) - x ** 2) / (np.cos(x) + np.sqrt(x)) - np.log(x + 1)) problem.refactor_config(config) pipeline = Pipeline(config, seed=0) - best_nodes, best_connections = pipeline.auto_run(problem.evaluate) - # print(best_nodes, best_connections) - # func = pipeline.function_factory.ask_batch_forward(best_nodes, best_connections) - # problem.print(func) + pipeline.auto_run(problem.evaluate) if __name__ == '__main__': diff --git a/problems/__pycache__/__init__.cpython-311.pyc b/problems/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f4a7c819ba643a76b9df2429e7392130de0efee4 GIT binary patch literal 264 zcmZ3^%ge<81p9Zzqyz)$#~=<2FhLogm4J-t3@HpLj5!Rsj8Tk?AU0DDQwW4+2GY#I z44N!28G#Bl8E>%%6y+!7q~-#dj9Px0EVtMTAOc0qKn1r1(n|A^OEUBG;?puqN;31( zZ!xD==B{M;46^T+l74PpiGGTHUTR`VVue0bXR&^Kd}dx|NqoFsLFF$Fo80`A(wtPg pB5t4-kgdh0K;i>4BO~Jt2AK<}=mvxQ1sJ-)Aans06>$P}0sw#kMKAyW literal 0 HcmV?d00001 diff --git a/problems/__pycache__/problem.cpython-311.pyc b/problems/__pycache__/problem.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c891c7e94b94830c7ba8ab8e7926c694a985061b GIT binary patch literal 1191 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 JvB!|`;4g5LW(WWP literal 0 HcmV?d00001 diff --git a/problems/function_fitting/__pycache__/sin.cpython-311.pyc b/problems/function_fitting/__pycache__/sin.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0ef7d2e975c070b5e7c177d9b7e1bcb6e19603c3 GIT binary patch literal 1361 zcmbVLL1@!Z7=ABF+pJv?rYqehSYaI1n{;MN)0(`(96RhV zu|kiEJ4~3Ds#L*)harMj4<1?xSRM=nPrX&@L3Z+gNt3Oh7hlr9-=F;d|9$U&e_qDp zQ3UJLhdV062>sxWze0V`y9nSJQjv-cl*Ou`iiS`Wvm!zC-Iz<&h98Ye|rpsk_; z&~FcA0j=Y#1OyTj7j?6vLTp~}3b-}`mRIW4fchy0`FInNAi(vwD0gl0cR@Dgx&5^& z`G{|uhJ6pARlhxG1JEW~4e|#Y0c}GM1r-&9u^<`Pf=UBy0W;JKBI=;CaikRy*)K#- z`p8ufWI%QhQwLp*KpRGM^eCqeuo1X>u>c+eP%H2NAJcKP75>$E6B&ols7p`Fl(-%S<+O(=ID{jR|F)h5ON>t(z=N z6>CMKEL6616aMTR zrch-)Q})Kv&J_CNN($b*W`J$F{J`Qp+!%(zoAx>Q$=T1r{N6(C@rkNbJJFsvU6mX; z*&ZDOH+qmrK3Us4yLa>L$eYm@%kQN3(N@3}F$%-Q@P5+ z#8wgt*nAeQT70Z6K6r-H*c~hAjSRx}2|( z7sZtv%9p*3T(Qo9%O%=5FkKO2+(si!|Nf39n}c^ZEMqS7@3t9D{d8ab`bU7P;ScW| BCZzxX literal 0 HcmV?d00001 diff --git a/problems/function_fitting/__pycache__/xor.cpython-311.pyc b/problems/function_fitting/__pycache__/xor.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fb01805c79b492d87e3d051b4a247cd42ca2b538 GIT binary patch literal 1313 zcmb7CO=uHA6rS0?Y|}=G)HPVK1--;WgDrR{q6Q>_haxQn4Z^y~ZqkI!CeBWvEj{#5 zFhY-t9z5g}Bk_=9kct-t4}x0>7#0MsR4Xxp{0O2{8zgs3*7TsSV0F1?c5l)|C;Egwt>fa)r11+%EdC>fXh%(>NDhfW* z1zpHGs_yCpL3;=y+k#VH>fMx)rvt} zS%p9as;V#nf^C>NcT82Yre@o!YO}mETL-g=l0_4G!ZI|fttBeMQL_`d(Fm%!;S46$ z%4D{(PA0)^V*`2b^^$+CzhNCR)DN9{t2^_|K2fnV=mz$TH7uvXKJJa)T=XMty zCAFudx=PA3lp~KrJE5;~?28uQh_DA8{Q@rH(FdWD8ojKhI^by&hRG6O0jXJ8VA2noPIYlEIuJW}w_khR+}~e#z_S=9TED=;x&-mLyi_mzHGa6zj*w xXXa&=#K-FuRQ}?y$<0qG%}KQ@;sB}#8Cxt1Bt9@RGBVy^khy>j6|n(T003YMEua7Z literal 0 HcmV?d00001 diff --git a/utils/__pycache__/config.cpython-311.pyc b/utils/__pycache__/config.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8ba153876cf4bb1b4de9018090045675ad31d01f GIT binary patch literal 5764 zcmb7IU2GKB6~41G`{&v9u5H%E2CT(^VdKAm4HWD&7#u?&n5alJxM^0Cov~T7JL}BM zVzXUKR>i|MvJ?`b+Rcx$idrzGt$0W!R3&PV`q0N+Ya~`zwS-jVAup8?sf6;>bMNfV z&)N>jo%Qj|x#ymH=brDJd(PYm1{)Bxk-xtw{+mbWKjfj-xa!T*QMg$`A`+PtnlSz| z6AXQJO}Ipt$fnpdH^DK;g-#=pyMaXaZ5KlK;Lm6iZjrf&VxDivGEPg*yYi^$*&qmvyvsQg?1^hU z7wPL4rAZ;1(&7oaJ$=(^Mvi&0E2Cm=M$oQcub5P1AuVCA@U}`hzIc2xnUdmh%uQ#K zGH#96wl*G5WdyORD#l_qky5dDMo{9Q1h+V+iW6lj*{*0b`rWSnw5;`u{jwxz!d!n= zOQzKR>Y8S*<49GtQ$?<$Hgn&m{eDocUI4OyzHZ)jYyVRJ2mOES{KNh`{h#&!?LfJ6 zNbejfHxKL0!v*hJNA%;VPg5VJR*sei&y_n~(>q=(`F2!7&5uIS)ljswd$1fjtcMPl ze21TcN|dmpg6uiP(TiYNz>#TR*!c}sI*jJQFN-!AqR(h~*XC$*V%=%Wc^14KE+-Zk zB=dXFL8NlCt~vHHnq?St88LAAk>;(<2RN@q5|n4_^m6j9JxHT5$dKQQlrV#|pfy^o z8}l1x78$c?Axmo7#DAU>Ip;b7iSBXCC>Z4$UzM*3siYV+439Y_lhI;+%w=XISs}Ax zzaj}@Dk)2VPl8qKCXiEc!zCe=m0nSljDr2I%q655Et!!O@^08asbtas!GsobD`Zue zHzuGE#LOh-G-*!5%(P1U4B!}zD$PVL=sSgOIULo)(ZWb!qjVSpjDY1>E_df3%|60r$;xFevVPOu6$ zOAvBK(XSHoY@W?C*BB*gcM2=GicFsU2#Kz|Yua?EkI*Na6N(I4?6QM452M;(7Na@B zD`>HfHl-5+;ugWvt|9NTKRE#kbBiJZn6l%!=ATPqRu%&O*sTMKW$6)bhU zdVc^2{2q*ban86ahtKNav!(FaN_aZ}ZnSf<)7W<@VFixFNMdSt@GBz$~IVz16yW*H4=|J1K7GivE>461)O*w z)*J>6i_Lb-Ib}2xZKy7AQq0(TK~c3iH9QA1uM^DNWyWKy5`*!E@!Rdj&!lHkk|tHH zu5^P`omrc}tWK$1yWO77zD}Yb3xpVQH!F8OxsCOK^>A9)C z&u?k7GltFft%mm%<@*=)u4505e6{C`p>p`N9zI8i8<|@^rY@dS2@EP;Gk#TdRMvnYyd)_E(KKl{p^nIoKhijSo5$oJS ztC_l4Yjf-cyX9V(BY)Ihn4_%uzGp9bfB34m+zWF?Yn{YTXnf_yF)O4}v1aU5lT+zT zQiOw9kgs4CLMV1m30W0lt0JYcm?eZuQK}N^Q!|s=Oe(8lUs9B0Eva3{-b6}B&qyL> zlkzpprZQ77Zf*u9d0WNo6+y!u^_{GsNSI4x-XT1v@iz*=Juo| zF)2VuPfG$xk2#X2Vs1*3CEOq+wB$8`q#M|qp=pOoJsy;33g(5WDMgy1{V^8}>`E^n zR3!+nl5wJfhpmVJkHAE{L>F7Wp0zI`R%zDg)k2!2nF^;dX1 zXAx_i*QA{Nv&#vic~-OK*m?Nm=v`>8C4;9E_TlYFW%Jcday)Lfu9=Rp8d3Hhf_@Q4V(M!A=s-+KWOZ5Pa|S zyQgoC{`UOh`NDY;>)L4-C8Q#3Cl#TMXZ6qXF*MU0yf%3=p%6Fq&zX z$4!bALd{Of3RinccIt7TvG)SY=nc5Zxk9Kpma=xzu|YTZa*db*gwa9!SvPDo5VNbs zpj_k4$xFvP6op0*BXJ8psbw_sHNpsPbYmugZ*A6hzG1@xKU1zi2l-H>%0K`f3{ye; m0=+88zd)}F3N6s-j$(zuO4_ literal 0 HcmV?d00001 diff --git a/utils/__pycache__/dotdict.cpython-311.pyc b/utils/__pycache__/dotdict.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..692ddce2d0adfc408dd951664209250520b4aa98 GIT binary patch literal 3080 zcmb_eTTdHD6rS0Ov5k!ZL%1cCNg%|b394FEq9IjN2#H!1sRBinOS3Ybf!G*3on3OV z7Kv70~Q+@GW5w|0GI29$Dh-!)wlnqIx@o~mSHKZ_` zPz}fAb?fg^lt?_Rs*0lW)&Qj0?KgU+5?T-GNzkwszR@$SMdNA@NooX^ar){_#>r0A zmezH;JPbFP`X<23SyXT~e<#mZEmY;5%_|)_XE1vlp!gP=+R{?`(!3`P&lbp|3Tn93 zxUX#823Uq=X5qg-RWd$kgNzPiRjx!Ab%_U# zg^SQu%Jcuuxk+#-KFe@29xNf+64EOqWLpA)R%yhqbdg6z2v#F(nvNLqU^uSQK|>l! zCMX0dcT|lgR4tr{P($MJ#*m{Lol=<}=4-gdS#nC@)eu<4NL)2ADMmFXgeR-P5GUzP z)(X<90|0hCBx~cdPAI49%7>|~>M)o63t$#K^R=wB-yK=^9nJfW@@?K&@HeC{Zu$>p z-p*)?y-U4mXQ8$2*RG$tehS_RnyA`Ug!zxs{h7u>edBWQc5tzKsXN{O6m)g|-mvaF zp7$L$k;@w_1dcuM-t#`Be+;h&dh>zajB~}m=*@UH1D(Ze!QZyhzjQV`xZytu!`B51 z9VapuSB4iqDYsnM@OSf;lZB38Wy}6PFAKh=w9oSYpque+X1En)DoLi}5P=MjqI@|W zj+f#QkLj$LLmP)9T)Nu28cb2`N|IRY8Q#)$AwuJExL9B-s;T^b@+t?d&U>;eB=%ihLgGJpfb0 z7@Ll642#+iY4U>C{=3sOijm|=r#8eE6M1mUrnhFZu70!DpZU}jg{B%)mTTO=DuC?t zJ4^&H`?1-8+;xAuS~py+D`y@$)?Gb$SI_K+1<5sgK7DkdW1)ND)VkE1mzs0s*K7gp J))3Yj{sZ~6uE+oY literal 0 HcmV?d00001 diff --git a/utils/default_config.json b/utils/default_config.json index 66492b1..993b080 100644 --- a/utils/default_config.json +++ b/utils/default_config.json @@ -57,9 +57,9 @@ "compatibility_weight_coefficient": 0.5, "single_structural_mutation": "False", "conn_add_prob": 0.5, - "conn_delete_prob": 0.5, + "conn_delete_prob": 0, "node_add_prob": 0.2, - "node_delete_prob": 0.2 + "node_delete_prob": 0 }, "species": { "compatibility_threshold": 2.5,