From 3119e184518c07510958413ad85f798b7d386d9e Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 13 May 2020 01:16:45 +0200 Subject: [PATCH] ex-6: add EDM plots --- ex-6/plots/edm-round.py | 40 ++++++++++++++ ex-6/plots/edm-round.txt | 92 ++++++++++++++++++++++++++++++++ notes/images/edm-hist-0.005.pdf | Bin 0 -> 12504 bytes notes/images/edm-hist-0.01.pdf | Bin 0 -> 12060 bytes notes/images/edm-hist-0.05.pdf | Bin 0 -> 12505 bytes notes/images/edm-hist-0.pdf | Bin 0 -> 13028 bytes 6 files changed, 132 insertions(+) create mode 100644 ex-6/plots/edm-round.py create mode 100644 ex-6/plots/edm-round.txt create mode 100644 notes/images/edm-hist-0.005.pdf create mode 100644 notes/images/edm-hist-0.01.pdf create mode 100644 notes/images/edm-hist-0.05.pdf create mode 100644 notes/images/edm-hist-0.pdf diff --git a/ex-6/plots/edm-round.py b/ex-6/plots/edm-round.py new file mode 100644 index 0000000..47c9835 --- /dev/null +++ b/ex-6/plots/edm-round.py @@ -0,0 +1,40 @@ +import numpy as np +import matplotlib.pyplot as plt + + +def plot(table, title='', log=False): + plt.figure() + plt.suptitle(title) + + plt.subplot(211) + if log: + plt.xscale('log') + plt.title('EDM distance' + ' '*10, loc='right') + + plt.plot(table[0], table[1], color='#92182b') + plt.tick_params(axis='y', labelcolor='#92182b') + plt.ylabel('average', color='#92182b') + plt.ticklabel_format(style='sci', axis='y', scilimits=(0, 0)) + + twin = plt.twinx() + twin.plot(table[0], table[2], color='gray') + twin.tick_params(axis='y', labelcolor='gray') + twin.set_ylabel('standard deviation', color='gray') + twin.ticklabel_format(style='sci', axis='y', scilimits=(0, 0)) + + plt.subplot(212) + if log: + plt.xscale('log') + plt.title('skewness', loc='right') + plt.xlabel('RL rounds') + plt.plot(table[0], table[3], color='xkcd:gray') + + +plt.rcParams['font.size'] = 12 +table = np.loadtxt('ex-6/plots/edm-round.txt') + +plot(table[:27].T, title='noiseless', log=True) +plot(table[27:47].T, title=r'$\sigma=0.005$') +plot(table[47:67].T, title=r'$\sigma=0.01$') +plot(table[67:].T, title=r'$\sigma=0.05$') +plt.show() diff --git a/ex-6/plots/edm-round.txt b/ex-6/plots/edm-round.txt new file mode 100644 index 0000000..06b8178 --- /dev/null +++ b/ex-6/plots/edm-round.txt @@ -0,0 +1,92 @@ +#rounds mean stddev skew +#σ = 0 + 1 2.43e-4 1.3e-5 0.22 + 2 1.67e-4 1.3e-5 0.27 + 3 1.52e-4 1.3e-5 0.29 + 4 1.43e-4 1.3e-5 0.29 + 5 1.36e-4 1.2e-5 0.28 + 6 1.31e-4 1.2e-5 0.29 + 7 1.26e-4 1.2e-5 0.29 + 8 1.22e-4 1.2e-5 0.30 + 9 1.19e-4 1.2e-5 0.31 + 10 1.16e-4 1.2e-5 0.33 + 11 1.13e-4 1.2e-5 0.34 + 12 1.11e-4 1.2e-5 0.34 + 13 1.09e-4 1.2e-5 0.36 + 14 1.07e-4 1.1e-5 0.36 + 15 1.05e-4 1.1e-5 0.36 + 16 1.03e-4 1.1e-5 0.37 + 17 1.01e-4 1.1e-5 0.37 + 18 9.97e-5 1.1e-5 0.37 + 19 9.82e-5 1.1e-5 0.37 + 20 9.68e-5 1.1e-5 0.37 + 40 7.74e-5 1.0e-5 0.35 + 60 6.57e-5 9.4e-6 0.32 + 80 5.78e-5 9.1e-6 0.30 + 100 5.20e-5 9.0e-6 0.30 + 400 3.61e-5 1.0e-5 0.33 + 800 3.60e-5 1.0e-5 0.33 +1600 3.60e-5 1.0e-5 0.33 +#σ=0.005 + 1 2.92e-04 4.7e-05 1.43 + 2 2.18e-04 4.7e-05 1.72 + 3 2.28e-04 4.5e-05 1.73 + 4 2.12e-04 4.8e-05 1.72 + 5 2.08e-04 4.8e-05 1.71 + 6 2.02e-04 4.9e-05 1.69 + 7 2.05e-04 4.9e-05 1.70 + 8 2.00e-04 4.9e-05 1.69 + 9 1.98e-04 5.0e-05 1.68 +10 1.95e-04 5.0e-05 1.67 +11 1.97e-04 5.0e-05 1.68 +12 1.94e-04 5.0e-05 1.67 +13 1.93e-04 5.0e-05 1.67 +14 1.92e-04 5.0e-05 1.67 +15 1.91e-04 5.1e-05 1.66 +16 1.90e-04 5.1e-05 1.66 +17 1.90e-04 5.1e-05 1.66 +18 1.89e-04 5.1e-05 1.66 +19 1.88e-04 5.1e-05 1.66 +20 1.88e-04 5.1e-05 1.66 +#σ = 0.01 + 1 3.47e-04 1.0e-04 1.58 + 2 3.96e-04 1.1e-04 1.53 + 3 3.39e-04 1.1e-04 1.56 + 4 3.42e-04 1.1e-04 1.57 + 5 3.34e-04 1.1e-04 1.55 + 6 3.35e-04 1.1e-04 1.55 + 7 3.37e-04 1.1e-04 1.55 + 8 3.33e-04 1.1e-04 1.55 + 9 3.33e-04 1.1e-04 1.55 +10 3.32e-04 1.1e-04 1.55 +11 3.32e-04 1.1e-04 1.54 +12 3.31e-04 1.1e-04 1.54 +13 3.31e-04 1.1e-04 1.54 +14 3.31e-04 1.1e-04 1.54 +15 3.31e-04 1.1e-04 1.55 +16 3.31e-04 1.1e-04 1.55 +17 3.31e-04 1.1e-04 1.55 +18 3.31e-04 1.1e-04 1.55 +19 3.31e-04 1.1e-04 1.55 +20 3.31e-04 1.1e-04 1.55 +#σ=0.05 + 1 1.49e-03 5.7e-04 1.38 + 2 1.51e-03 5.6e-04 1.41 + 3 1.50e-03 5.7e-04 1.39 + 4 1.50e-03 5.6e-04 1.40 + 5 1.52e-03 5.6e-04 1.42 + 6 1.53e-03 5.6e-04 1.43 + 7 1.52e-03 5.6e-04 1.43 + 8 1.51e-03 5.6e-04 1.42 + 9 1.54e-03 5.5e-04 1.45 +10 1.53e-03 5.5e-04 1.44 +11 1.53e-03 5.5e-04 1.44 +12 1.54e-03 5.5e-04 1.45 +13 1.54e-03 5.5e-04 1.45 +14 1.54e-03 5.5e-04 1.46 +15 1.55e-03 5.5e-04 1.46 +16 1.55e-03 5.5e-04 1.46 +17 1.55e-03 5.5e-04 1.47 +18 1.56e-03 5.5e-04 1.47 +19 1.56e-03 5.4e-04 1.47 +20 1.56e-03 5.4e-04 1.48 diff --git a/notes/images/edm-hist-0.005.pdf b/notes/images/edm-hist-0.005.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6fa0f0d5af0c15d560d2595b6921b7fe399d35aa GIT binary patch literal 12504 zcmb`u2Rzl^8#qo%TzhBK=dFxL?!H{B?7bBw)Cmfv|_Da!x*@AZ5AuGe{;^M2lEJnNk2dCvPGYNV#I6D^HHh+gl9uH8kTAr$0x z_y|Hl0YVy)9PGRx41kzGNVB8vb`VmPL?Jo5IY3HE2s>9>xTEZf0qTAfO;ZYqVh7=t z25GptQXuS7+lWM=*m=4_c=!>4H1c$_F}0&WmS7z<4KTl*9|b~cyMQ%Se%7i#Yi-C1 zLYg{~Y{{+;5MgP!h2h~Nb~Y49hC2CgbkHaOSSCQ()zyvS1(pEgRRJn?uHcEdG=Zk4 zo3}dzlc{P7A=T`B$ToH+nqX=0Wade7^>Qb9+PT^sU8a1gKUfH82T7E7ddNq1B=Ii2>K{Zy>x zCVFoAC1;chRC#NxSY%yBQDuc$B-bm$g*Y7YO ziygOY| zx*OX)t9t$F$t}KxY4wdUiV0|kJ?7IU#P$)9!A*^6W~7=SF1Eb~&Njb#U6XX6_(_oe za}_D+LE(;*=Q?h_ah%R&h-EI?AL~_W;2!pQNo*yzxR`H5%clX;&R&nMoL)|nq_h&}oPp-+3^!hd}8iJCWt17rAa*{P)Y zp8q^BTsOn_rM|w(wLcju;<~u zYE|;p=wua*MdOEYxT-{-c2wz|D$rZoc8~h;>a&@r({vGv;@mUFYj5(087WjxRJ~*&Z$6=Ba!Yynzrfra~VF~BSD#dY7rgzaTcv@-#<8)?FtE+|1@39 zdZ8+PSo?wntKpZ)k-pPzhpJFzrvu_X-plBiadkLAslrOvhMmjG`8+r@UgKYoK9F$E z@!T1u8~&U-@OjaD_ugz|))2hnlxK4A{@pu{g9_Yzf~9vpUUpGFS(-oJ#$mKanAL4Z zHj`7|{feV_>8>&V`|rNhI|rA38jtQNzL=aMuGgxdvQ8&!yxBQ|Q>vBdAIq2Skslv9 zs8l`3&~VVU0HNC4*32jzb96WD0rta`&u==#Of-B)qYgA3^yA7csIW+re9S(#4UY^h zJvEgkel(Ak|I@R0Cta>b+nLGmbaP|D11@o!78-^0+ipcz=LUW<{Qijw! z7Mz;tb;ew5&g9S|8y~itrq*@lv`RNg#5AVVk3id`p6|LHad2H)0(V}IdYrUF@8%mfGL80RQY6v>j9FOKGCJF$4Z3cvv)a~e%Yppb zb;~<6GfO@CONK31ca173CSulf>*OQCNDr-`^F+n7#kb)uuPzjbtGC>{DBShEJ)V)R z-5~F-W?zDfZ-cmAkHX7mjk3Ap3FG6hq;-y#d}E_=Z}f+qy`K)pPq&Zih`=5T28~B8 z`+{iLIr}F!hJae-!zjk7n$`0m>6E)V6IC}@E;<)&3ZJbGI=nTDS3I<^ zK8ilOPGriNCp-Yv!{He|xL!Z9I84NYg@r!5HpeDq@ro=tBzUStBn+H4Ch$T=hwE1mKGtzdy9J!}SzBj?3UD-Z9-GdsfziJ@w)oYI!s7Af zKQYSDScQ?DBbn8H=-58q#@+N<{AnbbD>bQJ*8ZO5k7@D;*!Ta90%m1I@V}TME3=9z zigEWis!n}O{76;Kpq!Dw+|fB++kRX|c|sjoB<*$#A$&@N zf8ld`L+0L;hQb{658*iNG#TS}2B&mJ=-$q<`YGM@-n_;}!mNzA{ug=}%xe79<8|Zc zgxSHKsnxvv!#zE&_(Ok)ytG`WbCKxwXV^P*TmjR~dI_!-w&n7zJeLOeQC{;p$BJByVzcQF%Gnn$r|N$5H}Zd>NxsN`~9I$53|@BJS5)n-5hTfnLCtg zdN$uQz+sa7J-58+D_gwlUg8>}gk#Zv*>;3K^c#yaLm557uj90j6kDZDzxCV3)Knyi zHlBdNhjp>@U#4}ZR|^rKkuc;oSOX6@r2Q8>u&C9DD4vx+TZdv+4Y(M}*Bmo{Zt$b6 zc;eiTaV5-yy~nhpX|^N1Q;KsGAhH*e=c=IQkTDsDZTDi^hi=rJ(~U0VoY#&Oy`8-Ek!cZp<81`OI1- zP+Y5gM0=z}T;aL5zoE1%UmH7{?H#ju1LLvrN7%|S9Y#gY+XEI8LGr0L-wRxj9Sfe+ z=zbVe;3yp2Y%V@3YTa)trp{?=aNEN5)YJ5djO{sIkzV}Jhn|y>Cc}r#uZ1wnyGbE? zq?!|2nJ^l;`suQM&B3v$vquw0{JzsVfAo@HgYoda!oM&cgI#T4@W$G%fbkWhJRgtK zypgVIQZ^i4EZqE<(c0QkH?56BP>{nfx~4;Uu+g$RCUyS81FPwK3OrjF%RC$m0L)o73eDOp>DBZGn-T7E^Jzg9BS+ybQhFRsSB@yZ2 zGns*`#S3}DoK~4>$HnP4X6=?Q8o7Nb+C1X2xA&#nu^9pqn++EUIK1}OK`zm>p2y{u z^FPu9zJH_3F*Cii2D{+9mVaW`A7=~RP`;Q>n0b^KAsx>j<6_-Wl46FObGu|)%)D#>gC-~=iO{WVL$LqpBD3(Vt482iFCW)lsN6RndzHO+o8p3wh z++(RcoW!^OHtO7`#DpBf7RaSwxHL7Qi4&Nfz~@434<^tRIpUmQn?HVg4c1Qln+ z5akR8qel*3ZIG^-Bn8#vpfhWQ%r_W5vNcLloD{pfnQ!*h)7V$qxKjt$Va`~SE{Y7d z?=zTx>ZI9Zd}=FN{0jddhU0Ns!C^!OV}qPLLXv00`43(XUnng)T3PC^!K;7uT`)NO zDm$TWbT3vF%{;2OfseuZyHr5BuU2ATm7K?zB(*>?wYcy&A6XeB9eB>aa1yb$ku`-E+E9J|B2Kn6^=zz1<~Y zI!5KLwi%Cy*(DFX>8r&ZvCocY-*PVLIx{958?LJ@Dt12DRC2LY!cy{GuR2$e*5L7T z`nUn9U8-jfw_Z*#o}{>K9b zK@%mLI|nnf_k2zJ{_;%H%+_0d8BgDviyEiIKFy6US6Ga>H2s4v?(#nB-QQ|=5a`dp zX&RP@S;aj?6J6I0XokKHiSpgqQ~I9i`7bA4gjil^HM@#H(%nWUoM+A#-Sy$@39Mf5 zCr_(4#xwVwk2nkqPe>DT<}ExA-Hm+i*_nFyrlHUSWOJ#RMaJG2S*p_!+qu|icD_Eo zVW3iIahfl$=2=mMXI+5pI%}OLuDcsmJNdQtDRYp%p5b|S#i-DEU~)TT{^WW@2IcSx zmLwX9%4;mq$$34Oqrwx8o*mHE+kRHXT|nClVO@!5wbVARZ4i^lDQjihE*jcH2*etg z{;Ru*CZJcb4Y-@XLbNGO`an2Fo2EHfZa})|-eppGpgRrZM9Q=y!D|Q84X(}hto{jE{Fm9~cwUZY4tnNHv@dA7 ze>(I@^X5caTYa_d5No*oCy9x`3!9CtUf6~_wsGxt3gP*DwW#!Z_E30VyA}5G`iXp@ z@$Vb*z2w5zp!8pzMGX26C(Y;{hbo!@9Oz7g?SbPm9WB`{KU_r8uBZ@HI1^I!9wbD` zJv@6|!f>;a?%}A4s3BKdf~cfA@?4SV+#|$vQ1meO+>574C91gdj>KRltmIX}&0V^L zRCh_PyO;axuwPhQD0F+Hw%oLY9$m41b{q0+V%x-AlfrdsE3=M1{o)PJIg|cLMIpD$ z6A6^5f`y^kmX4hj28wZNckeHpbn?iNL#VlH9GN*uAvF{?t6q7!9DA zqb7y_*ceyzTU@q~>SA|!(PGtnBIyt{wwISQLXA92NzO*GZoB-VG?1-3S*x&Tpr@4)ihCV(X zift|YYvJ{;E*=)U+LG)vA;yWInOnXif~{#rXQtD)=so$mNYUQ2VZ&AD7KK62IyKQ? zsrWu)r#H_u>@U|&6<%wNnAGZPmOJ6ptbX7@QmuoU)F8TEp+0o7Z=Qe4!u8e%B^w)& zJ#+kf$MP9lR2olVOY0=#>LiE^+jvwu4&!2{=0tJ` zyVBV3dHDJ1?Dbaf8ttygu3Jcv1Ya~#Tb(nZAIht^ox7V{=eEXrtDJ4Rqj99ZnG?3uq?>Tcn zbsyVtY&WA=SlOaCsQ9kX_@3vm;3(UPSZ~awIFAwM+4`j8$vZhe(s?DiLUscQUcZg!Xy^+E4*4Y*gjLH6 zVqS8bJ0rj@Qj@BCN?$8MQTyADp-)#5ag<=O9bO9op84EIvK}z-Ko)nNZ@jWYVv7iu zVzgGV=Y5&ICtk*zpKWpw72{`rA$C*0wEAs-Vrh6vvdV^Gi(^kIC3n9F=~=uj3ZIrF z@jeaHPsitn+n2`K*w*>Y)#^n@MAmT{T?k5Kyn6n0S3l#n98G4 zp{8lO2yK*sjR@j#(J_wW#QQ}j?+-H(d8<#@T}+i?c5xKF=N}hQ{V1&@o7DI${n^JK z8`UiXveuBozq+V@2mwndH9{S$<5rcX5lC1!w#LN&>b;?{e;9?+EiCJWnN=sv1~_N< zmGYyWra%8tIEqSDR+(4cDnE^4xc+g5@Tg&`GqXiinC{Hx=F#jf@X@Fv897rU89gAi8GF`u@ykq!C56R#o@4k1)a z_nu6R<4q(l*a`31c}}`&T-zmDaAxiSBAV;0xoB@T^BJQBg$T1Mhn9-U?lcZaHxY5} z+}S2krXS4bUrGy&*f{Mvz0FtA-+E6>I45ljH&>R^KDm2!sj=S_a%gwG;qWZ5C=;^b z(PFvl(aSTb`tfM90A!z>bP{2;H<~wCdHS;Eji5OTGYhD5Tu9qJCf4Z8F`whTTFk@} z-g|k-FZ&Xb87bqZwoYVLb85Gy9k!DD!lp!#%Bv#0Z7Gb?`J%PMNw3#8OPk!f^<2Su zbvGHeAjR_CAEh6L9BhM>O}n>~10P+zXtO<)-!8&eD3ux4Box)kr4WVXOqdPY9(+hw z?C$n6yI5H=LJn=oibk4TD=Pnw`ePvvkS~Eh9YsDqdZaH(SokExt!Qqz#Kyh2(a67&RKQC+&DS z)4Zp2U@~P>jc-lHtB2l#yhL^$t;d_p^z*DLw%p(7BV@ns;}yJA82>2UE*pf5zlWb* zW6!uZKYo3{GbclPBg_syj|cS|Oue5sr_>qd#4wE?=wNBS!_jTG>B@z~#+dMJ`obn! z86U**vC8r5v#uFu#R@e9zi-)gk+f&q5$3N4bo-upakUHJt#mX0mmi6iS-ns7C% z`GI66<fEWU5$| znFRj@*#tH-zB9!=j1hU+htHetag2GhS8?*x!SMy!n$PlI*P!`d9aaoT{aEQ9@+6K$6^rHshNJlp+9lrWD#_`w-IlJpxs~aLx9Hfz zR49GNWJXHy&CcgqiZ5tU96jwo+a6@IKzJPJN%n*A z1PEzIc5tLXAjm?hK}dBF-ymcFR1ZSxL$Y8(6G#?xHiL*V5RwEDi4f8TLfV315E_Mt zkYte3f`X8)U?tE30Dv^e1M-Hf5I<9nejyBm3xX$4FA7W)pd1O4`~Megfi7xxUN)X& zcZ!=Qgr?>qfoT9(pG5HlB!DCyX%q@pGVu4S1>!V4($AGJcz~7x$psMqo3$(AG&nN~ zyBw%3iNKs}OK}7|heHr*w$Acbvz1P_vX>2mo~V-CwU!tO=zLWBxFjlbJ+{?b1B6OreFoj zkQToX0|Hp4V>!06ga|0q|BHh7znuq*mW6OYemL++Q5KkV0+xUv;!%(ch+8l+cnAwF zDBywzc*5`D{#X#(QfsUX-2Z200c3kL2-pfUlj;q|FPgBb{L01QRIYvREeDpQt`gKMg$ z!7Jh52NcXA7;Ts|xCVtP4|utyg24Zj*{`XV8UVqiDKLOyFbof41u%z)!)mZBuH_nt z46%#|bp{+Tjeu+_`mi4Snjh{3(?nG!FcbXzYZe$O6beCo_j3Xwfe0-ZSP_)m zh01H77qCvOC{%rbbz-?tb>*i{!1}PVz<5!g!5pw|EEkw^0tydg2ylgUV2wfqr!ZA7 z!0Ad@QI>ULxrUhnm`VSeV8+JcnJC72zA zfg>X@V(AE_UPgl_s;Q!0WP*HCGGO#lCs&{>OD#9pQQP3K{ka5e;sA93 ziuh?5fv!{gfUMS^#4MRbAfF{Tu$0)J>v#iIT7ptdDQ;=e--qZ*Tc80HacR-t?^jxP zW%N?2sxp{x*)IM{wnf^IAgaHIRK_fKL;rtwgT17m=lBXq{RXaxGJgYCMu@+y;7%8^ zt2f}+5}m($FPjHydaau`uw?)rU9v6gWl%G8P2ii*C3~}!W&C?AFiF3?8dZ?wN+G+s zs=-Oc+tuVSC=3dPM`KZF6z~>ypfKVnl(+-}N$m#={B{=-#ogJB;!HjaVWrX1SSiSn zLUETvB7eV-cJp)qLx5Xk>um!PZC8$Qx3z~3lWd#-f0o8etl*ZPr=2|l1>vv=aOVH~ zfg>FcRKy>n7X^3<)OU414B;<2P(&GUl>E_;h+hMS2FKXyerS{|ypjG~1Kvb` zz+{1K_ydN8FVg>np$UJD#bUrQ`)5BKFt>lgWY&Pm6942W3Wxa{7ckx5{bc`!;n9Ed z84sKPKXAdrCiYJlVCtVRa2o#&!~UfkC;|Zojvx5V@DIkB;z=Sq+j&y|13}x>-VLH22(V#r lbA!(j>N#sl_6Jc4b}8T^c~Yob6PySH@Q)0l>V_JK{{yNDsF?r& literal 0 HcmV?d00001 diff --git a/notes/images/edm-hist-0.01.pdf b/notes/images/edm-hist-0.01.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88825d7cfcfe4c1814d8508f6c637542cc7a2544 GIT binary patch literal 12060 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 literal 0 HcmV?d00001 diff --git a/notes/images/edm-hist-0.pdf b/notes/images/edm-hist-0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c3b2aed83916914ca78cc39b481930312dea6a64 GIT binary patch literal 13028 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 literal 0 HcmV?d00001