From 6080efece9d250a44ef1d0b20e1494af44d9d2f9 Mon Sep 17 00:00:00 2001 From: Manos Date: Mon, 11 Oct 2021 04:01:08 +0200 Subject: [PATCH] evaluation: Minor corrections and text --- code/expt/lmdk_sel_cmp.py | 58 +++++++++++++----- ...lmdk-sel-dist-emd.pdf => sel-dist-emd.pdf} | Bin 14308 -> 15771 bytes ...dk-sel-dist-norm.pdf => sel-dist-norm.pdf} | Bin 14804 -> 15964 bytes rslt/lmdk_sel_cmp/lmdk_sel_cmp-emd-l.pdf | Bin 0 -> 15771 bytes rslt/lmdk_sel_cmp/lmdk_sel_cmp-norm-l.pdf | Bin 0 -> 15964 bytes text/evaluation/theotherthing.tex | 35 +++++++++-- 6 files changed, 72 insertions(+), 21 deletions(-) rename graphics/evaluation/{lmdk-sel-dist-emd.pdf => sel-dist-emd.pdf} (70%) rename graphics/evaluation/{lmdk-sel-dist-norm.pdf => sel-dist-norm.pdf} (71%) create mode 100644 rslt/lmdk_sel_cmp/lmdk_sel_cmp-emd-l.pdf create mode 100644 rslt/lmdk_sel_cmp/lmdk_sel_cmp-norm-l.pdf diff --git a/code/expt/lmdk_sel_cmp.py b/code/expt/lmdk_sel_cmp.py index a7d9d71..ce466bc 100644 --- a/code/expt/lmdk_sel_cmp.py +++ b/code/expt/lmdk_sel_cmp.py @@ -20,7 +20,15 @@ def main(args): # Distribution type dist_type = np.array(range(0, 4)) # Number of landmarks - lmdk_n = np.array(range(int(.2*args.time), args.time, int(args.time/5))) + lmdk_n = np.array(range(0, args.time + 1, int(args.time/5))) + + markers = [ + '^', # Symmetric + 'v', # Skewed + 'D', # Bimodal + 's' # Uniform + ] + # Initialize plot lmdk_lib.plot_init() # Width of bars @@ -30,11 +38,13 @@ def main(args): x_margin = bar_width*(len(dist_type)/2 + 1) plt.xticks(x_i, ((lmdk_n/len(seq))*100).astype(int)) plt.xlabel('Landmarks (%)') # Set x axis label. - plt.xlim(x_i.min() - x_margin, x_i.max() + x_margin) + # plt.xlim(x_i.min() - x_margin, x_i.max() + x_margin) + plt.xlim(x_i.min(), x_i.max()) # The y axis # plt.yscale('log') - plt.ylabel('Euclidean distance') # Set y axis label. - # plt.ylabel('Wasserstein distance') # Set y axis label. + plt.ylim(0, 1) + plt.ylabel('Normalized Euclidean distance') # Set y axis label. + # plt.ylabel('Normalized Wasserstein distance') # Set y axis label. # Bar offset x_offset = -(bar_width/2)*(len(dist_type) - 1) for d_i, d in enumerate(dist_type): @@ -47,27 +57,41 @@ def main(args): print('(%d/%d) %s... ' %(d_i + 1, len(dist_type), title), end='', flush=True) mae = np.zeros(len(lmdk_n)) for n_i, n in enumerate(lmdk_n): - for r in range(args.reps): + if n == lmdk_n[-1]: + break + for r in range(args.iter): lmdks = lmdk_lib.get_lmdks(seq, n, d) hist, h = lmdk_lib.get_hist(seq, lmdks) opts = lmdk_sel.get_opts_from_top_h(seq, lmdks) delta = 1.0 res, _ = exp_mech.exponential(hist, opts, exp_mech.score, delta, epsilon) - mae[n_i] += lmdk_lib.get_norm(hist, res)/args.reps # Euclidean - # mae[n_i] += lmdk_lib.get_emd(hist, res)/args.reps # Wasserstein + mae[n_i] += lmdk_lib.get_norm(hist, res)/args.iter # Euclidean + # mae[n_i] += lmdk_lib.get_emd(hist, res)/args.iter # Wasserstein + mae = mae/21 # Euclidean + # mae = mae/11.75 # Wasserstein print('[OK]', flush=True) - # Plot bar for current distribution - plt.bar( - x_i + x_offset, + # # Plot bar for current distribution + # plt.bar( + # x_i + x_offset, + # mae, + # bar_width, + # label=label, + # linewidth=lmdk_lib.line_width + # ) + # # Change offset for next bar + # x_offset += bar_width + # Plot line + plt.plot( + x_i, mae, - bar_width, label=label, + marker=markers[d_i], + markersize=lmdk_lib.marker_size, + markeredgewidth=0, linewidth=lmdk_lib.line_width ) - # Change offset for next bar - x_offset += bar_width - path = str('../../rslt/lmdk_sel_cmp/' + 'lmdk_sel_cmp-norm') - # path = str('../../rslt/lmdk_sel_cmp/' + 'lmdk_sel_cmp-emd') + path = str('../../rslt/lmdk_sel_cmp/' + 'lmdk_sel_cmp-norm-l') + # path = str('../../rslt/lmdk_sel_cmp/' + 'lmdk_sel_cmp-emd-l') # Plot legend lmdk_lib.plot_legend() # Show plot @@ -81,7 +105,7 @@ def main(args): Parse arguments. Optional: - reps - The number of repetitions. + iter - The number of iterations. time - The time limit of the sequence. ''' def parse_args(): @@ -91,7 +115,7 @@ def parse_args(): # Mandatory arguments. # Optional arguments. - parser.add_argument('-r', '--reps', help='The number of repetitions.', type=int, default=1) + parser.add_argument('-i', '--iter', help='The number of iterations.', type=int, default=1) parser.add_argument('-t', '--time', help='The time limit of the sequence.', type=int, default=100) # Parse arguments. diff --git a/graphics/evaluation/lmdk-sel-dist-emd.pdf b/graphics/evaluation/sel-dist-emd.pdf similarity index 70% rename from graphics/evaluation/lmdk-sel-dist-emd.pdf rename to graphics/evaluation/sel-dist-emd.pdf index b49ce1124acf7f9ef743f1bf84e007ea2028b5a4..c6f24ae5779bdd354fcde966d31f7706d8899931 100644 GIT binary patch delta 4362 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 delta 3197 zcmZuzd0Z1$9^U{0rhuU>LgdJx90>xMnM{%yBzW5*uxJG8Q7%cKoWUe0au^kXidW?+ zi$zop%X(C>DM|$qL_tLkFYqWVN5y*3>Pi&U>drtuyOQku^~?7i-{be*`=luSH(AvZ znhAz_3WO*h_|Y;|s{&-ULdN+&EBlUa&NOZ77w)mVKf^T5cW`EIxk*!gsB=Nq$|bwr zzpW4TZFSt>yv8_WbE1TGrN5}9<=(2COJ{Q~6)zjG-E?@$cE5MMe0t!C=2ae=^RH(5N!QBqTfi$NesxQg?3F z6_;&Q!$U!*qP2MOKbr5`aB77MCEoM}VnNsVfGYmP#X6s*#rbDl$dPiheP`B1g%8CU zU)cU*#c#pib}eh9*p4Sxs?j*vPc=-$QZ8;-=OGI1yLH;$#;R8nmh+{XTho#o(MOw_lH#a^qR09Z6RhN59?Fd@QKQt7%-Ehi8fH?z@lfs-=v*1@l{0 zuKB)E^uWW)!{=F-we56wae`L zVwd{?1@icJgY$VY?y3JiA1f-~=h#yp?$rNK33sx(r@g$R8GKzmn)a%-Tj8LoS#awR zc%@XuW`FUy^HAtfBI9ODyX$PGs@AY(w(aozlM9WS4$sNVtzM8Dcc9n)3aD2^Usb2e6mU7OjJptSUq@-r&;IULSw#{GKk8ZLenB#x_VU)z7hL%vhBE%UqL z45B%KQFygEcNqA`kCea3Uid7~<*PVu?30DpJIf@4jcJebD8`y?cb=a|&#-=YW0i{^ zTDsIQ>4Bo5T=F|2p5C}#TyQ$NYzNGF+MhLj(YemuGfki8&GL6mSKIxuDg0OjOHvWG z8?iNtKK>#y{qv@nJuA2eBW_An*0Xo{*GzMc3sbUABZQ(s!~U#cgY-pHy~ zdy70}HF9dZJ%4xX|hxfDuFE1?mKr20P#TOhmu`|RFKDcUPXMhL+ z!g5txm|D>c5S*%k|J2n62tk&(dKbNsMuW%E^=7xhkO>DU%pU`%sciK&ixL{BAd3J7 zg9d`=Y<0FJmj(jNIO?8Hr_g|}IY<4;=an?D#)1O|t$qPc3=X(F{V4d_k^_Ks45KPgkZ_Ngswr{|gH3z)3TL+45IAE83J+NkS zfYPBB+Sb*J2Fe`WfQo$@?3l>`t2hsUuM^4R_5mCcn1c_qXBi*@;N&j0!Xa*&R4#+K zvLq?QRc??$e3T9f+?_y!yEOwM2#6a6aU~F!9F3-fNA7&U@(7|~Kln23(81nI< zOOqtBwQ+O=1EU^Sr&2KWa}8+sT%@+(wi&7rffn=jhPVqLL^!^Z>klFLM707!h>0o~ zLg9((D+om^bTC3dy41yRy?Hzsfx!;Kl{|ivXTt~q6QG4~R^hnr z7=mDko-zc5^>(LB>Fi6o6zF0k7j+IMsfAILiV%iXAK8ado={f|jN&-ijLD062z3y2 zFbpA^tb^eK-8f+k5q>O&mzdK>cp&sx4v-!UH->Lnw9 zRr*c@2wyJ+0m-Z@Mt~!F$p{fxPc-=lT5qioBPP;PedJguq+W^1j&ZV4dKkvniytRo zJ$D3(>$Qa72`6DIDLR6W>%~tH)J2{o27wX2Zu|(t;gxR#po5SzDt7>YM6+_!n z>h$X??%nHr@^xe9wnYyt7eyMmO8N$wHAG`a=Kj9qFk)|cf7XMATT3^Eu!wNW-}+B7 zs|uAX-wx1zem2XjW?qBc*?~E3JMtp7w{vcletq-=C-Lqs)8t^=5AxdX{2JfDR=S(* z+0&nG^toI~teS1B{iV_OPxOA9xPJSt?YBS9ve)YE8G66>nr!ITcaa_w31RQ%N$bB{ zwD0z#E0(Ljg{MT*UO%E6MK3=Xo5VLM%1fiIcycskNy&at*-OFWQbt}U8&tnih*DY6AxO;1Ny!tq!45Wj|gIk@sgt`EqC33o6UK(X#Dsm%x6gPXcmCQqx9CJ*M8bxL@vJ%XChai&tg>avg@C^L zI-#F|%Ua9 z8~DtruR4{q?pfft1y^77{d4JeoO?~xp4jT?h4&ikwSGBIvxB~w?Tvf$S{w6b#_xNl8%WPYU^4k4HyNb+Oa3KV5xVr*r97>;o ziJw8gOGU6)8XRuB*FV}qv47jFU4xr%lvV%qV1aY?)RHn5V<=fvaLCpyUd_SMqz(?$BOWH}BbXH=w3x`3pgv$A*t)2D%Tj zySX8*E-g%Q}bzAyv!{oc( zz2q=V-e)G}9ep+9rCY`uf>UaJxkQp7_%5@evMtrqN7VZK%PqaPF4R7J-#8S1@8_xP z98dEN1~QxY>(gD1px#fuIp$`t@wiD;dZ(YoKjJsrFK{~&;q9WcX0cCI*icVj?Mdeq zvfp}YUngz4e)|2gZeN!mr=WRP<`-L52JKnYee#&|PIhebV!NXY?e_#bcEIdgXZ+_I zB%itV_kU?uM)i3?A8}| zhfhC@+&|~rH;OK~es<0^xX!==PSrQ0a}h}BJHjJIEah7L2{c%4%z|ePq%g&V1w#xM z!$YP_If@{_+nbS|ArnWZFtT=Yx73cSLkx6R9m;aiGO@W1nR7aOI`rhNee(;n749}@ z;Y9k@I@dV6ds%_IqdU6;br-fzs*ldJNSME>;fAs!3m&}f7M^$dk|<g(yQ`ut5rokR7meS2kmj+i^vy>s`$H*xg7WA+@19y_Yv#k!nadu2N z!8!rD+cROg^=cU8z=Q!dBKXXKsk~$}mj+uLnUHJuPk6$K2}SnrVFh5pOoucGomtS- z@jU$0g$3U@*21fkSju*%RvL73rFJm$JS9Yg)wqs%zSUDkzTQ&?D?f7STF(Ny;g6{o z%YlbB7`L#fzT{$wp4M(#<0EjLvjzN>T-pZe;F8Hq{J=-u*Y|VQ37uO_@aJAn@BM zA|?;8Q^m3*X&k@_z|IlNq<}4zh#BmRl~Tav0Cv1IQwB)ROplKyk(}A{0f7N_Fd(>q z9SQ_|z>a1J1b`h2*l~a@1~AcM8l9a3%REA91bpiuGv@;Yh^WJo^+S>5)v~2rpA%S156F1Iw_{YVz83{rp8JJm>O$2z|>eN02?_K zTLLgOmK0!WEHZxpSD`W3snIgAWVtv#1K?^zl}Dx`fpdUd#fg+4RxBZ7)F=I25)}mo zTLy47g>-^KJ}$O zQLx{^X&#wvc5r4)Ms}(gu>Ga76b3s)Wrr__StgFn7}X+}u&Ik9?4!q|uaESMO4kL= zow*|0$jGEftrQN`Y9J1XDR#q zb*jW>>MKmi1Mfe&*qlkbvR(!Jiskg@{bQI?j6o#FeQid!#X}MUY`acjT li6{Ss@Zf%djXi(lWe_dP$dZZU87R)jafYkwtOfpze*qcR@pJ$H delta 3551 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 A^#A|> diff --git a/rslt/lmdk_sel_cmp/lmdk_sel_cmp-emd-l.pdf b/rslt/lmdk_sel_cmp/lmdk_sel_cmp-emd-l.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c6f24ae5779bdd354fcde966d31f7706d8899931 GIT binary patch literal 15771 zcmb`u2{={X7dLK*xS=v;$~7g5J6|r6S!S7K$i*cYuHllYl+a+xlw?dY&ni=98IrL{ zNunr2nGz-Z&k=ni|KH<%pI6W6?6daXYp=ETK5KpUxoZpRC@PC0#Ly7IytmNYN(cf9 zhZ3#MLZqdkFde)d!5xYOD7sLXzPAej3RA$7@Qy?~sEiDR;A{gnl=!QIk{3xukAx=? zpy=P7l!?wHDC&1v2Tvjq+?=5p@DT#jaU)vm5lB!|U>rqdfIq>D1cj+O0b|Oq-xb#H zs!($%Oz#Zd#@^Wuiv8W)Slj9>!I}gWUt|8CIEcR$kaKn>lH8#P_-_dm0BH!$00H-# zhl(4~!vzXzs-OpjDH1&GtqHm+!05n}z8l`z-39MPaJKf|Q2uv&U@Vv>!NwjhPxJz$ z2YF+#I589!ibkTu;5cy%D6S6Jm9$|zU4lE&!_6A7CTK1|``^|C4g8lWL9sS$uWauK zSPKeMb_C3+NU$c_0M^$aINOoVKoP&E1Q5iXod2K<$X>L;|w{Nnczdq<0oX_h#J@i7fVNl;dASu7p z>p*B{jevVz8|@iUUc1EbU3tF6LE|3>pTqBkD5HdBC8<4X^{1XEN%}tyqRid%^aE*v8=V|i zZOL-Q3Z47!?3pye`cv~~4xY_F@+s<2BgQ$vHZIR~IbPgK-(S8rM5f;v4;_Dha-RN( z(aUSkhq!c+ZMhR+lB*qAuTJ;3(%lZPe|)yx#{B8kxh@eau~_P&lh+bGo?z zC*`OD%9S~?>(f4jpmZyUX|Kh^C?Xiu=R>?7K1;fu02xPQvZa4ghcfRL}e-P6i1Z>@4u z*hHYcQ>!H@Qt5Rmt>KBj7SyHsvvv}nZrpG^Bu2%}NU{nEIL@?NsE(SpcfZj7g}Yi; zm##xRM%5{BM0j)!Q=N-|HKl$U?x|>lZRo5Zc*zatuS%Jy!Mzdydaq4=`H1)1P{= zXHIuHUksL$0^^lnzR8)!D|9D3N!HY-x>B+&Lb{PdNbe(MxRpDWOYpfX^O^ROmMAW~ zO4#1PY_0)vm6L}#!WqXUAooWO7qN#QF7aa48acoqaXsyYON>s-$y8C5OC2sGkHHwN zky{KBol~auGcHr}e0CB(Xt+LPP?fpun}k|dY9m8rwvD{FY+Hxj&-wAMw(cIQgj|_N zi(`%I@$|U zqUgotxY67=Y*#i%xT7S;*NK-GBlHT?U)T#FMVpmBkGTz6W6k;D(s$WH3PMedVlA$Y7Sg?!BYad{40RDDHhMqVxXwIr^*HB^js3h( zxR8)LKVCZ$=Ch#t`YLPoS0M{Cr?U2?FAF2%S_63x2MfOz#JM$%VpF-6k4$u55pd*A zoNaJ!$QW>yauh{`h!}))KkB1M85i@KrSNdMDdLnVTBvg0Kz~j-#m!N!}-BA;?O_}g)+M%8-3sSfCOn}Mw7Px+fqXLu9JdjV*Mc2LG=-XP(2#!z#s3vqkZ24TkN$)eOr&~v z6P!kIL54~Ne!9^c$uZC8zWRkZonJ76PyU!%xWs*7DwU#>HobcbZ<;ClN9gjxGDvPx zA2nXhiZ)$&iamrm@aaMG=+|DE1>N(pvEj3n%KdjLL-)sw9NK%y^kPw)L=~mKsNbdB z%qmD!nsre4hts0EK@O>3lDE$7&DZcA-1fn5aD1m%L`&xDQG{su-{JLD}LH>k?zJ>iAJ&$m*+pa5M1t&lihv1 z@Ax(%fEa2gA|T-KO)_A@tLW?CG*rGBUi@SX2fCsUs|`&KQv3H#Yh9(x5jlXk&O;GV zCuqa*+DkPNKlE9Z%J7XqBi@6_PRqBsyL8Yi`reB}#+S<*boIky?+vHRIV{%Jo^doI zl6*d|kVQ~H3EKz@g1?;zi$*~ElIbnJ`BCri6bsbzf);*YrmWQ z?%s>nqrPtjTkIEXtcdRCLiT$GM5WpUJ!Y7&M_r-F3{9{RGYvd8DbPM5=X>fg-mKbn z;xGYG$No&dD5(|gNo^vi@Q|v=jXva_y$Kn)Ma}}5d8}PA3NL+Sx~^yU;OH|g(i{Er zyQ&yNR&N^xJZ$sRHe@XiNDg@;mt@^9$B{ZF@NrSvMeFv|1`CEi#e`;(Sc!%L}R?5k~iP9ZVUy=vmk=>y>h> zrMnbI_rNe}@G1i`RD)v=!SZZGNL12r^b3P|Wq%kgP5t}Tqp|LcvQNv+sZhc}IfxmD z%1*qz8_S6L6Iz$fyU7(v8U;hU5}7_dpdOzfJ2HFr8rzJ;5kyjuj7B1D!4J16t=ZUE znO9@I-*V-+ogd2>MUr`6md}#W)?<4_b}V+fWHsW`+%NB%3uMTUJC@tbJc#XgGV=)W z&992)4Y_ayUOI(^#0IvkKn2G4(zQ92pWpgRF(kn{C`Q^Wh48oUSZhgRdnqeelO6fP zXP+rgQL*mAn=6`y;f8dBt#gXB;>1wrjkwMk79TdzsYq#ly&Cyg^DTKnj0vkqAg^hB zTs?E_wf&i99rLp9B`fLaPux6sJGeyg7R5sLO$+ffV!!WWn8{?qPuXzZTK)%u-hM~m z%e#K)2ssfk7bW$URF0~&g5VDD#|qff_-v)rfel`KyWsXVzpbJL7-D8YopFS75bhDVd< zM_MyvA$w432ajQTNzNysD2|t6L4{PWTx**?OMacPB=!)9wm0G9@!kqmUhaoE?~8D8 zBI?!nKWJXNZ#!9!b2@tUx`F^_@m!xpl#hk1>w(-$Mu$8S{a{&L)Gv8bwE`~Wor!u> z^t$q8lMi#8qrm}{fsad{8&3DGicOu1E%W=h#O6z<7`Kf@z`fZ{EP|3iZ?;Gju7ndo zr#OeB5=#}a`rvl3!i?e9RLW0`pb+K0U6(8}eBTs7e7PNFJDqBOU2{EhJmS^K;Sa{I z8QO~$o;l6QNSdB5REiV`p5PPtq7f1slf>4BKHk_XZeZ8?{?G#No~5O>H>-A;N7rWsu4+zg`G{1A4wyJUpa>{+~T0o+IZYzT_9qFw3 z#P_Y`%6Sj!L(e4JEyze^Mg#alsZfg~CTXY%E1&sQdb{ka2WV}0R$@)r`5GrUz2FKT1aHa)d>`ofAdx$nha(!5s}E1%g~i6j>2!fn+(Z%euIEvm@3R>9AdP6`DV z!fxJbU~J_)AA^^Zm0HBzZ`*qeQy8XWo#q&NBaF0Iew@wVsv0T&{D)6rNKc$V&)fRy z&ZH5FDK{1op0idzmU!wO-ALbNBLCjw|4;aU+WcCJo>X<)g`lZgV)-eX)8|y1si%k2 zSn&_DbaUZ7A(<2C@Qv@1IH~i5GXPHFd0fX*P=1; zxaXDq?26>_qwEU$8~6L{+m!CZQYsRX@;K?weSaI7i(*f|@_;$_1+}9-^)FrV(~bSp zt4q=ocGW9nRAl=5wz1nzH}pvH%`QRdB+j`>mTuw`%g;Ir$xmJpmzAz}toGk1xvbA8 z%?LBnJgFM@DpFdkUA@LJ{q|&3%6_SP8djByF;|60-NL&0VScBguN*v9fS=oUE7!PH zMwj!n!?kR^CPRlG0=s1oEt1q8J2Q4V+=#u($MPnJ5M3g1)c9_$ndzBmF6gs_FV9}8 zPslx`+;wENwa)i0Bry2Zi`Nglv4@CvXjjHnG|}CKyj1p~gkw6r^RHgo`Rxr+l*X#q zv@{`gnpqQiOnQ2oaWC`wB3|j~$#OuE1eR~zw|jKE-E6NsaKGZ&I#?Nbn1<6ekJuY6 z{12IH?uWX zFdtAo8rW{#4E{;C;{^?g4nfbnxWyb?9G}fGEZn<7~KHt_j_I&beku^?T+?pr0 zi|KA{HTL*<4TOJk?8CCu7SnT=ria=NF}y09Qc2q7F}#N93Ap{A7G zg1JF8=I3yqSEt_airyieMKLzhw)UZL-wCazkG*FsK6;77v=KFZZiT#4J+$aOdf;$E zl6L9`p~SAaPr|m?^ZWJhE|ugzeWgAgW_kNOvQ_-uwSvemDbM!`X;^pq9C7?bu6oHK zM(G8e)pA66H_Npeb-_~xj~4A?D%FjgZTEkf9nMYD4k_~2FQc?&llXPv``MR{64*6hdQs=>ktF_qA z4}H58DR$}a)j#p+p3KmjnJ7Nz&o5_8@`gqBA8%bWFrE=ouvXuDEx{P25%5gmh@%L@ zO&T+frhcUUOpr>CKGI6<`LQTP5gTlvdF(?hM+}UU^38<&DBN91Bvytuy07F^fCha< z*o&~spNyBj6h9lnFSsonHyb%R1>=1z@p&5!cf9M_vXM}VkYk`g&{0mES4!?~QssO{ zDbMv}wNQfUVO+-v3*YBgdClp51!}U#&vuV~PSbdoP?<-a@+#j3<0%H8dve3q^2K{YvdK;MLfUu-e%02c=SYZ>|wTe12U?d0d6B@YvQlnkr%s4&iG^~ zKvmut+QxM&hpT{2tcculBtw~1M~UVpxneQ7u{{Ub44ifC>%iuZ2dJH5bsTaNI8zF% zr>}$3QLe@}@C#hp*O!^|Gj+*7flT-K_qHe}YwEk+SBvXjxX{M-@O!Do-Z6lyK805E z3{Sr>xp^;XHN8OYo|HzZ!EPR1;^D*u?^{euPQ3~XyKlyDlD09~PBArR^R9PWlWpw0 z>(ik}DWUX+k&UtSvD9P<#dLYwjJ#9qio{85GS4wxbvFeBO@FPP%P#nF_hgc!dHTYj zp=D;m3CasJcN`6@uGeWRM@?kFywTi2gK`F$3wWs$*3qK89{i{~ukJS6)TaliA@ko} zF0}K=Ji=%5RiJ9xDUJU|?;8PzZy~@JO6$)`=j#N-+61zsNJWK(16}#S)v!IGR_`Sb z%kbAroUG?CVDpx=G}SRFvXm8k79Zk~fOk%#p3@B%ra*N^9`L>H`v9L*CH%@V zsv}{Ov4pE9te*T_WQCZ1yE){z??RZZTo=Bg%`>U#q?@V_y{TOI!33?ZSmZf|_F+sUi14&BLpv;SV7 zyGg_KOFlYjqV?s$PzF}1R&#Pw3aXxGmuSv>;q0NSVWLxSZ$8tE7<`lX~!OUd}Fz0t*NW1JmBNyO&$h|vKdI9=ru ziyzcLIV5g@bXFwp*D6PPn;FL>mL{eGzCXAy#0G%i33s#dn}{f91+(3m{JoL8yJ$E* zyCmIvPz_10_q`53q=vhuWIoYY;jr%HP1{py{Rg3_~wOk zr;MVspWFRv?Od^DbB_xS9Hc#NBm(<%&-8(3CKtD-?FZCTEtJLgJz_~CcXcD(B*t^& zYd8i`At$emQ{^V14eqld?o`K%+T@t9p7B$POL+dXKf`@q(hinSty{ICpM9$Ecx;@O z&%Y)@?-UhEY+gQ^VeRx6WoZ?#4(#n)HK_QgW4Q_Eq%D!lS(jfdQ{4N0z8co%DTpYQAWB^+B+wwqh}N^VjfT0TI&%9Q=TnNze7y(Rj7gPQc~q{53=$ zv&yIxca3vJ?xQ_`b)^>5E}|7nrflnq(yVn7_ck%6d^+N)(C6sr?odc~C4^|JGmD~lPU(-h8PrZX-tYZEy9Se1CvGBU4=H?KyDSC7q8 zD=I6N{f^x-89&h39APUny7xz;n($=Sz%MjtU0c@g?#X z9zOTH_F*>na&~sxKzya@j~EeQkJlovTGe_4#~x?8Mh$Tc(X*6#Rkb(m4PRiWYyVDF z^g437+|rQOmuOPpMUIVEylu*LVCZUl_b^Fu!YOH_r{FOCBigsj`(EZ4T8+%cx`z2T zddiO-V@}NQQ{KmPU4~!odt37Dy*cy7zOH-cT38yZP81~y7au;mAJ5^XXX5c~w1<7M z)T+J!Q@>B65Z`Sli!eS5SL&MdqNkdYiO+M92oXxx`Z$1^9pg?u*rPcUat)Uk_dMHH z66}8PtpF^rTi!>LbUPziy(QUai#=G zRL~*A!&sr4?$^o>!S~0`&`5B14+N;nlwI>Tiq4?8exG)MrPn&hjl=ESL$;T~@99KG zCAGhbbTFtRx@q!GBn&_5@zRD0&`Ir~;1YH&uW54?(5e1l?PrG#VnGKI4gHxEO@iN~ z@=nev!n>cv#+H@-aK&u`4|o7d?d^xxHzue;66?-aiMgGI`8fL{U7yBLF6 zM25Te>ut_ldc2@I9;zS^`=SFumSgjFo`i}FQ9 zGKvm5&Uk4JMtl&DiMRKv!!);7a5>)|iI1O!!vJaIy_5QHs4c*Yd?9=!jk6>9$Dr~zH>@Jj1IntgA_H7#Mb{wq!CCoKBu zS)Csjs2qQ0A!_uvUakn26qWHLgwyieHM?ucV}axYmJ|%o28M6(k&TSKDrUR0co}BH z;_Hg&haS^daMNGUckgN}50*aI7{qtOk+(J2Jn-N-3ion3C|!6@geH%|x3DLd zZo$#YEW6m! z+{~e8sE~4~nQ8wuq*t*w=WucA!}qpaPiB}j#u%9rAZgz}{`3<5vHGlVzVw~H^~Era zZC2?{5i<(D#rx~FIROY|sS1MKS6BJP=Mc^8iJz;%z0f+Vwil{BoRNJr^(`Z1d{gzA zc^NsE2JwuL+UuOt@aeguY?o<{I+u+P(0A$HjHYo2tUGN$7bpAFH{yvs{1{zyIhz`8 zu1NBRDSO;un^ER6zG_VC1Jht!>FY0XKEoZ;6ym>*Rt1#Dz2VA!{FN(R(m&q0vp>do z^4jgN$wCS70*?pH|yrZ|MnU2dyRF^A~rO_Gw0I8Jl3A-@eE!2g;o0HI_5m5=OL1Z&KDLQ z=gD>*-^TJg10~>O=tG>u*S|8KKV52>x!IXeG9< zO@WIuMabZVlFzEsZXu`2OD#mQsY?{j#*&Yi^0CrquCWm3)Q%oWOr{SV^W=~3<}}n+ ze{qiKxuNT=j~9x(Y0}KKFtAFsAbCig?j>M%mvC<6O>p1_8rB`2?8a-vv z`(>2lNqI0fnHa9oCA8P~^&F*MC?f1%r2zlD!>@;1fFee>&9zaMZYdWMQ|Dfh*AlOB zP-}JY;c$DIv%2!V1aV1AS;=_EF(ETtX#j`!t zyIGsBXV+^rJi;e(PU`B}2btDm-n$OH9r{!XCR7_R%Bsk%V|8o&0h3*e?fOzQ*}vVMEwwpQN5~*7B@Q=5lF)yp|G| zP?HLcykZ;kStRa)##{I5l5$6#tIjIjQC%9$zOQ+tlLb@CKT$uv_g<>ub$#b_{GL1UBIY3(F+=E3ZxvsGa27S;v%jQDyN@d0X}jo1c#kh_H`ES*pPwueMl~^EBc7D~F&XYr?(==x@Uuka& zY130*j1n{&Os`0_*Q|#}97=&(XC2X?e$H6Q%x0fE)Q#XhyDuTuZNF*aeb<`T=w)iH z-7S(aN_5H8H>oTxO=_?Uh8{fmu-|rmB|4%+kvNj(bhz8?6<>mUO7W+L^E~Ba3R66W z!|*TLsJ3H}D`~}9OpRk!*i(H^r8v7764$x%UT|8kA)R)qD%LQn(cUkF*k$U* zHQa3HZwW}^sq+r+d-gg09E$_b^XQ6q%i(@}R;1U}h(Vy=P;CKv(N7YtKP$S)M>?(DX_uwU-}dCwjlDAc|f3lQ)(5!!f8?*I7n<4C^dDc4_r2V)ZE2s zJ))=jubB{k`*eA{J7FzH7p7rvMR3ED?1|2LK;kQq5qk#j2Bzo&`M;pQ1X5O&oPi`% zFauXw8UjM6bJl|hXB82z^tJ#8=xn^4M+h7TG#_O zpwa;fbA-a2pfG1(P$&Wci~=Ou0y>j`2cX+IAi)*^g#l^5K0pf9daCXp?SYj8Q?_?= zCxI3MECU1WC;vMaSQLXsLq$<=G!%h?BcV76IG73yHc%wETf5o2kce(jAPTS96C`Wm zNp66GKo+qW97qcQE&X2!=&FHV9|ws6;F(itED`kyT6zafL1``UEj;DA{b@Gd8Qn;Osz6dIgJQ6%ui4a`Kga|fmxP=6;H zZzn8}&kdxH+gr;y+c^@Ta3GHw@3kf(Ffj-~K|K<|$q=;Ze>(hSIGFJt(SS+V$bs8{ zou*K6AhQ2IxFG+xJdnVO1TP@(3yJ~OEO0?2BydnHRve1JA)qMWSBkX@pkaWNhqbl< zZKL0MpN+m-?~sl9KkWe?AfL4h7;nvn;9%e-4mdgRT6+eP;>7{Mz-OQ{1Op_Afpn0e z1R%g#TcCce-+H@0{nmNlfR(*Q1Nj5|)`ft8cQh7I2;c=Ow;?1r#zq-z^QR2T09;@_ zcn8N{ulu9m8XvHJqaRQPWnAM4@&zsw3NRq{_Z>6pGg8I>aS}} z`adh;zlyaP1clzX)>Z?c{@RKG=zrhWEDh4Y`oFIAfgqp&8wzi|gRjEc3<9(CciqOg z8~63PKda&IwxD6Q9b;pXf%|`1uYUu5dFWaatS%Ti0Kowd3`P$mh-8409ux_p2cTpC zMXnuC0V4?#{2&3)@PKW=5(J1S$TjZ`1{NTKMwS=1;gU+5*W;Y zsas=V4+SP{jqCt;ir*ziC~$gYjphVK(6y2?6tzAS5elT$tkHlF2}V_*4EZavqSpuf zJHW1w{3jHz>j^xs1>H3XAVAmy@_pAhyMr$8;b>uhjr?dtHvTD7`Mn zIVfg*d~YyvueJ06R_l5R4DCQ12g(0AZLsoB{ssbYj$7)%_8awbh~Fo4A8{kVfaioX;Xq_x6Beck z$h|(1nn)-Rz1B3>1U$}fL;lBLt;dEs8%RMMDhfDh;2#JO{>ND#VA=c^;gyMQP8)z^ z;{X&e&YyH`luqj~QfHdN%00+T%-o#{3j8>%%Wh_7Z${>HoLYVxF!;Bn|Bpoju+$&$ zu|v^@doeoQ7^Bt^q!HYxb*MK;XI(tbZN>X*mS7v=;lw0xI5hAN1)xFEO;7*-4*-t) zUseVd_GVQ!*3kd3@|r3So|hKgM;D_FT1Ns<^vrG-XI-2b;>51&Q?nUyu#q*F(aUXP z^}p8HAGLP8AOMv1e_?eavNSU>cr0bQY`R$BllQ}FA1KIDn0Md)S32+=-dL>)L=OP} z0dJJLy$uNT0rw6rb70N>e#L&D5d3ec1IXvE&cN9;a6_R89tb?FD2aq45dcO(z)=V^ z5^)5M6oSKrgds2mupI!54+Ch}#gRyIw6}tKqQuZ*sH4y`B$A7}Bn;;Cr%H_IW(RZv z_9iwS*1!q5zk9jZ*g~!F)(!wRT<0MC*DLSkMzDnd!4(SuFv0pC6pO(CUf34;hX%gB z;2+d^orXZ8KnJ#&hC+kxe=7|Om}d(O17MVYXcGUn!vgz-&Fz3EAjEH_p>SK}gCp0r z4q(GSGQ$BP;I%i?5a51fGYtW}Lx6wV)DD4?00ZO}8tz}2(TIO!0rpSWt>YpP;=qf# zg&zV5#*!^#z`;PUi3X?vhV3mh6c`V;(9i&!+DgNs0bjkj9kBHN>5D>xTdytcu)s0S zEi^O&4CtHNp@F}DXyOuEZ2$)j==>ue0Bru@huN+#;O@4Lfkl8gVY4h))W3RQfitQ9 zv=jfApEw-I$lt;bK&1c3ERF$z(&ll+#lhEp3k?Ts%(u`a&;SD5N(0f{R+_}W^M*tI z+ZXrm+67PF{$m#$?jJn>9|XcY@bAw%1AHR*XD$(N31Bn7wH@wXe}G1VU|@qE$qjGs zNN`&_M6K#<3m_n1Fc1^!5{aNYT`TL^`w+lS8*2d^??zg4PY5(d903s&RMJ+4{D0G+ BkTL)O literal 0 HcmV?d00001 diff --git a/rslt/lmdk_sel_cmp/lmdk_sel_cmp-norm-l.pdf b/rslt/lmdk_sel_cmp/lmdk_sel_cmp-norm-l.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e54f62d2a1bca730b61f145b3e95c6e880dcb3a7 GIT binary patch literal 15964 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