From e2d6151c347774da9bb912187a8946398546a2f0 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Wed, 8 Nov 2023 22:31:16 +0100 Subject: [PATCH] Added commit id in report --- report/main.pdf | Bin 270404 -> 274002 bytes report/main.tex | 214 +++++++++++++++++++++++++----------------------- 2 files changed, 113 insertions(+), 101 deletions(-) diff --git a/report/main.pdf b/report/main.pdf index d1459b1a919eb889e971a540209eb6f22dfe61c3..883481da22f8aecadbaf7f1caae918667cf02c66 100644 GIT binary patch delta 60202 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 BDIov= delta 56599 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´&lYC}j-V{laZ9NVA1lD7tLPOI^frGh ze`~@~C+FPKg$%k#iyXMcR(NpiO;OUTdLRqy5ZJV6!a{MP4B1t&t~pgkAg&+-XsZTW zwirzah2k*3h@6-x)Z5V-ZM4^EDxr=#I4%an8ZH$#Ivl{tDfkPfC3snNJQX9BXkoab z%pIE0MDH8Vx4q)fsyydmg|Ao0N(+CP_vqxalYAT!>^U)@ZM;eoF-(ubdlWd+0(5$M z44j)#e3JYl(5`(1{caa~m;IQWJ;t}Ps|P@{WeqqGRo^2e-vrhKXKsX+he~a1cvnJH z(0uZWr#7~=7GEHP;V(nbx_&lG;?MWRLooXnF^s%WTCcFt_7m#w>wiYm5Lthm4f3j@ zHN3_~$wRiPh#|5N!p>SScT4)S3@JX3H1ECX@~dGC^YHhp8amd#_CSOzd1<2=65dGJ zD@%P{h)pWfliLBwj!3uEA!NSv~Zc!4;Godaa<%&HB zBQn}1u0O#`kFe+u>Z0b#c@+KvvYNS=J+ZL;zH9*Jpy+R!F{svshSW!kg>M)ytRAe@ zU=0JkzL+GODoo@bMBoPKC%wLyH%+l$Q>sV|2~|ff;<5HlZFBE8sHlI2N(8Ubl^Hrq zbEC862Y6$~=D6*?EYUf2LmY&o_)g}OejMV?#3utq+gJw|nr{bpf%6wfPOV2nAMxDS5~CldC2E}GQ(g# zYJ2e1z+^WeLwxqHkKA!WOC{``c3+MZ@T%UEMU9Tzu5Rn-`NugS;oxQVQ=wdFH5aW-fjxG|8!MDr}m=pc-kD`}db^h=#tYyd@m ze=0oq!S~$aagcw2J1=xw1uW@bH$9QPia7ffe@LK0{)O#Kma|yLqrvV1wJ&{B$qc0j z>Eebq6Z0jdknApy7sfN(fg(2b@lSmyz-4pu8X|E1R}H#%vi-ni+$nY16cuCtU}PJGb& z2kXe@yxjPYjPFr|A?gRooY}t4=(pKhpdLr6wPBvD^W1LOuzlsAN;+;cp^yO=u+AMpYEYe{7u=TsMBL7*KwAwe@#_aXTQc$%2He2}+k;zY!&Q+ee`f=hOl zytG;zC6Ry5JJm2k6TY(#chM78Jz3o)q5V94Gc=r;A`B7#sOT@oa|5JxEndek)CsM2{m=v~7GHD_FI z<$bo_@4nj>~j$ zT{j2cH&+>oZ+W0_U{t@*=B!oXPJllx)y8;8o+5YcRk6tKR{nPZ&^)rAa|NS!$ncf( zu-bn=5m7i8DEkUA=e~g?+My|-Ptmx2e?WECf-^J6Pqc;_3h%a+Dg9+|qF3Fyz-a(Ft$mK3x?w-0 zXOqn%Ng{_EP;`IG$X^Z(@!b#;y6-13!N?#=?0-MMr7=dA>}g{QvA%|eh1j5}inzA? z*jKJHy5xyq|7})&aD40)hodO&YaHCC(C2@W!DBL_*MyA0sP!}pw^f~k%Ft+C2-#iX z@$1Zee7qjpwXD0y0 z;J^1#i4S9Kz3I)y?QUtjAz0sqrt1SZrx$Z9OCHH4tcL`TmSM!TYkHYHYB715Zw!CQ zWlU?fXBfBQ&sGzPKC;+eDBrDQSh4sSVcB3i{HpH*_Zt!;SGhR>K08=u+tXP}Yb)F< zeTM3}%BKk~j&&Efs=Dbj*;!)I9n_Tlg1oN8RTJ&drgPUjr@-0euYL>TDX|Jl)2%&? z@m>SVe9PyoL};|B5y#$@ey5olce;P14r0+@xKp^EXvxjKwDaW5N3?&%iWw+1{0TEX z(19AoDSgl5ic(S|YeZ(?Ms#u8&_s21Sx?54B9bpRtd!8;B^t=tSd}!Yogmjuj{s`O zz}FhNG2z2;I$q!A&n)p|aX;`te%qL1e&L9rXh4+7G{rQFT zkTS=lB$EYPdY(yAWpz1g^n*L?H{HE-56_5^9Fd%wKIfmqLP9r(KZMoR7rYcF#vtRv zh(dT9&3NMmu(#!=$e=E zck=1Xr5+nT;t>#|uTs1;J2*=A9&FR)Q2NSd5G5aq^v$sk!Obp7>08Hio0alHKG-C6 zRJ#UW$L*b_V)lO8M2)f^SiAajU-cjqtgQl3pr{goRVQls_@J@X9qXur6p!#Oi-o`E~BuaEq2jiyGu`4|_LM!$ezDNz=NM>#~Sg*k@suW}h@Q z`(@d)=h}jb7qBP&0eo9OvMlo^$TQ8>=7#m&oV(%&%m<9$N0Aj>lHcUa_t+I!#z1G? zRAP(9KPVGZRewVceo7MDPTeZ+zMc5Bp^~Noq?0vs*?*OZV9|e4X(zgup{VOd-o3a` z7xq$te{m+mDSOW%Mb@;Lr9&yrt0lzzQy6~xYv$soR(90ASOn`;L+DSc(TSkNn6aq< zAJ&75Y&)z;_ZR;I1FzR-8#jsc!y<+Lx)~i3tHtYjca?x=W>w3NhL!^f?ty5S*4086 z!6y#Y4ye>>ZM}aUGE5H1I0f*QW6RKZKznz5wg(q>yU8|#v*Qba8TWR=aV7P)U;NH8 zLX9*!mWCrixuctS;1yXlp+i=i6S!oUFb)l88V1;{{aZfIUluoMFKCl#U`*-|{W1Yz z(TU)9ucggz5*3l>!xF6B+&^?~Mp80QkqDxb{&vkR)>3~C-wJ3m2El&!wJ0O>S3iLh z3r_pKfg^4jsYbWDxD~+TY3lQS`0Q}#_5)TwWf0vbBmQK~3fg^9!4vTIGh-}Lwky82 z&>S>zod#If-b#yjW`)#aY2tDFp4(M#e{>h}GXh1|+5Y_EDm+Xh>~n%-pwL?484&El z1e7n0|7Cxi?5yRRBjDt>a*si=A>6k(PSoZHh&PnW@&tG>D(#K8!J>2eUe@S;)x9%B zksWKTJj(D~zv8ReQ&J~&n1DL3Ht~xSZBSs&{9Gt_`?$|hQf0l57FdScnEo<>{^5;L zHLCcofo<8RGTr8%%PEZSQ_YX!aU(#reN=1SwPrxl%xeXS3f3;SO70ShoyQ@AYF7UaMX_4R|uhb%bK-2XheaUMnza~BVMcNgC_l!MY1Wi zJeK)Yc$sKNCO0R{fjy+?SK;$mDS4_3nrn@cYEWA>DgWPnFhzU!?9H48+HzKM(~dVO|UOMI$Tku&GF2P2wZ&34Kc+AOK+xg5*;4)w-JBSu&?l2fu>97?*xB- zu9k3oQ`mHlt;s-yEZqjY#onWBym>Xwh!7wtvRqR_W^~qWgZtzM>iRv{2D{5m#r5qhsa)z4?k;ka;46oy9Q8F2llh6}vr0AN?ra*uAWv`Fe z{QhV*1%0AV46)Fd5cXFskRSV6XlxPXeiZrXvT6!!w`9Z&430ozc|Ba+(_w`oHVqqQ zfTgkz&f8{6UeC?s;}%yV_y0P)C{#&1>~JxM3y}y^N^i5(QCkfEyIf{XKboIFy)a%6nmEEuFI2^Qw`^FfPhIoImgKHdm?tLkW z?sSXNmNegjXdE0kZx$K;hka!%4$N(HF(2f9!d9e^*#mt!dyOUW!ufgxY;qXy__^4} zJf}w`9$7)j%lE$zy1I-t!TxJ}EZI0tPt2>gPuFa`)AsF6gZ&eKp^3FKAvM+Mokp{_ zQ3PJJKMgy6sU_^ohqiw;7^VbE%fa0e#2x-sg=voa0hzdxKQvD&gW;2;5oAjMI}8%O z?y+kKVDm#4YhTw242y&f65rWEND*4Sy$?BQCFtG}UZ-FQQS7i+I>-cW>>DCCqND-F z%oGJa*kTX73$xTs1BGvfi0y=3nHw_h(x85?xA%{Eq!$Rh=Xif>fBocC89MO63tgRQ z5=(EVbsju+89K{>L)&rQ67Uq=p$R@)I#>X9mZWnTr_vjO5Uq8{e>q+o7TzG^K3x)3 z2@C(J%7DjVlf)8qqRvefiNRFg6w3$hps}JnX|UO=PVW-R%@0AjRa(yP98u_67V$?i ziAD>v#6op?3m$*2W+Y^<@iL-SWp+4Xx3_;}*%7GF9Cd3yH&6nZF#X-yW#Cd(Sh4=! z4HuIX!5i_Nh9{k3^YMifeYJWY@Dm*%Y~$&z9z7h`16aa2{>@0II{i|h zuRAlIP8vQ4)MiQOfLtRBKKf%Sm2r3&Vud-*X3zAw-{rMX&zo#m_d@?#8oFCGU?{XrQbj06sRbbpiKD0w<%qFwQbW zF|+8@mn(-F!4rIfKV(8{^d|O6x*L&17R`=Onl$L>tp){pIOqy5(v~7oqStmUh8%26 z%gN^aPr-j=sbnv~HEn3U%TYz@jYC4?`-a)~ctnXIPIzeybfZzOmS3elX& z2&}dDWQlc+7n4EP{er7rnU#!ld5f(^;MI~9p6;?CT%F$Ho;01_euyIPTEcYXa&1;dj zh(3QN?pJvnoTy5-A_=27F17O;hwUR1j_A0UiG^`Tqu&AFTmlu;L3;%J&bvSSt}ZIa zea3VVkO7uq;PjRSlk23H;h?rqBH#B&`H^$7D+#+)0j?YXM-WerOk{R z`0i>wLm0~Rc7vZpA^e*ROJ28KiN|(GQ2&ja0UcS{=`T$f9w)P>sY~YD*<`HcZ!v$q zTp$9yeb+j+_vZ0sp%r|6AMb~yH^IZ#Q;?4RQ=mI6&k~11$ZUlj2g>IeWqQ;8DvOJk z`9T8_OQ7wN+!+A!ZI3 z7p{+Z@HzKy5%#Q^f(K#z>t242N~C#wAa8La=BZ zIk<)^l0|1xK2N5pw7*d&YNx=_Aq#_!{wj86aDlo(OU6>$s(yXm{me%Jo>E6Li#v{oBDR0NvMrKKM>}>CiX$Rp9hQC2xV4UsB+w#20J72kQ;EB| zZQ8rwqJ=WM9(E)Ls%j=!ddt$B)eiwthBnWoSjc&E^n=5=%J4-vGX~DyqS>Hz=cry_ z{vDB~0O1wq0_5(<_lzX_He*yZS|8`zK$OZokMtEGSo!X(SrIe>-r9fQSdJ%zbBo@l zJ3mI*aiAmmNjsYxdhqHA#3JFFA`Vs&V3`|}6*pKGo%E=X7meWMP@2(TC%!YRuH7T+ zNIhuYUF`W7$`fKO7ni7+ugL)*{eIUyvvj|#IZ|thyweC1@geuQ=I)(BlQ|6i=Ssxh{W_)fjQEyd=-^KwslNiMsjRj={~B*ns?LUcOTOU6Y8)dX*B8 zOf@XVE%f9-nR(iWy6$#ghb4;@flX_V+6q7i(c_auoluo|We#L&4(oxPTTBJ*Pd7q$ zNmILLkhRK>P?;Z_MY`aG+**|eG7ryY>Rcs<1{)0iRnF7YBbZ{y;$>Z;vPQ`Zy+k)>vLC{#78iB{bjLRwq~cz2gfvBXS;M zXL2}!E^Rp8iNhAt*`_z$KT}cW$dgZue+pSi9ft`+W2O-#@2@+TYxy?uRdQKM(|67d zk^&8}fscy*dDcgAX-7|hS%8}Zh%r7!%2#ZLUt(A%xWY1_h#517nB}=%L3_o9 zy0*df@D4<=$p{YTTK<%gGd0WVhG7MjM41nmQVh0F^Lpp;j2lFw`Oj22n2QSONLELe zf&^=%hy;HlOlfxkCAHXRW(PrFo#CE3{uHE1&%DW&r6-p?Tg61L|E8ohwo0|VCfWc!j(KQEm=ccHC*htd(?3b!FVncv zS2sF8MZG1Z(EzGroSPQmpm>~pb+iQPVMi_j3{-!mrygw^Q=ROzjgpaqfDWtr@3r0^ z+JFS0Dyb{UxHwQzCSjFPkf@httL=rOygR0oZN0VDhst~LV|c!}lnh0RXan^tFODt+ z%EvozvwWB45btZ*1Xu363wYSp3K$PSH9?cZ1-^^d$z_-PlV%0l-`**-2uH12`8~Vb z0?dCx2HKCx7oiTZL#Q8jVOrDRe2F9bO8Lg!I>TZlZX>{G%+3A~=*I+~Tbq+_c@B$A zux~;q+?IlYYBV3AD@;ujn&r5~d6ap;wRYjpWZd*TH4vmw)Yu(H;Q#?}=`hU3X^_#c zh>!5sj;m+kIu9-f3SNphU>#!ABy6A+QpkUKqc~)=NxJ4kyU6N^9Ml&*WdyWh5SZVk zvLz#D@7ec$U%@nvjCN<1XDvlk4v`)LF$maB7g-_lseI(-@LIPcp}D8oo2Fg9n>K*& z55#hTx_o`UlY*BwwJH7CZEPZ`o&?re*DeOinKj)MCS||K^|xsp*k9#%0w(GFFwK7& zLMZ;Tu)6jkxXtHXEgA2qlW@3g6;`|-#(+Lyo|q=t;_7iOo`;XPJZcz!Kbx zk8-?Ag_WP!s?GJbL${6;9wTigUx8naY{95Uql?g`GYDU2ioD-_)+5|1TyvREYY(%> z8EdbEy3iZppGSh+Z@7Dzt`v6$4!_4@%`+uhuD6M~hOy0L= zO#ArZz%T3s$x}|F8wM;(ur}z)xFLj>R6#onrMEBdfIDD>GuF+1i+`LM+C^7TR=5mY&AH({0{@7}!D5ay9 zn#m?{Kl;edi5-lLotDto)gS3CQr-!Hl+zTG(cK9q?8?^AMMqKw%P5Jh)siP`lf{_A z{A~;v!qDbLkf82?(k*{CG&Z-;_?E%S^W@t>`0L=s7+pF5?i$YV$v^Aix49* zI5ap}3h@qZST6rM&<;Uknx3)SWBe> zR&Smgc0q(a?)Yw= zoo)W&mW(zNEc1o&)X^c`{5l#)Ol;INK7)k!nM)6}$YXyy=g-n8QKj0%J}Gf&v0lwAaF z4}XGM2U$`-+Sx@x>oQ9g_@;9{M3%oXXl6<55(Higk#T<^kqa_D4fR>^y@fQaWzn^h z)EV=1O+5UOGE-qO(pzGw#y&uS{&TZ}Rje|y*qnW;2{%m{PnbnmF-j$DRZL^O!Jp>W ztXhnEYzfeU+dlxMU$ljM$UZD0(*QYktS%3W#gt*AC_%C(!=An2H}P7;m48_FRFuys zCWg~n3eC`v=}@0+}eSS-IAgo;Wx>c^(6xCXX^+4(z5~W{OaVZ~{ zY_7H#qn7_5qO^~9(I?=#-E+uy@*P~6$qiImZ{SD4(qp6do1~~+%h~qJ=8s&(J%GQT z?@+_Or7H}>Qo{BdSrBbC^`3OpY&~BS2Aqx+m&rK>~j9-7tNav zeei!Y9hj81%dG6jJ z^i=jO`5i!(?;nZs1_@~Fy&C0f#x(_9XA~g2vR@tce?T`2v$HoB0@rljKU49}qhgf@ ztkTjBr5h0O3Z`8>${?2vNqd8O%|zJyNPmA9cxa~P^r~?s9k1s1iv)XlRthuDR=qA* zO3vwf=IO#Q;y}l(Fq;*(s=o4-*I%GJ*2dhRgik&zg)jg>0i6|;l$noL(vjzqMgdAS zEl8|A;D4j=&)*X^NI=1x zk-)$9=n<$1ed~%JWQopV_N&UPl8Xp)|Zm#%2B$MFH zx7-g3uK7C)(D2xOBH%Q#J`rql zi#&Ke2OIpl9KZH4Ad~T?lf+lcn7wYhC?iWC4`uIF102(i{7CE4SSU6O3uW{9( zve8#Y+f7@^t3w}I!y<}U1&w|zR>Qe70Bdv+Dm*sE*OXT8zbrdXk;quJl?ak zc4Ucbd#Y7C#c52dHm4tR4C*}f2E9tyqu!#{ErJByn9T|1eu#hLfD~f}m$QQg?13{n z{c;GH7o#IO+O9!C;Ay$5IRABlYL!sG(lBCBF&1+Nb(D7lIH;ESwo#lm^ee^8Kji)Y z23yS1gh&phtwpub$nHtp{yzZ4yE-%=9j^1;Mc&|_w4jNvBpM8nA0F+r=}km9t+yyr zMK5|2D!Wm!ZW4dfJ)WzW_9{b?=iW9t1p2!05c$6j#fVK;rxbR_feQGSz{}uOC|xSf zSpw_io{^3xFvVCx8c>ufdY=sL{0>3owCE3Nt3j}0!wIXW_BjT7OC0A2UwfTQbD=|* zICC=nfT9#Sz4}UXa4aAwEj|%Z%e1ainm7848bjtj-pGHLuA>i-6tQATFxx?>SHM=% zxJ$vOke-m8VqS~YlK{j{^i4+eLH_M$%-t}Cl{tjP`Myte{pme>xfCN5$rG7n%QATN zutDG>&(VEHr~2%v_?E$piFEFCUTC}cxZ36^nPFcwj(>peEsHD7`zC`BC?UB~ca))+ zrwQjo=9**7nRY67#JP?!rJqkL(Pda{c>9z|Y%ht$TsI&(KZU{}X zoE-z=)Ai!%O>zRPTWJMI8DjSTa zlgJsAV^ddMSw2J)ZL5k5jL;9xi?vxC{liBn@_u8?E4ty zxnnMVB!de#P>n(U(?ONM`djj(e#z-7Z#{oq>G9x^l1K--h^Sc?N=CNJnA2(G$i=#J z8mHvFKaR??teae}I_yBS6T=_K*aGx})AFj(9TSm@NuuDYH63*rD>N~@yu{PBlXk3R zu5s-}MX-P197V-uo}KP~reIe1@(TzQp3xJ|X2%tI`7y4Eh*aTw20ef6 zMuNG1Tz#pG&W&&u+vj;Geki2Z}e|%oC|?RQgP4{WyOV)7)(Rvi*=Zko$zULFavMn&@83?Vm%VFzaKNqrXEkke{DEd)bYsw&I6_o3v_bfbTScv^oS zFa(!tsxKNIL(eFSN6(YJ06@FWu?+DDAmXnCeKKv1oaRU0OiXO!0tq7J4kkiStI;@S z>1B)^F{t;iDKC7}cK^Zd&Djx6QvpE1&03TKCM?sZELw8D37B>3Eal7)3jylqMGuhV zm!siE!Z1O~7>n`fNE2LQ%@cnf!Jb5aju>71%ujJvL2~7u0O=(>n-&csU!Y2#Spu9? zNyKEy!H5v1#Il?m!jg5h^lY>uoo*AS!dD?pxvFtcGG_9Ga3(}9;4T*^q(AjT*)Tf-woYR#SV5SqJUal=OS5s|a@aYZ9jKqJE4%gidr{tIF zHX-UUHESbrvhTH5^QBf5m5&NB7y&U*`G_Yl)<>tkPpde>sB`u)+N`H~ID2Ui?s%g?HpyA^P) zSmv|qT7uRky~X8cNu7T_?AgMIbCkH}F9S{gQVgxwzB}sy#k^eT$^m@8SZ0W|5Kyq0t`%Ft&0o`8;e1OjKEygUETtK87pw7rwGLV9i zvF_+uqUE(BqRotj~6@z8%~@lv#aDIXJb3?vj% zB18C;Ey;sG+x$iDAztW|^b^F9OTGs2QFn7Lri2wQ%8;mKv>%7uME%PZ{4;g6ZPqzr zI3kiT`=?#BWh>%|6coUO!@VE)2G$kEu($DG8!7(&fG$uYsc)$!Do|lKi;|}6C`7&$ ze*D^at9@j_NeX{ZQc(B>LhiJw@z<%Z*`>yar=vD2bNUpvdq076M0%HZ&B?^s%N$<( za+}+D3@+Z->|x?zyyonBoLx@vPX1U|tZ_5XkaPEy_`$%Ei0JkV3Je__Q&oE5;+-W+ zFe9@2X)`oNJlCNKQmw=KT1i=5AWu^8ok;>vC!^A!;t79}k5j6={IPpAjT^&nu)z2R zo`So|)T4>Ux>{u$0qV@~L?n><=sQ!3a;o zA}RNl6&t#l5Jg;`EQF5VcV2Zl7&OIFGyY85y55-+yY%e%o8D=AWg6-^?tCe}U2J>Z zbo_6`!GHGPq{oCBq=a8l?CRA$KRaLsUG|mNL&JX`a54lFhW5MAI(QYY9Zi#=sz=EE zs%W{cYMt^^E`NO&b;;emeS`?P0M6=q(&q2>-$j%QmTJlVatFMRR}&u@l)F&c*@0=7eK57KgOmelLDtt4N&pFn<3^jpc7{bh1R z?U8>s`5c)oq5eX#;|h!(S&ZyE9#KK#rBM#|rq`00*nA%w(us12JZiCzf*E(sTk?L< zm5!Nth5=!qwYHxI2RdcXtTxPJp060z-h{k}$wPaF^f&2A2?myAuKo z7F>eE0H0s=7k}}p-tKf)Z|>sWs&h~E>8n8P=4e_o9~mQo04wQNAqkObxsV$izkoqE z98&#)g7|IWjUCE+Spt;Nri#7#wB!q2G1>E{`d&Pu{%oZ;tB0BlU(t;-k#9BT7~dFT zi@)$By>p&Ma{)CN-`v34(o?()pG5se*KgUBBz**QW zCb}wKDW5lbgd+y^eF6!JA0TyU_NPm5Ul}+p0wgB3BFZ=`@k0LO&Ssl!gHUmz%HhH} z9}zy8q*O}7;}xJPD8pfg$K|@79SCUR%^~_{@dbs*^K)iBpdu;bFHX%T_a=)T3#8`; z^FOgsV1->G%jid8b9+If$7!IeZn28|_eNzf;nc~7H+Uy_vpD5VHAF=VPqzDbh~!p^zjUM&S(DM6MSk6#9(+J5x+;;2$nwo>uwY6Grii+= zmJe_(^0Ol|gL*{Ufkg?5zQG6@Pt3(tUnvwfA^p0;{D{QpO%;mC^=TJt-Iu#$+}($V zr5nX!uM?tPlc`JDKybV~N%R-L+||mY?7N%PxV#b=3P~{1)G?9D8+(G=2A9$}Q7^u! zW_ZWSeW{GKoY7B=wGpSZXQuK{XyBEh1$X6`r=g>h=YDq=mjwEq zAKWGD@o?B%(`Ce=ODj<1&(num+kNrsPSUhZ&wI9ozru4D|W+kYG%#{Hd!aI*_Y$XidzhAoer%%rdB9_^U5s|_E{4dP|2IPG@ps=QO=Y{ zaELZ_I2v`=MZ%1CF;n1!Lg@cogj;zXk?N!>oLyq!%IGL!yDSnI5dz?NQYOjYlvY{s zE7U)&A<43IG?_&gI_ZRjDm?FkMQC@DGWhNRtEd`Zid_hPbv_m*$4DQ2_}i=b32Jn*;`*T`%_y zMrNLZKK0xvnn{q!1*70v3Q_fi|C=#M2diFDs`IfEZ~kh6yt8&+^)CO%EwEfSEsUCywfDCj`KWgSe zWx4;skadu3{=IneWH&YmarzF_^+zk-5GhIeQNs97!W~BL_~n_=i;d? zSNL0xDQ1NjTOzM`)rj!2jY$phPSV4qTZ4=(=^|mdWqlTc%LES)A-;3id&o}khT5Sz zh${1)#|#U~+o%cj^lAOBK4yG14a3fz8@5_$a6egtq)J-01QU9dml(Eri4vyWD!=$~hdO6^6^d8cs3$=VimYepB^;IR#6vQ9YP8VY zy%rZM1Mi-ojD>S-#IYWk5M<(cY*Iuh;NjXf?kDq&ig+xAMeMy?2DgB*8tF+jC;j+)@Hi@_}HVemUI3vV`GI$52Z9z18z_qH6lxQCR?i+>-Z8=xp~N!3(= zmHjWjq$LJHN^jX~ay3+}*Y*Iiw)0_KoH*T3*$D0PYz~wKD#o(nKMSe~(LXw2-w&b7c%`bCO?^3EzF56A}I(@}%id|Bvj(6wjcl<-5g8p!c zfXeqk*I&phj$Y``xvkb^?7pSa&=?;Kl}s*(r*L|0(LLRVNlqiZ%gSoRt0bC$5wn`IiG8@ zU91c*?6tFM^d!&a%Ir@!7`RoIk@=x2Ci2HSBmE5?b%GH$D@9rJJI;@2_hD3g*hK-G7%-Eyk)KV&)ZzMf`2Nj6RAhT6V zid?0nEhnp&coqRs2OpK)w2RNR7*rHz`GT>uex~DTX}Wc4cAWOI237w_MFfvhV!vh} zbY#3>PKIoh6q#oNxs4Mes!9EpX%ua`@r~#bkf-yp%Oo+uP6i7&ZBBi=WD}kr1wW4^ zw^L(%`x&MFdEiKeSPlQQWns9KlfP6#SBe^%FIs^A{`;CRli?Ijis~YbXS+-_e!b)u`)B6ZDi5j35e=G7@y7 zFDLTzwb+W1ge|s<({JaK&wX*=%5*J=D5{Sx*V!~wE3Z*{8g0R~29(tDg~mwd{=;D= zt=Eu1g#MIuknU6}h$uLj^(Yj!66lKDCAahm`l{i~{<;Z@Qw!8A%d81t?9*XirW5?Q z^bw-?YQWskQ#P9}Bp`I0r1cL+02=w1c%MYy1;uzdWT>58kE!L2t;1Qd^{a@Zy&NM7 zECu^^?4#Ww!aVLv(Wttr2;!yJ1fJ!j(+!*}@O?B>i%Ip&vo#0ctMp%yq47l*xo#EH z+kD#n8U<;!`7n$*7~3r&jDNRA->K+xaS&uYS4Z!IT3MXVar&-Mwapid4z!6+=gVos z(@IU&S{tS4q5Qc%!g!La6LqcqX-zhzuRW%6MUEUtJmYOI2ARI5Gu*FK*#=-DoaA++bg2 zax9c*eKC0IDZmZQz>!6?doE_xOUK3Q5{EE$5$MAlmGpB@1pOkLMgPiVmva;ST&uA`ti%Kqpu=F8 z08+R$4j>mDrj7#`h7aNc_RwIDcmPsZ6()cS{*MUYgAS`FddANxbyxr;zy;1j4%kP7 zIgkN{;0Vg+5)}*^r2#~;@bmEtbMo=C^6{~<19>$)?GNKanbEWBCgm&zfy z{;g3a*!9z6*?eVDH9H8IKlr_R{)<7Z7Buw1gespYE=6z1%W2t1+%5uCS6^Ru^`aQ7 z58$JrzLV*j`=V6Q`pYZM43bf$A*Q?Uj?)e6+>yqqpA)&nr*xgk1L^EpZcyTK${eBYd1_9wP^wuJMZ z%bzf=mp&MuQE3^LcPG8V9P4Ohrqh4fsFDTnDFhD&#y~Jeoj`Qq_IN>sXl};!m>A}0 zQIpKR64h2>7#+WCK3^O2I)>$+5iZ1BqS~P3hS?Nr%lqhzit&-*?(~nM78)C}%6xj! zxITvY89iI}Fjbxu?iEQQgYO31)(H|2 zR8d>CDS#OFzWZU85!=QPl`_YlKutea2W$bj>gm3G(sNso#dl>f-S6#gG?2@>$o*y0 zft#cz-()Sm7CLf+y{X(cL%)f6xYFxm#UHv@%d_}?t)RV6TRK_oS91G;L-YwgrlD9l z3oa0}h^QSNI`vrLWZf#M*bWR_IyrtRUGF2S8wOblF(9X5qp)M*W{*9>!;s$DF2~IQ z2Zu5d=Tp$mWR^$#Fj~1``5G9R(|P}jz6h9%yZ&PSaB=dH2!SStnZT&?))ONHtr z?0t+vrPd#eE5Zc*k2(rBYWk`4+$(qktVIxyT6^(iv121cFBdo$|7i`SsE9n zUo;&9lxZK2FmigqCAzsvXW`3ETKNH`s;<_-S0eiw#w^g(yr29~`hHk{@<89JDmF3N zNH6_n*>+iFj=HIs=77J}%wwpSrsIdUu3bz`dlh4}UuZx8kmwZ}i!GxMaGXR$)gE$& z*pR2vweAxTAX_~6E^7d)e#H$u+Gd%e-$oCYb$!1`TISqQG9qkkz-i>SC~8cuc;I}Q zs&c8+Fy9XdB{q?GPl8$s=>e^!J0jJ zij_pBY_{E`U8(rqj{RAT?^GwRKS@)~+?4zxv+#Y~qC+qL=2=X*_a2 z;g7_R2ZqJF?bH{%u!nH?VJTLrbN;loN*VXt|9xQv_T3V2=|`%&pNsK6UXDM3Jx3mA zxT>2zRj3m)+B2#J`GN39b0LUKrJCkF7dh?(&`FwKrn1wmxo7iV@!PbleT_SxOb4Qm4H3P{-qv#_|GiWEg$2G^0i4eDC(3?^_$Y@{OpW0_# ztd5PQ*iExlGO^ZaGMy{sMqSXp)j+KPsS(JNlZqp>CEg^wHyqOR3X+)lN_e61_NxGn zqoI#?L+00GovhbGyKMYLNvci)=8Z5is9Oco`}3_2rW`3=R%VWpt+=@{9_dEv-u)|R zJD&|cuGOOij)kkU%nwze9pDx-PIEY@edi;{CSgw4b{F{MGn*QT=KK@Q0%TZ0EA(>Y z>PlADy+=N-qAY!S=oKW%ylp)eykx2EG0}2hxjFbl)vsB$23o{^moJaY`m(iihZ(M{ zNv6iF3*8BND=#%dk!9qmN0SoYnb~Bn&0MA05eQvbLRdi`VpA>(65lPR(nc2Q_+Q*- zG8Goq-cKntPL>rKJYU4QQYn6@S_#RIaSv}7##h>bs=71`)DV#cpJ1bKC$(tZ*4!Z3R4N8|GmD1N6zQrZgDw94tWX)1;ioWfmO~1+Zu0dly8$9b5DN%w2&S4xW5wP`u zPue1WRVuBSL!Qq~nbldmpkg)g*^T2y$#V>|N%1w+k-VC|kYf$&rJJ=}Mxd!x&BXmb zptocid7=n?5LlFrwbKh?@N(eR5TSUD9)!30aAAM_N92AYPdW{a2L9&&ThPRox06V6 zK2Gx4xl~wCn|TqxcU%m!OkiNTZZA3+dAxk-5%J3mqLq11tG@ri)X($2^H1-kdn}ny zw!wC^NDN*_+-y-ox{mh@&CJLEW2hw0nV#TIk@pIn<*_|ebVvez+wI1s6Hc(t#ocZ+ z%y{ve-+_Q_8xLW(qlIl72l+w`2l(GVc>6Io-32By-3FaHQ`!f;P%g|5(@#IYWqFzW z+rOrNf)r8XlaqPEO^|2WWwqB3d9b14Mv7Z7vyo>P_1rDuJ+v@g~5<1?w8=;S}V!mU<_AF$!Nra4x>B-0KTaIW2_vk8S#~XJcQ9hJCRJ&)&Dk> z;qPa<5`5x`8=uE;y7M<+3s2d_`&SN~h-iF^Q0)B%?Tw1P2R(*Bx#=yuVMj`tVoCt4Gre)B&CM14Q!ooj#9(brdUt###f~<@yp5>YR2@4Tugss z(RLL5ox#A@<2jXq3(}_QUB6TWDggT+E?8ZbSUvrdZoe$@p4tS~m+PA-WT3x~w@OKs z-bajhOYFTI*j|o_Gjqq{wao4i6H_;+od{9`=o|rbHEX*OwZ&go-tJphk4l>sSEA8Z zr_#MCMzTh%o;FCgVAMU%8LCRh!HC7V&Oez)Iq@zMXdCD=@-rH-sJwOZ+o`UH%wsj4 z4GIq}+IPMk*diH{Oi6?`H7+o%snkTi_Xt>7wY?jFV#)Czp>kn`j)s42rN2U3>_pIj z3a`dSzQeSNE*DHXk|>$xYkcbug%T&WXR$Vq{a79DWCQoGy?O_Bd(7_Kk#*9!2KE*b z0q<`bJwi6uUwPic=EfqErkRHzGl&COy3*(W^{gMT$?voWrq!W?t-%ci?HjR^oO9w`2R1VgR`-N z*yzI`_#>cj$0Ayg9RB|Mw=t=+soq5)URTWG{5AUQh!oF4EWDqp-a33U-0!36m|rr$aPyn$Sb%fBQMNxng50B=x_BFIYS^NnaHsGIyV*1DRCot88 zFM>%AY6q|jrfJq&w4$DP|wV9Kk!Z7sqbKbCR` zL0xCiIfv{|Sy1H@}tN0;7`rI6zws^9*A z)dS>`Cm^%Ip3g@C+R&0&(+n2?T?+^q2n;L4n?y_vEFpPSL^{PpxWD-^yx5|MoFjP3 z!}QVyKXJo)ISk}W)Fj;KQgkrc(-b1cT=TK_4Trnl&Z8VnR;45?SCI-E&?~8^WU3)hwo>Cb`iXnSP}t|N$!Ef%^>vOb?EJNnD_hf hrJYn2pONTY_T2t3b{+r?uCSP>pfHe`Sy5XF_&+%>Aw2*9 diff --git a/report/main.tex b/report/main.tex index cd0918fd..fbe47151 100644 --- a/report/main.tex +++ b/report/main.tex @@ -34,6 +34,7 @@ \usepackage{subcaption} \usepackage{amssymb} \usepackage{amsmath} +\usepackage{changepage} \usepackage{hyperref} \title{Knowledge Management and Analysis \\ Project 01: Code Search} @@ -42,52 +43,63 @@ \begin{document} -\maketitle + \maketitle -\subsection*{Section 1 - Data Extraction} + \begin{adjustwidth}{-4cm}{-4cm} + \centering + \begin{tabular}{cc} + \toprule + Repository URL & \url{https://github.com/kamclassroom2022/project-01-multi-search-maggicl} \\ + Commit ID & \texttt{b8e0a2c3c41249e45b233b55607e0b04ebe1bad0} \\ \bottomrule + \end{tabular} + \end{adjustwidth} + \vspace{1cm} -The data extraction (implemented in the script \texttt{extract-data.py}) process scans through the files in the -TensorFlow project to extract Python docstrings and symbol names for functions, classes and methods. A summary of the -number of features extracted can be found in table~\ref{tab:count1}. The collected figures show that the number of -classes is more than half the number of files, while the number of functions is about twice the number of files. -Additionally, the data shows that a class has slightly more than 2 methods in it on average. -\begin{table}[H] -\centering -\begin{tabular}{cc} -\hline -Type & Number \\ -\hline -Python files & 2817 \\ -Classes & 1882 \\ -Functions & 4565 \\ -Methods & 5817 \\ -\hline -\end{tabular} -\caption{Count of created classes and properties.} -\label{tab:count1} -\end{table} + \subsection*{Section 1 - Data Extraction} -\subsection*{Section 2: Training of search engines} + The data extraction (implemented in the script \texttt{extract-data.py}) process scans through the files in the + TensorFlow project to extract Python docstrings and symbol names for functions, classes and methods. A summary of the + number of features extracted can be found in table~\ref{tab:count1}. The collected figures show that the number of + classes is more than half the number of files, while the number of functions is about twice the number of files. + Additionally, the data shows that a class has slightly more than 2 methods in it on average. -The training and model execution of the search engines is implemented in the Python script \texttt{search-data.py}. -The training model loads the data extracted by \texttt{extract-data.py} and uses as classification features the -identifier name and only the first line of the comment docstring. All other comment lines are filtered out as this -significantly increases performance when evaluating the models. + \begin{table}[H] + \centering + \begin{tabular}{cc} + \toprule + Type & Number \\ + \midrule + Python files & 2817 \\ + Classes & 1882 \\ + Functions & 4565 \\ + Methods & 5817 \\ + \bottomrule + \end{tabular} + \caption{Count of created classes and properties.} + \label{tab:count1} + \end{table} -The script is able to search a given natural language query among the extracted TensorFlow corpus using four techniques. -These are namely: Word Frequency Similarity, Term-Frequency Inverse Document-Frequency (TF-IDF) Similarity, Latent -Semantic Indexing (LSI), and Doc2Vec. + \subsection*{Section 2: Training of search engines} -An example output of results generated from the query ``Gather gpu device info'' for the word frequency, TF-IDF, LSI -and Doc2Vec models are shown in -figures~\ref{fig:search-freq},~\ref{fig:search-tfidf},~\ref{fig:search-lsi}~and~\ref{fig:search-doc2vec} respectively. -All four models are able to correctly report the ground truth required by the file \texttt{ground-truth-unique.txt} as -the first result with $>90\%$ similarity, with the except of the Doc2Vec model which reports $71.63\%$ similarity. + The training and model execution of the search engines is implemented in the Python script \texttt{search-data.py}. + The training model loads the data extracted by \texttt{extract-data.py} and uses as classification features the + identifier name and only the first line of the comment docstring. All other comment lines are filtered out as this + significantly increases performance when evaluating the models. -\begin{figure}[b] - \small - \begin{verbatim} + The script is able to search a given natural language query among the extracted TensorFlow corpus using four techniques. + These are namely: Word Frequency Similarity, Term-Frequency Inverse Document-Frequency (TF-IDF) Similarity, Latent + Semantic Indexing (LSI), and Doc2Vec. + + An example output of results generated from the query ``Gather gpu device info'' for the word frequency, TF-IDF, LSI + and Doc2Vec models are shown in + figures~\ref{fig:search-freq},~\ref{fig:search-tfidf},~\ref{fig:search-lsi}~and~\ref{fig:search-doc2vec} respectively. + All four models are able to correctly report the ground truth required by the file \texttt{ground-truth-unique.txt} as + the first result with $>90\%$ similarity, with the except of the Doc2Vec model which reports $71.63\%$ similarity. + + \begin{figure}[b] + \small + \begin{verbatim} Similarity: 90.45% Python function: gather_gpu_devices Description: Gather gpu device info. Returns: A list of test_log_pb2.GPUInf... @@ -118,13 +130,13 @@ Description: Gather list of devices available to TensorFlow. Returns: A lis... File: tensorflow/tensorflow/tools/test/system_info_lib.py Line: 126 \end{verbatim} - \caption{Search result output for the query ``Gather gpu device info'' using the word frequency similarity model.} - \label{fig:search-freq} -\end{figure} + \caption{Search result output for the query ``Gather gpu device info'' using the word frequency similarity model.} + \label{fig:search-freq} + \end{figure} -\begin{figure}[b] - \small - \begin{verbatim} + \begin{figure}[b] + \small + \begin{verbatim} Similarity: 90.95% Python function: gather_gpu_devices Description: Gather gpu device info. Returns: A list of test_log_pb2.GPUInf... @@ -154,13 +166,13 @@ Python function: info File: tensorflow/tensorflow/python/platform/tf_logging.py Line: 167 \end{verbatim} - \caption{Search result output for the query ``Gather gpu device info'' using the TF-IDF model.} - \label{fig:search-tfidf} -\end{figure} + \caption{Search result output for the query ``Gather gpu device info'' using the TF-IDF model.} + \label{fig:search-tfidf} + \end{figure} -\begin{figure}[b] - \small - \begin{verbatim} + \begin{figure}[b] + \small + \begin{verbatim} Similarity: 98.38% Python function: gather_gpu_devices Description: Gather gpu device info. Returns: A list of test_log_pb2.GPUInf... @@ -190,13 +202,13 @@ Python method: get_var_on_device File: tensorflow/tensorflow/python/distribute/packed_distributed_variable.py Line: 90 \end{verbatim} - \caption{Search result output for the query ``Gather gpu device info'' using the LSI model.} - \label{fig:search-lsi} -\end{figure} + \caption{Search result output for the query ``Gather gpu device info'' using the LSI model.} + \label{fig:search-lsi} + \end{figure} -\begin{figure}[b] - \small - \begin{verbatim} + \begin{figure}[b] + \small + \begin{verbatim} Similarity: 71.63% Python function: gather_gpu_devices Description: Gather gpu device info. Returns: A list of test_log_pb2.GPUInf... @@ -227,59 +239,59 @@ Description: A list of device names for CPU hosts. Returns: A list of devic... File: tensorflow/tensorflow/python/tpu/tpu_embedding.py Line: 1011 \end{verbatim} - \caption{Search result output for the query ``Gather gpu device info'' using the Doc2Vec model.} - \label{fig:search-doc2vec} -\end{figure} + \caption{Search result output for the query ``Gather gpu device info'' using the Doc2Vec model.} + \label{fig:search-doc2vec} + \end{figure} -\subsection*{Section 3: Evaluation of search engines} + \subsection*{Section 3: Evaluation of search engines} -The evaluation over the given ground truth to compute precision, recall, and the T-SNE plots is performed by the script -\texttt{prec-recall.py}. The calculated average precision and recall values are reported in table~\ref{tab:tab2}. + The evaluation over the given ground truth to compute precision, recall, and the T-SNE plots is performed by the script + \texttt{prec-recall.py}. The calculated average precision and recall values are reported in table~\ref{tab:tab2}. -Precision and recall are quite high for all models. -The word frequency model has the highest precision and recall ($93.33\%$ and $100.00\%$ respectively), while the Doc2Vec -model has the lowest precision ($73.33\%$) and lowest recall ($80.00\%$). + Precision and recall are quite high for all models. + The word frequency model has the highest precision and recall ($93.33\%$ and $100.00\%$ respectively), while the Doc2Vec + model has the lowest precision ($73.33\%$) and lowest recall ($80.00\%$). -\begin{table}[H] -\centering -\begin{tabular}{ccc} -\hline -Engine & Avg Precision & Recall \\ -\hline -Frequencies & 93.33\% & 100.00\% \\ -TD-IDF & 90.00\% & 90.00\% \\ -LSI & 90.00\% & 90.00\% \\ -Doc2Vec & 73.33\% & 80.00\% \\ -\hline -\end{tabular} -\caption{Evaluation of search engines.} -\label{tab:tab2} -\end{table} + \begin{table}[H] + \centering + \begin{tabular}{ccc} + \toprule + Engine & Avg Precision & Recall \\ + \midrule + Frequencies & 93.33\% & 100.00\% \\ + TD-IDF & 90.00\% & 90.00\% \\ + LSI & 90.00\% & 90.00\% \\ + Doc2Vec & 73.33\% & 80.00\% \\ + \bottomrule + \end{tabular} + \caption{Evaluation of search engines.} + \label{tab:tab2} + \end{table} -\subsection*{TBD Section 4: Visualisation of query results} + \subsection*{TBD Section 4: Visualisation of query results} -The two-dimensional T-SNE plots (computed with perplexity $= 2$) for the LSI and Doc2Vec models are respectively in -figures~\ref{fig:tsne-lsi}~and~\ref{fig:tsne-doc2vec}. + The two-dimensional T-SNE plots (computed with perplexity $= 2$) for the LSI and Doc2Vec models are respectively in + figures~\ref{fig:tsne-lsi}~and~\ref{fig:tsne-doc2vec}. -The T-SNE plot for the LSI model shows evidently the presence of outliers in the search result. The Doc2Vec plot shows -fewer outliers and more distinct clusters for the results of each query and the query vector itself. However, even -considering the good performance for both models, it is hard to distinguish from the plots given distinct ``regions'' -where results and their respective query are located. + The T-SNE plot for the LSI model shows evidently the presence of outliers in the search result. The Doc2Vec plot shows + fewer outliers and more distinct clusters for the results of each query and the query vector itself. However, even + considering the good performance for both models, it is hard to distinguish from the plots given distinct ``regions'' + where results and their respective query are located. -\begin{figure} -\begin{center} -\includegraphics[width=\textwidth]{../out/lsi_plot} -\caption{T-SNE plot for the LSI model over the queries and ground truths given in \texttt{ground-truth-unique.txt}.} -\label{fig:tsne-lsi} -\end{center} -\end{figure} + \begin{figure} + \begin{center} + \includegraphics[width=\textwidth]{../out/lsi_plot} + \caption{T-SNE plot for the LSI model over the queries and ground truths given in \texttt{ground-truth-unique.txt}.} + \label{fig:tsne-lsi} + \end{center} + \end{figure} -\begin{figure} -\begin{center} -\includegraphics[width=\textwidth]{../out/doc2vec_plot} -\caption{T-SNE plot for the Doc2Vec model over the queries and ground truths given in \texttt{ground-truth-unique.txt}.} -\label{fig:tsne-doc2vec} -\end{center} -\end{figure} + \begin{figure} + \begin{center} + \includegraphics[width=\textwidth]{../out/doc2vec_plot} + \caption{T-SNE plot for the Doc2Vec model over the queries and ground truths given in \texttt{ground-truth-unique.txt}.} + \label{fig:tsne-doc2vec} + \end{center} + \end{figure} \end{document}