From fc012bb2c465eb7546955e2229528c95fc0ed4be Mon Sep 17 00:00:00 2001 From: ertosns Date: Tue, 4 Jul 2023 22:08:11 +0300 Subject: [PATCH] [research/lotterysim] update cascade report with pi vs pid, and pi scripts --- .../lotterysim/acc_vs_staked_ratio.py | 4 +- .../lotterysim/acc_vs_staked_ratio_pi.py | 41 +++++ .../research/lotterysim/discrete_instance.py | 3 +- .../lotterysim/img/apr_distribution.png | Bin 23109 -> 24113 bytes .../img/feedback_history_processed.png | Bin 15636 -> 15203 bytes .../img/output_history_processed.png | Bin 23175 -> 21940 bytes script/research/lotterysim/img/stake.png | Bin 18126 -> 21779 bytes script/research/lotterysim/img/stake_pi.png | Bin 0 -> 18448 bytes .../primary_discrete_auto_crawler_pi.py | 163 ++++++++++++++++++ .../research/lotterysim/reports/cascade.aux | 3 +- .../research/lotterysim/reports/cascade.log | 55 ++++-- .../research/lotterysim/reports/cascade.pdf | Bin 188489 -> 189605 bytes .../research/lotterysim/reports/cascade.tex | 4 + .../research/lotterysim/reports/stake_pi.png | Bin 0 -> 19336 bytes .../secondary_discrete_auto_crawler.py | 14 +- .../secondary_discrete_auto_crawler_pi.py | 136 +++++++++++++++ 16 files changed, 393 insertions(+), 30 deletions(-) create mode 100644 script/research/lotterysim/acc_vs_staked_ratio_pi.py create mode 100644 script/research/lotterysim/img/stake_pi.png create mode 100644 script/research/lotterysim/primary_discrete_auto_crawler_pi.py create mode 100644 script/research/lotterysim/reports/stake_pi.png create mode 100644 script/research/lotterysim/secondary_discrete_auto_crawler_pi.py diff --git a/script/research/lotterysim/acc_vs_staked_ratio.py b/script/research/lotterysim/acc_vs_staked_ratio.py index 987b1a976..e65392ef1 100644 --- a/script/research/lotterysim/acc_vs_staked_ratio.py +++ b/script/research/lotterysim/acc_vs_staked_ratio.py @@ -30,12 +30,12 @@ for nodes in numpy.linspace(1,NODES, 10): effective_airdrop*=float(staked_ratio) stake_portion = effective_airdrop/airdrop*100 print("network airdrop: {}, staked token: {}/{}% on {} nodes".format(airdrop, effective_airdrop, stake_portion, len(darkies))) - avg_acc = sum(accs)/EXPS*100 + avg_acc = sum(accs)/EXPS plot+=[(stake_portion, avg_acc)] plt.plot([x[0] for x in plot], [x[1] for x in plot]) plt.xlabel('drk staked %') plt.ylabel('accuracy %') -plt.savefig('img'+os.sep+'stake.png') +plt.savefig('img'+os.sep+'stake_pid.png') plt.show() diff --git a/script/research/lotterysim/acc_vs_staked_ratio_pi.py b/script/research/lotterysim/acc_vs_staked_ratio_pi.py new file mode 100644 index 000000000..8fced640f --- /dev/null +++ b/script/research/lotterysim/acc_vs_staked_ratio_pi.py @@ -0,0 +1,41 @@ +from core.lottery import * +import os +import numpy +from matplotlib import pyplot as plt + +os.system("rm log/f_output.hist; rm log/f_feedback.hist") + +RUNNING_TIME = int(input("running time:")) +ERC20DRK=2.1*10**9 +NODES=1000 +plot = [] +EXPS=10 +for nodes in numpy.concatenate((numpy.array([1,5]), numpy.linspace(10,NODES, 10))): + accs = [] + for _ in range(EXPS): + darkies = [] + egalitarian = ERC20DRK/NODES + darkies += [ Darkie(random.gauss(egalitarian, egalitarian*0.1), strategy=random_strategy(EPOCH_LENGTH)) for id in range(int(nodes)) ] + #darkies += [Darkie() for _ in range(NODES*2)] + airdrop = ERC20DRK + dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.0104, ki=-0.0366, kd=0.0384, r_kp=-2.53, r_ki=29.5, r_kd=53.77) + #dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.0104, ki=-0.0366, kd=0, r_kp=-2.53, r_ki=29.5, r_kd=0) + for darkie in darkies: + dt.add_darkie(darkie) + acc, apy, reward, staked_ratio, apr = dt.background(rand_running_time=False) + accs += [acc] + effective_airdrop = 0 + for darkie in darkies: + effective_airdrop+=darkie.stake + effective_airdrop*=float(staked_ratio) + stake_portion = effective_airdrop/airdrop*100 + print("network airdrop: {}, staked token: {}/{}% on {} nodes".format(airdrop, effective_airdrop, stake_portion, len(darkies))) + avg_acc = sum(accs)/EXPS + plot+=[(stake_portion, avg_acc)] + + +plt.plot([x[0] for x in plot], [x[1] for x in plot]) +plt.xlabel('drk staked %') +plt.ylabel('accuracy %') +plt.savefig('img'+os.sep+'stake_pi.png') +plt.show() diff --git a/script/research/lotterysim/discrete_instance.py b/script/research/lotterysim/discrete_instance.py index 453965f91..d4528549f 100644 --- a/script/research/lotterysim/discrete_instance.py +++ b/script/research/lotterysim/discrete_instance.py @@ -28,7 +28,8 @@ if __name__ == "__main__": effective_airdrop+=darkie.stake print("network airdrop: {}, staked token: {}/{}% on {} nodes".format(airdrop, effective_airdrop, effective_airdrop/airdrop*100, len(darkies))) #dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.010399999999938556, ki=-0.0365999996461878, kd=0.03840000000000491, r_kp=-2.53, r_ki=29.5, r_kd=53.77) - dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.010399999999938556, ki=-0.0365999996461878, kd=0.03840000000000491, r_kp=-0.63, r_ki=3.35, r_kd=-1.11) + #dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.010399999999938556, ki=-0.0365999996461878, kd=0.03840000000000491, r_kp=-0.63, r_ki=3.35, r_kd=-1.11) + dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.010399999999938556, ki=-0.0365999996461878, kd=0, r_kp=-0.63, r_ki=3.35, r_kd=0) for darkie in darkies: dt.add_darkie(darkie) acc, avg_apy, avg_reward, stake_ratio, avg_apr = dt.background(rand_running_time=False) diff --git a/script/research/lotterysim/img/apr_distribution.png b/script/research/lotterysim/img/apr_distribution.png index 373785413a37abd81a286cef1736278c64468428..5907238b3fce4bf3b041c55c039aba0408e7b982 100644 GIT binary patch literal 24113 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 literal 23109 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 diff --git a/script/research/lotterysim/img/feedback_history_processed.png b/script/research/lotterysim/img/feedback_history_processed.png index 0e74ca38bbfc032deeeae287984ee7b373087f45..818af4c6717181ad66a2ea20c254acbecb65cfc4 100644 GIT binary patch literal 15203 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 L^5R9$4c`7Y>wP7u diff --git a/script/research/lotterysim/img/output_history_processed.png b/script/research/lotterysim/img/output_history_processed.png index c6da40c3ffd481141a4dab05d8b5b7231b40248f..c9a864f4e101084dd177fe2cd41c3048d70c1954 100644 GIT binary patch literal 21940 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

L91Vlh zYkZNS>U0Ae9VxZJgU@X7@26R2u`)V`_v2{-i<>osSuB;e} zUGC)MwAXyTY<@YIHscWt53&Dujrg@VTk+dZS_*T3DoDhZ(Lt`(({d=-wAkch22PK? zb=vC!_}G3wptj&AYTEJRRLC+qK5I%BRJR*>Ku8f+7gU8xtWcN{51AxLdtczgWrtD# zvSGgKe#Ay@A@%iGq=gM=5@}C@iuUmE=-Nk(lUm2zJjDB%dhT%+R#y5%hIRtwPRS(V zmgdo#s&O3TGRnl*h#ypFKTM6)PBYalucW*wt~Keqrq43;^98ld2S_b#(XD{)GnSsK zj7~ST6gY_hu`#B$l~SlJxwc$Xw*ldyjBe-v1*w4znp2H+GU&g#s2qs=`XM=!V>yiC zhx+Q?Ux>$UM(9ZO7$2Y-L9c*)QHRpX)uZw^#l*z)a!$R_(K=M5UtBf1Ao)kqB77-` z{P-%Gi@4Pwk=n{VMfH5vWfUAK;nn_+cDO@8m)p%Uv||C%>QLT&pu jRpR@^|2?@gWqRJm(CyW{ABzoeQ*st&HoJ;;9Q*0-0+5-T literal 23175 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 diff --git a/script/research/lotterysim/img/stake.png b/script/research/lotterysim/img/stake.png index 723d8628785c55a8f48e62fc9a3cccd98c301e23..c427f19a530f058c9b61fe50bbdfe7962f4a2fe1 100644 GIT binary patch literal 21779 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 diff --git a/script/research/lotterysim/img/stake_pi.png b/script/research/lotterysim/img/stake_pi.png new file mode 100644 index 0000000000000000000000000000000000000000..0ff1aeb78e4420b92566616fc10193a044618e26 GIT binary patch literal 18448 zcmeIaWmr{hyEZxiF;GFJlr#VdL6Hz2a<4F_dwBM0Xvc7}-T69*d$YX=L{rx%?J?d(mht$4TuxVW!f zG;wgSu@}02-SVF|a9P_KU+*V5?h7wDVe?Sa9zn>SpnnL`#8OQWMAB30{v8#U==nic z7nSw+x@G4)S*pAQcucjRlrIp!nB-@W3y-D~8v8T9VCxJG`oW+iqq!uLl6PspZC?&^lK z*CbsOcinMljc85l4E%+dXj6#8UySz%jv&Yq_y7OH|2Jbm{@4+bpKuT=G;U?^@%3#o z%Gabnh9J=d2L6qWjiK+}T@(`=raPI4@YlqOxOXMXP~!{`1Y`dWi_Q7=?LN*x;|1Z* zQ=_A!!7~R05ANUBh=%1E{idTs$#J@)c3ot_j}_D0X7f|v^5qwV#}SP0^7yoNrRxYS zf>iq|A_NHHaf!MdsJN=mq{k+E4QC_Y5dCXALP}V`ePFh}uP>*>!eGRXv zxUnwJ#V=o94f#Rykv@NJi72NJQ+snF+mCA)<~ear6;zBDGR?QIPDK)&n4x666xD3> zL}^h1UA9?P{grkV*a}JbbkNF%dP%tC>mxIbmCKQW7w_C_@e9W?Cg*UX9T&&3vS)Q1 zqn(i%uG3}C9{=*(t1MGJnq@=2?fU{fB}MhEbjtv=0a}k5MzuT(O2rqA7ZoRph;F8M zl~!S8uawoAbYNQGnar$Y3Cz4#|s~F zt9zjF?!56!bn=64t0*RN`WQB{T~n1)jDRPneZSsR?GlXC5xXoXE;4qxi$_#PGZJlvC}#wo%x(hABN)`|8krDrL!V{O+TNwMb#vVW^5+o!_Wg_2M`mtUs{cdEVGbR~ca9pmfyNy1fsbmx8#rGeWXj zOUW~V93Jm4J(naM>~8HeKi_L^Jc&DR8RYE<_gr+xV1HeHSvcGFL^qf!QQ!aJ=o04u z=~xr`JmM`T%NWKk)i|i0{Un{9g1RAwXGHJt-MLs&X%&lCy2Q+?Zq9>NxH04^+O@W? zFNpRWC%tosIe6q@fD;*->A{?pG(snWR)z zRkzo3yt9&JK4g@YX^qtf_1L$Hr2hP=aZ;H`ydOG6B7-Yf6;ECvQ!|_VA|0lN=jSq! zBpFyvv^brk-lOSm!t;GtenVW0_}DgwV4M6Gf_)OwwGXiGy!ac8Zm*0WIr=%!a`TP3-tEn*gRJ6VFYWj5-pkF4jvF zxbHFNu9Jgypt`DZB@`icUS8=S`{4}3ifv=#b#5*_R@u%=F*sD!l%%G zGnqDpa|#{ou7*WKr2BD|P5F!F6cngHyV%*-6z|`^Z!U2R!@|e+ws>r${i}0s!bIpI z*-}2+C(plvg#93C&Z*sr0b)i={iF!D$7^Xp*e zlth>LdqiPfmmW#A$4kE@RaA0FE4%N@&L*U?{Qi=E0)gmv+{uv?*(hF%pEqD3r0bSD zX%$&SxUJ75&&^p76BDzsvuCt#fBN)^{n|C*>B(lSnEvWSv-x-z;vp*&_=}GMKGVZ2 zq;mGlbISr|MA%22x|%`6jrI0zZDwX>x5*f1hbGQq)+<-WqQ$Hi21+A&j00y~O-<9w z9Hu+YDH6DprbsN)F!=u>FfrHDMP9ym5gH!OB1OY%@~(1gf_4v9CVss~KPNJhhLW0E zfQI-QJG+vO&VZCyt5tE6RdKPC1;X&{d}7{=P?$=0#&4S}Qq}IXxROTI1*hmyR=v0? z**EjF()5Wgh}H*a+t{rbIaPIa^R~DZk&4jfz2hZK*`nUf6UG&Za@weEC+QrJq$&mP8IzDGz&ec>xB15!Lu zNNlq>R8h7y5v8i25cmE2!}Zx7c}DNuPh915H>En1HG1e$Pn$isW)`uE^HCZ-Ys=`;vl^W{TZGG5+~mk`o!;3^ZwJ@5CSY94*!J zJ9R?ECeHh$r3g|WiY+63EHfr_w>n)FFBHgT#h0DeeM6|n#-*^}Nz9d|#*CTBb$7@* zZ%>^NQW}_%(YpW8^NkIT8ZBfj8L#*FhObQ_UJIR zw-*_ZV#Db!#N2jsS)a=5s3{bxv8Rjty=ZJ7R`|Lm^}Q_JU6G=J2R>avKZ&<@3J3H7 zMEMXNcR6F=&u&Jy?yJmU9u#ra8NQsf@^jKL`?7lPj}W@MgnLoZ)RRJ=-F~bZ^q3lx zJ?14v1^|NPiVwb*38bU9H1|-d`Sjs}ZF9`+yv*ziHMaawf#LZuWDF4p-7ZWEA8XPj zCFWta49P~Ajv-4_6ykBGA!N>MPpZ%EyqFl26k@Gz+e^t zioZH`?0ZlM9a251h&<i>I#o z9>OHTUz+13#HvUT4HZu=GAt@i>uPRUNvhJt3Lz#%VIMN@FWTcKM1`cOdK!hY!D~&5 z={iG4kjHG5J{bNbuMLKIF44@7PENW4tnD*`P*X?}9MOuXF-U>34RDjv`Ns)f=^@GV?@vA7XxwiRBnk}uUMnW_bE#z;UzI5a*g zifua^4!b0Od!-3b8&d~YPxe<<-8~p8kqqX2*)E1)XcG`Z&bcksQac*cM?rxzF=tHC zj>w5aw-ug9g$*_IF-t}Au{8hUMG#(ql?8EC-j%Y2q=}a%ADAz>wyV_>AaQ6+IxlZHeg>+^W7GE6?m>D`8(r60eGbRM%ct@>W!`P(lQg8mK z=3n=r5}-q`%XH5vn5xE<)x9$HSQG@Df!IjH+amx=Z0}62CwfC48;66?w!0@Hgw1Pm z-CXk=IJLXaa#>DKSsXSV;5YBRn40uSb^P##W#9K~5|R-yHUzUX)=y&cnoNL-^AU ze|cZ(Eui!B0e#IpRVo28G6%~yKQu-^^LjCZ0tPGFDdAKoM2aBBFw)VZx)uyrvyY)?M!!HtWdA+#??o7?T&#w8Ee}4H%G%bE!mFsEs+}Tj|@c3L8NRJyB&`C~-6>RX{-`$E7u-3y( z`nbE^vM-0=ik1;F?oN5=tTs=q`(hT$X1P57jQVPo+9jVOCzmf>Xp6tcETvs+Wx28r zc{3v^>D&7E)>iA~&oG=m|t<3>-EGoy~jm45j7e)up8y zO@~8bVmPJV1_fEKIF=7`mB;K$E$iq?K=}7m{fF4n0H^})XclT zSaneOwWdZ@LxWWcva-s!6!pJ48EODP#oD!t!NFk<%!xylUT(qGx z@Q;^G)&UMTqxZ_S4Lg=E357x#nRRDYvxsyA%C z=lSR5glCZHHKU>S42Pf}xa>G|$8cUS>7uvT-ml}tE!1f!Pi>WWk@oblW zqCv5M6h8ZHVvxD<&lBvfMaSCvt3xMg5XAZp-0Q+s;k7W#w?`h@b*by{ZU&Nz7fok} z?DmEyw)=@&&c_(p!p&OL#An{Ec}QgYzpsm7#4*^89>!HwMPzi&02+iNb|B%Nr4av9@S*aDvTBy{9{CkM z;jEW=b9|;%I$Y4tXaTXey6Cw;Pv;day%N?IfG9U>ll8G$2)Cm$!m; z3Qe8g0EThwU!p+2@EGkv-HWhw`-2ox2rU}#&=i^r#kJ@q^ZGkk4Y$+8y`xeBo~=Rh z>W7b>XwAyR?g+R(PWW}@9-5mmg>cnvc%BWv!s$M49Fh_wcNne16Opg8oIlcF+2vV( zR(ksN@aA>6*{pw4eQKC?^I@>j4Hzv96UoKT1FJZ@ao&!P4D|ThmpahFEdfs8v)X^n zwk2e6wOdSdI7Q31{avWZY0>L_hj*Wb>mBiLX(}p>QkhIy>>&l1ydpfFv(};B?^x0u zKXl?O4Zb1~ooE{l3UQa1l^LOmUA&VN^xT3!s_;2n=RvPCn>(dJjqoqIcEkx9&8}KV zy0^C~EVb^ux3p;h!+{xt*;EBAknCxQm;UQicM?Gix`i;>3CLITu3OP=UaE(?bS@(f z*>@#E+9)b7jq-^OXvFQl^rfVyN}}a@bQl7yn#@m*>~5_(j`~ou3k&PS2sw5nNri-l zgmjw3WMr^6NAk(g3pps1JI(V#DFV4hGxU7(r~{42hf398hk9l*UnbrcoP{KTD&LHw~rpMXiS`J!iVo zLvG%@$!qufVOVHrnn8V_R^GEWUfZ2m>EI%Z-h|awG5v^$h_a~!Ke?TVFj%)foE zH{TKByTB}ujI=b9RD1jS=Bwt$MkVN6T>$N*R;qDpELvC@85xCO6?Jv9IyyQe$TY6= zY-0F-Q#Ub;r1ty%4KRzTfw7g+DtF2{O2#nfwm%VNZC3O8G|7n*@0kYOX0vES+zMh{ zCnD^(J^npsGD-RP_&|DBQc+P!bTlw9fGqLz_vDYi>)qR_r%XgzlY6jR?lnHTUEBj! zXb2m?YWpK{SW(^0A@>}14i081D4+4<^1|`a(R7x51yU!exl}e623xmQjbX}~qXf*S zJCd6lZ#ggMz=)PGY;A2dZwvG4J9&Mo{8^??;KeUX+lxn6yvvbdR*ZRfrXr+Uu96W# z&!sQN+?H#p3%&N-bUl`9X}F)ha+>c;1{xx|(|FjiM|XRvhOE$TT$-7Mr7XO@wl+N_ zMWVL0HlX|ZVZq#4OqSn2|MsuHOx7@kvD%v66N}#nV#0ok9>!>wqs4+p<`x%ojxo51 z_vkvu82$JdpPPF_WM?j4`r$*t$yVOFsfF^z?mWY$(Ae1Q(9k;jnxm&_lB%o4IrS?C z9A8NNX93M;?%u}l#me4!b(pfjD8$I$2;EOS<5X8Lr^}q?GlInSHG1^ivm^rP(uq$} zMWchmCzDgL5s6mKOG`GCR8$$cxeC5yjNwcVBqU}6Z!fe(-?A@&-WeJiP8aoCb>=>) zX_-3pSi`y<;HCOnpt4q~4T_{jZVe7aN?*Kuxjuu-kq!>OuAg1LSgEb9 z?^(FNmMW$hUBI1vYY?qaUPDEIw1jKZ5iWFRMd`VW67Rtp z&?+!_9~?qE+{hs)sNuak#>gps%z3r-`ihG3WEZiNB2DBuOSEJV4%DWorq=gRIbozDe8dV!+p91-kyLO>khCgB?7)El5mfi^`+DVbu~#t=j}){|dVZf2`ul+iHDa6b#xONW46U7D z02M>&e1E}NU8p$@!((i77Rd;ux=wsomx{>tRAOUmYq1dNz&CGxN|T-E(g1bLX5KL! zHg$O*16dfV&~_el{4nG?N$)t{r-~Av+SV1xz%=0!zg(_6FXH@cZL!EtnZn4~kAoUY zmv(rn?%OvLARrrCTDl|o%)2VwotvX?DFe>l#^-n?pQh#4pg(JQO~e>md7V{N<6V_i zso>U{HG&|i<7&i98q_*A&nH@9aODeSGUMap=$7U)X}cJ3p8M{w*G?9Gx$P+Acc*cv zyaTA2IoNr>qxs$CSTP3%NWVimZ9Gh!9iTnR_r!W`XhOa)o$bz&mXqs-C}8aPsNi|d zDk-~p{Uze9ooVV1Nr#1Z&ZruB#zN(eRmE~0?ajKWs{PrjwLfD)IC-pSc2CXMufW&t zK7ejerQFvx{kY>iIC9_d?eQXXl@HaxxH=DerW(h(N`zdM4 zmtq~+&Tr!ouUj|&4qcSR?3ktx*Tv?A2nYyh_{>yjlb(kGM8)nn%N`tIc068q_}1F2 z38V$W>vgCwPBiIzEI-(rmiNxPcsBE0d5+FOaj8NuuYp4(iddFJtyB@L_rB};T<_|u z@e23N?t}+^*B&0>xF+2i#@$h}YJk7OHE>EY`T%3({3J#noMqz8)Z@tw;Bg@d)e zg%*2ODD?ZWM})-jm8cTTbtL;$0=rBe?hWK|^w#W^{YtZ_nP>^>RHrs#srkc%uWpA6 z5eJGi1+B1P63W&(WSH^T^L7V&o3lMt`-QdBZGHa^Ld9{mI6{|U&&_GrSdq8vQ)c(8 zzI^%OHuC%!FT{So&iKNLHN)5pvzQs|`Sej!dbD1~^yFPI@W)>YRM*qXhEhfE(xpo? z-C6xoIVVgCK{13#2!+yp;1AX6mrasY3u#2XeHt@n*LJ;6cl;T$Rg)w{T-YFxSRBc{ z17N}d@P-yWk>yk&{O|mv>W2X|g4z&~?>FO3Bvt6XfVD z|JQ0G4m6yPhS{aIYyYAE%|aUrAY^z%?do%Xx?4(EukG~hjd>iX3UZqR_Cacy8u9XC zdny2b3ZaWXA*r!D>-$`OLF6!|K)MXTPYuF?C?v{^jErEWy-n|fVnQOKbx1y@kVD)c zadXP~h6BoZ5mp+Uq<#ILBw4j{i7Y`T4%g|+=#{oSRxcC0ySuyAKfK@lOT~l}dr+be zS}H43n|?8={3jH#iPl<9AV-fJG1*?5&OR&dQcTPNRE#WraMD!n#l!5UJ&=M(cf7lF zFEl2`((zP5UMBsqLYBoi!ad7K{$Mm;^hNg55r!v4@EDu5MBjoC*%No?B?T2#_td)A z-nM4wDbDHAEA|Kf!niGo@EiDl61q<$Rz-e{$&x?HpBqXi5GAORgl<`}cy2(X!@sKX z;u4E0*zHLSJ4f!cEdWK#i$D8L`Dd#?e-_4Fi3{U=gqEmz*23c;z52o4dn6}UBt)py zzOhHSZ8OGjSns0*QMEIy7!L??a$DQY0>c9mQf)M``e7WY@9Wm4(uPjFM-yhXG2HZd zGS;0&Bqu9N)zB~*mK6mJjTu`SP}U?^hO3>{`m?PX z7L{Q3_jb&`ydb`+JNcF)Tj9=~=d-p&RYb-Mj96>sfSUA6Z0$52dIg8;(A0{L@Moyi zVA=GidWKF}fx#qB?V{-A9hOHQ<4%yXMBCAq4`!E?luSr`GexPyS#u}pV56JBBqB|v z_~RoDM_{g7V?{XkOQ)x&Q8@0lHWhz?$7l+|3g`aqixq2lC;Dv1H0QgoBpeq_(6sIm zs~v#sFCOe$Cr;L#hXI%ZN&>$$TBE(@tZQ3K87b_Vr=+A58Wn{b-dk{vyz%74O&*@{ z#l_*@?*B>*B}9Bybajl;+czu!2VvPK4itI?$;hXxrVrPtpD+CUl*m=FrX;fbjhu74 z+^S^s=-&iUmDgTqWMl@Y9|82YiyAin0in&?>4vNtBI((0>EN=tpU@0P)yzX3NK`Cz zWX?f|R)mh!m*nJ06ou5**B8$$F7y@RfC4K34KO5|=U)(WR%Ambh!AU=t+Uq`L_8fb zcK6OhK(D4R!5@zcLqRdoG1BNflfHSU-uVswN8`Qwg;pOn!c;jf-P8y<>Tp>62!73y zKvEw?B#1%Mxq8hTbQ;G&$DSCxaoC3s93Wox_VxzPSo3^{iOGt&?VR!Xvknv}ShXCz ztoi<8^R1O}RFQ--gx72LPxwy?too#l*&%PUK-a5!hXCRiWKQga+HfOIEvq9;UC;IF z3e33)tWM)~P4k{?Jj@}V&4{>E2S8h1_=m{uQq9WdW)D<6j?H{MY3`c~Wn+Q2c>x}H z?r%-{FBQJ~2aoG`{A9;E_1}~LT}>7#!3StFE9=y&@#oK<8++ExPqil+`rn$K1&pw) zIaw27D-=ML(i5~l=q2^`?u$rK9274aH82982IB;VJs_vbeBe^e(W|)j@Rj{1k0!lw ziZHf+sTBnSVO60u8@haeGjp6y{_r=#6&P~4XI-^dR6A|Mf+82gy@)P>(=uuxS)tTb zHHx(KJlFAVixrz|^$~;}( zqT5HD93GYKP*vAW#$}f^&YTyNY^9IbaXu`-qRGvmq?fefJGK;MUD*y$OirWHsF@~9 zx4iqseL>pZt=jFUvtGo1dU-9MsiT+=6JmoynZQhz#q3Y+n^sVBG@*B*?-Z~VH)bv( zJH#b|7XUy&>W+c3>jil@8J(a4`V;XRn-s5W|6bD|&HzZ;tcr1IX)yL6mXaK|DW85T zC{g2hkUd48S|B%yMl>Y#7eK$2rt3WerS_^yO24$!baXP&-B&i3*L3aCYvl$pjr2`{ zx%W)Xbbpg$HbPc>nHwl1yCNB=VrQ2(OJxNs@@+r>9+y*TW-Ao^1CnLKC@)Prr-Uc@ z6*Q?Ma)8qwqv_6eOrm0cd$uq4$x9e%hknaqQwSa;r+&Zqx?p0h88)P&?ft7IlN+U1 zM^2!ltfZmwaRDe^oWaPcy;VP9eAg|XUr_x?;^=;<`6- z`+x^;+Cu+3cPvN_*|*rTKgB$!LJc_c;AW!`Zi!%>+OMNF8W+gwU77zINi2BJ%8_bG zWOE=fG?Zd~uv|SpK7M-5W#r`4ppFe|xABh@N=30Clj(Mv3h|$Eyx0|3Z!~B? z2TtDdXYL&~HZ~d|hcpK7U0ay>X&-7mg`VsIy&t;Qw5w!%l2zXZ)WI+M1WpCbtV`K~}uxD>IRLkxfD?cw{OjA)Yi34u$kZBS;216fpj=s6pXV8aR zqLu!_KS<%heJtb@6T|Lwx2cYgPuHBjPp_Xn08t;O|4hU;&Vp za!Y+P^z66{)+3#K@yOlawFYM&a4N1UiLgVcC`2 zX3R`X-;MI8D>jGB*UGph$i#MYe~pb%o;#OdJ61Ohx>W&7X01QBR_;yUk7xgrKaS&r zmt>};DIDzY6+Zs*f<+%qi0j2wd$N91oE;Ed0U@RUM8yHd4G7U%TxHxe?_41B3M;_r>Ygv{oif zY2oe*-v_GF?*&uPQ$0iZw6?y_PDhqhR#sM2G&Itn$)({?^q2t_Yy9y;czOrLC!kqP zjZULt@r>m$$|>v4g7=5f;G{<$LPbR-9sJaQc6j0%KY#bSmhwa^HV5nxJ&BOrvLf?2 zg`J-*4F7)q=55faPiPHla#BN1=p~1lk zz6@>;p-x9Jtz&$D+kZ0a9AEM!Zvrq=k?E)_F)UA5}$cLiCs`P;$_4V$(&EcH4 zZ%GDSCu7*TxVo7?=p+P*Za;+5RPBKkj}Nozwt6>I$p6R;<`#A54IGcl!qg0J-O)%w!b0#QJHbM$7 zx@O-`U^w}2#B|9Ck~nI2E5p5kDq60&guqcJv|vM=?+~mhfo{HD+r3A!ly3^k{o!u1 zdPO*ue8`#nD>kvYN+EuI%|J0ibie2!e-y6)Z=yGX#Bsx`%}N%ADJ#Z8yV(X%(XDz= z0jYQd8h1t2lmA?2i1U4dwVT&7`&d9_ykC5NT^7oAm<^kI@ZLjaF}wK#Q!`D?6eDa7 z=(*qS-(Y}`wY1_tz(5HbN!$n4^i2FL&Kb&;K)JAgsKz$x@Rnui38ygio^)fK60Z5) z!w^*+pomn68_LG$?cS6R=CyxBgSL7k6b9>uW% zSPbFR7t$U<)V0fG+DQE7@2fB1>P9GCI8$N%F;;fow!^VfRzO64#{SwS{CI})N3uSQ z-UVnw?x63?$;XpvXZ%87qU7%qtUZ>LMA$IU6mUF<{LH>WoNMoX==HUy5GU)tLHPaB zV;D<*Xpe<}F9x>atvJMu)weS(H%a>374$(cKZtbgubAP5{CD>(W+`eK;TT%dCI z?hBNThtgINa9x2=$A#Wn&% zM4{m~mM~R(MnQ($xx-=VUER7@UH|s&TO|-n3ZdX*(Z}9)&IZLtCkS92znq4(yzL&n zcmkNgj5eo9A>pG zsuV#rE3zKW&Z*p%M%94by*)n185LY&Ovl2ND;OOjFu6yc#EN>AnD=nW#t5k%Bc)RS z^3bt?`GX0VL1v)X#kb47As2_b#Qu*1fevtC__HkyR$K&-&Lh91k`cJGa}h#LiF`>o z^}K}a25cZwk~rUVM?qB;E$?&3HwggwOv3tmLL!s#n->LCPruF`Zgz&h;A&vY!O3te z_7DnHlfwf05qnM!{MtzKJ%Y6xI)s1YrnVa10peF@p&2&Wu+EGGoC(ldU|ZjCFF6Wx zV8TKYcZ|EPWCF1}ejZ&s@FQDxCVo`Qmx)a@*iRgYMtgYU#nY5M2FP zfV*G!FedSC7hCjU=O*G2H_Uo=O_gH!1OnvsbHXWtJapH_5i25t(cBXz1drb4@t%a- zK}sPmpst{VD!eP3`RVe6SK&6yL?TjF`ntUeqzzPf?yKQ?EoeoX-V4H{x*$NgHn8musCW2?kAKwSwz z2~I&rmkB$3W;Um)NGNzCRK-+ZvygDtVx}|VFtCJ=cM>lF{niEK#M<{OK_-J`jx)nm zRdqp(IY7T_MdC)cy+y`q(Dh?V1>N(6ohG{VJ0ucZQdZ^j{IF?c06Qvy>q!r&eHnYh zNygxBqxvv}LWG&5kHbJ_0Wr@MEWz1^US3|PpBad#C=Yo@$3g&lx~(!YGTO}jNzY?Y zfb8`~F>7TDx>~$tK`>C|T?KRzph;TJASj8$Ikh7_T0vsxvmW}a*4lmhl2QfvM=*mR zTE6m(greH^lP#(sOwYc@VyzvS(AYSUe+9$M%?*5ux}u_D;yBJou%G`KAwd zQxN`pU`=L92Q*A|6@57_GxHHR)z#{Ak2n*W9tA~Q#C?MmJPQ0#Sr5d@!N;y!=Ah{1 zRoSDL9BsKqYLV#tn6`qb-vyilz@;lg2HD;9u;-_{f@vOs;``gTZ)$t=pit=TFxnCo zwcpMS7$OYo0$x9QvoHca~j(L^eKxQDvcGQ?KWyb?*nY zc%&=>m^o$pi68A(f`k(wE2euN?9%`nu(2>`?pQ$8S?+8N{B8*YNM}Cy_mRm733vB) zHhW$WpN#a_Tdrs98Q$Lz;M6L3i24YC;6e8;)NlN9eZr~za#Cf#-g3~)_XB~Kc$%DF z{{M}y1RKNCD!WOa0+w}9!NL-{m|Ij3^hu>gT<4}aba9F{ZiFC7op{sEOI zXG13qI$}%_{{E*79_@LZJavi}Wh~8OKx7+wcoQrvYPA;OW5w;~4I~0+3>Qi#8D{Sm zzSx-Wk3#ixy;8Cud~QsgORLv44h|j&ggl@TnI>AUY`4G0<<8EJjYG~9zh0sjOrL%NR8I5S}9V0rREfd|JaEDGeWT)BcS+nm1C(;c0i z_;lr~>r?Ibc#M9uJtsPr8R*ag7zp*lv)Uq}(N_@6sl)h?ZOl18t2*wsARPiQQsiCc51MQQ! zLP%iWe-EeEr15#LN$E3c{it!0K@9AytZkoNS9za)J8n7jSrg7Ps@0p@g321)^;^`^ zrCD3&|4v!3cKn?G%R$Hy3RyES7|nF11|@BKUZ9{zN=r+Vn01?}v@oM(o}LstC=Ct? z348Z0E`U~G=J_!O1>oX_JU4YucE-lYM)8~e%zXmuR|&Mu0*l_8Xodk!RIiXsz9=Tx zd9EG~Fqy&ZY=h@V&ZW73-@Sm4_>3ibC?gxYvp$;&`3@D%VQ+^693?#&5?}g1s21H{ zpBY>K!~a^}DlZZiVmTJ$JT$#s3ce^%mV17FG6(|&rK_u}D9}|7Rb}9`3>3&ya92BL z@jwEsHJm|VNrSafH7nss)mDe7Wm}=SdhNGwE(4VnAWW{o;Vm;TLP$S)0rtE`nb4@sF?%~yF`k4S8i`Eg0Xl#2Zk&;#M)R{ z*iy_0QZRa!WaPz3iZf^8Fc<`Us8iP7J5hv$gcP*2v#L8CDEK)Cvvud?QB%l&*@kkd z%AoIC^XAkat2dR|3i>*`BBMNH?O09*$P zJ9{G#SX%U14|cbEs`!CVX1RX7)dMttqk$4z78aJexxw^buUw+R?jn(Pp=s8XJFD zd#%!jL`0YZi}k}8>uH3#w>q=51(a1)4IS5bZW`2`BEN9K6t=r8Djq6oYEEkzgP_a8 z#@3Lj@#$+OC>W=JCqn;x?J}Np=r3`cRa^BH+x>$6>i78gVFMiI`|u!Fcl`QoyZ}61 zR>Sx2Hz2GSjnxHApg(`=wU`Kz7v-*V*%!62$(Ubzz4tS8tkq&8+|v|bC9T^;gz+N? zBPU2mZlX~ar=C+Jq~uo$x`8Zs&d|%Cd-3<^dsp<9IpXl2A`M}|NpzeD0y3%gys|gj zM_{79f2*sbDIc@~N4UA2on7W>Pg1$U7_h5PfZQQKf7^){6e*Tlw|XB%@i!;#2gxY+ zvow4L14XtYDWj-`QA@OGU$M3I-Fx?%3w!j;q0r1c=@~9p8~_C=FGwG}5c<&B1p3<^ zRG0{G$eX{!`t(~@4KiK58U@R{^OJ!j>XB04;;BQ^i?U^^0IVB2eWb!rU#k{?ilx91 z00{)gee8b*691RK(J%vRSQ&Wx#L#!ZSoz6@v#7TgA-G zEHm(NI+^GnahdRI?N_lL2_V@iLar=FlQl#KG^SJ?>{P9TimORaj`0OJBp#IxfgQkk zChRRXQBgg4;pJ~9W}}^lT(_|YTa1GqtIc5aYlB$i`c()-4)lG%8>FKXx>XJcd2LZ@O|S`{m1bVdVxV?JQR5L+VpdQtDt6BSHeflHO(n-aAn=Bms5VgN_f# z%3z0Ec(uO2@}VjX5Rn#aPzJZDc!?Zn$SfQNRd#YJ5`_bqEKTydx-l%Wkx7b)5~i>( zfJE+sF=2~pPJyhcheksD-xw+_E>0X>=}Zl+t@7SG{ljbEYnd7Upx+ISJO^m5Kq)79 zHBr+g?9@c)oFvodt}4Ix)&!3L-XjqzIc)1QJp zInQ>`f{sn0c@La5xQ9Z9(Hh^d@bDC{K-~rAw-ZDw9M5+7F^t41q~JN&SI8+So(;Lp za`xnbrv35VyEAYyce5m%8P>j32n(N^wVqz=`)ANwdvp)j16%PCvPj5&Hr#$*ibX`E zqM?V;_4nD%D({0%BQH2bDhps$r&Zr=ni-8kVB>uX=M;*P1yT3&l^ZgGaRb;Z1mtkZGVKgX_1Xl$1zO&+U(>fk;JN zJqrCd^f40bVs#FSLxVctS2cn|qp5=|$c?)569}ORIhcAf($m{v7<8Kw5)<)&mdU&6 zgrcE@i{Ouh4h+LLGB zAGMF5b`-uIov}!DXLeXAT_AvA%?hS(vuy7LNhq06uSo(i_vM=`+Zfc9h|G}zl9)fL;_O?#6h7!J!ucKN{iTmht#?;&E)tv z8@M=jHW$@_PXM0=d<%#A7yFAWJ0S{Zz^3Kf+S=dWcY~4o%PXpj^eprNnDB zY8W+nx&c5yVII_8(-Fq8?Qj(AniMScGOyibNwkfP4GrzV%rZL07qM^9QURq2XUn|N zn2K6?-PX-S*1MEvVD|m=(`Yas^4!i{MurvD)Qqgkrdh~oXv~1aXdVj^vx36I5ja$E zAFCv8@Hp-ql!_udjT4qrkSb@@iOFL&F5Z*)x#zWEB+Nf#aGVRrqWL>FPdi zlk=xMig*gx(VuCxL*_a-30+qjt{$fH6DPRA+bV#r&qQ)w8aYB!1#N9}7Wr5UbhMOJ zRGvl4rMhlUr^*H~h&+O|J`LTt0EH%C3Y&__mt>+hOifMEGz^0EM;Q3!f~(JYEtJ8Q z& 0: + gain = (kp, ki) + acc_gain = (avg_apr, gain) + apr2target_diff = math.fabs(avg_apr - float(TARGET_APR)) + #if avg_acc > highest_acc and apr2target_diff < 0.08: + if avg_acc > highest_acc: + new_record = True + highest_apr = avg_apr + highest_acc = avg_acc + highest_staked = avg_staked + highest_gain = (kp, ki) + lowest_apr2target_diff = apr2target_diff + with open('log'+os.sep+"highest_gain.txt", 'w') as f: + f.write(buff) + return buff, new_record + +def crawler(crawl, range_multiplier, step=0.1): + start = None + if crawl==KP: + start = highest_gain[0] + elif crawl==KI: + start = highest_gain[1] + + range_start = (start*range_multiplier if start <=0 else -1*start) + range_end = (-1*start if start<=0 else range_multiplier*start) + # if number of steps under 10 step resize the step to 50 + while (range_end-range_start)/step < 10: + range_start -= SHIFTING + range_end += SHIFTING + step /= 10 + + while True: + try: + crawl_range = np.arange(range_start, range_end, step) + break + except Exception as e: + print('start: {}, end: {}, step: {}, exp: {}'.format(range_start, rang_end, step, e)) + step*=10 + np.random.shuffle(crawl_range) + crawl_range = tqdm(crawl_range) + distribution = [random.gauss(ERC20DRK/NODES, ERC20DRK/NODES*0.1) for i in range(NODES)] + for i in crawl_range: + kp = i if crawl==KP else highest_gain[0] + ki = i if crawl==KI else highest_gain[1] + buff, new_record = multi_trial_exp(kp, ki, distribution, hp=high_precision) + crawl_range.set_description('highest:{} / {}'.format(highest_acc, buff)) + if new_record: + break + +while True: + prev_highest_gain = highest_gain + # kp crawl + crawler(KP, KP_RANGE_MULTIPLIER, KP_STEP) + if highest_gain[0] == prev_highest_gain[0]: + KP_RANGE_MULTIPLIER+=1 + KP_STEP/=10 + else: + start = highest_gain[0] + range_start = (start*KP_RANGE_MULTIPLIER if start <=0 else -1*start) - SHIFTING + range_end = (-1*start if start<=0 else KP_RANGE_MULTIPLIER*start) + SHIFTING + while (range_end - range_start)/KP_STEP >500: + #if KP_STEP < 0.1: + KP_STEP*=2 + KP_RANGE_MULTIPLIER-=1 + #TODO (res) shouldn't the range also shrink? + # not always true. + # how to distinguish between thrinking range, and large step? + # good strategy is step shoudn't > 0.1 + # range also should be > 0.8 + # what about range multiplier? + + # ki crawl + crawler(KI, KI_RANGE_MULTIPLIER, KI_STEP) + if highest_gain[1] == prev_highest_gain[1]: + KI_RANGE_MULTIPLIER+=1 + KI_STEP/=10 + else: + start = highest_gain[1] + range_start = (start*KI_RANGE_MULTIPLIER if start <=0 else -1*start) - SHIFTING + range_end = (-1*start if start<=0 else KI_RANGE_MULTIPLIER*start) + SHIFTING + while (range_end - range_start)/KI_STEP >500: + #print('range_end: {}, range_start: {}, ki_step: {}'.format(range_end, range_start, KI_STEP)) + #if KP_STEP < 1: + KI_STEP*=2 + KI_RANGE_MULTIPLIER-=1 diff --git a/script/research/lotterysim/reports/cascade.aux b/script/research/lotterysim/reports/cascade.aux index 722015c39..018c9d418 100644 --- a/script/research/lotterysim/reports/cascade.aux +++ b/script/research/lotterysim/reports/cascade.aux @@ -15,5 +15,6 @@ \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces cascade PID diagram}}{7}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces with accuracy set point to primary controller}}{8}{}\protected@file@percent } \@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces relation between staked DRK ratio and accuracy of secondary controller, with accuracy as set point to primary controller}}{9}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5}conclusion}{10}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5}PI, or PID \dots }{9}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6}conclusion}{10}{}\protected@file@percent } \gdef \@abspage@last{10} diff --git a/script/research/lotterysim/reports/cascade.log b/script/research/lotterysim/reports/cascade.log index 256a15fad..de7c95931 100644 --- a/script/research/lotterysim/reports/cascade.log +++ b/script/research/lotterysim/reports/cascade.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2023.6.2) 22 JUN 2023 02:56 +This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2023.6.2) 4 JUL 2023 22:04 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -546,36 +546,53 @@ Overfull \hbox (117.52686pt too wide) in paragraph at lines 181--182 [][] [] - + +! LaTeX Error: Lonely \item--perhaps a missing list environment. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H for immediate help. + ... + +l.187 \item e + xperiments done on accuracy of cascade control, and relation be... + +? + +Underfull \hbox (badness 10000) detected at line 187 +[][] + [] + +[8 <./acc_setpoint_quarterstake.png>] + File: acc_stake_1000nodes_10kslots_with_cascade.png Graphic file (type png) Package pdftex.def Info: acc_stake_1000nodes_10kslots_with_cascade.png used on - input line 189. + input line 193. (pdftex.def) Requested size: 462.52686pt x 346.89514pt. -Overfull \hbox (117.52686pt too wide) in paragraph at lines 189--190 +Overfull \hbox (117.52686pt too wide) in paragraph at lines 193--194 [][] [] -[8 <./acc_setpoint_quarterstake.png>] [9 <./acc_stake_1000nodes_10kslots_with_c -ascade.png>] [10] (./cascade.aux) ) +[9 <./acc_stake_1000nodes_10kslots_with_cascade.png>] [10] (./cascade.aux) ) Here is how much of TeX's memory you used: - 13365 strings out of 480171 - 274482 string characters out of 5894490 - 534248 words of memory out of 5000000 - 31079 multiletter control sequences out of 15000+600000 + 13366 strings out of 480171 + 274498 string characters out of 5894490 + 534249 words of memory out of 5000000 + 31080 multiletter control sequences out of 15000+600000 474642 words of font info for 47 fonts, out of 8000000 for 9000 59 hyphenation exceptions out of 8191 100i,8n,104p,461b,754s stack positions out of 5000i,500n,10000p,200000b,80000s - -Output written on cascade.pdf (10 pages, 188489 bytes). + +Output written on cascade.pdf (10 pages, 189605 bytes). PDF statistics: 91 PDF objects out of 1000 (max. 8388607) 52 compressed objects within 1 object stream diff --git a/script/research/lotterysim/reports/cascade.pdf b/script/research/lotterysim/reports/cascade.pdf index 12d1973ffc13e86211a928a12c73a2972fafcf01..4c78d8e84b18325afac49d8f99604da4c9774c73 100644 GIT binary patch delta 17504 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 delta 16426 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 Y4xbI4mtmhGBzFWOAupbH|IzdR0owtSdjJ3c literal 0 HcmV?d00001 diff --git a/script/research/lotterysim/secondary_discrete_auto_crawler.py b/script/research/lotterysim/secondary_discrete_auto_crawler.py index 6f80d605e..50c5b3b6c 100644 --- a/script/research/lotterysim/secondary_discrete_auto_crawler.py +++ b/script/research/lotterysim/secondary_discrete_auto_crawler.py @@ -8,17 +8,17 @@ import os AVG_LEN = 5 -KP_STEP=0.3 -KP_SEARCH= 0.03 +KP_STEP=0.01 +KP_SEARCH= -0.01 -KI_STEP=0.3 -KI_SEARCH=1.95 +KI_STEP=0.01 +KI_SEARCH=-0.036 -KD_STEP=0.3 -KD_SEARCH=-0.95 +KD_STEP=0.01 +KD_SEARCH=0.0384 EPSILON=0.0001 -RUNNING_TIME=1000 +RUNNING_TIME=10000 NODES = 1000 highest_acc = 0 diff --git a/script/research/lotterysim/secondary_discrete_auto_crawler_pi.py b/script/research/lotterysim/secondary_discrete_auto_crawler_pi.py new file mode 100644 index 000000000..56ab04833 --- /dev/null +++ b/script/research/lotterysim/secondary_discrete_auto_crawler_pi.py @@ -0,0 +1,136 @@ +from argparse import ArgumentParser +from core.lottery import DarkfiTable +from core.utils import * +from core.darkie import Darkie +from tqdm import tqdm +from core.strategy import SigmoidStrategy +import os + +AVG_LEN = 5 + +KP_STEP=0.01 +KP_SEARCH= -0.01 + +KI_STEP=0.01 +KI_SEARCH=-0.036 + +EPSILON=0.0001 +RUNNING_TIME=1000 +NODES = 1000 + +highest_acc = 0 + +KP='kp' +KI='ki' + +KP_RANGE_MULTIPLIER = 2 +KI_RANGE_MULTIPLIER = 2 + +highest_gain = (KP_SEARCH, KI_SEARCH) + +parser = ArgumentParser() +parser.add_argument('-p', '--high-precision', action='store_true') +parser.add_argument('-r', '--randomize-nodes', action='store_false') +parser.add_argument('-t', '--rand-running-time', action='store_false') +parser.add_argument('-d', '--debug', action='store_false') +args = parser.parse_args() +high_precision = args.high_precision +randomize_nodes = args.randomize_nodes +rand_running_time = args.rand_running_time +debug = args.debug + +def experiment(controller_type=CONTROLLER_TYPE_DISCRETE, kp=0, ki=0, distribution=[], hp=True): + dt = DarkfiTable(ERC20DRK, RUNNING_TIME, controller_type, kp=kp, ki=ki, kd=0) + RND_NODES = random.randint(5, NODES) if randomize_nodes else NODES + for idx in range(0,RND_NODES): + darkie = Darkie(distribution[idx], strategy=SigmoidStrategy(EPOCH_LENGTH)) + dt.add_darkie(darkie) + acc, apy, reward, stake_ratio, apr = dt.background(rand_running_time, hp) + return acc + +def multi_trial_exp(kp, ki, distribution = [], hp=True): + global highest_acc + global highest_gain + new_record=False + exp_threads = [] + accs = [] + for i in range(0, AVG_LEN): + acc = experiment(CONTROLLER_TYPE_DISCRETE, kp=kp, ki=ki, distribution=distribution, hp=hp) + accs += [acc] + avg_acc = sum(accs)/float(AVG_LEN) + buff = 'accuracy:{}, kp: {}, ki:{}'.format(avg_acc, kp, ki) + if avg_acc > 0: + gain = (kp, ki) + acc_gain = (avg_acc, gain) + if avg_acc > highest_acc: + new_record = True + highest_acc = avg_acc + highest_gain = (kp, ki) + with open('log'+os.sep+"highest_gain.txt", 'w') as f: + f.write(buff) + return buff, new_record + +SHIFTING = 0.05 + +def crawler(crawl, range_multiplier, step=0.1): + start = None + if crawl==KP: + start = highest_gain[0] + elif crawl==KI: + start = highest_gain[1] + + range_start = (start*range_multiplier if start <=0 else -1*start) + range_end = (-1*start if start<=0 else range_multiplier*start) + # if number of steps under 10 step resize the step to 50 + while (range_end-range_start)/step < 10: + range_start -= SHIFTING + range_end += SHIFTING + step /= 10 + + crawl_range = np.arange(range_start, range_end, step) + np.random.shuffle(crawl_range) + crawl_range = tqdm(crawl_range) + distribution = [random.gauss(ERC20DRK/NODES, ERC20DRK/NODES*0.1) for i in range(NODES)] + for i in crawl_range: + kp = i if crawl==KP else highest_gain[0] + ki = i if crawl==KI else highest_gain[1] + buff, new_record = multi_trial_exp(kp, ki, distribution, hp=high_precision) + crawl_range.set_description('highest:{} / {}'.format(highest_acc, buff)) + if new_record: + break + +while True: + prev_highest_gain = highest_gain + # kp crawl + crawler(KP, KP_RANGE_MULTIPLIER, KP_STEP) + if highest_gain[0] == prev_highest_gain[0]: + KP_RANGE_MULTIPLIER+=1 + KP_STEP/=10 + else: + start = highest_gain[0] + range_start = (start*KP_RANGE_MULTIPLIER if start <=0 else -1*start) - SHIFTING + range_end = (-1*start if start<=0 else KP_RANGE_MULTIPLIER*start) + SHIFTING + while (range_end - range_start)/KP_STEP >500: + if KP_STEP < 0.1: + KP_STEP*=10 + KP_RANGE_MULTIPLIER-=1 + #TODO (res) shouldn't the range also shrink? + # not always true. + # how to distinguish between thrinking range, and large step? + # good strategy is step shoudn't > 0.1 + # range also should be > 0.8 + # what about range multiplier? + + # ki crawl + crawler(KI, KI_RANGE_MULTIPLIER, KI_STEP) + if highest_gain[1] == prev_highest_gain[1]: + KI_RANGE_MULTIPLIER+=1 + KI_STEP/=10 + else: + start = highest_gain[1] + range_start = (start*KI_RANGE_MULTIPLIER if start <=0 else -1*start) - SHIFTING + range_end = (-1*start if start<=0 else KI_RANGE_MULTIPLIER*start) + SHIFTING + while (range_end - range_start)/KI_STEP >500: + if KP_STEP < 0.1: + KI_STEP*=10 + KI_RANGE_MULTIPLIER-=1