From eb7b5437974582ac9d5e9063107856202aec4b5b Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Sat, 31 May 2025 23:41:58 +0530 Subject: [PATCH 01/21] updated pyproject.toml --- Makefile | 1 + pyproject.toml | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/Makefile b/Makefile index 28e40df..c7ab7bc 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ install: + python3 -m pip install -e '.[default]' python3 -m pip install -e '.[test]' python -m pip install git+https://github.com/networkx/networkx.git@main python -m pip install git+https://github.com/joblib/joblib.git@main diff --git a/pyproject.toml b/pyproject.toml index c5043c8..908b30f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,6 +49,13 @@ developer = [ 'pre-commit==3.8.0', 'ruff==0.6.7', ] +default = [ + 'numpy>=1.23', + 'scipy>=1.9,!=1.11.0,!=1.11.1', + 'matplotlib>=3.8', + 'seaborn>=0.13.2', + 'pandas>=2.0', +] test = [ 'pytest>=7.2', 'numpy>=1.23', From 4e010d78887a5b02f0a2756ba4cdda20aec2a09b Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Sun, 1 Jun 2025 01:15:35 +0530 Subject: [PATCH 02/21] minimal improvements --- .../heatmap_betweenness_centrality_timing.png | Bin 45735 -> 43866 bytes timing/timing_individual_function.py | 177 ++++++++++-------- 2 files changed, 101 insertions(+), 76 deletions(-) diff --git a/timing/heatmap_betweenness_centrality_timing.png b/timing/heatmap_betweenness_centrality_timing.png index cadb1990ff1a3bdc55d5b5b2cee79de28568d567..963167e97365b23d4e3c1a40faed9d0e4fecf7f5 100644 GIT binary patch literal 43866 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 Jzw=P|{{fJO^rZj* literal 45735 zcmd43bySsW*EPOP4hV7#q(oFoN(2O?Erc!I4N}tGZNgD{0|s5vA>E)NEe)Fn>DYAF zhTpnG0lGbyuv9NZqFx9{6WMpS=YHh`R^Ulp%Y*$Sj z9Bk|bI5;f-{=iLZJ7W%>+`+7&uC848Q$FJOTavKrS3A$0d??5K;%c14a;4AB z;Jf#whh2|;w#-MIyx&KEx{5Zt^yb#WNB*{t(b3Xt3;gwl6h7DB+W+~Av7atD`=1}+ z-)Be1&(Hq$^IsIH{|+w@$%&;Y`jq6?)prIT>O1IJ3CBJkZi&x9LhpU z8q|G;*o8>D+(~(9sMNAaiZS$20982S>Qz&h00o_)Hq5na*Gy@U@IVRiAcK|k{DJS; zG)Ekkh?qDmBO@cvxGlTP5jWq=Q7wgQkLepOcjmF1lpteOky=_>T3cUNY{W2ZPDfhL zH-)pB(&%7L5)d>Sa;ft%F){7#?`J4{dh9k6?d&l2?RCM~4y*AhkKi!&$~-l;2tMnW zruQ5<{*>HJU0sT&h%U;_v_=Wupa@ z?WcdBdw5qzZKj&Y0;qT%?{6>5=2H||4kpVdK4NBLV{6g>61vZ!C5SF`+cc~C^VbYB zH*jXbT>o^?rCsJAU+sl=*k016;kSF}cZppA{)Dk>78RW3ZX77K&Vli4)X$y8W@!!-n!jh1 ziAqI>GMZvD)y;adwKaTqx{1hdX2RqQhLKS7N?o~fg-XQ3rDBgsCMvi;s;bJqzuMbd z`XiTEO9YQ%eIU)$>}=`u_=--heath7<)}*-D`i5Po3?Obi{4+?%I^(=2nVK zG>f;l_fuJyv)ZM0Vu|8GDlo&!d4`Qjrt4o{64*H$?5pA|2a8NMW;^Bw3UPGCx?j8{ zHM9g9k%56LzNY`R8j}9}HSKx12K7yYgPP?|i*L7mH*vi=DbjL{8#Sb&CZkoJ8YMRI z0uHlJ*0ml!e3g)p(0LrY%FK(rv!;lOOW1UeqpCi{lri%Z+1c4nZ%-dR4eBLe#*I|E+c`VS;%*^x`X#%w*XBA36?4qEHA=oC zLF|GQn^99(<8*GLVJEe9Mf@kp_vsQL*X``>6>Hy;InK6ULw9b>b%k^2ijrNgwX zVx>pQ95V(AOcS+A?HX%q#rW-~yT3d?vHA1siSkV`42x>^z1Sk+h&Pvoc4($dDZHd)Jo0`!_&yP(s8+{@D>lZ%U4#FSjA zZkzLa6G5Vw(R=9U&!0zd8wbKD-q!neGIHkIw{N$fd_hh9_^5dE=1o`i7o%$Mmj%@;RRu~DR)+lxOI7EA~#r)z(r6xqm`|9dy z7?Ch0*(;9ABlwWj7(r(lA3b^(=?E#t$Za((-6D(r1em>M7#O3;eaC((Gf6A%(`Sd)aX0x7jW%xa;ze2MfOk`xF-DE>N zsmRWk>49D2A;JJIsf9xHV{eST)r8QJ#t+Dwj{+|9J9=X+pgnK?K(!dX>s zj^Oef<`i(d{`+>_Q_b%!=N%xwLq06C8G8|N+w?jqDXCFgjJ9I3RLF)++DDB-v&P|J zZCEX<11^|-X@$1MM4i|qoxzZh5UM*iamSAzpMbAtOW5*z2s6xU%f1uDiAz}_S(abaYuyWz?T<52rJR`}-2{H~HEyhqZ0qK>3 zckJqU58->r!ujtO2a9DPVTZkc|6WK)ND0!SOLNTkO(O`H`L2{8E~BQT%lvlq1KW`N zSaqvBSX44UWNViv8`K9jwzNn`3py92ZSOBvH-G(l4=SqX(A-JLTF;ce{^5W^DX2er z5_fp8E=wcgp$6H>-2x90kA(UBU~vw;>A}vbS!dE4n2Lln#guf}SP>|}?-->%#4Qb% zn@`jQU_Ia8)J})mhuiGceGhT!v^12)QGK8QzwU(LSnMQ6BL#NEb9-1kJJNII=RK%s z$}%!C^F0~wk>KYxZk?^C_3rM=HDEx)({(}#?atN~oN5Sp@b&B02wuwwWK}?25wW{C z0E@Hdv)+SnX2nOaYQp+0un;cF87l0S!)3}GRXh55`|7#+Vy8}>GKHmv&4WA3fRtC} zv76_%y_5y%)pW4Pl8V>jL$*$3I;8x8%Laf5-oAaSfK=D@X=&*Xx9%a?HA|y#W6-+V zbhbTSz;myl>R?T>auch`OIQr`9jRsMiYb9Q-gw98JGS?`lBK&~&^O>g8X6nXm;(D5 z8Kk_!JxZ;bYVU92QrOh9~*C=+*U3gIxdi&6`|o zB&UH7WL?aMx*dH$zc?u1X)V8 z#)pJKSW1P@azLs2=&&4u>C?B@XK?ND5B3h$+Z@*>(fE}bQp^>dM8HJyZ_YE^e)@v~ za`G(HcwXJp9{@D&Z7=6Qp~AKBjVb|bIeSGYl}6C%d!*&0ypHFla?3|L05z? zUbv8mEWrJ(MI@~z`R3&8`4Hjj&ZOq0~^I6RT{#AnNQ(!$R63G!Myd-q-rj{Cv zUdLbO=(;mhIdJA`X$lND&ifA@AS(sNL?)+V?JbvaE8Co&etS*L13&{9UteEdtD)3$ zbdP4Y76kgT&ZSqVj>ahyeXu2Y%jwSUOrokKY&(L2he91U|M8td>4$( z&CNCI`y8LHoRLg;fzbrkp4&tK-z3z;u^QhDNLpt7d7rBG=2;z=hSUMvE5!)8TIfG+ z!mp!SE$`>ZD&$zA=Q|R8FR`h`ouv^-1z0~&Vw(sx;-Ig0(YCiWG^+Re2Ci2YDiamI zUDAt}FL@xODp%{MHS!GK6v`-wm?N2hRW;iLGQ{dT!!#)URroDU+(aaw^*oe8uE>@F zfMc6F6^=L+Kqjd+W8W}WM#$4uvRI&mkWg|xg!~mD;#r0yrj|&)43FJ4-bI*iaY*!3 zocgaIIlh15-4?~42*raLCP$;%tMUMkN6K~O(cwOokjrO{Vyi5qW&j)kRGdLX#$sq+ zO@O54+eS!!-h_#!ID7W2&&!uDl1B)E{@K?0-7f7-$Y|6acBz?e0>9oSN`kI~Wu0jh$!p0) zPYHkLU7_yq+vY9`s3g0yW2G-`Ony4PpOEdpu&{PW4H*RR!awUs&?6)P{!(a>13TaQ*%jx8)$ zJbd_&0*>#^(dCPZjt+oTNC}aIbqi&Z<)x<_^;nm#Smy#XCcd>j3JB2*fu~<*4n1jp z#0U=tUtHEw%~b2S^--$MJg4$0yWg8PobX{i`vq8RR2YA_{y;&#)1pS?8iX7L#vgd9 zu)HpD%`E}vB?}2I4^PhkfH)Mf9&2xG0b03ij_)ZXOHoE{kG>+jK#Z;f$_c~dFX+5P z0chzFFgnYvBV0~3v9+~zse^wPub&KuLBf^0LYk{w4_wG8&XxWB0`uI84Z9_z_2|sF-g_q`sfdYP~8AMkDuyM z)#b^1+G6(V)vLaOL8!JhgM))^L4NKzmu_nH{RQX`8+qFlbFJ}?!)$P2CJguL(sRH& zkKVDV`>SMWs5eiy#ae%8d1`>eX7O5jZ}zDA&;zYFyai(>a&)j>U&V{eJ4{8y>^eHv zcH+?kOh+}aueRFgdVpy)P}(U3oibb2eb3TxU52S{3U#~Uv^ZcS!S%E)h9+mY#J~g2 zx*8)nyPo2_Jn{%Ih{Z@7&|pr8Rm*w&zVO~^J#D=^EwzsxgbgJyv^q%2mQ7Ide}xzv z6hK}hy1luvaT~~twUEoom+8`ybxJZaBSRo)H=x!^N5^{YH3l2{Q*eGurp5T%PSmM4 zTMd^Pm6VoJg3zH>;gVYjYiMG1??d-~fF3=5h;eI=esf@?+PnH%<17F$=}JgL^mF-~ zx#lzIR`dJgt;*2?juuPTP7s{Eefjd`Oi^l~Mq_E1o(cTWQwpD4z@85R1QK$a226u8vAMU5OJ?z6DG$1teu27~#-OS5kzq zGQVaXI);)k0%@fu*8A`ma0RZ3)Z_WyoE*SYOm|xBA&X}vYBH#cAA>~jI3^}$wF#oy zoPB@B1PkzlnV$Y3+yzFD0${_a;&v@SO{9{_s0u<=KIx?JxgFBrYYGy)EC5VQC1-@kbNd;(lA z4MGFXA^AelK$H*wI=T~pExqvNF|9%~WgvAnafH0tn_brSjOH;eLyKBaJ^(9dF54H?W%4X;4hkA-%llTHKoNX%={^>vqSpI59C% zB}a#SZp@)qPfyPblAiPrNQ^AHRTVtbP?pSKxg#I|lof+4aw@8H7+G9*nj&^fHAg24 zYDeD>|3ClyGY)czh`jEFwUR^n?IDrI!Vj0ND^`6rk8J5m;L!{8YEGlk)lOGFK^P&5 zo=nu8Yja~ae!!1u@CT`SNxq4lBsHG{?@G_(Yi|*=>sD!TRBm91Yd*ip^}_EFfs*G; z3yVGy(y--tsKxR`XU%>aYfgo}=fc85Cb_N$=ZJd-JR~9*Ne?1CImu-?3wRf!o9@Qy zY6r+61?Iik^)X%F+2G``$ONK~L~DlytBwxcL2M|r9KVooNZL33HC?q}ciing*gc08B5uN%<$tJcH!BR1heFw8Y(@B$e6E1OkLz zbTQAak8T4hii2T8NRxClgd`$T5>|=3Z_Mi9tAm1qpb*}0c6LUtub~4n3Irv+OAM`Z zbx6#@5aR~2>I2QWt$g0xIf~gGLo>`&Febt1^TtL309CfI$b=%x!8{ks6Lj90^vyn{ zA&e42Zs)OC=9TrYU%#GP8LPpTLD|}al@9ROeySz1*DW(sJwF|Y*&awCj{94dkxp(~ z3(N!rz9$XtcL#reX zsy+)K6@=*nwSddsM8jkkOX@)hwNnb8Opya=^D-xI&t3&MiO{2^c-RZOO?#vRA`FyH{x zIh6vA^AebB-D<0RZ#&)k646X@HnsNTnEd?wwdodfPmw}lwD+N_bPVJMKoTG(C|1}z zgBFT&1;MWjP}V0P1PEY-s?!B2Y$D4!^3VMK%qq`)Gss&+goGVXqY*%CIaGou5Pqtn z5MR7O!a_n}JmxC!beab5lHf$Oe!K5=y>jb3_BKo@ec}OqbLdo-(Ccdr1HrC0SABaV zz*Il67dm7giRn$~wK@{v zVBCE4eyyl+5vK*UiuLfY^_4sQ`NqY&o%f^QnyG-|*S5Ca!5sp5%4~FV_tbf;07AIq z*tb)-%_2x0khP>C!@5m+!MQ^=X4^Wxk0fH0Qsv@ZmODxu=Z+c&2L->bA1u4OM%52n zCou^Y6IP0#D~o`8a==`~#a)fW$8J^aCC%_~2Dw)=ZRStQLy^ja+a4Th8(*@8D%Sz` zw29DY{am$WUw}UC0Aw#L=mJqN%2jh%9T$sS^Ol`Dl0~u-RK!B7VF6G@8Pu3=+>n5d zMJL3u5)i{mn7E)tYGhR;F=Fo$pstee3kqhy!a&v}(Zw5aQ07fRec`3sI!`?os*3)vqLtrdeBWF$Z4w3+bZ|G*w*Gqn4NDU6Y z_TYRb?Y1xePNOHyQASLX=+S~-t-gG+)W-tIqbIk6B&R<}F+x$3LfQiWvQpu&G$@LD z8(p$UpMt(R#>>mgY@i?w)Dko8=1mw-Y++~U^`*TCQST}c4bLy{mQbD?pGOpoblqyN z7xjRMbTNaTQGI=VhKt5I_K^bsB!wO$5d-q6Wq+O+kc)SE6zOWY2@nt)NMi*~i=fWPc(5B(Bc06u}0XMHU^v zc90Tl4yzBLVz4Sc>3Z#oA$3lxABEm?EdD`uwaK<^}(7S{T$>P zA`%km&uvKj1*;$pz7^VYe2!B+8LEqR6_D=dfM`buI%gvUgB@n1QakYI25?p)BBD-U z!VHZ9dAFBr^?{Nn16P~vk`*m{C-(5+4K}ugkp0>K-u1P$$079J5da4YTAvin<%<`S z%AJ>!T{`J*cDRp!CyYE-1|SE{uN6VB9rFmrhS#Dm4(?2JjdaBp%5xmx1`}X28U-dH z0!|C5Kv4#z1f!Hdu9{$s9C>mNDvVP8Q)%1;oO~X}8t_pF&r>wSa2H*h^AK)g za&n`um*Li}c7cJF*zx2`M@+i9qb|$Ofu}xPCJVyJMllH&GrO{Duw9B4cE?WpF#-7t zqsN`UBx|>L;J&dSiYS5*Ao4)>5&^75v36Bd1I~7)0&_eZw&3A7ID@5z|-0C+5H6Y4|lr|f*Cv^j;>Ak?EGm#7m z1A^!az_~K?YJ6%V?+fL+fHIQ;5Q|ZONElKGWJ#d0t5ptRT0uDX`$)U%wU5s{@K#m8 zGMQ755%b-NA!g^><6lB(B?gJ?Nr)b-)X=5W1YU5axgz3mr-NhsU|pDsuhKONgfO8F za$n56?KZW0)F7zFpd&-mQNVuMzr|$!)lvo_dZ91PQ73dyolf}h3LhXwcAW|}gxqqR z1ogc(;%*KQ#?6Q`fBYc_9O%4|Y<&>z`+f_r1P*2okPPh{9F(B(gGkUoM80RN1Ghu8 zPby$nbwRW_P>0N?n!?dmzk19HREi}hP{By$)$TO4c8Sf`wlOm@ zGWJ^@DnebE1o#LF?zico9}zr~Q02{rN^%R?tc3et>4YA=1zDJdmlrEg31IR2ceM+( z00`eYvwsgb^z2re@WyYdRv7)6gede+A+^*H;MI%0?q4WRlRaHK_ysPj@3GCnXk$@L_^a!$^JhlvZ-gKq31ZZqz0Q5(i zPM|MtB1P@!5RXZM-gYpcKS%`r41TnvKK!b?F zep9z96S7nz6fjZf78&g4L-Ar)`+OI`0Wd+NlmCuG_a?vzq;oG-4I;)9s5y@jtr>(> zWniAbYh*!0>4g3ySTNY2#cdef>kU1}b`WK6yKR^t!Zuu^2j&TBcLR!SWn9hsZ-=6Q zfBT353X>{Oa2~G%m&MU)T_hslOD0<26A(7&0in%?%L=Dkqce~`5MV{5P64I3Z9gpq z@T-;@jh97QJ_rhhz(nYJ6NbSL5PddSMpOvSUTz1qYrOI%%n8unBA6F*;bKrJqf)XRG`OR4vLKVnfS&gI2ipi-^oDpOJ1St(fCWLyE4l{je+VYiKT(EpMlkkTLl3E2F6 z2Fd^Z?B?cw`0`E?f*(K#gma2PZ?HFl#~i^dIEcGknU|dj2C2Xc4Gccz|Bwp!M2`hm@NH3p@kbz$^+$f5FO5 zgVKfs2q9z6;wM;^drRfZ8w2J@Lq4>;M^Yom zV2=1bM}XwY{C1OapvKS(OJScjV#E-h0Hq1K8=Q#x5J1iME+xenGoGfNpA1AR39{^c zux%(nBfv0MtpHSRq*sL~1xN<}Nx)A{{$eI9W^rq|k?5 z11_(s>&XBbG2moG0uR#4F9kUsXsR-V0@AO+35%9WngUsSgt_gpV}p3^ga{a z1|LmR%hlHaB?U2Sz?u@>`Tz?OX{+=kij%@q$bb$MoRgDt_VS%LkoC+#{s3E1r#P)= z63ky3$dZUu0*F5uluc&mr6K6YKFQl#zY$bE+BY%8xH)iBJue9{$3WDw2nlJyAaz0? zJsmW2rnG2rZNW5Ko!H5I#w98o^w~iE;y^Mp+-7IZr~81L6QF*l0y@J^r~-Th*cMJ7 zd9sY&bLA@mBIzT!K*V#ep`$|{&Zuf=m;|lSmG7RMku4g~^M=M}Hl%ekSWJ+}-VxWx zLCby$Y!WcRXbh5oA%cE&g`oT)Rvso%R|GIVu?AC|gfeulIe~9jU1U*eSXo)Qg$Um; z%#@JjxZ#(F61xtz(+Q!7*-rk82cy& z55gtqnN}JDh{s2er-?!Ft{EL2O$9`>3P^(jvI%d!OcM^E3nw6_2bf&wP(`jmvy>V# zJr|T_f6&CK5$l94$T25_V5R)89>LNDKaM4;GTR9sX;%nbVrS=Vm-=YvY61nLtZ8X! zSpfz4Ejfo3_-DSC*iF6F0~Ht2G}7&Q1d1jxm|W<Q=HXp)6VZ|MHU~WD_;_jQb8W) zgB%tBQ%t>FeN@G1j%5S6d1;8>yt1!P%>dK_AF#=UTzhaj5%j#exvrE8p8sw)+(DOK zx=?=Q{CVd9kcR3~p-Lm4qXVm39Xv$au|$4UAqvHG z_y+Kh7c=ZYB$C-!SekZb6NCJrQc^*%_&^RoCc^+4=#N}nN?-z3p}Rtbv>2f5Jq2Jy z-JfT~4J+L`O31a-Eeals8Wvst7SD|v4HVFB+oV8~UASO?Am&H$_g^ECM0fS-7szz+ zxyEf*BHaLs@xgl5N4isBC`3Nw59$#W_~Rt7u4>>zkx!C1R|61k+Jn&v+8q8+uxmj4 zcri9T{nW7eT?+-5;a|B3u#M#*EPUVYxebaQA2LH9TBco=P2mXWctUdtnhXpSvieYk zjFi%q8g1d`M& zFw*C?wS4z_hi)>KmXh-C0ObN12I!2fdij`lB?nw|WrmNq4q;Vm<4rm4kX5j)zG)Bn{nq~=jRz;sr~$_Mn!hlIWa7XTNl{AK8^5kuEB z5nK~*qQsE&CZWw(BQf1Oe+=534i+G0f#2kaw;^7 z006LN)wt>pStEy|+PDxs2fnU`Q~1QI=RZXX!5o+CFURed{6HSSg7Aet4}vhz5TU$4 z=ypRARA5fnm;gEi_#_-D#*ofU;nb!y=aG-2Bv6Flh(V$5Vzj{529mw2VKkT%5agG3 zK~BJKqK*X2d-tHfhxkal3rxET&JrRApy;3deaUm@;t?xGh$G0B8Guoe6(0Wj2x?30 zIL*Jl`}H^a|KA`iVJC${9cEnDUrurS1GS=L^~fg)`KG&dm_HhO4fREl|Dqjz)&tbD zluK0SVt)OGQfGR&;OtoG)AUF>^?gblM?e30lmr!Gs{Hqt1SO-QhByi(`wHm*{r&YP z0-pc<6|6wfM0hp&+Vj8d%g@5TUR*+TQvTySlWoV6xaog8jEmy=+5dSM)$IQ~%>OPy zaBJ|tCJ(vb-KMMFaG2gW@qexl|9(e|N&o&zy2$;Y{a6ymKQ7e}dqTqaH_!A{qYn*n zCnR*$PW*R-nQOv+ED|CRAL;!Z92_9-#PM1`bEv>hbH|^}ocaBsxfJwBHUN>Qf$t?9 zKoXc{6Q4apK~;VXk___*?=xf4e+9>{`%3ax`tTJG%wGY5mj~*OxjIM}3RQZjHu_|n zU!jS7?rzhqkCJ+@`I<{mxMa`-pkYdVPIaNSK|ZpfxuL0 zbx>Zx__H?2bM|NHqu+v7nzpMxR7H7d+ zQjJ3~U!cKq_9JKS7_y#bp{G|mMRcis zu*Nst<&FLu?2*x;oAj<-dbU$sSMTiaSy*%VOj$sf(IbFzI$Pt#{FCppdD)0oIaMrEhC?9KaF*-S+y zYYFAj8r|pp*ql5^b>+<&B2toGY6JHShaSuuY%Gse_Muw2u#RidkoxA=igU~q%qV(` znYCeoN_?i3P8EZ=vA7Xyn3%GFvO?WLRnQQ}xK2_L`%t#xVB3u~t5-rNgp?EAm8Y0P z1s#tQJoCO&uoirCp)7TUbLO28fzfCG!_A1e4NKW2iVxnG)Cx6)P-JZ864-&%MCU zib0dt{o$2&x4xksGU`|zHZ7v)6HXtj0q z$Q2(sIeB^ z{v1`T)VCB>yr zg3n!%^%QjrFZ1ZQCzCBhxO9Ph{)=1Yv8L$bSl3V6AzSZe-uil@pe7~q!rfcjin(f%+ra~ z4IIt~)s@F22oyxTZ=w;qC74h#0s+Tdl0WUA+yg+lSxc^K0;xs-e29pC035ENce`V> z;WWnlFzS?9fAXh@VhcvJoAacNWq*aTsK?PuoyC4(9sKL{YUNKX;oX}(H!(?kd)qx* zmVyN?WBQeR^V;Z6NoiWIRIrRPeC4INe0h@gr?p~{Z4G0OxtuEH5O-geH7Z6|lAKL- z;vGrPXY~{4&bTpavwAFz#(Ir_L2?b12k-iGBd#h8~9HP26te5_CqQb9>bMHib73S}Q? zFnDecC=3fZD}FpHx3NxX&y8Zv)?Aa}(>qOz3L2x;N58#bwnmOsn41?gHM&?#^c6-+NS z927=h>Q=(2F|&|u-=uNNkGFLwb8h&l=}4qsfqlP~x;}dv86!$ap&Ne#jmh`5PjJ*X z(4YEgxNmGuU`(JbYAY;ea3c7{kH#U?)qte^bF+YF=ZDLSxs1Jb0%{RK7(@paV8)ke zx;(d6Xzf`S-htLIHDfKP9R?oW)@TwK%HZH&7sc}Z-F@(S-0ru{R6BeLpe7OX=`rK4 z=R8m;Vat67V(0$e?)?3g+LPO95C-3@UuSq1Kj$*M!ON&3t;yHHn&Tu95Pa;a*f0@c zS3He)H?DFg|ID$w8n@Vdy!M}F|5m^s;X|z41KAtgpXZ%!FTi8yS+(|oF zk5hqD1BF@v4RD~rNlb@aL&?(H;z!8`t1k#74RBqZV0-ro{Y;5a0s z+RNFy_NLc6YO~s+{UyOUw>0%o!$nfm(exsYJ^!V8vDHW(b2XWpBqjd*6|$9L(^;EMgmig63&g>DDYM0I^zB(>ZO2%3Ake>z)=4+FBbS+m1x0UGzYtwku#B0n)Kp#a zS_;a<%}=FA9A%`P%^%F@A!qMd2u-$gaKwlwi;tc-cHsLFQ+n(!mFv^h8 zTK$fZ=zXPvhao4o-~9DgSfj;$q<{axNG9ybSjSK}?W1(ALtBjueQn@H0@Yi+{Na_iIlcleVGOHjdAYi<=lBxv_} z-rMx)4L4?NqhH4TT!RH8KR4%&rnJDocZPwHx#m zM-WC3Q9fiJ09ymJK%d&%+M)x3L(V$R@4cV`xOM(z$HWHoGkL5#q%gM+ z7M*$K@;Nd$1)a=tEUT@%hWghXmKOM>BM-s@FN>r*(G05NUirSp?c`n%aNqN%X9m|t zeNePqL%^SrMI2Gpal+->=|&ls(%KbKZK1q51)Z|2D&~vnx(Q# zfaiDt{oMRiwZqlk(>d2P4$7}Shv_~9rruj?Rj&e zCewZVt6PJ6>$FXp^u>0QEin;e$L|VJ8(UykTbQ~{o(S`o^UsZBxtBTPV)U;YWIAGH zG;&7CE%HUY;_q>a4F$AY=NHXl!!?m0E`PU-Jwp<@eaZ^uq9OQnxw~JqHGQ61d1`Vx zi9nBZYe-R>7@*}e_+y_#eh%5p(`WtzCCJ8lXm z+z*8lo4aMJG4ws&Y1t!Jxaq^)PXBZz^B8}@Sg~8WxjNq1OpgwyR%*{!c93^5DY4SY z*M2$!Np&FKHFjXzIx;=?_}%;CSa#jL5u(U7H|uVd4vp6gXy^M&eLsjM=a$nh(M6c8 z^HrN4eyLq+n9WuQ(3R`I^huG!2DRfGN-gskbe;Cz1d*L{7d>_TPZnv6y!Y)xQ(GshvyPkR_^^I1^y;O+H;-)OgZ*O>*lT~YY@zBO z2o5U})BB5hj4%HOb-(zF@l*eH2NLIiX(sXgFVO<7`1d`F-8xQl z*X_aY4DrPQ|FaFB-}W;roCMmP#P=I*4ZaRcUc&l!IxqI&A)ION{y)xi4#b3i-Vvff z{2%V<1LceV^=ODH@y`?edbEGs5~48t^OpX8witQJ%fns2Vxa0K<*#p8s9%u&l4-hM zc8Mg@EP?=${-$RDQv6(~@_TL0c(-48a5Fs$A&i4@56{~66^7eh4Y+F`?3I_wNl zqZJgu96u2(G$j0=|3?L1S1>>AEG{l?1YKrFsuL?x21L$(|8LS?-m+OS-R!^NoC}sS zU>JoSQY0cxfl+iGwy~u3Nut`$|6`&XrQ?EN*9J(>yn|qTzF?6E+Jou*=6#aT>&dC&NA@)EY;+2@eUu>Z=3Nz^^vf zd`1pqh9|0xclQLt6x0gmLGr;_E z1EdP4`BTqk2!CH7e<*St3BM^Gagzjdhl-8OXXwNvgLSI`U=p&YE?(!D%RA23f`5-$ zXBKop(m>M(=MJ)c5ozwg2U)LPy_)slMDW>=-*l_DE(3FYq57-iwag=@pUn{be&N5m zVX~hI|KsETd(|P^@8(E;Kkg40iT}IE{6`$2P)DaAnf&K5?!HClW3Gie{O-|W@u&m% zFQ6qL3o5BJ&gMTKLdBT>3eh<)qHXYzBTZ6}&!GbueH(n8J!y*KNUNG2wv#8>zWV#1 zHm11a>c{k zhq$9Wr^;jxer460y7Jjyw5V>SR;R1vu%O=t24W{UlIOSCt8tLX*EUw61|NK)tn%_&N_`cQLBB6Df$EMvItZ3O$$+WC`s^nMIi)55(&)ANo z_a+2J6j?{Tl|S)i6cBLo-t!)^pVLg}GMDZ2chP(3eXGmp&xf-_FO|AE4wrr1vuQhb zv_lnd1M~e+8er^b)uld6TFQZ5`?2)tzVsPp`!}z=nTSU`WXO+7;s)OX0PwKePnF0> zSZj&o?9o5{#M_?{D#5|bg;_9PA$zJOCnv*xt_KDNu5D~|1A^$uHE&XBdkdfMzL3EF%*dTh^WF2SXK z{~+`YQNzVJ(4mqaIUf^Z!sZOep=rJ2W#E`L2CqPmh>5X;ix^Z7aNP!f(DX zHI(SwiDy~uf8AogQ*~c;S^Iq>eNThD{DY>gj-Oeyvz@~ktMlF!Gpzg(M~B=&zMu6=h63HK$S3*_6XdNsgSZhFiggv)^dR3-ErT%JvSHu14E$RYfOV{>oErh#%iQ znEW{zr_>nFV;)c%3f0C7ZsZzml(-2GbsuD>n>l?aUiQ&4i--s4Sbtm2YTDbS|# zR9j1f0&bJAeKr@L*s!eW)f+olWZwSsIrFeIs_moo47*Cciu9&}A7c}Bn7DNi#dR2B ze93sqN!)v8RSh09Rn?e^(r`NCvxV+cMpLYRCgI&lHE>e<`eiK2S*czx_tKw?y=V&I z_D%1}jCgYY3Th!s>XX9!j)tIe>Z(3weun*nxH3*vCA)$@oLQ5x$3#t;fivX)4_PjkAc1Hg|U=_Qb8b%a552DlV|MU4PoMh*)pffmPC+DV2+0T#=_RNMXn=kk-H}?cs4;}v;3$1h-QMdaX zDmTp8xj}?djgLA@bLXHBPg2vKy;$xjvh(6`I5YFy*vwK9yElvKlbf5%!gop1`4qO# z3K#75wlMdQpgw2hGquir{~F4oQD%cE9bC;xP3p}}Jzv$CtfQqnMGEayu(YbqtX#Y- zuMMOPPlZ^!1UQ!MnS= z$opL|NzfHf1!NHcEqBC%QS8k?3OmiSz*3O`J-R07MAE0hYXuNZ8rf@w&U}5gyoAh2 z5(>xKdNKamD7?;Lru8&aiL8W#L`B*#{s0f|#fT?(Xr@RXES%x7=)MbfF3c6ilo5C1 zR|6G88e)EAJhUL&Sk%>0x7)7T zV|v9#ZvuLng$Git@&};J_-sb)W}5|-rfF(ai_F`<0=i!b>oVN&+^?QmZ_T=!vk>8A zqr>u$5EXREi&IOp?vPQkK0@HtpKQXQx_a-oF|>d3 zC0vDmYhM^_Tv55eDAg`2icf;}<_%t671%2cx(Qe*VgG|Xn6+Ctk?r}=fzkv~*yJ#;)XnCo z%4xAL3rW)p{CR0orJdN1y6HV2vPKW0F+>+x;vNv3#qED$1t7H3MkQ!aaD7R9_WPJ( zgs4$S-gHAk`X+0NqZ%qkQFTeD3v%g=mx+-qhU{5l&S}k zvkQYmLqmhSZUdY!EFjB*_Xv{&X!{22Gtek^$^uQ0j=;Ct+XRU$*m|Fepheipq6C|H zybe~y$=EfN*fk1VEFz(!);rsgXxZdby&X70!#`9N{h(|HH^B;aq1Qfr*lS+0&-J$K{Qd-gTX+v?xc7T zilf6WhcjR7TkCtp!5Ue%o8#Wo(jFP4l`~|)%W9l`8N#;yWm`<|P|gf8)TBXkvvETA zN-eh5LKa*H{gGx4XlvRJpBayc7*m~9Kg4x zUAkt&f&;e$@~RU7@52hjD>;`EYX(hs*d2&77^DWG01Z3KqOaD~;nzJM>`njQ%6HYc zdWJScjGD`@g4aw1N#o;}i94KG-^*G3%lyvHOF#(JfCSy$<$j2v^(;pgWE zsr1D_p+QjL5B*$|-mPJl!~41PwDrK%1y}~$eq4urmmVvpA_d4>b(P*_sxMr)gG##P zS1ae>Af@4Z45h;OanjIhL+!7(>dg&}3#shyorUtQppwXHuGiM7o%cNKo(~mRov>Bj z(>2;TR zkY+e+{ZRM3+)wjV+-xgG_Lt*&Im5sh{D6DoEg*lqUbV@ z)ja4dV85066-=iTnzbiY6}GYt3z*dm=x)~Jg_pUEVcy-;NFL=oidR|GNOn6y33*=` z3TiJ6{VL$hrG{}>Y;ueiq|BuDel39kK%In6WYomv=#NxZ&m3+3*Y33cT4&W~O%U z7S3v;QYnxEH7=O9@%g^Yt67}};n%vvM@RL1Vfp$p=+2mr<&K7Pdgl00(b)D}GI8Z} zcS@s`wz$7m{t$a5euMD^2hZ`jkN+Y&Z?%(cV56!kml5$wqH=-!;s zcI!x9Nz6czg>e_Q*Zyhxke`uanlUQI*pa$hzOMy#qH!q#8&Zyw^O8Q8=ic2FjrxWk z=rQMtJgh1f8}g1LG!X3wFz=ljA5Zuq^qflAD`}oL)gVhT(aDj7hV!9)bxcZ|$N}uH zA}~8JHc-ynIFmLaifW7Hu5X>K6fwvQGKP&H==A=Qvb~_$M9p};GTX&v${gaFgk44Q zxxH{|JDXdql7T@xd*4xi>P|*WEPgE23>iCT=U|U0p>ndc1b|Zx${a^b3GFef)-xMP7abEd+D0lG@qW$bk~&0PiIuV^(;GAP5jFLme*H z+zO);KN~Vv50yvs`lF%1Uojz>_ZWClnH8>&@VDA`W zY(|tGcpb`zdfJ7fTF>$ZL#_~^zm*CJU#a9tOV}N?z;#?0BplckgSdGSgo0s^tjkaY z$pZG^_9gQFec7ZFzbbpK6sqw4iAfMvO=#dPH{eBYz0&fx!g`hFDj1R~bDJ+N z!KYw1wnN1lnAnhAb6Y0I|2`q;!G@2qr%|T0Hwic3rsv^>b*oLZkUL=)aev~!>|MyG zf4QBK_+)ur?*oSgyD9X+;F1=}HbDUaJuva`Mxx}Dv;T6EAqUKnmf8S6P-JNL^zg_W zJ;@>$cei3j8eV%CbOnD~8u`etudC7ew?QPGPCGvfHwydd5vMRX=d$5-gc|=}Z*Kz5 z<=VcDK2ogawJH@A4OA#fsAOn1g-pq;lrfZf$WX1aBIK7LDat&H44IWABr`>5A~P8? z@AKAbdf)&4zP-PF9NTfc$6G6Yp5eZ)`?}8SJkKlG!rJ--h_WEYjno|YdD+y>svxdQ zaJsXStin};*TIu}gxETL`{Fhir>X+aY^gx$7}$j=Z7NTryv48(`3Voax!Op;}iH%Y-tT$xt z?%6pERZ#-RzDrIhYT%i2a%R?RVD@Jw6^*?1w?N4dAs76r`vpbY{$~DAet!PkU%p2| zs&+#=swQQSQ3RkVAPnp1Ivy8&>Ez|@I4Y&gn?Q=)oX-5?D#8?t*Ii;|W{yT88^{L= zE}<=D%E4!$_VEQ>U|6nmg0`B|$t9*+EALA^_iH)7cNqkX=8Kuq? z6mZ56L7*|CGQcv|WyZgIZf4=>B>kV8$o4tA&D?P!tUxUnnEdQ$ur|noX1QY#b&1-% zDk}A7QW>cWw0l1RIZEN_#|Yz@NOS_)!Rh6KSz+onocKf$i5SAf%uGl&J`0%gcWuUV zA>4d$wP>LI=6?O)E?x&UhO>F#kA=No=&WqpA46LRi5Bem7ZGvbtr4yLHN4${wfV~> zt-oy!JV@eN2e?hR5-;%=SJ8Zntr?1s#pVMpK;`u^;w9Y8z!?2fLidhbIpj7PmuG%# zQ;NO#ZXF$!zdU(@rTy9|38{N#D}G$fyF6}zi1TtUpz-kA+%rdFrhB9?m@qOy?1u}S zFYW>vO9c4W4O*^0K61a1E?)pG6&!%1(m#fX2hpQ)QAISkmEdzDSw%FB;HeXQnq`;X z4Us!^l<;4h;G5|ZInq_wGTVURD%~=Dcb4|JhClg`nk(p=MO8-VG_d<4&myHbc;B_T zjt<7E_=_^YXM{VipPh(&i+?IV0dCDY_MUa!x_E4`=iI!g0#2Vk-Cg-}C&4YF1d#!; z-w?&ZmlFM#w;upHZ}=@Tw4E_U6r+h;ow$GCO5DuufMet1U5UiMhxlC4!qB8`$GyO9 zaIjkZM@Vt8be)aI#j^MN8q>?$E@0oWOA=)@JM2n{lwI6&t({x{_eD$H)JkFyav36v z1Zti)yMFWvC}CaFBhJB_|Jh%#T~UPw(V8rd3hb(Q7&ghS;?Xz`bHy?X5L9z=@KFE# z+AlPVMSHwqWmJXT3DK&-hKUG1NIeJ!Yzo|42(R$Bo7TIxvT88qjm80F|zV4@k~f zTOe_X!X8b;=KlRo!kz+_u$H_J*{3StN?O?a0@qTQxWNZZ5s_yIXV~xWdlpK4&2cGc zr|!|N8OZyHO`5~nl|L?|V>NL74i8*5jo6W3lYzmlOAFh0#4QS&!`w1O{g!W zSr?lUOq~d|0KSJ`p0`knM*KGsOo=}pwnkxha7$clr8qvtqI!CBcn_jbPlENj$&^ zX%%~n2*t@|LcvrGIT#dzY_MLPOQcf*Mm5JFXycGXBZ6r76tgwIe(>`UUTbcjT20(gQeW;^1Qr`_P8gI4k&AYnLZX7>YM0(iA{vqn7Tpdh#|pzA*G9=b zKg_pwztFAjx#KuZx|zk3VPORRh%vI{adb=02nG(rn}ZZ&sLM`30zhE$x>FyRQ*0}j zl}+g-z>!Azz7AcE$i*l(|E+!oQ`&V2^*+3joh7Z@B}})a=^2JqYCDzV%gs*C#QO25 zM(B!ra^mcj_TxSA;OV^ha#z=@#+{!G$1NJIr>ur~@%&@-dRRIe^SoeYpqP?K1+huz zX(n8?Sjox%DPmyN%gC9 z=b7Ayi=r}tyG?6*`p=&&3zFfrIT!C|q8@g_pAs&zcFt4Lx4ByzUwVpANBu6VDs}iS z7%1xvY!_|uIvLF^p7@M=>9%`#nALkY3g)@YJv&$$;$@#5dX2YEiDA|5d%4TvOoJCy z1>Is~%Q6cOIh#6GeO74g#e?BmvB3)}=j^}uB=A+oq}dbuKL^gI9rrpH#8r`UpO2~h zuFlk8;1#Q}a`#M&F;Dj5eHH5S)K_|&H9vE{M&I9}@1OcN-FhZu4kVp%cqd=MxpeI z>ZfDwL-vWHYGZ>-2L?-5Cr(d0P7IH{JJl(6KbQbjwPJ~tE>2fcY{$~Utqx}IK;Flt zoEg@+J1VwvQ?r-NjV@U2p#osxx4nP)@&G)gW5;!dPBuNha41-IlD%+Z(YrV4PCX1V z<6os0JDNRo^V=FyIG9%*n8VnS#g?ahH1Df(RR6$;Lb{gbirZU`%gTC=I}Qpu_BZc2 z`?5WDfp4iaZL{oG1qbWi%J!w=TaDA=8j?&RMOi1JC+R1ZXXs&DcDdbtLr3Fw+{{BvDUrBnxLIWXHG|!cV-WbXq^Y zj~CmVP!U1jSkr$`HuEpmn8`PT?REG1i+a0ydc*AwZSJgh%;SD!wx8?pLTbLnpq1i- z6GuJ;z0u?glWycOsQ2HeWO8P)ogQgc3>}V2&bfUkcZ{#(NpW1Yv8-W{exuUVl$!aV zmGl)>>LKH7Eb8`CUb1juHQbM4SViok#JyOFl#hvZ`m1*5vH=i~NS#D<IaW%UE4nLI(`WbA#OC%E@VQsieYol#Z>43_a5!#A3JtT$`bULwnjVYnz&kN`{*OOXorNRi!btv z4Rm+X_@a1uxYUO`o+UMwTdw&n=}Es8ux6_M=;-^MF{7P?Gi&XU&>%5p~Ov&atB2iQ2%AsRkdHjt{ms zEBymjp?}7im1lXpRapZ>K6w`&x~jI)JJdbY^j;2<+NzwAtv2z(1Fu@Qd&LFWKQQJj zzIo7#V|v$Gml;tgX>K;Z=6IBivjC>49Vn~nVIpP)BUECfKvcfXIdapb4Wzb({U?qm z8R9#`cjm=?95h`p)qYraed0Mp4ZdhcSiZ}r1Eep5BYglsC^Ub*a1$YfavE!b{}SQ& z_9%mO`|OW_@sREpP^PCGbyACQbc^uS=Ktt$6v<_bZpAM5c6H5KyY7~V_gqSX20L`C z$@cjL0|1h?YOS_}cr=0=3*-wNw8|x}f8{M1vZEC2R?tSAXd8Sc8;-dl{rO%B=} z4K@?0HVtaS2Cv^IO<2XZoUnVuU^FyYuDC&pk`O95-9F$c?dIX;Yj(UU;*6Ka4R4OR zjazI!ukc*5UuxrQ=_%c2@-F`pab+QjKbbbT7LYwbN@TdK&_3znKNuj(BG&cLCUQuE zntvS0ssQv5#GcjEbZKPQbq^0;7(l|;C5EVQp)%(>+5bMX673A)$_}S&_UrQP58c&I zr6bkg7ISWlZkU>!wCp{1{_+IO-<}0FG?ll=ZP@Uj*z056_Ojc8ih#YPMs`x`Wnahd z05z8DV_vT^^Aum_WX8hly*8t-GzFrYG~_Gg&3EiG=+ByYBCCweD8q1(T4 zK(8#kUb{1_+^@Xm@e%D9jVHA6kiOMN3J)7LkDs02dyChB)$wcR4&`;P6_Wg369{gZ z^+c7))J{|PZIvtcKHd{`tYuYe!1n2(p80#zx}!84HCna*ZruuvO((zrM~Hd^i!CH! zg;4`H9VI;8Euzi9(+DyVm`o(NPye2e&S-EAlEK2~(^Kv`SemKuwLlOq+ z^{6_Ap06 z!VSKy-@7AF{t#s3;W^;Pnvef<{<{HnFLd5xhl!bp4}^mRK0*i4*bX9E0xraBW_?4b z8C_k)_K>y+k(Lt49>PK_9DB$rCwAWeFGSPIzI-eyg`cF}#Mc73psl9DY!@9bw!V9J zzv5<~VC#bi4+ci%Z250Ng?jMNjItQ}mvJxizGji(j#`!8Ugn`O|KQ@{>m7&bghkl2 z+4jN;y$vgL_aU?AYka5W(9hay(R%#S!Fe@F(hjvT>W6?l@=Ch>^G{8RWc6^{yXhFU zP&bk{39eI%mA%rSwr8|)1qjcR)oqFCT(;$QsjF+1Se;lU8@32-REwP66TdNaVdQyB z>gMCv-HBc8R}}@%7V+FwNI3Rpd0byd+XM4?(nbSo*tXi6JPfI4Fn-2Ouf!J>g+IpX z6-!0`B}hHfwdOAsdE`nc7w2O)4wQ6+Tda8{Y974HSgvcRQ;};X&kg_ao|HFwCwl)D zzJRchY1YLi=ElIZt{u{}OxrIZD|xlz$k_=NlHA2?0uiG^TCjM^!L3W!Zh-Wyh)mf^ zZ3GP|2wGXE^G}IzcZ7vmXT+1?af9UZt=^i+5p}t>yMr8MU&(T5 zggvxA*K&%uh&CiSMoRf?^L{7FA>~)$*|X22ByA=`lS515vD0b7uBx}s=E3|7nLB*m z%*&|P9XNwkMz%HUGOx2Sm8 zy{~;&BkS*0MF-19P3F4|6yHlpt)iPu4>%Ta<{P|tbpncomm$NaJyOJJ^L&4D~gQSgIC$ev^e5oFWR$`Q$yB;b^v%J`20el^02c|eA z*X>KKkJYp{>g~3RIgt}nm!K87$)Z3J^MRK65-T0md9Yu?E{Om8F_w^(bkDA00w^fxN##%T( z9QgYVzu7iPmf=?u3toIm%%#`zXD=JG4_dH_6Nd4RxVePX8q=nu1;pZOD{R=D=*kKT zG{Z~%s{Dgxyxn8n;SL*;lQn8s=4CvDO=VaoN0ob(X`9s+$4A!K8XVf2A=K3z?<&@k zb>_TZXla4=l{)7yv2Ul|Do5+i3v~3Fwm)W9+Ugw`X&h6un7SaUEvneKdFuYDo|X!m zK<6s=dD1Z|p`M)r7ot*MJ?=H*&T?L96|iGJ#z{!@&kxkqSh`U8u;rO-b4p@+ksq6K z#OZ)fZT<&#{|M8! zp%SSkz{-SW98yu19j?aFL86Xo$Z2Rqycw+&tpH`@i)w2++l`A^>gwYI)A@%>4bfv) zesXZ0fYtblv8frKZb&ty^#)sR?ep2DtbnFkHHd2MrPpuya_{ip>@*fI@VQ(+ey}m3 zjAiG=u;DKiGdbHO?c?Rla;Bdf3t106Ub0S@9dfYy(K5oZ^)qo0^oO5xrW0mE+a>g2 z;Hf)1TaB+?d#iNm;F!RdSh?2EGv^nK8mlC}nM@{x`Q^`@V%F3rlwxSYCA&ES_LG0q znj9}u`+UVq+_>afBL6^7W#&33b=73OO5-W}*t3mo(M=*$`GbNkPYK$I8ybd+T3Kc? zObMzIG|MfY5{~ILihX*Uc~M%$YbHFRPeAhCe!BI4Wy!G~cb6C8pRPT{@}-2jH_;Ws zaBNNZku@qOyUrk6ZujY>`nCVG+NUs~-=loSHf(Lv+E(8J=~l)QO8X&32xHvM_WA~& z$V}s2)zjM=cA5B>T^QKCJ?e7Vf^eg5s=Mf!Wj9#Pw;*k=W_?y$OVD9Okk`8Zy2VZm z)czL@7}Fm1YlJhruU8jh*Fm{$5?y~%@1lp;h9n7EC}&dfV#zlKw_NNo{9BN5L3&_6zTTzh~y55%txVKwf{4^nFDi-6q0z^FO}5?dV8{DqB-{pXM&eh_EFbB#i1i=IKfFYLm*KBDhmf|ChW;VRezK|*_ed|H^cUVvgY4voZER0)~(!!g90 z7@#*kNS4%NU()D=9ndl|MTrL2)QpS_RYEWWhdUI3P`woX6G0Kb^i~c<@0{ZZ75pr_ zxd=_H#RbRVar(g*Qu2~50YqBS3ima<{a@-}DaP6v@tpRV9a1``NI%J=WFv zTQ_DFi`VssTM~K)#$Ws2kDy@s{#CU%LU$H;xa5S*Hn$XgQJB^MfaXCL?{z5W_wS>^ zmTxBgNoKSe(4RESp<}tWp?Kt4`=?J~#Lp2FL4Wj^MDG03vVq!tWX}t1}q1Y ze^Mh&kLJyE+>#Sb62JB1YQK6BmBK9Yk7lcaj*d?D0PK~}r<15EFl{xmSY2FG41NjZ{6)#lD~)M(fcqU zJAxpnjAKLz8(wm$czDtC=bZrIXzVznPB@MaC5it$j3gMpzZZKTHkN4CZr6BxeAbXN z)v)>~@!JCDmz@v{Mhs@B@y%Xt$KTgUyNtXBj$#bSOUxO$le6S!n6>mIXD#U>tHi7M ze##^;k?F1#FU*|6 zlqsT7CSDwHN``+nnbSqurx2nTm)rhW^*3d2A8Y%T=_fOclePjpF33Qex@5#oZj28@ zk?N1Gou1b(zs>XZtge!5K6DCUW_Der7k1)soB3@+Z8pu&rX+Z~`52F4R1azTq7o=m zL+LB9m{s^By0sy{L<(HJRGS!jAJ)v5rZMe>m@0$l>u=unk`vtiFCobJ5|INu`EB=| zB609J4q7lfI>5ar&SLP+;*lh_xSci81s;EWe@gH6p49_gz!KkW+3|k&Ke)3z9&##N2)n3$ba-1A%8~pc;u0%LJ4IA?cccZAhGPj zvB@r}H>ha!lR6;xr&+}%L=3Gd3uaP;9n1`IVKHfGbVCZy_`9N{o;ESmxQx{Jb)v?t#-OMr{ zHdhWB$WTsjRNX5SIU%M`U(Rt$!D;bOsOP!xS9*Ay zE~h!x>);`?%_q^unw68J8oWWz%sKW>sxgt1!0{p_^;Ng3#Zb>>v*F$sHYqw^gptK` z3~M=>_#M6(COV~6pBPxLo<6d!Q9XFVv9!-#zx{lwQ%0&^qDG9((d^K9gDcw`uevL? z9j0s(CNr%=H#_qwH`&|N#ue`JP1L!`kRy6B{h%4gNii^m>9rlCoi)d#`<(gI+)uo! zuJAT17Q5xlCBB66vT1v#s%&^do<6rbwqC4rgY=Cf+KZ>uyqAW|zLet+ZrIiGNBPON z2+h2(Pw?c)G#|~>TYECDf^q)LTLvn+qcbU%OD*r=9jAU8%VM+j(s4(OpC>3=9{%9m zCo(m`+%s;SE|ty`E*PAuklL(lIZ|%XkZNl~d|ZM^Z}o>o(8Op<#q#B>tUQt>(1%D_ zFV5f986A1P57UGQcNE)+>?{(hhc5sjWplnc7j9nriBUG>Z7|)6C4Qx#X$khI?b8u7 zhP5$a=>o%xAU>6#aF9un{4kIsGIPVsKMej4WF%i_mN#BIW$-@xNavfZNTa%hXd>*o zvb3e%qic7{mwFk&BBaLt&MtXYr8l3HjlY!>n~uAaY7}LXB{-`BQBI8M70EIliQ8+K ze0L6(+lMjfVTID?MsKqp49sn5j74)I*^s<6?;?;~U@G@J|meRSHqMfHtUd zc!{6V^yM*yz2=l{cD?9D<<>5L<+``3J|bHKg%%lxs@E4-cGQHYELlu_xL{#fnZ-2T z{!vrAOLizUa=nPtU|gx8Y+$GDFCL0vcgDof84CBL89V!VVmJve4GIwEVs z=n8W|_DaWud)W~$=k4Ou_FZqMH=yLX%6w~-f>zU>dtXJV>BeKlle>TMXmUR1fQB_O zjYpJJjyw5bSMi+vr;(*MV?Y}jA!`58zSUO+#*l(t9|0c`A5OW8Z-Mw3WArK+jE6B? z`^XeVQl22j-_)7Hjw8mxvjgbJ_Brn&Dmk@@(aA}2{%+__!MoFa4;~RhcsQ40Ane)LdyUi4nmK_=D_kCu$a~p=do%a{iE1U?^W?2=?Q%-S>~FOxaoGjcDwn)jfdgnS18U z`A-?{uF@e^e5+o>-F);Q(`oz~d&fv>W9H+&5Ocp0Z?2tl9_D>YxFq`B8UhR4;hY1G zf?5zeQf+rWN}VGS6sg9qheCYBt$+-lL+9ltd{0m`Y?o9^I(?P2Tfjq!fPenASCGT%~V|uko0n&lVNs~ysFN1^C8IPX8 zGiceejbeGuwWFhoICzG~T+e>-Vpb8SHRM%kp-t(Rp6)-=x9>jhW~b;i8+P;CwyV>^ zpz`VX=p|a|DWU438e5}lg%!aT>D(4iUY6YE{=(@ys61cc*}Xre_I%g^ z|G#G}TpH;&rBb&B*gu)`kXw@^l=_jP67eW}WN z`%+Q#p`wwxL}@=RPB=!&te)^5AL-i!wxNJ=v(o2s?TQJJ2`&x}GA!XlO6l%hWm-O?82f`;G)>gydFdHD<0r z*0$TNODgMnOv3tv4jqT9m)!;{e#XKifyI#iwrDLd8u=jLB}qgm31f(cX#GT2s1 zcDj%EAM9xkVhxMs_2Y;)-88GgUQ=Wky; zw14g>n%it&mlp-JDz$9J&bd&-OJ=mif_k_mRxhE_J4d|MK~2SO+`b`mEhQ1DG<|x& zyfm`B>tdM9c0VIU_wWTgf8N*Q=rX_``KDW14paGmb!((Ze_nF8K2P+bv|YA^SV~{6 z*+}fO*h1y;RE2?oL4~AM!HT|hzD!AN_qRpI@h{jDBCh#Vgc~__ctyo=BJ)G%l}r;Q z#@)}JJv*1lP08_PEv(>(27{pij;^OqPiNh=A~PdCe~v_JjFX2)mbL;0?67UYY*5Yu zod(P{p2FyknBxzgYUgU}O&Ba<6>3jvUcUC$BlkxobA2kCMI7QyqN5=-{=8})!#q8E zS)JqeM|#ING#i7O99Ep%5bx|Aas)#uZuQ=Qk5OHpw=1iyjHJ*?t7At)E5~oXa0Cr% z-olkP@p(>@8#I_M&)GFZ=Mr}w$X796c#3l$ow2%+QOrnRQ)2QZx_}@>(WtvTL3vR% zHA=>fV~;+!!W;;q*>j1^R5IW#gW8t@<5QmtI)^W)*ohVBZ=pu?XM77fzkdAFN>%Lb zxSQMFa1VW(=+g1`QfIS-s3rOMna?4bLW8BMQ^rant=r#y@&A0gFI>X8q-@di6bARz z6O{NFpZDHcsyjh9Z36Crl~=Q?Tv*o;Lt6O)dl%&2ddWjSgn=LA0Ybutsf@I$g9qX1 zU0769iW(Hal?vMBgs>$=6WE_OQ$8^fHnR?M;LsU2%Uo5O{xKKXU`L~JY${5&sSBM; zWmfN#zkdC?(c3U@cEe{C-s9cX%yrWyjhHhLY|~L%C~YXK3u zHYp~qg5wvb51KS(D{t`(u6Xev^pkqNN~(4&hosQz3&$Tw`*)nI*{Qk5`M``>)6#L< z68@>!C+a1Eyou~YLolv)yIUZ(fszY3(GzIgl-|-+ zl=@z1ut-%Vu-}Yhb8~GTOZ_c&54N51gQDs>JuQ!qY--A6PArdjS(CBrbE@%#sblK- zfIDgD&V}xyTo}~_bUj8)CS`hD)BTKjRGQp8>f>MAay01{E}}*@?QBhuZOOjb>uZo3 z894gEYP@ZpWL3X^W>-$WU!BF>8=IL%hg2@eIqzL_@6*R1?Lv_$Wp=p(>P-wTk#Aq| zT6cW%RE%kgjDU-Z)s|k*-e*nnQVMRV<$kJ-L!|@S@hua|1J#v_<%LoQeM~hy>aV_V zZ^$#xo8%r-O&^;3?xgu?22iMrhiWm_y*q=GlH<>MOW%aC-Z)L`!N*~OHU?OYlvLvy zI6oYr!NNWcNzA;tVP$`pcIqsc)U@iVt@L=k=FTpQgamCb`RJ-}e*Nilb~7#JUH+lG zkrVx_E7pcdDsC~VyYc4EUPr&l$tixvwnzwT9;eDhzFOyd`*zfY&@Ed&U`V5dnl)id%}7hF<%{K>+1 z={A3QF(yhbv%a(L#9NO&@D4bcRIjU?t#rYWPd_F*yIRjs3+3a{kIplV>L_R&g+_JD zzS{Z;2|BBY&bwHfZL%x1r>5aVIz=r_v1nqItctrdSe=^A`c{LtHu{`9je6(3;zdt< z%}jtt2VR4A%{_yuT&sX_Bh83hr!4!!Q-aQC+?UY_w|biXLt}Ro8*#Pl5wOn=p$SM! z(UzSyRoA~Qt#G~?W;nUN6TW{sh@09qebO$L^Hoo+pd`^A|nM$A4P# zKm2aGpHC!t9{wV(n_~3?JHzF?rvLSN)XDGq{obD}>%}en*T?*RJ>S1a_`xxTYqpeU zVwk?6x<9;0{t1kAkC&!goX-tEpr2hy-Ukk(CA{l+K6?w6^L{*;f1lNFzi3wlvYI(R z{eaIb#9ut08+84mg#rB#@A>=3;O+hQOW=6>KYh$Kk>6GZL&2t;WHNc#sN()5OeENL z<;i^l*K8xQ)7vd3o|9Y{~i!X3e9^;th zP#%$a@P`@X&tZTG!yPaH zq_{4f{v9WI@87@9xQjQ@JHjj zp=}bNZ25j&x$2*477by9M#<@&Oh}#VagRvDahf=7i~a+%YanTi4;K zzHMb$&|dMxobhW~iO zZ&G?badmCnviy%nFCs9#c64!qwwq(i7Jd7d7$%Ocj67OK9Fh!&8gAYJ*%J!pEk#Dp zsyQZ$hVKZrF1PA>Bg1`SyGnEwM{TIF97vCP4PqbC|5&_E_?XNc!Mc)}i}7lSwMu!T zjP0=LsS|b2I~kIAD6j5CWdT#>>1edT@pHVW0_8x`P&yEpW+E|aG;Y0|iBs+H+0uER zUO3X*CYvm331em}SNPm}FXc?@DlYk$$Ky6^_g~*$vs8q4{B(+*6QBA4CT`(}<#jTR zmU{*sUR>~1xHp;Zo%dUr?AX&BL5k%Yn$Br1poA+@pPk$;lr5E$exr6my{PkDYADO{ zD)DL7tGjwycHWO}<~pHhvC+RH$79pbjI3F$>xRCrs~4U2s_&tM_Z#+ou8n%uC3N9q z_n`^pZL9Au*0+u+fBvO2ZTgUA&hk*_JV6c7-Z6_P1d9D(bbHCPO=tQZlm) zLX2VX4+-u-y@*WWBBM~i5c_2L##ZWLD!YA1t_p+-~F(A1qiHe1g(=jz%|eXI%B*Jt9nGsb3~sFe{Rw?(G@wj^5# z%ATweMwe~T3OTgqjyJNkM#`yHoK*jQ2VS|f`$FMsdG$yrOnH~(DF#w`Jj+usp-AEeb z(4Q8k?&^(T*=;x^XEvYmxqCNG zSKKRBO5&_>V5NbQuRm8;#S=!e!4ST zDMlqkUX^F4-8vAWA(J4);=olc`f9U2M|gzxlfIz6s%LYgKOMeK^&h8?&5mta{ddq(DaJYIuJ4EE?!^`u``?R>X*=q`u{rHvDE zQ;ykIQ}#E8ZPnDD8#nh2>c`GJI!c}nXi;pfg4FtZkJs!zD;U^19GO&7+9<6rr=OeB z{Dht{)pU4NjV0~trTQtOO1^-*$BZh|#xUrZqTU&P(P$32qow<|#*J4}$1)->IOun1 zOoktu=*=^iD08c??5p?U7J46Z*|9Xr{=FL?OSgINT$jif#?#8mRk61-C-;2te%1Ha z+oSc%%?z}M`n)pusJ*Ux*1G5>m9~VCb_IbwjEyTpuJT|CZeO09x>VgcLH#{_pk|`Y zE{}wOgJ{93p~trbLgkv<0=Sj@$ue=mL5_Z;4bq>6REzXG{Kn_H6e!{FWy^XEy8Gv| z2#(X+wT-?^k*o3E>iB5eu}wu@IZWV6tK#0>yFNI~Fg^A#My`PF;>Qk4(HC&ZAyf4*Htia78+bm% z=Z^5rjcT@nUv+*DK0s-@(P!XoDB-G;-}u zjiFwTu3(_R;4M|PjP5n@OSFAuY|yIg|0I!g8-XK+z2nSVRo{}CyDWMA*Yplw40zC2 z7G~?wv`_KX(Jif3#i6&eE_7<7W$(PRF2| z%{>49@`n!}$N)z4?!lP=u5*weK}(>%E^u8+z)MKdj$?B2^oM&@i`EDp1LiMLuXmwj zPr(%ig#N1o$Env<7sSX+D*ufw^dlS56N@YZ;kJN$kb^)(WDOy!tkl0A)C z+5$#-T%0E78q;m^noXPd4>`}Ac3Lo1US(;rP|q>p@4xqTiiIUESjlzYesO15qoO8l ze0cSJ`{Ay3ZI5YR$KB+S&)v29hPj~Vq}<-(Xim3`HCt{y3G-j5QZ?e9*LK{Bx>-40 z>RMykbl=isQ_OJ1n?U~+_FuCYuYER|!_t1wT!vp~@bHnsY47FXNZ(JsIqT94GX+G< z*=5<1n**SaXuO)5nAq5Op-whw$<@TUPh=zl1kL~ZZ&E=LIts`lkA|E8^)SE6FwPy^ zV>VyzCa@mEnukl3(==R4e0d`)!b?fz|6GPel6G{_I<%b@MD@9d(!$bu)ME$t^%1yd z*vLa=#dLxFI#J8Rq0c=5QeKp4Tw*dbHhC5D6-8id{0`68j;-uh?x{Blcj(g|nGA7X z#S_!fC}TbnK_~o0&Bh@7%O){}4wot}_1qgL{&ot@x_&*TWzY6*)_oVVFD@L9(QoO6 z61sLFN06M26RVdn?TktJ=K#4e;lXe+JCz+i-eaoj?^#z znDSMkp+q!%K#Z4dbP{V1y2>_r#(Uas8+P4&|yB2AgA z%uLu+<0BJVuGeP&!-R)Jx41U^poPbjT||hP_AP()+?joS3Ck2;TQ5IP9i1&!+Qty)&2M8u65kolty>p$$>lkRv~(2x8nn<^^2icsn&OjS;pa}K4IDU zmSA=)yX`N3`1p}YW2c10%9pSDb&5L8>bGuveA!Jzdz-%L%6!F-!6jDQxiK+XW(RQq;S?q*CT~8X2bRI6d~6ID())15I-k z%GG`1Pk-`(CM_7~Ns+xWYjMT)mF{jZoFxNoNxm6yjMNlAzWV1rYNV#7mrMSJy5!R( z5y0TTFomppKfP=z@gh>|U;PaiA*sl3pv#Wc|B&nWwJ=>yiv9ofj|px#_@5BZYl7$O zY{>j^<@iH4-7l~LMV+4i(<=AOa(ajR^yhc{S|@KNZ))K$KaxD}%ijNhMNaMb^8x+& zZU1k7?BL%^@{?AZ{1i9i>PB3E5`F)AvGU(H@(V2UpP`50QT{ELBoKyQubE?+&j2T)aKbbKABRZD;!EjV zw&|{=?`PN9M*psTbrB^ze|0Icl$=ulQht6N{)va-AK8C-PZ)rOx?T_i0b@YLEv>Ds ztqZ5}H=X*QKJ)uE|NPwiy4$}j70TrotN{?f|L(W`{G9dIzpbx0JQVU=N|9$hU(JwT zxziIEfjZ!q?zwqusq>aMbg8v(kixM`A`M1WC78fKCG((7Mf16H=T2`h^=>O30`7mu z$*;z{Z-#=3l|WoMFr!ZS-_fx|Td$z@^%>hay4P7?FaZfs&cv`UjO47ne}JA0)>-y( zHC1GZd5In@0#aYTe8F}?cJ&zg@lTlQ)>TElGuunZ;vkwoe!Pbq==m;m#QG_|bdF1& z#|84bmSYL*ZAZ(FIO~FJ9sTvItp}@!8Zi|I3l%l@l}pTbsqO|eww1%Bn23@c8hYX{ zPv&{!WR*U>mj0bB8Lf^>EC%WhO$ixb4kn$zg%5{`X--`$UA{KH{Wc+x1OLDR>IAi( zC_hQYiy;H*{*09K_1P<0vqgOsCA^(RqY=_{szK#Jcv;@`5p=fzyM6qFJ1_bE;f`w8 zfIzDI#Oc!^a3zT$`a7`rXtVRW;Z{PJ3xrSwENh1+-TAHXECMI%9{@FGCV_h`BFJ=Z zOeT(To|z_G@x|P8U0lh3$1Q{dO_re1Zrvh&1vy}2N=Zn}4%Nh@y2g!k?>2mUbEg=D zZXVLm&;Uh?$@n2u;!4@J7s#MgKumSux1^Xh39V6?Pc3bOIUuGY;_*vJHF_oBAR7k( z*oQ_7LHDd3Ts*;qWmNL!ojWVXho>BO!#Tsz5v~P*wEVy?+kRbS58dlTyg!V%>gw!paJaMkow89T@1(Zzb6sthw<# zBj7^~?r%FdeY7wT3%Q)9Cke>t5j)p~v8yKf7KWJ+k7C@LG#Mt|Pu$c%>=SaDd_4O- z2w{k%0Ki{t#&nc=aKM??turx+l@GlJMMenxE{rkBj8^s3N|Ib!v_d$kkpgQLQqI=! z@WQDp1A#)Srwra6ZZ(HUMG1W#4b{w5_rPIF9WNKTs%ClgiHzJ7in$Xb}lNvZuVVlI-hJsmw&4rdy?3$V|4igJgUX3cjRa4pNI8_ z&&`|n2@w-b6{5l49G@y^cSq#39&gM2=r_Z(lkLtK#8?5d&!n@#lh5QaHLtv2Z0MY;-L7RJ%dF z!oosMOzx~}rFU7vCK^Y$*|?RPpqfC9QiGT{+}ENF>ks*Z2QL$MD}0I}Vt|y4Of3kq zzCcA*Y1ux(k5h=7)cMs6?(ki*`YZny`-Tk%z+sk0x0)ET10^?x7a9vDdIBut2=Cdl zmW3r|!=Y>N7ApoEiJ|aSa7iXcLTg&+Tq2v0h%%w2NL)W*!vVeyh8|a;7il@ttvcLZ zc?i_2YKU1AV2T=z+3I9zfP77iV$g+DZ<#}d-SY7v!ogCwB+Ul9k^GMc$-_l#&QVx` z7(yLO_CQ)*FdYZ%x_6}I9k!hC@$naaXA1A&v zCf$xmtTd-&kO3$_P>4f@kW4#!`%!W)BhthMHaEq~GnGae@ z3R$$>z~x1PmL7#;9rWIR7IQPY@cZ*>&oaMY0PnGOuL9C_MRW6H40!fIRfMB~=#L1n z4jY$n)U7aWCl~>S>*6Ksk07>Qq`n>eT<%|Z+8fIT3>Pv?oOrctI(p+ctYz3G!TlmB z1R`x*>>qS4@ydx>nq-VLhP#G>O2F)K6v~5Wh~9xg)WOh9Dbo_VXx_ZZ5RArDOMgvA zIpojYBN|gT7o($6wY@Ocyj6;feoPLLQ#(}?T_CL)~3p>cod7s9Fj^LXLNWyvEa#RE)QvB+_&xU#7)MQld(3HO2= zM^r&MP@u)p?W111gH=GtN8}`i^B?!4H{09`H$nnSz!V}D!Hi!bBvAKXKy|!bS_1r| z7TOVC9!)h2SwRG)C~FTHsY~b1iwWn=lGbq;t2knBg9Q#xU%}afN>4D5LlUG8gg!ETGzFg1#I2p- z%7LSy^0-M*u(L^T2#cbl|9t`NurH6>AZby+^15g5IM8VNi9{wa%)WfUx1*u&>Zf$4}753|9~CR$L|U6?FE zBsyd&mwu4lQJPZd(Zw>5GLQ!Y)2JFSAi=nkq+xO^nEZvG`6%m;6%P)P)CR{Sq0^Aj ztkAS{Vy+qa6x?_;U~@i}>b4_qwLk2Eeph(z+%RB4WX8jMdz@pE3E()Y7R@{Se-h5BC$-dbll?`16{5?4;hk$Ha`lUI+98K?)=$ zZZTRpnI17H*!Q7hhFQlk#P$}j5OAG`y}Hd9Ue3YJ9)(9DO0=E4+Wac~;KrIeMX!sQWJ31TxIgd(Pfjp3??qQB`N7ybo zwMl1(0sM7w6yhV9N%VZE-hFAwr$3QuAOSFjMHAZl$KfIvFFnU)n=0syMAVEBW73dv z9fe1?EZ#J}i|knCXoVw$OnU#o6@FY1+=)QUaNUK~ffLUgx+A;~Qa=DPk4Ca2m`hK| zWf9pKY^^Xbz7D4@N4Urh%|tB`VjKy{L>2A^>qC^R?jvq1;OF5A8xLZ=FdHAysN=?b zDV!C@k((gnfJ~3rk9FWU>#PiQ#o-W%tVnIb=CDa)meiqya2ZBN@j&!ioBT`wh|`3P zOE{vyT#-F1fC9#k;U!pn(rBrwU`t`y7Lst+y<}I#rL{POUl+}HIV3G5MRRwbEm#B(MZd4U%+u^JZHFhX3A4LvD?K~%vu)hitiADB|F|QiJ@BYX)CE6lT|2oocM``Ef0$~E-P`{uA zn}x(UEQbzE2v>prtXhVP6CSr@=Xr@uzkaSf`^(UgN9iVf;r~%6A*WJi*af5jNN;`6 zV@#VzuQQ4keH@MfB8gOJSjqHTfT48i(N>-<4wJ7u(RnzXl!lc+*wkc>`Z{><9{>x1 zXDOBZ%z)nrl9q-XhjgSfrd{ULJ6>oOb~mlmL2w0bTY;6U3~Q=2C-CO_&wryD^gl!4 zh&~9(L&$DI+Kb^f&2>PL{Qibg3H<`XBNjaO`aU$|uR&pXLBnxsfa3sh2cUakT&yuJ z@Aal{Rle;9-|gxrAXL+Nqf0H}T)%!l>bPoXmQIeWb~&`*k3TAq?=zFC^w5rftA6~n zOE)pV+OhhaCR}Zjk@8`nN@FIBna@Z{N_O~Jf)w#kTk zF0kr;Esv*-99gzLSFel(XUZDov+8i?Jb@$;|GE>ginHJgf&(#94hYK9En0$aI&$== zXqAIl`=!g}q7%o^ina?g#`40~`mR|V!6nisFffqh|A^49GkuCSW9ET(xrkM#kCxNe zSz@%<*toCY3!(v;i3uqG;5A+MRlFyV7J`{}yLHs@WEsfz&@k!yC4NK0T>hoU2#0Gq zPg#+K9XWx$PB2;nXHLGlh)8PRoAEgg29A0cv9d@B3u`wrhZ!ZD0pyMY0|N?R7hqJ* zheh>XcuHXGlkwEZsL8_V@FYrVLMz9it@Kdm06AVE`b}p|#As^!(cXBRbHznP;>4_C zNEF8~`D{{BqHrLA2Z40>F)}ukJmg>SoM61Qxqu9C=S6d7(XOXvExGXs3K&44N*jXZ zQ#O?sSP{m-`rA%(Larn2%FEcDXygw=_2n9Yg;w+bAUSp)f@_R1JU9ipbgX+_Fc zWO(Y=Mwzi4iH9Uo92q18$~ZMvEMLA!(#_pn5uu0_0?+{vKR$#pc_IYW{0N&)AB10G zI}8TzS+y227>;PZu}c-toC!m@8j3=`6J;JP46+8YQIVS}A+};U`n+esQ~{Ef5P%g$ zi^MD3rR25e&YZDK5foQmc64ya~G~kHZ5pzV> z>?U&xaQP+?qdS4-$-t8m=FC;Zg%fEck+0H73zAWzDG}JYL>`2j0@JEhvz%`nVI<0|(!ThBP{1){ zrq0C{X@wdT#+f-87}cEsKP7d2K^tsUU^umG&XXHLclIzhfu9o#i^zst$1HYYGz^DG zwa4clKphs2*B1p95lK_7En?m{dvQ1whfwi=6)#!=1#=2EG8BEyLy)%_LPlJdhKrO}j!_~sLJmp9al&AXcvRl!j;#a})s(ZP zE4#LRQPFl(M%hL1oPV=PB)={8uaGIn0d3iex)Mb?*{XzciXvHk;_ZyxB>LeUdXqDK zGjag!kgme-`w@QLe^KhyYuAX46d_>uA0oQSw`v?9HP)+nB>SJ!aW+wrCAQO%OgdTgG@{V3u@lNR9 zIt~uaXug^XZg`~cHQa>~6h_S2P-S_uLsud1x|FTXqFf{rza!G&EQiZ0l))q+!DUAn zw`5pE&Y3eOS;GRa;tW3vsQ|ZYW-7sjH^HiS2vM{X2m*8GcBslxJG0uBO%%P<8>FA` z0j`W$&8TM-BZ?qOio#edG6avgc^|e_ofFVo0w59NEpk}kU{am_*R?@7`WtXgFaT0K z!gbv{AqVt%c(>jmAsU5-Arw!f*kEg%Ksu*Rv|%s=CYc~k$MzE&);$UUpP2so>jCbiJ*zKQ5r1W~FGD-_1rQYw5;DzO-2h4kJn+I%jW`iP3S_Kp zQcjYI$BqEM(U>%8EWw$F9ae?3$Z~wh(4;9-8OTuO)rG6bU&-$UYFvi}Gh8hvMqs%* z#(zC|_s{k&-p$-tvzw=2Sr_sBxVzVa-(ln&q4yD^288mV*Uc8#X(U<^-wqP0QNj5l z`DRzu_XsT0BWMkmc5XHbz%6oe<(3oiGwa9&KyuCxZwNBo5Vu1H%Sicb{UTw75>$1! z>D%LYh)R#opE7np4Tjr@Al_X#aODAfLgZgy>BxsZa2QHU1K7|K%{Kvq4f9~xVh964 zVp63Xaf~_j+?%S*#EU47iMb1zorEKVc*F?V^v2=Fxo}1!6#0jQgb-}ccblpLggiiG za%uo$ijRL^C)XGGiJ2MvLbJ?Q{O6bU6LQ3FeUxuooBAI!y?_60|FU0NWE4gF|Ju6w f|MOQ$j?cKPt782uQwf$4MM)l!J)Ce*=kosrR{S@c diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 809315d..798f94e 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -1,103 +1,128 @@ -import time +""" +Performance analysis of parallel and NetworkX implementations of the input function +""" +from time import perf_counter +import random +import types import networkx as nx import pandas as pd import seaborn as sns from matplotlib import pyplot as plt - import nx_parallel as nxp +import joblib + +# Default Config +joblib.parallel_config(n_jobs=-1) +# To use NetworkX's parallel backend directly, uncomment: +# nx.config.backends.parallel.active = True +# nx.config.backends.parallel.n_jobs = 6 -# Code to create README heatmaps for individual function currFun heatmapDF = pd.DataFrame() -# for bipartite graphs -# n = [50, 100, 200, 400] -# m = [25, 50, 100, 200] -number_of_nodes_list = [200, 400, 800, 1600] +number_of_nodes = [10, 50, 100, 300, 500] +tournament_funcs = ["is_reachable", "tournament_is_strongly_connected"] +bipartite_funcs = ["node_redundancy"] weighted = False -pList = [1, 0.8, 0.6, 0.4, 0.2] -currFun = nx.tournament.is_reachable -""" -for p in pList: - for num in range(len(number_of_nodes_list)): - # create original and parallel graphs - G = nx.fast_gnp_random_graph( - number_of_nodes_list[num], p, seed=42, directed=True - ) +edge_prob = [1, 0.8, 0.6, 0.4, 0.2] +currFun = nx.algorithms.centrality.betweenness.betweenness_centrality +if currFun.__name__ not in tournament_funcs: + for p in edge_prob: + for num in range(len(number_of_nodes)): + print(number_of_nodes[num]) + # create original and parallel graphs + G = nx.fast_gnp_random_graph( + number_of_nodes[num], p, seed=42, directed=True + ) - # for bipartite.node_redundancy - G = nx.bipartite.random_graph(n[num], m[num], p, seed=42, directed=True) - for i in G.nodes: - l = list(G.neighbors(i)) - if len(l) == 0: - v = random.choice(list(G.nodes) - [i,]) - G.add_edge(i, v) - G.add_edge(i, random.choice([node for node in G.nodes if node != i])) - elif len(l) == 1: - G.add_edge(i, random.choice([node for node in G.nodes if node != i and node not in list(G.neighbors(i))])) + # for bipartite graphs + if currFun.__name__ in bipartite_funcs: + n = [50, 100, 200, 400] + m = [25, 50, 100, 200] + G = nx.bipartite.random_graph(n[num], m[num], p, seed=42, directed=True) + for i in G.nodes: + neighbors = list(G.neighbors(i)) + if len(neighbors) == 0: + v = random.choice( + list(G.nodes) + - [ + i, + ] + ) + G.add_edge(i, v) + G.add_edge( + i, random.choice([node for node in G.nodes if node != i]) + ) + elif len(neighbors) == 1: + G.add_edge( + i, + random.choice( + [ + node + for node in G.nodes + if node != i and node not in list(G.neighbors(i)) + ] + ), + ) - # for weighted graphs - if weighted: - random.seed(42) - for u, v in G.edges(): - G[u][v]["weight"] = random.random() + # for weighted graphs + if weighted: + random.seed(42) + for u, v in G.edges(): + G[u][v]["weight"] = random.random() + H = nxp.ParallelGraph(G) + # time both versions and update heatmapDF + t1 = perf_counter() + c1 = currFun(H) + if isinstance(c1, types.GeneratorType): + d = dict(c1) + t2 = perf_counter() + parallelTime = t2 - t1 + print(parallelTime) + t1 = perf_counter() + c2 = currFun(G) + if isinstance(c2, types.GeneratorType): + d = dict(c2) + t2 = perf_counter() + stdTime = t2 - t1 + print(stdTime) + timesFaster = stdTime / parallelTime + heatmapDF.at[number_of_nodes[num], p] = timesFaster + print("Finished " + str(currFun)) +else: + # Code to create for row of heatmap specifically for tournaments + for num in number_of_nodes: + print(num) + G = nx.tournament.random_tournament(num, seed=42) H = nxp.ParallelGraph(G) - - # time both versions and update heatmapDF - t1 = time.time() - c1 = currFun(H) - if isinstance(c1, types.GeneratorType): - d = dict(c1) - t2 = time.time() + t1 = perf_counter() + c = currFun(H, 1, num) + t2 = perf_counter() parallelTime = t2 - t1 - t1 = time.time() - c2 = currFun(G) - if isinstance(c2, types.GeneratorType): - d = dict(c2) - t2 = time.time() + print(parallelTime) + t1 = perf_counter() + c = currFun(G, 1, num) + t2 = perf_counter() stdTime = t2 - t1 + print(stdTime) timesFaster = stdTime / parallelTime - heatmapDF.at[number_of_nodes_list[num], p] = timesFaster + heatmapDF.at[num, 3] = timesFaster print("Finished " + str(currFun)) -""" -# Code to create for row of heatmap specifically for tournaments -for num in number_of_nodes_list: - print(num) - G = nx.tournament.random_tournament(num, seed=42) - H = nxp.ParallelGraph(G) - t1 = time.time() - c = currFun(H, 1, num) - t2 = time.time() - parallelTime = t2 - t1 - print(parallelTime) - t1 = time.time() - c = currFun(G, 1, num) - t2 = time.time() - stdTime = t2 - t1 - print(stdTime) - timesFaster = stdTime / parallelTime - heatmapDF.at[num, 3] = timesFaster - print("Finished " + str(currFun)) -# plotting the heatmap with numbers and a green color scheme +# Plot the heatmap with performance speedup values plt.figure(figsize=(20, 4)) -hm = sns.heatmap(data=heatmapDF.T, annot=True, cmap="Greens", cbar=True) +hm = sns.heatmap(data=heatmapDF.T, annot=True, cmap="RdYlGn", cbar=True) -# Remove the tick labels on both axes -hm.set_yticklabels( - [ - 3, - ] -) +# Set tick labels for y-axis (edge probabilities) and x-axis (number of nodes) +hm.set_yticklabels(edge_prob) +hm.set_xticklabels(number_of_nodes) -# Adding x-axis labels -hm.set_xticklabels(number_of_nodes_list) - -# Rotating the x-axis labels for better readability (optional) +# Improve readability by rotating axis tick labels plt.xticks(rotation=45) plt.yticks(rotation=20) + plt.title( "Small Scale Demo: Times Speedups of " + currFun.__name__ + " compared to NetworkX" ) @@ -105,6 +130,6 @@ plt.ylabel("Edge Probability") print(currFun.__name__) -# displaying the plotted heatmap +# Display the plotted heatmap plt.tight_layout() plt.savefig("timing/" + "heatmap_" + currFun.__name__ + "_timing.png") From 146f25f713ba21b4916807af54d55c44344fa834 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Mon, 2 Jun 2025 13:07:59 +0530 Subject: [PATCH 03/21] modularized the script --- .../heatmap_betweenness_centrality_timing.png | Bin 43866 -> 68344 bytes timing/heatmap_is_reachable_timing.png | Bin 30299 -> 31196 bytes timing/heatmap_node_redundancy_timing.png | Bin 44232 -> 54702 bytes timing/timing_individual_function.py | 240 ++++++++++-------- 4 files changed, 133 insertions(+), 107 deletions(-) diff --git a/timing/heatmap_betweenness_centrality_timing.png b/timing/heatmap_betweenness_centrality_timing.png index 963167e97365b23d4e3c1a40faed9d0e4fecf7f5..de7f896e05df126fd00b0be25649929c5c79e30e 100644 GIT binary patch literal 68344 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 z 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 literal 43866 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 Jzw=P|{{fJO^rZj* diff --git a/timing/heatmap_is_reachable_timing.png b/timing/heatmap_is_reachable_timing.png index 2d70a7ce3ef65823dac671a25db23d5ecf62f4f5..7be75a31b056ff8b0d1e52f59649a34ccf6f2537 100644 GIT binary patch literal 31196 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 literal 30299 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 RLmlP9mG;Z+G8cG!`A^-~%J={P diff --git a/timing/heatmap_node_redundancy_timing.png b/timing/heatmap_node_redundancy_timing.png index 04532441a4cf0dba7ddaee659590f426a4f42ca9..407a2db4f9f98fa657e499956929c18fa332af3a 100644 GIT binary patch literal 54702 zcmcF~c{rO}`)+9IZnd>{2dat=yH#^rH4B}!+M>pysG3F0i6N$HRVQ>X6Lc_#7!wgw zC$pFZk(dP;s7Qhs&a3dCwp2kk317Zc5)H za*ZBwma|7hKH}ta{kN1?%eGf#Prx!eQ?$j6-OgC@*DtULZ3LuNc|a?n5$wl=;mDp? z!1TW_^^Vm*Jm0_XfY0>3zh&+C`~DJ0;_sV?y*s=9>)GQG`~Uv#k|6)=-*=$jFYWsK z?)VNq|G)1*|1j|8F-Y^jzWaxP=6_fR{lkFcKdgiPVc^0)tVjIAfY?8*|HHulzu~DX zXtVoFd~pwkS_$ftd&&O2cQwU2lFxs0LvOtL3cFypEBE8i$tEo#C+BXO=}74M&!z&q z`nvUv4YQm(V#vMp!QqW!^-{=}VJPvL+8}k5xkDX{)aQPlXwZS!;Nfhz^7b5#J>MQ& z#FbKyp$qKU?yLQU78XWEZ)7csQLz$Q^D$}^BcFp(QfTSS5aXDmD#qU4B_~gw>_b^9 z?>l<&rWTxT>p=#0=xf`YXR=yPq>53kKUrg)YA(Xi$$u zMMoF<&-D~oV~f`~j6w~+nLvC{ZWLfs>oL))(%p?dSb9|1`876eXV&i<>#WYGCGVGH zJvuM%*84NQcrq@LREB3()1G2Bz6vSL;uq>nd{{Jey(VvCxz~_th4GoZksxo`vnqaY zdu)4N*?oYD0se_`?nupkrC5Elzrf67YjeZw!xaH2xw?Nh9T<{+z-TD;<*WGkLpI)D z1Pn^(jpAPZ!=8NX!*b@c<()dcW)?Qt`U$f6RkQttNs4&-1!)jstbwm1P0bKp%SrXK zZHy7mr4{21evngKGUglwT~r*Ke@~D#(~kpl?ia5?22gL~41Wd}FJ~Z_-PT^U*`DO; z{D1|@5{u=>nM|?^yVsGb(q9dOc&Yu2cM*0Uq&DklRYHgyxF6`yWe}N(kLv&S1RSXD zGjR>JK&frOxbgW5U9=0DPLMUAKW+nN!1mj-eSVvsrMtdsGiz7|)DsOvyKr(LbSE$k z-tMQiSKXcwR;MnytIJ4QJ+0h&5{%&Fsh74FU4JDq*K4Q?3v2I~@A`06-@w4!r|08! zA+qU5LX}s0{P?k~0epc{gdGhd z1*xBQ87K$uEe%+(MOQNXCvZtfc^fR^iBsEfXvwt~2PmF<46f$q=M%2V^YQV?GU>{u zmF{L>R=aZb+I-8bYY-LJu7=e=aCg&G4bCKrfrBgF zlikP-c7fwjxW=;^z+Ci~yBJE7$owBTJC;Ma*=4J(^KAfSloKGJ=`c{66{0b)z@&<(`ckJ5lPtm0cFT!7Q8Km5=M|Y5w zC7E{N8`F-#BwPh#6+`m$i+x+!Qmrp6B;=P9Eg5{)0*i--$R|U24#XD%Y-niPTBrNw z`fBymyW8nwbrNYuRorJ2tvxj!A&Pibi29o1TabW(&SV!mXF~d1O}&j5yu*s;hxu{8 zWCB=^0ncPhJje0=a}&#$H}8=<+T1Iclh7@KCQW{0@tZJieyCd1E~K>F3%;3&VB$Q8 z1_N+vLVwCAP9t$c};pP zv^Q_EcnkHqEM*t&9-hZ^P2;Qw;q=D`XvU+IEqZw; zTymn7_Tj8}?6+cT9+%`*-{EHmMW}v{vT?v<0#U3_Z8YS4VFp#Jz1*hrXXSA_Tk80L zwHK^drqG2rB@r+(K4PKjF*xSY7WpiQJ^!dpXKUS0;sv<B~xVmEbVSjC zzSFH&aMIH-@(?$TIyiMqaO!>>Bn%}Q-y{|O;C7N?2RF5Sbrp+vgWS88yoR%EW zfe@pm!jgw^GwP3qa_DuMTV(l z$l{mw3p~Yg#B&=V%n0QhGl(;U;cf?yh_BZKfz9@;x5yhL7=cMtvSY4C1YZ={iIwsN z>pr(iLW+DYm3qR6wh~ge_HK{Fi|kx-JSoQW8I3Fud0KL*Nq1{~@^!iA<3Fv*|G?E4+a1x?gww#Cv2@?k@@!77D4JDMPKiEUpV}%crv`_cp7Y(76q4OmU_BNAN zNp(u~>t%jO>)(mrVv__AUUjR^(!Y6KUI09&cdnzMTsQHHhp^av(DGY7NgoW9_yjhN zkSBh&8RabgD0N)6Jl>A+YHIiMVA${P4E)(xU5kB~BY;$JwWp5GBLgTw26*u0+d`Kt z7wZ6TFu*H}vHLCTG#-!dK6pm`+tFlTC)c31mR$q0=|@DaVV1f%)N65!QrlN>1_}Iy z-v-mpKcO1-^X>htk=P=EPx2)kz{}mfKmUV3B~Y5~mvr!ti<~RF1Sxm!NPk!>8wo*8opIJRw|GK=Emil9M1zAM$mof)ND8^%G zB19=gLJO|Wbrs?t=3d=cVE(d9aamL<;7SnayFMma$+A)wO=1pQ!sFy*SYR77r z*hSYje%ka5&(R-nq(mp1ZC9Tbqfmb0Djm^KEQU86tn?I{%!sz69}QWk<)%-=!Io)I z^*?y1!41lAazZF|=m|f3uR;WbkM*%idI;u3?TU3FoVXIpt(s}lY2%cnIDN2AWAPB* z_%}IWaPp8(N#|Se;KPM-IAgf|d}k37o>@X8%!}do(|N7T7o6kopiO?o46m1`Zzrl# zzf0aJpUX)bnQV;l1E7eO1zAY3s==n(f6ik8($m`;H%J*OchMqk z&3=lz(3WGE$&4SW&wv8GYYJ^SoisIU3qYD!eUGVF)83CN>uv8%u!IrK&>b4Q}0PkzW7+nbz^+ z4WYALCtSihGr)w9Tm$5Yo10q-n-aph>#_kr2VJ61DJw|(sH(@TC$ZQjqs`ZLmsH5& zW0s^wT%}DL+=d*+W286%sDvqNR^UkDWQK3fp|<97Go2BcE$^jW?B*?RsaJaTyzu_2{r&04*(En zc~L!ts2Jet>WW$7Fi3cDHP7^*&DRpS7$`}TnAcRxrO;}cMsR-0ZS)5uj&E2jODlI3 znf8g%`9hL3i4y^H<7*LINf;g@Y|aH>W{WwcCdkjlPP>lB)XJs!b%K+MY~v)s=@2h+ zHH@%6@#7UT7ziIOm|y@2h88;n(TcFua^|R63f9XGQ%$r9K>8^zRZCAd5u%}^#nY%* zw(amY2g!`OU~R5m=PFip+A&iF5w7gscb0l&2>hpRTar=$kH^y@mHYh$tV7WC z$4ziP(51(;!O~CfAA6?UP3&+Sa!b7HJY*jP%O9=_<$2gF1y>7I?$v3lZnN|hi;}cd zZbB6r(}qc9=NW1)ZK)e*58eQ@I@kJMn=EFpGVLhwLOht9ZDk(sXM7DDC8U6L=Hx{tPjmL1it zZ`8s}m_fQ}@~rkU2?n^ljDCj}sYYEbYgeYFsz7i~{#MQzrFR~rVebs0ES(Z#TrItI zHUD{?h(6Ja@>0pmIs+IO1 ziB2gAp><`pS_5HPGXs#z<^w7fHi$$GX1KwHXPPuhJ!=5&%BvxX4t$q4!J{rj<> zb?-&-Galq^ceiI?SW_)kYM6Ss(gwP?mSaWT0HeT-ejy46Da=oaj10DpQ>IDV%}yCw z?eK+s#{D5xmZmKxGjWJ!U;D=(dm_jSuV!stg4~6-o0`IP4pLjIrLeF4gxjhs9o)Fx zr%G8K-wsc~u3iNRBQ)e({6syQyU)0Rz|7)4*`9Yb1UzjAR2?6imc z*uCHBp^Ru-8vpPan(aWf0tS==!=|cudsisZpdN7Xg??p&0s(DQhe(aKF+${9 z>~e#FjUs`iE!t*dQ4v}j3n?UCuR<*?cc5!{!jV?znybH6(i*B=Fb#nN=RH^sUxaApLy<-z>Z_Z)1!S?W z!W&2O^o%243W{F-NceGJqXOrFok&E>kTZ=l-0Mt>9F5ex8oj^6tW)_+RcmYeoR5iKr< zsEH$#XlKB3;+bSe31xEiEGBwC{l0Y)7miXml13~g1Z^Pqaz9Uki}fBo4iq{=`X-rC zJjhzBvBa`9xI{mXxM^i5pFhIrizK|la}X*aR}SPtf?bU91NcqDsZCd6k@O<6S1Npc zd@t>h$$(EM>(N!i!41MQrPAmFvE0YM$RhPWUO(Pu5)w87-M{#!(VJ|9hVOIYsnO6* z;l`jA^vL@Jr<9mPu&bCW=M>7xVJMEB2z9>9-b#Io6y@;|%i5tK#=I|sk>VOnbnOFe z`ztPGIC&3MO^O7T>{Sv9mdvlsa8jkf3Fqy>zJl4YNipvsm+jg(OEtL?cH#@FN*PkL zEn1Mar9|hZBUx0-6Mn4R`K|Nx?vKMk*q?FG5H`RQX{6-9p+i-J=5Q3Xm)~H3^yF^h z2d~Gwg&YGL^>sxuXl;${l|G|>OFO5v+47TM7m>1PcAk+DT{-OJp7}wMA8gZPZE9Ot z5=-1=-PHk0jVA_nHzCmK1AfUw@X30}$KwmiBI*^L?*$G*QC>o8)^WSw3xuO1im$m$ z5*E#paC0zJ^BftRtNhV;l-roxdELiwYwEpW`T|58J;I+4U#MV^0%;thhVJ6}k9E?A z1=_A~Uq^X1ot7rK;8kry+5OtY&ee#kw({RbCGVF|PS7v!)?#urDvwv&us9`eL-%V> zHf26P6{9d(VtaY+_x)aWZ?Gn!RLya+?Es z`8tw)V!h3X~)td16&!FP;ybOXS~^S!y9=aD(RMRSrF@A&AN{O5jxy0QY^l-~+aiqAOj1SNfe(Ol? zjI7qR>O2l-79j#j!n7-tvX%0(NjLHY*0uX<%N6Y8Bk-%itFKf?ZiZbB*v1}bfAb&T zUYO}I^(hu-Qe8$Uk+a2W5RnH1+%n>)8!^V0OQrIQUeRkJ)dvpOy4cB&+3Q~1CaMgu zOO{U1%t{SvY0zYhT5PHtWYUEcH-oNO(s#C?Sz3yIk#6Pu2+PAt^_9c3-5px39+D$( zYFL)^R);J6#`%P=JX_2%6}0342cc6o8cgAqv!&n+Na;Bs zu?WSCpC~)3;rsdEZ!CHy)ehofo|v7IAU)>DH(nEo-I}g@+y7U>T8UH=CfVV4&A{#s zx_}|#jIebeYsfSbS9mp2%!e40g%HO$4Q7PS_rQ24mS|m?uXep+Wn81q`@~xwwI|v$ zb#;kLC}Jv`^YF_TblsZ%WK&$gg_yYPB#>4o+^#){;Yi*rwY3xYL8v6ll~F!X`wvcv5l4Dw z)+M{jAL1k+ytIykm#_^O7}#s_9b*2_z(y%RP!pc)8gQn4`Px|2*(!Om#Lt~N;D;O> z4d4v(&u=@4QF8OP!XiMZmcd@ig>ATz3xGF0Ai)5@?wlhssF4ETPm+jZX|Xk<$x#So zm35Y?j@pV6u#i7UsAg5(F>gz)K;0CIw?59y&&_B>L3CxURTG?U?*llTme{haS25G> zlPRgiHh4{&L@Odg6_Y2ho4(7D_KfGscSM{v680QhY{)n=yz&t<%9+G6@B%Ke&f{OB z43cn(weGqFooQ;F8qS0a!uh5I#Mx?%l)3tB zuMfXKVyIiw@P!eSxFu~(7h+x`pd-&3B-|Qs2)|JJ6I*oKiWWIYKmaLWI{ju_NJVjq z0;ubgp0M;A7oKb8L42$NiNJpnuIT4%>{1COsY?5GHD1HCgK56xM)bD)fCPQoC;Wz0 zGw9MaZ#DJXX5{RUk6H`m99NY4ZuSopgC zKwJ5}s+*NIqkw*p%vyCHuEEe^ziXRp)xDHymvnaYE2#AEiSB?JN_+N zi~C!fGlu2Fl@RBAWeUI-N{L(la&W8QskeIR7a*^kB&jL`l`x!_jVbAy1eOw9=oeGZ zW8w)Los9=||KOxl9M80o!-SFogeWA{a-C#H7`>Kpv}$vWhU8*s6#i5VG}*yPICl^S zkV2ul_uuqHK7kvS(5=O{M!p4`mM$FB^2)e0(>L#01;heoorU5_-y%dRF!ew2@7C>B8P$!S#?Qz=QI0+LY?6yl~SZ0RZVl1{5LRT|0MH0h=fTNWt+y z=w2Y06E}~E0j*%lV#L)nrvYZr7qc|io2xYqkn}L;As~+>OKAFgQ*u3q%9xuQJbaS8 zy<i_KYnPmG1iBID&SZsXyS5z|sK*8ylFk7x&jZ-RZKv^Xs&f=+V8UZHA;wF8_f2#C^YZTNP>sL7{mSG@Xhs8%-bFw zC`4c0Jwl~Pw*Fyi;1GvY;WjC$1xIOt!C+z?AdE^e`F03a0jy0rtr*bVm>WDUbr>UI zNAh%a&GXwBC@^aa?Y*lu?cTe_rjbK=9GFF((U+ht;C*R9w`S73%KELV{qy}spw{Np zA(u>8oVXgn?Y)hfBtSJW0V;VASErvSKUZN7a4)MFf3r3$yyVimQI&VZ&=ws(E;%3* zZ=9`9;1K~fY}LaFj6QSze0L~-lhnEVB+hoCN&!^Bj7(wt!f+_Yy}y8<%BZRI8l~WF z#6=^8@m%C=?bpE|0FK0I{rTs29D!a*Ci+s!I{uB@GZFkhI2P6D^K;XR!dp+LkJZUMN|wv!m-kGR1lO zOBus;L)Eu#-3p?VhlGTTkT6g`slq3_gsY_x^z#7#e|MqNZ<}iBr2VwD+hXH~bhsE{ zPD(lAJ$VN`dC)~p4lycf8~DZ2x#=^&nlXW_;%61X&wk|n(!12u`E>~gYUi}C6J8{i zT_xGMapLspAGlpqm?B-74d6q~roq@WvJite15j}ArtjY!2g>V}6syMgsfcFGdvUqlCZhxcWSDsC3fJ*tZ7AM^J+zYdICN{s zXS=!};_F!1mWBFrnoEd0+TP9Yn;Rx?XCaOXIhX!n3hy06v)Kl%K32?*yGS692@KdU6c( z@{=)N9mSI$bSO^>A4+GOIdr>N%PMoRni(*2$kiGckNMvQFFp2Kt=j%~P^|dh6&6Ng z+hqnXPc{A;_rH1)@vjL5ZjFv?W0OOA|J}~EYJE2L@7jw9eyZ>GydBd0$5T5bKt{*@ zn$KVD3d91%8(Hd0KjHsXlLAr~d$XOo{&np+CN>L-n0WqomB(4{?KXe>@qhOC?+TKv zhF{kIFMSNDA^*GS?N0+i$N$vBYM2 z1X{~NB*oXPKn~YCO{u*nW2d8#eMWSClV2Td^I-atJjpFugS?S zWFc9*EI&ESy=mhFpksI%%_f^hvqKhnKt}eH zfAYQ&XtxXOJ_{9A+$-u*Htnf@TD&o*dit~EvN443*lwGuZFc}B*Zb&_2J69UW&QR1 z_oHtSO;)QJp;7DTP~#Q{LH%70zWo7_6f)Cd_;p-Doo8LhQQPD7%(%1D8@y=>_Vg#? zls!uetjM0kJ0`7}nQh4UvzcXP*?sXIq@VROyR$novXX@&ie5X ztcu9{`2M3ZO@WNPGihFvsgaqQVdco%39@9|echAnWanzVt~g}ao0RVJI762k#@>QG zKX|9pFzTHXOz%Cd(s7~SBvc7>EUu%Jv^-elnT=JF4ePdQimA^NX zZZFMWPT%0xj5SlsR!S*YcB6jElNLa(|#s+t{YzlZHnZ$35B(CB$;^<(Q+#*E$D9@OZmhb zdt^_az9t9lJ|sQ1AJkN6!Zt|7L31{Te`1xr9xvxOrOmFlQs=05>!%8IomU4vSW>8C z=<-&q>61le6$q8?!N(e$8q^-`B~BOG!q8@IOA3eSqNwDl`yGR-S9PIlxCX8;$aw+C z!^1|F(CM$21;=4a`?7e=*-ZqoJYn-YM(>-0Wv8Xmp}3;aa)Ohr#f1kyWnNfeyec!& z!39R#9iXLmGX^I9#>`zc9m3){>RYO@d6`sS-6Zsy%6t(ffnYAP_3ov?%YLP_Fd}iw zK(|#GaWjnqwKhmH0->IgTYcw?*j4Grn-qK}*iLwZ79E_f@vJHayLEYsHia6&o_F zbAi1zWSHx(at`AhxUGkc2U0*|ftJU4uY3C0y^Y@Y+ z|2fraD%J1#`GE0$ce6g(yAQUY&dAt)%{)s-<=Wb1o9hxUjRTF6zdrdY6u1C7zR<7| zWo9kctY##~q3X&TjtT;$QlB%`I=uO3E&GKEKOj=cdDN{S($I~$h=(dNX#w7QKzppS z$M&o(z9S~QOZ?b>kG4EsfUZ#U**af@2y$Ag9RKZREW2MnZ8g6qH~i1c z)Q)N5hJAL3rYW;XZc5gKl0P4?S*edywPk|Er+a5lu5yEK$SjagaUUa%T|cwX2vX~7 z?sKwSz=vZyLAljEeA&~q$uv2Wkqcktc3NoXK$lUy-{z`AubVc4TjWXD2SObAuDb7` zFXitUkRf(OUpf~0{kCexcFro?uj7qLZiplQs2L8Q9SoZih&X6=>T?0bbE|?sWIZ7{ z_~uoYn7)~+n(|I@y*`tqqoM_)=(rhN&4ZRQ{X4gN=*U;;P=-#GA?>4@=#nJpk|$(8 zir9SJp#mJ1`*lZKp2bGt@YPtITpUhoc%-#Qe__ej&dpFK=^!xvVp`}HmQOE8_Zwcy&mb2T4Cx%>@t4}tj0PSd;=a0hW^6uou#suj6- zK3k4jVDVMyW?Y6}w5{!8#-n$WOCtm8pH|7$kU?7x8$VaN6mycnj{3hHDBJ2HL(g#y~2N`EFoI(=~>mx z(u-hCi~4IegsMBIL}I%zD^NWYUd<&3EKT69E|cJhUbDZLFAz+K$V}0 z}ti0L*|>XS^XGe zAu23;%-6u28Zj!_U+zcg+x+fI9w~`#gdJnPmf8!V#J>qPB25P58++gAbk-}^aW41V zfR*T2s$71ovl+ZX$6uVHJQNolJ_%8+9=tRrLqd9EjG)J3f=|Zo53o%y+X6?+mED zT^L|aJZf|CQTI*gOK>puhy7#wJse?k|D|zz#r@e5J-T?RM(;Y91#FIA_HcyEueftc z`}nfXRXtD?See;0+)(h*@@K``SmX}Huh%)oMBZ9B)jfIW!c3*%DTF?7L328{^Root9HG5|GUm&nD4@hMV*VC z;_5CL=-fpYoI?4-fMKaj$G%M6Tbs3+NnVAX23WezK0;FABZchECC)gMuwfo%p>sS_ zK`y?|DJ8@m^TrTap0G4GX*nMvJ<2NftM)P+Ex%V6qXg%lcN?vnlIMbXdvFK$H`hX* zOn+*_ZsL5K^lnA3Jl@gpGp#zPU`?gQEbWn++g17vSi!*M$90d_AbO3$XpFq(TtuCv z+WB%4M-Bq(opo|Ro+p5ZXt&&M5gcjo!l0;`1phYiRE z{hBgoG_2Abu<8yUGi^5IU5>GzFvu?%ZH$^J1B+Eq@Pd8c$t*q4rWA zWt}DWlq78qRW{@5qjp8*2W%83Fb#-OBxkL*ww=#p<rWjWTXg+qbz__q8b%wK>$$CD z7QJ8Mkch|(BWL`O!w@B8LXCt~EITI6CpIfbpztIdwKm_}Uo zTE*ZmGk0jkYuZuDxY7hEscCMBsL&gqF+u6$pY}SH-a}hn&WdjL&_U-LX ztSSnIjoX8bv3uZ_3p=Lek z&j*j#)rCj(+8_$FRFrw^J@ZKgAuYZJ8!@G67k#_)JQj9<1hVfKJy$jl3N#XvK3j3Z zx$vMimhNLx=lFC)Uw4M_Lt3g&0M@g?u?;~n1atEHqSiszM5(@nOV zK_HpTT{p^t0(-!HAmd5D7Ww1}j0DBzhpfIY(DQ-fwzIObt)z}$IWLg5Pd?&XK8OT?7DbG$9={Lt$O3A= zNi8~dbs;!KpxVU2N=-(lC8g}vU6U*+GWA~v4$f-+6-LAWXKZe2((}Yx-%Y)E58%Pr zK*h6+hQ@00fP|_?@|CMs%kL_6tYEuHzX(5|cb2Ow=_@-y5!gkQo#~&o$yM7-+8RK) zRl0Oa0z{Y_P)V-$z^nPqiI*>4w5Wpp?U5(lRsI?l$Z-*dGYI4dHCO|oUj5eUnzKJ{ zyXpoE6!cdEWGaxWUjSGgTR%c3T!Nsr+dd4(y-z<}>Y@Ykhp)V#Gn4g>8f?Q!s70tFNPeo>gfV zh}Qslw-=)WaDo@-vb_d2KdL2#q`M#$RTO(p_jg*vbQKWRhj)mpz=x8oLLY|yffWJ8 z7V9C4tMk89u7zzl0vn@S223$O?1N%)a7IB=@kBfN)lgoXd00_pxA@DdN?@q!2|!An z{@K{r_+rS4w+r1*S63IP@P`13#TvkwE$z$LA@E~b>Q8P)j6PCxZE)TKlD8alJASFZ zTz_>eEZfUgaVsOvX(zC)B4qnUj`&||j>#N~My-G5to7!-RQc|oNQxAtTBNcr@0_EEj`d|gb(z?*uz zt{vezMYS*P1?MoXz8tF)OurZs`aoLyFPQT9y=ic8^~X=2`T@fJM`Pps_IUz;*Qz1Q zr=RIjlQ#tttN1$AEffpY6DFQpfg5eD^+S&Ag3B`E45wm;Wip3dTujgY@i79g`^GEn z8?mI&7c8K?T=}3s?a+WHsNuZO^1i-^8yhNN)6tsA@7`G2DxoqOF;YdEPWy$UecjlE zqd+DAfSQ^*5N4?f{#tq-#(#<^BbOpO%}7ZEbQw zqurfpIc^Sg5$LPYd^M3;X{psbH^&_=K?%l(*>{t;eZ{_M?Jz=NpZ>w>Sd;#qggv2l zpspw_P*xz2NTq*{jEqd*>o49rV!PwVtJ}p92YjVob|&9_Z8qQO)yiFmOcxm4-t*hL zt!b_d^h>9&m+d^Gkw0RsZ=vWkFVWqpufSs(0M^}o3ia-nK84ASTU-H#&}&wS?%O5T zB&Vt|0AUD#;w~$A4x}SrRXprmnzU8xQZfqD343{)u#(mhIlmykValznvYghxcDC$V zl_0jp>{C)$afc5{=mQ({h9q&e`Adb4&P;rP0R5;Y?a=j+$)Q zwWse>bV}wrj@B>ThQ^TY{Z_Q=&3km`3quenP{;w`Z1$utXjo`oURpK_cS+1f+hr~P zsBc|(`2~P#(gCd}vOAg)AqJqc`bDi+V>XcGE$ep9;6f&HT3w%JUo)tKPtVkgnK-#vt76CioNvL)BM2#pa9TF7`T5NAmlYFBZiP zXT6~19C}#DcRXCw)U(LSiO>}qt{rrRMoON$7ro!rCvgn#l$U8%m(TR_!5fqF*MPu& z2AXUYQ6%X7r{lYAJ|$xkAnDF#3W_#!Yaj_r{5DH#k&>hrlHaw^wffrAro!LR-{k zujhMf&wfP{lBEb;3T3?c<)ywp=TRZwr2NqIR>A(VQptWMu2vc_aT1Od(M6u#@{)`Lm{^9s+9(-%S+1y)HKe9KKPwRv|-aSIR?dfklpSuCk&G3$cnoA?cTFHlr8 zz;s^nxdt4JGddn}G+n8_jcGj3J(bQJ_On=gKYEy}L9WJs!e~9_OmPLLTa9-`e5{al zPms)nsRw#`LIca;XXrhhX<0oMt?jw5mVzM4BZrJp z?dcC5PQsa?Y09yy)I#ZLamVUnTMM%HOhT~hjCYYn$$8>Z&*qol&;5)w$9}HCo4KEU zf(2XXxD2C2Er6an%`cjYM3(*6U6q>}a<5SH<~=sEp)|cLUd{b?BjQ zaa@%JGu1IL^(7jpgtCHSQ)f(RxC;>1e zTxh@(0JgUdK=B>cqKrAM0sSvd7jhcjrNBZ+>_oYe&&J^rg%v{wr(=gt)GG!A*;7Gd zC0E^|E5P;$jEs!Jt)DVK36P`*N4xUs6Bq1?>*4D~K5{xn3C3prx7Y?0PtAzl2ao1Y z0F-AUR5L#H^Wf(|YNePjM`C_-cDNlD+>d{Ny-3ebnu!@GepooS3>V}>3hI`Buf-|kZ z>X8?pJ}ZAaWjU4KQ%ojv2ANRj>id={1v*yP27#Mhd+}Q>CNN%E>iw}#!WN;QNk@gd zUT(-$sOU^KJpgF%1SPQ(*dApn9^iICcH!V&PMrt45uKd%Q%*W>JL9c>q|D~A?`7k9 z6A}|YQ>k@DYKmdTIuLQgffHop59*|7xcU1}pni!s6+(DTs??1>MO7(*I z^!vfgS96YDob<`Y_aY>0NNw+i+^vP#(W6}rT4shW;4e) z1C-7JtNA}j^YyNF(3t5x*#;u%E}*`$9k6k=uB=lcMcKh%Db?)?#xhPXw6PX9-{y@F{90jqU&;>l2 zuCq-o{HG1O%#RW~LILgeC~){K^`e{c=LI2jygbT? zvkT-M{9pRep7ibg5fB4k#>8}}T3Ut)?mw0X=(Bl11?BbXI8cO%@ZXw=x3N=}u(;}- z4<9}Zosny61I~hdh!PT=!5;$<{FfuM4Q>yc`eOc4l7=N(5%}F8qb!~E*m@!;-HJbQ z$1m0CKDmY*(cAgv#MO&|i(?*6zzIX#JaAgm?1|vM9w47A$jZt(>2U&Zj_udurh6H9G3Gps}j|(wC&o1lLMs0fic_@e;X$n>Z7Sw3L3dXq4dU6C2WYqZJuw z6m2fw{kR(~<3!83GHM69zd?f+t+>59;PCFSZBe`xyXaF{<&`BA9=^68y5fiZh&`>& z8duTJ|DmG7DiQ`=XS_8Cg_)JZ3+(Eu5172W2>EsayhJ8h;azUm(Uu{IsI_#z{G(+~ww6y7c14_`jaH`#R?Owh+aFF}O~9+oMUCq8^{MzFSM#y8IYRC# zofyKP#wd;X0v()P3tG|xPRC`b|B@Q=$6hJk`z|5uI@(N)uW(Pf61;34l|<>r)RE&Q zB@zn59)8P_Rr9af|2ouWmrJLqH?PffbBI_G+5poZsvzVa)LG<9aHZ%YGQ&;t@$kIw zL(oG$3!n5!^?JKpHpcsI+2W0N*Kd68BjcwI9{6}cjq+iSQhi|&(e6xkuIQ={$a`&2 z-6d`&yxO41tGKYN@@j?qlIjL$!Wf3YCFnmDoGPeCm{ky5O$?^zpEVOl_1dJN{b(h{ zd)VNay%gMwK2-YQ8F|xvsBUVGUL!0^%L;BIG&112q#$Lj!rzFug_z;L|Nhe zsF*hYv!^YEVKtXcn89~rGH68-=Mk?$q(H}&NDiF&pLRDOF}G+)l0 zyg=Fwl6LP`vNofBd|5y){+ZggXG_<(SOttDBr&Pf&3FEwW;c)AKwG9pcHao1oQlc0|u8ivqyEi^;pVG zKOj^zyao2Mh~BrEnf$bj{A9x>2}M7ALX~$czqo3PUqY7P-9s#P(@^UHYKLz%gsWch zs8k;V&8@PlGa0S}?{SA?)(cH7`mB|xxVyBaT7Rmi{!r=Nd<0y>$sRj$dTYM2f;RqG zKkh}M-E@JkfZ*ZwupR2q?Cc!KR-?K~b&ZvCN?TL*%YEM}0&M7|&{HyZ=iEF65?fae z29G|w-@#k4Lk93tUZTVcKCc{NSROQS1w2vjpw-8CmY3<*QZn&QOT_V2-kQw(!$wV! z5UGBa4trx!O!_vs#_>4;O|Iw~-V4&3oLsucJtHcse*C7ND!N&|zBova?cRM4KlyQ) z)oK}RKdeXa7MW==z!rqzl=~PP(G|KUZd9I>m21wFd^E0?>+_Kjv;LtFDjuU9ecj7jk5K$AatW}Bwxn3+M0JmyXfj|QDhHkG6h zI^juEMT~%*htZ1?ko2tQ0giNwQkR8Us$O&b(@gz@ea7F#vW2oYK;9P>lWw2Fj~3Ps zD0RO?ipK`kilS?J=YagOpOwDqZaq?%s4ph^5v-^*v_1CIt znUpG|HyvC(RqDL7ZxPlitFp($d+7MxW7-x8X-^A{-+P;B6`~HB0tpglpi(&RUUsVH zRzE2=2pO%#>8@1Jn*T^-ni{*8nQ&Kb$YGCyIt< z+$(Q|Et7^{Xmz_U)v?yaLc{%wb&YP2)@#fYT%_NkegMJyu&v) zyH!p8q&2Q1_d25ufy@gH8ZZRExi@yMZ7vsINM{z!e=z}!_zsFL&1!g zp#eYX?{YAnh_rHOrwO;M-hE$!_SPd8%L(0Z2o07b%Skhw61`_|_{QsdD~u;XE5Cu% z$vYD{No{)iuUmfmJ!mk*C>FJxZoXb|y)As?<9=bad-p3}GvCHIAp=5-vk6jxIr{Ot zyC!yvtITz;>KojYsn`HT)YSNNY|Qt}KCsbt&%)>}fOB9>ukcz)W}jYCjmFJ3II2?~ zi((~y^Xg$sY3JLV=dt~hHm%lYn^MT%c3ir5>(=f5XB(tSSDw{Aq_%k*ytvnf%5E-a z>ROv?Yz@d;53L5wr{W5<=tpaRQi%nJ4t%f^eBD=~7;wmq_rLgh51=Nu^?Nvq$Wa82 z0-_>dIf8(|5d@?L3l@-0h}4{;6afM0J;92Ch*G6@0tq2X3nUa9NN*t^B^2od2rcxG z|BmI}`e`RcRuV$yL;=$x_B9u_ZpSk1Ucs%bUlIUmTu1>sZ^V4p%Ah$S+pM9+I&XE2K|K z#MjhV=k?B%lgZ;nc`#&wwA>by^?6sp%3F@GH2Ir>2*0kQ&?>KJV2!ruLP74>{!=Iz~$6Y>h_}%tb_;xbMZ5OGc4O{b7qZK`uY~nYv^x0R6*mp!bPI6>w^i~_(~MOUxs!asrA1w1n`-H_ zd08ywpplVKkBd0~qe4c7xi#9`plx<~(iESa(pz4U!TZi{+I|$EZr3gcEQBh1(NyAv z%q@4>wrN2-_CX+S8Qi|Ze-+)S-CwobsulpeE4)7QDBlBu(N>yV_4;MPfJb;xklzF+ zr^G5P61MurA-2-zX_T1^{6?hk*nX*u@`fRmrY2s0eaFDHsSkm8hpx1Re5qnw)^KnBglSAt#B+^BY5tmr0mw$7beef1<<9*@zwztzQtSre12u;WEXc%%Qg(rEjg+EJyD7VVJ z6pMPDRwmPjF4qV(tw!eUe#9&dUPMY#aqVGes)%V2eY|UbU<&0X{1x)H`%NyG=3fJn zkvDI(XRv%LG^^?SeFv-Hkvj{o6j+8|g_8@G21nDna`RFWXkR4GNS&1IXt2ebmqpnZ zS{86{je41XR$6keD6wxlEH^J1LT)Ke*>Y}7tmr#dbv&ihh}JuztDvA*(L zj}kq-0Xuni=AVLNu!8(}xf)%R>+OPZlF~&Qv}5|P!}c;LE>$kA>9*ZZQbDp?ga;S) zv_FilpY1I!4P0{tgqa?&NWs9cah;u=rp5Mp5?jd-)%{W4xOx6#x$lzZW8D1A&)^VQ zRKB776%M0Tj~WlbBD?7Ri(`SQ!kOL?e zd7=$&Jm2)#!eayWZF}y~751FbZUJrc+sqpEJqjYSHz*7e4 zI#N(d48Kx)K z6&=qod5sF$p%zo7TZ6~-Mepq~^g5;c)N!CR5_9>+lRLa;?rpR(^cRBqYL;PVE*J~- zI8J*_iXQ(n+vR*9W3DLSnC4toGb7r>WMwvo!&IZ-5$GIN*6MO*wx-E8REc4)@gxSc z2+Z1uTe%YY=jN_K(BWW69dj+>*b>3DaQPqW(i$+#P6V3gEZ9eAH%(JNq zXz1yIufFjXnG{PEmUFVu3WPu;LfdSd=6>KF$5b`xCru&g<@^88RKLm(N#4&}wGv85 zGCWsRv((COvlh3vSM1OpNP6Du*8KuSU%p&rTjqqld};dil?bKO8O{U~>IqFUC+7WM z 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

-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 literal 44232 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 z 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 Date: Mon, 2 Jun 2025 13:11:30 +0530 Subject: [PATCH 04/21] removed function calls --- timing/timing_individual_function.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index e4ec737..1c1c6cf 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -154,8 +154,3 @@ def plot_timing_heatmap(currFunc): print(currFunc.__name__) plt.savefig("timing/" + "heatmap_" + currFunc.__name__ + "_timing.png") - - -plot_timing_heatmap(nx.algorithms.tournament.is_reachable) -plot_timing_heatmap(nx.algorithms.bipartite.redundancy.node_redundancy) -plot_timing_heatmap(nx.algorithms.centrality.betweenness.betweenness_centrality) From c85e4c77543bdda1e2536ae3263cfd1dce8ce5c1 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Mon, 2 Jun 2025 13:26:05 +0530 Subject: [PATCH 05/21] added next func record_result --- timing/timing_individual_function.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 1c1c6cf..cc99a4d 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -31,6 +31,11 @@ def measure_time(G, *args): t2 = perf_counter() return t2 - t1 + def record_result(stdTime, parallelTime, row, col): + timesFaster = stdTime / parallelTime + speedup_df.at[row, col] = timesFaster + heatmap_annot.at[row, col] = f"{parallelTime:.2g}s\n{timesFaster:.2g}x" + speedup_df = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=float) heatmap_annot = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=object) @@ -93,11 +98,7 @@ def measure_time(G, *args): print(parallelTime) stdTime = measure_time(G) print(stdTime) - timesFaster = stdTime / parallelTime - speedup_df.at[number_of_nodes[num], p] = timesFaster - heatmap_annot.at[number_of_nodes[num], p] = ( - f"{parallelTime:.2g}s\n{timesFaster:.2g}x" - ) + record_result(stdTime, parallelTime, number_of_nodes[num], p) print("Finished " + str(currFunc)) else: # for tournament graphs @@ -109,11 +110,7 @@ def measure_time(G, *args): print(parallelTime) stdTime = measure_time(G, 1, num) print(stdTime) - timesFaster = stdTime / parallelTime - speedup_df.at[num, edge_prob[0]] = timesFaster - heatmap_annot.at[num, edge_prob[0]] = ( - f"{parallelTime:.2g}s\n{timesFaster:.2g}x" - ) + record_result(stdTime, parallelTime, num, edge_prob[0]) print("Finished " + str(currFunc)) return (speedup_df, heatmap_annot) @@ -127,6 +124,7 @@ def plot_timing_heatmap(currFunc): edge_prob = ( [1, 0.8, 0.6, 0.4, 0.2] if currFunc.__name__ not in tournament_funcs else [1] ) + (speedup_df, heatmap_annot) = time_individual_function( currFunc, number_of_nodes, edge_prob ) @@ -154,3 +152,6 @@ def plot_timing_heatmap(currFunc): print(currFunc.__name__) plt.savefig("timing/" + "heatmap_" + currFunc.__name__ + "_timing.png") + + +# plot_timing_heatmap(nx.algorithms.centrality.betweenness.betweenness_centrality) From 31b83602c12d6dc84694a4c340a3468d25c52d7f Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Wed, 4 Jun 2025 17:38:55 +0530 Subject: [PATCH 06/21] switched to enumerate --- .../heatmap_betweenness_centrality_timing.png | Bin 68344 -> 54370 bytes timing/heatmap_is_reachable_timing.png | Bin 31196 -> 31952 bytes timing/timing_individual_function.py | 31 +++++++++--------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/timing/heatmap_betweenness_centrality_timing.png b/timing/heatmap_betweenness_centrality_timing.png index de7f896e05df126fd00b0be25649929c5c79e30e..d785211386411878d93c3b0075a61abdac63d5f0 100644 GIT binary patch literal 54370 zcmcG$XIN9oA2u9xkzG*PwcsjJ)-F{+IsvRG2uLrX35K44bO-_Lic*v&gkqzY0D%Mu z5D@{X5ds7fLXZw22`z~b%6oA4|E&9dd7m%uT$h*ENpfb+%$fPk{k!jbcy`NJe~<7H zVGszk=f?FbW+0HzR}e@b;n!WjC)_f=BJiJP;8mMIb6>Z>klX%HkkRcxKOf&fA5RzQ zV5on9r!QPt;ruxTWjSe&z(BtMO+`i6|M`W2ufMyZ+sUdJpqAhKuGcTo0*(Gt zqLnjzBh~(Q1^gdvE+7#2)Ag@!cK&;n@B*ay?-l5muLA#GUB3pB`1cC5W9Fxe6UU?X z{&e}D244N4C-m=k(f?_n?LV#S{oFwGo&U5h{c{6)O8;s7_n#Y(KK!57|I@(#f8ASU z&E{pN#K)VYd-fMvlB&p#Mdm#(4lCOum`)R==BwK360zcH-I-LBD$ML6Z?RRX$gw_L z_}5==mAf=o*mrlMKRpte_M}GdhfWtc95Tlci;?kTea+|F`Sc_NkJZJ_-5$d;AGiDC zx67_Jus{JnuVh(bXW7`;SZGuJt~Q8~t2PpPS+MI{(-Tggxk-WP`)k5`_E@&PI@w=r zt4u@kXq0l-C&D{KtSDWMY-a(2S&l&gjEW6k>Cvx(c8Fyv)QL*naX*v)>eVaYBdLNQ z#(<3JyN59c&c4$Onwv@YF73(C2w1|0xj(clvZ~Q@?Mhcs37)r!J*<4ngucbZ(St>g zk9NA!wZuL`Dm_das%~@Vhf4PdiAr|jR7d+XLd>Grn|wAwW9|1I6Wt99X{p^$pFJ}z zv8x)sY<2hU-NRE(q2C?}i-^dcBOKqJdK21P_Mt`~ke@I{oZ(O#Xqqfzc_DPcIa$`) z7=nWb-Kz&WIoqwpwz&9*loUEnLaWw!=*`6k_Eh;d4H2vU$hFzL+Lc~I%eR*V4<6Xy z^Q_|~!S*2T$9p@|)qJxY5lod3`;n+Eq(j(bvdqjJ8O>IDV2+r0sXyGsZ88DZ0Lf_TE# zCjTe`Eb@lRbGRt-j@tB|UAG+9t-BSmM@nZH{B&03?%0)$r4B{b+ur*t;`@Nn(d#}2 ztcs6^-3H5UD-^Zd$ISW`KY8+`NP3k^^{w*zcFE}Vxr;k@?f#PBkYsDsQ&4>MxmfMm zToLIewJr>UZ}b-Z)n=i_lawp-r9DL+bz5Bj#h>5q$Ij-V-n@}Mcmf~74sJ9@sGmd* zV8FY}-HBNd-qf_u2>IioPt6?y11m3Gx@4^R=Tmdu_Y4`iGh0ofx*m=91zEh7*;6ty z?Uu*d6^iQa5G3TI;iBj4a{er$__6DGg}~IQWn!uRRrT95+88D%n+e2+j7koJTy(qX zaoVnw_N23kZo}=!k-M!DYe0|t-(1{zP{!gqj8b{`gO-x8y)2c=y8CbH&^= zceQYK&9o%W3ARNk2PW$w`zhGk(t;vky`p0uX19koN^r7dDY|vM2Sd~;GDw!Gfnkeh zftly-@kH?J(S%L^w2@#rrhUWe6pE%( zp=w*OGS>VY|E*C-DvaM&%BMxm-j-=oOphDBY-r+7LGDJ|F8_XpJsq05#+@ zY1Mb%BM6<{H@rjUh_6E+ZrvHPBlK=HE%%a*S*nZNgZj%)_A2N(L%$)o^RtEWAKY6% z)_RmJEn<=GnL#P1OtLa=Ye0Cz0mLAxTkBTMbe3TN>jON*ZRnA$1Zv)g_-vj!pY?n| z!B_QdrqmD<5!&>4PpJ_$iW&4|uSEEz>9~3Vld8M<{dkT~g@aT{Y-D6)_y&h;o>E1O zv9u{eCa=}Q>p51|5))TS6{$Gi5PmPkjsJzR26Xd|UGM61#Rfl7%b`UabCyz7G*ALb zb+h%x2fYL$rLcAV=Mie{#`P$$Qh9kfoKCI!g6P5#-x!&|=K2b}=neJ!c{|Q;_$j-P zg9WzSyeirVQKutV5(0fW{;lNF*Xp~jIApNSpibqoVwH)`>J@niHgNhK5?)Ms;vf|t zqB|H_^$}IWs%4nP5pWp&G~p(CetNWrY31`JDRo|5tUb!aE^CNhpn z5Y=9Y=2La7M^pzx?qw?5f*(R#KXz}qmNOFS;~XB$FT<#)&FVqlUF^*jouklcs2jAY z_~W0};o(n~R1d{+a6shM(+k92SCjzfcIrd0eVu7_m! z)=Y}2Z7wv4;)Q7QJlMse$ZeP)?f&xKcEo9cU)kE=(e1E4Y513+a$>*WMp1$VFQ9XS zU2yzepL=rnyPj%A@=u*FqGm~Xc{M}c7cE704RtYV0;X%lhG~?`x2&Ne*B4vk zDZW@*S(SL>0O7ll8g1gfy;wBPELTiVDJ9uA$5%eoMa@Ni)cK?iGq+aIC@$rZ8x^J& z!JNX4HQjy=^ihu@nwE6QGlTa<@TS5Fc-;1Xesc5m!WvFQ}?Xo8aikVh>k<;Co z3SUywp|g!qR-qQ18=Tw8c z${78Nj!tst?odaO-`lw5f{pO%Z@aEuxl%0z@3oF9BUcdD-(G$)jD_HKiWQr5l`dkV zt}9>;Bh7; zaqTvUfg9nz1pn&KqlMsOjs@?*1?Qku{V!l?!F9#40L*!>m4zkDr{5L`b0u$`&I42 zUlRUeIcZICHG_xeHB%f0RH^iABsY!96Z23BR@i-1{i|i`^{oxxY$-@a zoJ9$VWr|bvxnYZvhuG6i_Zzv0#_k)4r;TyGYa5=~TGT^WG;+s` z7(wzJLiXU;mk?)0L($o-7++;AogpwTHuEx9?=e$Ui^X*m3)M++&D3heIAL4_JVjVk z#8Fuhuohh-7+hJg%%z?{lH~>>wS?;DkGN+e@gsxoUlB%F0&}>MsfK+~;ti{!rv)2T zIb%2WVw}Sm10|%o_>Emv92iP&Cs>&aA(kd{{a#e{^V80Wh2j`*V9y0`%^LD!DQYmepTIjU-EYBqWA1#rtaP=@Nl0@^F{vclU-P<8-120z%f zM{^E4$RL+M$R*w#P6%dI7LOi9#{fWgcSrF2V2}BS>n|^`y#XK^M;QT-5w(6(UkaI| z!~}j8LYjACd-s((P)YR&-fpyYeRz-w4o-`!mB13`Iga78IdZ8r6R!-1m4N-of1Iep zFFt+YLLUa$&M$O;*B6>tgYcn>lU?4a3J#Qjh0(^{twjI`%KHBOd(!q!&HH87u5cF@ zm*LRR&}wmA02Y9sJ$rVxqaN6m;TynMNH;~6kB4a=QT3Ub?JF?PUGB{m+73gA_!T~- z8>)qd*G#4)dH(j>Z&?5U$O&Ttb&yJQZ-07tfxXASAq;?Gc6Wr~a-bb4o;p#A4d36PHfbUBn#C_)uA2bcp!NeHQDe+z zsRLg7_U+rAxgktSKdJiec+$ALk8Tx=I*|F^5!k@v5%E!*tEZvq65fdVmF)52I8UqA zDI03QJ3cqG`zl)nO3VVcMmSJ+LAU^hzKJ1*1BhUR$Uia!4v7mkrbqIbSryQZ+!vyU zl|DP5fEh3zHk}zVT#4j!YXZXh@=aTj$eM4D#kD6pQhD<W=B zFOTa>E)NcJy1C!lUh5!h5!rZFt!$GvJ94huAfI4r0DE69pQOVJR#5ZmJJY44yT0(io0w>#ljf%7Ljg9^Y$Ya; zJY-#ZBwVu`HTL=0S(0^$UGi;l45D5m3yJDqY-82bd-NPri=@JEIkxbR(E>wj@Xonm zjjWCI!|dq|;Qa@-_B5cvIdjQVHiL^i%`Em&d@eK?(l*kOi?%8M6l;>DJ+zTk$*UiW zku^*4?)~tLpS3ba!{hL*QYV5Almg^A!!_>Y_LWuw@FrMzovJ=^6rWXc>+StK0A6Qp z!_C^L`E?k%G!v2s%qBR0JDZA5w*Y|l?P8*ShaS$S5SVlLV#SVg6)*Zb+qEIHH+_SP z7Tva1m{fA|%1vEbyEG!F+pVfoTGrZU$Re0PS9)!nQr`eQ5#G^n_c#T5G)2*A1iCNG zu*mM(TPV_QDg$~tFGbTE9E1Q?y~C;Wi?~Ijtt8-<_S74!sPSonC3}P?`twEYeNf%^+Xf zL10F9#X_!G&H3l1GC3r|Ts>^+&nNs7YEvGzK@k-vjx8jXFo?OA0xBpT+TnZHr$9#{4 zT2arJ?+$l89ALFcUGp%axlwhfa9@;s6R|=w3TxhfJFVDpWH%h4i=dBdgv7PzU{W-^(ke#g4LcgDX1Ta>Icu%d`osA{ z^$mlXR?tx(#R!hdgTI%E>NsZ-C4qS{@bTlv3ryt#UF8-mvGkxLHZD_ZRu>YSMJ}>d z>_R}M@@{MmRa8)H9S*?`7g@NZ^_*_!K9bP))!6E*BkwH=cZQV_Z_cSgf}T^VyxrAv zhlWI3T@LfGbdur5#`wlMWpN=m_T~Qh^(wd~FdS59G}6iDFs#VzZsq2Crsf@HMd2T_ ze0v_tL^js<;3+v-b&gWXJ=pYBw`|jnL1W}_Nm5-^Q{1yuBTQHtbK2FxH!g(k793H5 zfFtN6$n8(E$jK+;LC5$UkLl>D)<`y#qa}x@Yv_;Hr-Vj5ALMjZOf%PJ>j#DqHY&fc zD}og^*BEG)eI?7SZeA_ZVQZe^VY$-`!yr`2Dsw4T1+9@yl%U~AMQBU6Q-`sd)#OJ$ zLIjxHAJbyDsU>%5{4>vcJ7x8~p}3L*MKlYne~r~O^{N#Cci-O!*0wr*!siHAgkWepUJtYuERF=~TD65UP_*{waQ*?D zQucrwz70{ywe#z+sWFG>a27@o>>9nzHaHvLU1)@nCt~y95+C>)4+E+#M=>?-9xXXg zT8>Ol7mSb!st18ac#?^?`0B4RK-OGKKNn;#p_^Lr9rU+82`T6 z)a6}&)OS$s8g4bDNlfp*`!@_kO}~@C^a+TY=NU`zeCNg!G6SYP>h2vAk+ua5@32wr zx<51W=GBI`=r5uC!fqC)S@J-IcXG0{F(E@uI<%N^U+rU3gQzE?_ZaffVXV&@F(ui_ zcxz;2V+P5VEv^0(r0jgpTs9t-{TstgI_Mm&{T(&Twb4^6dww~|Hj1t93PqI=y?veK zln31Sor8!EzBo=>Mr0J!UH9m7aB<4oTR}x?$UyUb2h99;hZ%olFx&lkIEym)8-?mkH#Xg%)t*0rD5nGD=sZEb;zBf!y93|b7-1>`?wQJ zl5{SE0!Sj=Eqv|OX2DR?6)wsX*z{P{?#+>+kPw|kwk+MaIb@Hc!K z1I6dBl?mF;Pu-q-QD3Zts7TM!Eb3Bw z{!h1!0v%wJ9&)5t49F+A580+Xx}!#Ao@x*bjT>-eYcmY1fZZ@nA)w;0QOXVIJuSA8 zGs1*Q7|{1{t5f5eaMiO4b&!_3ZpH5|8J82kKl@UE zM3E~HtfR4lf%2oSwrME`J*RUWynP%*yoPFSH;Nbaee0?q0`sJT6f3w(elRO-1=;A% zTh7j$EY2J_^t}k(kUm>6@&qC$K8U4P*vJPANd8i>+e2i))~|b{<32Pc$JbKWrvaKs z*x*uG0;drR$MS4Y%!ta!F=cAY%Cw8Iy`s7MWyH_}QLghd2YQK=kH|+mzag1jgFJWR zNGD2F<9*bC2~JR%>4Yy0m1<}=3|p)Z{NEJ7zgcj53ju*Kax2@f{W&L92S&NT^Lq!r z<(BOvVg^|lDGdM;E@X>wE@81VE;SXLuM)W)8q$T;=~i|XjkjwC6`gP)pTJ+UJGhgo zSRgA7ymFBG@(-ptF1c1!D}>egk_-W8*nwi(ak!&h3uLbMO-+~54(6#E!OU1SOrKWP zL6JGz(Y767j_1#xXYE?=3B`2H??S?V`Kx%M0lJl=AmPLIv_;oQtSsybmw%nCd6{eg z@g1%{?{r_`bQ2c^wYS?f-vh5h*ro-DKi(sr3s9zg$?DnacU{senp&3+0}%$q1htNHD!!hJE7^G~*#cUdwhpp! zRp8ULz5&bjmC-MuS8^j4K9@SRP#-lfW@yb~+|4mQh9c4sY1)pll)pTOro{RxoXZ8d zWy3Q}$*8z({C-IqeiItApW$O64H5 zU0N;3wUxWmF_t%PI9<{%;tn<)=KgMNWjlj?AqZvKe2AKvxgz0BRaSOw+06qzgnqKS zMeXQjWWXN?=9L`928Ats5>cGlCe6GK&#z3sMaH{vq>bl@`MA28R3oh{p(hm#8!{?m z5C`N_Fn|DZp_2ccp3Nt>IwWwX}EGl7JMmGR>rk-y8ie%LK-H-;GoIfE` zKoaVg#^7pwt(D!L8h%sn9%=#M;7^fTcT$=snRw;X2I}JMJw1JFXjJ?W6$6cCxCi9f z{EFOjl0gpw*9>o`#4ZE5#K+`PBl#eHan~#_mUa_tm0JQ;7}_%pqyZW^ec@hKDJxfo zur@6XmLdyW4!k(ZMx+=LeFiKNeCouBGp7f;0uXGnQxv$Xq18 z!#(`v1ycl~gLx6eUUj_~M)k$sTnp%JA>oc|)onbLVl)=HBAqBIO%*JY&*c>7NeVN- z!?q^aI44qFR(3i&szK!3c5(`~NlC}ixCsdkPk`*4b|D+uv4C@)ZHv5SG7+A*pRWq= zZ#*#bNOHPhp~+PBWJ@Fm2rHwZJ@2l1PW?TNR7V)E!TGn-Xd|UoKD9_GJ36ZX9TZ$V zuZ>a7QE2pa*gbgJN-R{@?kuh6v4Sxp_dfuro_1(( zr(`gOCUbgFl`{Rg+f{bit8u?p%B*sMIlzFT7`UN|U*s3OCVfi?gFtfM30}A@@O-7U zS?2+^SkSYMKhSMSCAW-_?q3pHsaPi09w-}k5q&VY>V3FpWE3s9)5k$p&Brz;r2y6_ zq?K9%8`$NVv&GD)aP`V*lK<7^-mZ>2_7!(-q;qYreV4}#kL`Fh0E@1F46c6Jzxp?? zhR~iKTda8D*0G6|HUwxE2j_M!^L@Ndx>-6HKOI+2d@rHQxb#W#b=hdDT0o!pxe6>K zy1hekshqb*SlFK$aEzS#$MI{`p4dIX>r72I0dG8Zuu2Xy8f09)Oj=XI1vFEfr*pu5 z&Z7N;fm-fzzk5I{nfG>!tPQQYWs7P(9$;5xo^IimAcN;siifKOe`6lS1<5@{Nd(JR zs18-p<6dSe2g9m5tx@h5m9@6!{~QW~k~>H05qL6ge&R;rsT#I0f3KD#H$A1tyU`dS z&-WQxRJU{L;x0V23@=+Iw%!A z^V;GX{vYs?gR7oHbpR}u9P}0D+f(^AWqsYI{JIr3o$e4dkGV}yWC6PNWF?Rr_`A^E zc*9tLS45TU;ogd`#|g#&EKo@Av@v|%8qcMkuX3FMtHtrOS`no~4OJiUf{ieM;?vv4(({O|<#*6WR2#A5TIc!W4}&67|xkAY1;1ooy#EzXi!Bt-U zOTz%qkwwFYobvH>|Y zY?r9yylq`*IfMnMVK;4A1$kNiB(oyBszUd#Z!YT7Quc_ehHjIRL_jYbKWm=*qLogk zo7V<a+fTCuP~w227yhq7q7Ih?-be_3h0oUWGn9g z9*YJpvMOo+D#pfA2nF)?)n9@8rAz?97ku&JMR+|xH4G~QqS<@+laTCiA!^*dlLn!7 z0L>8w2%Op|HQ(;QdVo<8woF>I;GX;N)X3;fG}Z_XPl{&nHouV@7G~#R02Wj0trU@`t|E>w3b`v zpC%nC^593p2bT_%B&F|x)#BH(QtYclZ7Q3`|PKMZk z}~HxJSphXE$r2gK&t*Z8wGWUY#4D4YG(P5?avj1`t)fJW!V!aK3Cla#@|*FqwUW1D>gP1Bl)Ogo%_ zR6x8A=6~sa0MK`}!BUK6cD>_=1|0~MshmC(iBbLFM$SCs7}_ZB3#$zH$n94qYL9CK z&LluuD2TR`si86!`J<%}E;>`xd!YD6SZ2?AeS~K4{OgL6;8NX%k2}wzUpfHf7mMOP z{k%REscR3Ylvz<*8){wtPEi|GdE1PUc3EQz4p|LwQ2QyObR;h`Z+mC8%LLW{3}@&1T~Q7eLA-Cj~ds#N#6E2Y^(G@L#_fotHp z0K!i@gcg*l6$0ZcG<QdZ0T3b&y z`PM{ktkrl9aQpbZfRvS1xsjZO)F0$i7Aq%f182w5z=+^Pqnm>wCwx^E>w=j0b~C!X>@YP(`u8JSrEI zr`%Cd)d}sWL!0Hq2p=i^VXBE9z9RLv5hmlW`NM15EOzov#ixyc-3KWC;>f??Qn-A9rND`p2*${ICRqD+FGUzQYs{ zM0!akx|x8MeP+J#fxymP`9NgYwr%tS?u2#twif_^3@6t9_Q4$Z705RL5`_>~do%Wk z%J7eGL4L>nV}+4!QzQIHYX1Hf^s(T-&YV~4%Xk5hzf$Xd?;)6bPhI zm=NU`sRn#!5i9ZJ@9!e!bhGG2XA&ad;OU2CPMz{;ed-R7Uhq%OAC2x-^6BmSKi>Vx zE98F^Fze`D{NEV<{VWN9#Q0C~-+6cj6n+2czowxtceiapf`9yL@<|wvh}iC$u;jm{ zAnDd^o$}1nf4dxgR3C5`-THlXD&!}>6G;8w&#fK(ziI79TgQHGYrC5VuKa6P(u>>f z;+dxr+e7$o$q@eXuTcpYk0-lv@7qet;BqJqrwHM&N%O*YNx$cPC@D%h2g}grW2bw>1k_0z z>l_25+U>NxEZuirRWXdme@*8HKj=+U(AsFN3ilp#^2`A(I7^o zmF9m@SMjhiR@?1aBAndhkA#3mJsSQb=#7u8>8IKc*{F$nW>5M*Iqs^mnHhC~&x?(D z@zgZU|7zfJLaE5U9etliaZ~*D4a!b(OO+6I(J|c`tsWFsuXEM_DnfDo$s~ z^n|&rz@10?SpU4%kBhLcj+@i;{D)F>vtF*sk~hupp7kEfc?j-$&l9E6-+whH6XJFMPeQy2_vX_J@PznG3h*Cic1R ztn_!L*^Y&ymjuEp96$*p=?A~9t)dPVIu=csraq51>2nQXL?JR{ym5Kt8-`?C=zaVPzPy$0J3_@yr*+c!-d+*1t2Sm0;w1QsMQx z&&{Oa&`%W4w(Br#>O zjZG~etfvPhUV45*|5#GB3wB@bi?-E0zxcJRMvnPsl8fTH>+`YVgw;l@-8lp*ccaV- zS?c*})j&r_#!=}6$yN(@&7*4xd}Q^8uVul@i2b}=A!V>ZNkQL-k}gG~c0~Dwru9n~ zH)R~Om!BLHm5A%dxK4QuyvvMV6g8~Zbaqm zO+qA9-hCM%+i&Tzw?5Y7mdBEm{;@?gRB1HfC*T)xYS9=xhrR%O`zB=M(*pcL1Q=j|W?iIu3 zbb)&fb~Sf!B5#PRNK8i{A;iPovedCtut%+gmR&>@9_{3EpDPCi;|skagL7PWecf6O zNSsqsD8f0dn+LeT&1}k@gIJD`R0ooMWMl({pk|<`y@@I%EFZ06+B@|0EZQ}AW72nVHKj1=vhUdOE!KnNO6VhP z1oniCmL-|o(#878|y0$4DJc%+p`m5P&3qXv`CK#TWlkG@Yc55IDwCf;hk<*Iyu7YzMV~>#4ARTOq9j5JjWwnhhfwfH(5KKp00e|@w=|==Aq&FHS>7!t)~ZS*o4D>AP({e?GAQ?~{}_NREwP{G3t z0X<_|ynj5tg%;M8dX`kY)Kc+CYh@#~V}<6VRwEteb<*HbwYTZq>;UcaJ!DTQDkd7F zy9crCQesnKD6%zF*ybeH|2<^0=ZolCp?z~DGH0hA+_oVyn=27xn*EnR2xmcc2^2~jMzv!eCYa9 z^WO9@`1Opf_xIsZ);iF_HjMYije5msWt8AOuK{^Lv1VB?j4jQT6jM9t1tR_bfN_4pb{MxcONTpmSGXqM4 zT}(XigYKozt?dD4w4;J|M3dT^tyTNPi5ofT9D~}(FHzqkYFu3R1+uPI(bmaNx-Fjd z{#Cm+fEoUNNJ`Eu^Kp)4shR0jsknaJ{uEDkX_F?J9Ch-Ny9qu29Uxuh)(AH1hQdni zf{Nd{mB`kvlA`PxJIsTQBw0C^5!{Sz(I2IC$%iyS6CV=3>RA@0VWXA+m?3jSEJ zcYF$(`S?d_&R$Shj^A5Qe}SELSLODOYIWj^5l)Gz+c`W_(FsfE+|ya#Sk)}Leb~C2 zR<}8OOr_Y?tg7(gSp}UN%2P1&E(42R(9+KTO=R^)M|C1>00U4hVDZTVOyIKs{oV%< zB6(xYq|GPC6U1Lxt>--adQLE~!QgMidVn`;Zq|2Ejefega$*(z5pVKxpK$FeC+Y4M z7CD?y=~*zQ6MiAgu1Jzae{->kRA;>&f0V~MY5A*1eXF1BYUgWnJ(WnOkrfu>PT7ndvzA^5$j22k z^N!ta46EaS5{6A`)kwoh3J@D&Z0&VdM^p|Ky>{uO;gh*nvPT#d-syS2Os2{Y7xu_d)@Nnsg) z!&Tt*vitYf1Fbfc!a19JS1It(o6vq3;OF;<(9W{x`5m+>BO_ygu3L)P_VIrFs7Lc_ z+LM0X^>MeRtcEh{O7re|^;XKSpuGD*I9vz&6i6>lW`cNG3}mdR5`47##|KLVTcMF^ zZ}nvO;pqL2Av}k~fJ%7~=+2?TGat{MxNyM&NOUoP&zsT0WCK15Bfz|$NYItC{wF~Z z6goK!BvvoCPmAc;iD{eMycrn9V~|a@NdqpMo=xxC@%K-o$6W+g_5)`@z9@dE+>z%; z*9#d5%j?i_0^Fe8VBWA#iMY5p<8hz%Z_k96cpb^uf9}(B`}HA^rX5rIde1xoF#Tvt z#;0HKd%r15!IhQed^t!@}D=z{IM`GBNkDL`SB*w-xOGr&tHaq6W_pKBSN_8@|n+U6+5n#8fwqWGW;& z)nk{=TACUFQG3AB;I*o87Ltl_%v)Vu@(wQr!coxp4K4E7+iUtu^ERj_@ zMroA>h+xU!@#LaI<^%?+;3~=>O+nYaKv%2{Rf4*$V1vQe8!twBIpQi=;(eD?WFAWd)jw^z8xH$)3CC*uVqy4M}6x@;VnD9MCG)L4Fut`-vdeM#Nrph*6jMNL-mVybpbGXtZB(`llIn_=3Nw- z=r6o`g_J5K-!~qz`6lF)<6ASRQk423&{A*Rtp0w*VQa-#=CD|?sc5i8+P=Ri<);mAGSvx$0Xcf&>{6^%E>KT z1}FhFf+#Fn3oI$10ChTY_8p0|h8)`M)S$!g{;EbAVBES>JQDE%W7ntn-T*4Xn7;<4 zt+{Qz{j-X|HLT}P_9g|16$@LBcbuAGH)}25!2?+8M+o|3J7CGEtJ@sE_TmfM4HWlx zZuiRYp_`#z!UW^A#0`bi`TKL`y0`S=AqVi#M-w;9^oUe|1gX{b)M`I6zUVPa(5iAZe7I{Q#eQyZ2jcy#(X{>)bdte%e_pYBpdXhx z+1|8M&(VpznT~ZluRmrx8a;Q znRYj>u^=Ex82w?-bF*CA$F;sCm;<4+zlZJHZ~yH3=NkI78D2oTq>I60^q?Yv zxcctCh~P})w`ob0L5U!BV>O4Rnz8YHlZ@%2Mqc*&T=y;OhK>6ToT^ba>8NW$wI{!++Efrn78DPM>m96Ie z+%eogeaDUn%e=_LoZ7m(3UC3?9R(n%nWkr>#W;pV#{Dm7%upB&X%mpb>TQ-N@?P0L z?bT6w9jv@2b@Ifi**Mw6qPMnAGaI%2y*tsHIoGNT@^6(9SmJ})qPSh^n3p%US+&qj z5s;t7CK&$GH%%snzt-%79w)PuR#oQSd{@j$-8W9^e4edspaU&x!$lZbACUwt#U#U{ z!q!h7InO;7M5rtsiC_`mr$7`B>>Evq`nK_0Wi(gp2yabW9+H6Vn`Xvi$x|Gm%DWsL z+G?oKs$ambdXg2rOy5ZVnro3?t-))meX_)xM5`K(VvFKeDRXj7G{X57WqOW{e1}mj zq2>h@@w~p6J5-knd^vQvwX>hnCB&ISO2pM>1YNzoku6%!JgQP?X$GcPljKuX1^~t= z*Ot}j4XO2#Fn9CqG2~&boui!;e7DI%VWn*$*mj99>bBYsLFzy6Y6Q5ENeGMof} z)0j@=rK|;`!&Cf}A_c);AVzmq4=DTvB=$95{Xt*ONPje$lsy;}MJ~2BU|6yGYIjDk7o=inm4I-BL=)rQOZe5V(?JOSk9#-4{wn4YOU2< z|JQtc@J6p4{+K--*67HRACD zmr7`7pZ7)Sgl$G7YqhB42QFR`URVyAq||#^36rvR>K{0i{d(UST<6NdPJMefK6jz1 z5F*bg4hCsF-)2WIUfBg?=#0^@des>I_w!+US=|Ggkud%jLes$*)Iz1U78z# zoc8`Rq2bopn5S^{icXs@V{;xPtrqr5J0{*lGj1~Hp+$%Owa;^1)0<}Wi$?u9`ttSM zm7C2irzXt21x5#fLk%?JJChypVsjYYRzK!_c%ktFrNdMDk}*AB-Vzuw47+?PKxy_S z5^5TH1*8=L_VAGQ7OYz=7J)^{B+L7E2HEw=zV8CIZ4S|!6!+^P8{RIWe8T4F7u(u0 z2TPjDn}V!R?>Mf6_NyZ5j#1sn2A$K|8Ts2Pu#D#RVJp*AK5*2{672{U6cQ@BJKh2u zUCcKA4i*6A9ominyVn)#EF+CHW#PRYOP?iQUV45~wBSBXAaz)FD*%1tFwdK6y_t!& zTAv^%?qrPw$x(;##zgAmv%&Wd)3Rm1k$H0U=9{!q;xcom-_+_v=BizTU+SljYqbqu z>&GRC=x`81qd%6v(|&b~PnReLjPy~0=mPrhmEw(=ZfS>cnffX5b; z)-!xU#<}m+rY1YM0_w{V-v^G$JCt3o_JTjcnc5)C^QNZW=-5#Zr%7aNSgm-SkQ;oikN~rjbv{ zncWG@kdzuWc)-74RwaCuGlPnnUgZk7%jjnBmoolb7q)yMe8oe>vv(rDqbmyx0W8zx zJ!->m9*G<(3}KJJZLmH=&+5;EMk_D<76Q`SwOJBg9R(a*Fj1zh$>BQhj_J9;so`>^9XO8#qeuZ~! z?X#x=;_Pgt-;7pWEtustSwlEop+t4Bza=&XH7B z|7wvyyi2M*61dv?Hk@5hdStON!oi=&lYtz&vQx1zuMv5qc6CdRmJ{FLRIo_QLVxt&|;l^(ImT{6sxST?0(R#TL+i6&@LjN zjJ;m->KSw+Q1sDB^R2~o_@#S&!7f`suEb5wmLM+yZ`bVEzLOV#GXO!XVOt@iTZ98yj@l>qqwB3!DwG zD|5al`z=cXkcG_v<(zaAa~B0jTmNW+z+KVyXTL?hYXZ7^P)sbvt;};4Mys_1x`aD* z^YxoiXBjO4kg+5{&izxQTURr$9GZ#OUV18v$+B}Bng&j+p+7Y>^#cz3Bv0U!O1efs zE`u~&F}Sh5-dk*5YOlc@sn_bdAdZ^_{osfHsY#<-sm;W~YLY@?0B0;y6dcmsC_!Y0 zJV0=qefvbR{da9OKydG=^d$AJ+|vn~vrq%_y`MF&)zyqE!r`h1&zfBUG)4nuc_6_A zT&6eEBD++``7X^dXHSlnOdtSnzzSeO%?DforJ|hGI^?+=Mh#+Q#$8 zbDap0aNu+z_&-l*y7Lg|7U(ApQm_KR@*w{sKWm5U5x@Q4XorBv3-DLy?Y{}}zw(oq zS99;F+IfgZk*2F`Y82;2`>?fQ}3 zhr?Ng>+l_*iF~#@tnJ4~wR!F(e}8m)l?Jq%;Qn(Z)A~DrT0q+;#Q!P&8Hzvf_3!^5 zk92Zdyo~<2F8v=5wA97k{?i!$D}FN4JAp~@cbQOk@~Q@s`)#oLPmyjl{j{yP{`3Mg z;(qzDssHEA^!?mb|){4qxV`vK6qZ30W+ z%FmVSZcE|^^tRu`*;DJa#_X*!JA`O+zGJdWc*Ly$l>*CSBq$lK^?^*VFP#(@^=KXO z04tRh>~gR<-KF%N04XR~#(Fo!T^AHuD+pu0szpcb@6W$=A|Cte$28Wuj6={}j>ti= z1G(}qAuHcvOe#0Ow#cQ5E{gUX3|gC;uaLJ?KWBl6pC^4!&i3lbItkx|R)sSvDD|Xb z%*KK-jW>O~ra>N%8Q)Lu?RA~rYoH9{WXXG-pQGGNC2)(gj(jaf9Z4!-wH#vFyw8h7 zI&Hz7l20=QqxYB3J(0KL_FwCtvoh@}Eu74i*sJ^Q#__GV)ID`<_jnY57B$vn+ck|Bj8{<4ISS{gyR1 z^A$WC+DcN>!en_KdN?~TdrUR3K_6LNHRGl0)(txR)fgct@Wlbvo>_8_gYH9gw0P6r z?wK>?M1XteBKM@NmK_^ArYy&v9?xsFqoFU~eR-s2!ARmMIN$7%fsBlfW|u$YIBvG4 zMlt8b>9BpvcMu?HW!YfgzN=Cr*-BXnNgR~|S5EGle_P-N23q5?Z|uSc*C?X~?$u1r z8i#VY=115c!bM$vsMSXwvoT}{N( z0fD>&Kjy=gE5JJLuFf9FcS@a`qiSdzpG_0Dn~T4y#o=hP~Dg091wB}BZh;`EVOCPrfWG2)ZBBhg10!42vtzH<%8HL-XUYL2K zpn_tMuA0*-0sDQg1WeI9r%Wm4DY)1cl`=Q?j5uLH6&Ur{=dw>FWJRW`t~AcdcqBs! z$);S6p@_dJTT`R&K?JVa3*t5cCY3^##ES0k**bZLum>rocG%t3`WmL+MZhG%6CUN%c zDufPA#k_dlS1b{*LVGMlt96{b)IP^lIDRnu0J=(u%)s1I;_dQ z{r>|+Zs7(jEzQ3}GfI%@{R8n$a-E24la^ z)cbj! z4oe6m!E$%QBG%dB3&S@<#-5Ug4e)|x{92M&r}QVR&S=A2lx5J$z{a``+hFIKk6 zJ`L9_yfb@M+GT#+Ay(k@GChIrps7$#;9`domTuDb6pPS#Wn1*$2|q)Bo;Uj7M$*Re zpES6|!W`RI%#Fl{kjhXhBmzsBd)XENwKgV(XD!9bYfbcb<);XoHqwsApj36!w(@y) zx7@#9Y|ek^rosJMF*|3^q)y12xfoi~4Ts2_*{Ura=(I)WSNqo%TD?7im>IjCDCZkv z(HPXo+QKb6NAC7UYsg<9E)oe;)JFUFb^(Edmq9j!T1zDUGtT0pr!~*xqmb-s_?# z8P*1wVNv!+F+hUpU(BN+5Wo8iq0Cj@_;c|ttMJdVv8TA=^I^pO?90tv*a5%M*r@k0 zWh;l><~9i%`l?pXn}zoDxGqTH*Q`Ay9VtY)GLQHeyVEPyg-Gwt{^C>7G9ryly~VRVd~8eZ`U4I{9IA@Z8kw6 z8KXc>AEh}I5x!j3!ReznpXGsM)F^&-DY)$X$r$?vzjlmwMA{kRF%;l8IMG9CBq%w4YT9ab4F0* z-eJ4!L!VxSy$m;O5UNY_TGGzH&Up3FL-oqg+sA= z;km=g>yey_b9Q5OcF7a+TlXYIFnSSMQUe5*(%$bF(E)Ml>sGHoNUKKZ{md%ZniNJz zeg5bSOW8u2Fhm1VU{3S=^X;1^UbDM#g%tLTmq)5hor0ixvT>UJf=?zj5Pf^XoHNOzZ*< zlb@a-0G9zi?l-^KNF4XvdKcaLLv8i1ZKCnlrSAmd=DGwQc3z0hv~q+`cNeb66UiJ# zl|nW&D-LSJwm*Mlc1fm3cfO`Ly@gQ{yW1k)poGOf?o_B_fDGGxUWz!LG?4%BS&XC7 zrhb+IOV!*YSsQEadACGx6xQJv%O;#hxyD%WcMv0qp?;F|dFUDFYP)VTOodAX%^qe+ zk-q^C!1|O3PwHc7e8iDS-ux>=*N1t*P(^)uCg0l{KU}x z)%2{}=WV7=>fRbQ_{Kru80xi!jjd^kt8@Cw7Exf;&Eq=@#P63%jaG+oV=`|Fs0Rm( zo0gN&I6~EMya|!`?bS&*pip#R0BV{KWo;Hio5=iLDz?g2)GDoiG$3gcWib-x6Wy<^1mR$gvOl zcvhHRq|;I-xIEH=c@a=Db$9-)idZ0IUOq#nVbH4UY7jX{kJl|83Mw%c;$ zFY|-r1h>~x)kgduriEET7pnaQH8c{dx1iE!!|yw#5BEl%;o0N=$zx?75s@$GpLc7AAPdM4dSt;mh=%f*H(TY~kDk2*yy*{y`szZag0Bji@P zjProtPk{HiWd>NZWu$^6>GPt1|Jf2?od)^htujHE5pcl_LDER$S9K^|4t_H>kfmd{ z68RFtWh?CSWR+|j?zsGw+ekpD{`uaUz~0s7XQsPPE}*u13;3s@`*qDMB}?(%d_$e~ zXg+&Co2}*75^IG0&JwG;O%Ce8%|U3*3rglQ^o!Mkp^GVdqxI375VwkAwyn%3Y6E3E zIRYSV?mTWOaerJ;?o|B#x^BT_bg99M_*h%0(wd#MAu`w|e?OV^8&8jDQtna%i*l}z z;rY7ftB(=kVTVt9+x;|Mvn{%O5M=V!{VgoWD4~xjFVDqSgd|DM)3g6)xDa-OH~P!n@o@> z6MszhRa6fA$ol=PN!bhT?S=YhrznKSh%L1 zL&054LtU7Y54G%PB(fYmxL;-bwqXVRAkZiialD$V?~2ZjT=2)K`LFY=5WV$XUxNwB z!%;;*Yn`=(DH7!6U-KEA9+ESQ@U(+gZi=kNwd&gKuOD`m9(lS8P7|y5oSKLZm+cuvaXARYHk0a}v0(d`1AbiaDQ45FDQ0Tb`IL zH0>lXYP5PgBE(unHC04GzB`^JXjs8U+T?jxi;atyFLX#bz0(oQ{BAZxN`jY zPLRr@&H=&8c_b1U^5TWl_b~P_Km|+)0(`i900SY<#@mk7#XcrJinYx31H}z5;3a98 z0v>WWCCze>3{F4d2QdKnGpvpQZ+R=+#nWBzPu9yz)vU85Cg>ze=mQ5D?k>?3*bnA~ z;-R2#UG#S%;xAU#t|!7rK%I-G-Tt%)SP?-8P(`-Br5#ICB5tdDc=bau>}kJ9mq;|jfc{bIX~ z7o!Yd0hTk~ft9QB!XrszikgTZr65%HBVBmmkj?jJVb1mgcLGslE#a>FevnpITELYt z&o*dTi5`5W+!(tk*2wAAb13CV{;gMGpo!2=4jd(ri$w{;nFW5Jprr0f+2$U(8W@_n z(_FWa$$ry_8eJ$bk^L~Yqx+vGb$?T6`_)FPcPE^bv)xN;IaGFLjBV!tPO$Ig@e4)` z-Y$L$JP}akah$Goom+;McKd5wxHTZlwEL1vrRX5`BAHGqBKXnTvQ8`;`Utwz$}&td=#_-n#X527kV)_>CMQ5Y?S3($ygR0&Z)q?^QWfv zw!_T47JT|;0(t8DD$~)f{h|vZ=QOZvX$8@0&m@*sr34H!qr8_ROnRe&6U+y${Jq(l2n>2Dm3~0FYmO@iusTJUpXP8(c3vbrcdj@bU*;eK8>Li7*Fl zFZ6I6_ zh(E|;<$lwjbaSLY4QEhjBxhug6M3AdbfJcn z$C}i`cZ7ON7jPqI8ZFbxC>Ga_UMsXNHp%UUWPf`mbIgl)CG;%fZ7ieV1_)hFQ^st;Y=zUWuz_&~1MspMbqE)^Dmn3auV)is^j&pTgpdv@5H&R)(II&qTcj?w-5nV0S)=jZ2NF>O~A3}u6w0PK=+ zy@y?V37}$bo($3jmFtj&vr&wxzCVw~JHm8tG=WMoYO6~g$nwNYM{vNbrF!y`c8?kd z#pfiCOswjymImZkrpwCPZxa@&t9l?TmfZfz;N;Ws(0YIJ6o(K9L%aUEqA#KT73P#v z+hkLk!?lB7f9tEby<^29gN_@K5J<8IrVtPjCvBFn&p@*!8L@UK?O@m7pYNi}0&U!1 zxfhy#e6uGnCStHA5@;KbSuNpIE8-s#HLI0w)G(By=GyHY`0M=z@fd9lUmJ|UP#1^< z<~RPhF3H3q?*h%lYR6Yxwv|3bJd|1Mh>yEG#!P})Oln$=MrHnlZ!y;_s_i{Rs(2t` z^BS8D_+&S}=1YYSOEQNo?5EQjjOyWMNQ|U<@Zh*HFcZdUvD<5*wid3xePAa1585O` zw5&8U;bGMw83I`)G9toQRaG_dbFQ5ouqq2V-IQ-b$634v(V9r8=RlOo3{?_E3&irO?RtX(S23w%3}{)CM2MLxgn z{g&{7%sU#Gg0pe69+qFTB<$7dL|~?BS%h<8rA|Ub4I)Mq# zAM|7QbY}*7NkCS?C)lTIh_3)El%|GeyU>*;z*ypz^HR4BB*fxHwjz}eS|wh>h<1h( zN!62n06b;Q-V6FfQXDl$AbL@|z6z;SIcECFATye>ZfWSlgEx)2fj^3Mx%aTCkE)b< zwxZ`JTDG<+ZU{dz1u5ydAreS7;)oSI6FuvJ3*9dUA|Z-YVcvegyS-ZSdW$4^vIRrl zTA`9N!d_{44KFtAsNsw5;f!iE2e13_3R1rMoj=>s-QA*_!xU@u5_zs#1gkl3vYKyy zaOSP!F`Q=A#K3}FwNU?$K&0idz{Mu^C4+)zr6fXb%&gEqRFBYm0%xplME*cnSh9J- zetrx19p5o%e=qMN;|G1bHbU7@V#{;$TsCk@y7F$nrFp46)!LxZ*N>f5D7#D2av`JZ z5PUXIw{COQCg*0jW3M8VzwKSNNttb#btrMZO=@b}L$~`!g9hE3OZ?|FdiUqq3G z-Y8}`D3=yflklYtT?_+)CJOa=?^Z6w5+^>grXITdwf)2IT87{DWIeyNkQrT26aQyV z!^-=|S7iUms(XHsfqdEC#o`eHWF!^stD{6!&}fLVKcVxAj4lV8UuP!J$#tCv6+ycQzeZ_jtP0e55kZ78pB^ILP zFz7FJ;w#yIfJ3eIfk_xem0P!5K|HS2t15bJaZjiA#JVD4TV{%Q2$HO{aEM!d9-uHV zJ1e7bd`ayRa9NrH$Fdhd(V{ApH#QviZZO<2^?rbPI*;z0D0Pp78{~+!h$LV$@9?{f z2M)ys5J#%E%9)G(pUt0EN3O3Rz3wHoql#>ADqiz$0+RSPj0;_G@z67u)4a-@ct+gQ z`MAa)@8QaA*Ii`b-=h+O69>eudh-1hX^{tw4tL)wILJcO#Ro;*hNoP{Ig`cq8(dN72d|0H?Vr$-+ihR?OJn@Yk#|L4MNZHmVMk1#8$fk!u{5fAcC%yxX1F@CDJagy)<#Xi&B> zd~pc?H62>Fcx)eNI-7O2IOV+ZgD3=3m!b0O%%_EVfU2g^x*8&vuHH^79q1m5O>vH!Yu9-7r^y>< zsPQwfckSMtdAi}uZg5_m;BRc)e;_#vR@b&~ugmCoeZ)aiSB7V5YDz>MMoITs88HUn zi2fLU!+{b@X=x-dhL6;H+P7~qvYzdk{QS%sJs$_>Iet82xYFK!#8wXUdT#>R<(1{z z7(iLX-Oa(Sw8SWWc2Lf?3D{8M&}O`IJB?B^PVw)o6z|hU9?Y36_4C&Yje|u)r)qB4Od&lMso`pAFX3#oIq0R6klX!L843krC#bu1$2Er~?0#L8rYP9ZhXb z122Quuw9S3AT9+>ba85yEw-z(rG(B66&~>t`|(;4sIK3k3)yEkku~C8buO-m(5xeY zr@Gadoq_W{x11*u|AN<{-Ctlw6`bR}MTYaXQXTnim7yduX>mCTzev0nZd7W1G}hHX ztW1hUCM!kzC~}ql6 zdzuhq8y^>X#}~I%^f4+6#0$I)pzPhpZ`STq?OI1@;I@8K)zLrS#KcLH zWIcU(V)YXh0B~EUH|oxbiHYePC4T#+O4;t$6)?=zZmK!{@7tMv_Z>kQ!-$f&x4T=H z0V2RNbEDh#seYGiNB-MZ=OuzQ$bb+C8=jv}^)GEYAUnri(LZlzbN6m~p-D+0$ku0^ zx&9Oc($m-3bA~|s9Ec1isQ}SGb3lWC7aA4(6zlr8Ret$J(~sXBc9p(pJ}n@mxj-V5 zmjICf3=wdQ>yQE{Qr*#i_kiIzO`XC7?9IX1VDWaumRf_K@_KKyqPry7A0ed(tmU@A zi12%3IQp+~Y@J%M0;(-{NL+vZL<91LLgaW0oG^t62P}VHmAUrtKVJ{7AAA2{0N$8& zvi$SsNiUV(LJQglfeLHb;>~|VBE0_pQBQzyT7!h6(Q0X%Ov!E-@bRTjg1XD^SAfRj zKTdAmMFQ3q3rG>!0Hi@A_KpFSi{IeCR|I&!A8jukXIkIV)(|TQ?m)=`xwzXiL4T z|4~7_`7*tc{V?@k`*}t8uhKf*w_1*>PKY^r{fDf3`#53TmZZ*96^Fg=v3qYXpOMuZw z!?x1oRD`t&Wjl*9o5q1`jguTkm;ZanAjzpaFph`tfU1 zxjwB$E0{rkjxwv;g9eHSvtr}52h9tGMWyZk`>qQh2c;G5z^RS~OKkLJZDeF5sBnQB z6JI7bpX@nS1qxR!1SCx=H1pu!@>cpJO;7S`cP|2#$<>?n-jzWV1kts?AZM%`q^cKVOk{Dt>Qy?7#IS6E^?80{#US|A(-HeG(bqHLcL|V9*`Vo@TXhUPL|OJxM)m!tRT<_UIfmFhNkX3-L%s3^74Hc_-VhkQ-A$?S|)C& z$aO1IKLV^o!5W%s^W@1BPD!U2lM;&@Kwz-~>an)9xqlDhlQtFQUOGtd{+HTgQC$E` zf~mCECDtQ}T)ZaeAc_|as(sMy zVgYXMtp>k8p924Q9HsN(O#wC`LvWX`t^tahHXR*ZqN0Bdd1s{vcyz!u&p1v82&$<>1+@GbYiwj>;G6`8-in(2KIC$E}zM~285yu;0E@Q5{PfATX zJ;RZnCvR0YUM*jTMov`du~837ch1VbpXg+WV*T}$1=m0BIoP6ttxwX{@OKt0F>_ow+YS{ zXeYe@oThamE%NU>w$t`7L$qgmQTOod*lvHIGd_}iZ@Y8MnscmL^TjNeDgV-ut)<8W zd(StG1saJPQ>KH)4S5IN=J*n))9+fQdo9s0@3nj8Yu|4i8fesTj3Uy)A$PjV{S7);%)KS?XtAZfA_8)Z(@6bfssF8Km;c62bJ+O&m|Y=a zS6@=hyU^7SY;mImO=A(8TcK}M7rWu%1Fp+ivSUsVnVP8JyNx)C5>A?;gX>>HGa|zd zzi?3by5)tBG2O=2@WDoK=!m}JCu{k3^(e9r)+vM`#K|`=2~*(Y8FJ*X^ZZmGr{tQJ zj+Lx1wDvC<@!!ajmq+Lqg>0Lw8WDs(KnOCbg;`6lgmBpCfl?Cz0E&vh#2XS$mAB

qBbIcx@oUfDe)1pdtOQ`eY@iXrh4p^9vx={~M56hUx&>rwWi~z^d(}f~$ z)!CsvIvG#W-fn@3nPg!7+@8ee4K@F`BAbn3XdnL!M=={JA_hFK2ccuxktRU}!f!_n z=gP*=Cid~p83mS)P{mu#IZH)1raUa_9zRW*C=C#_HrS$Xl%WdOrZV&vh1v!Dbrj;! zZfQDR2959Rt1{lIU{?`6Yowl(nluA@Bszq$hzugWFqo9; zg`h!)$?&dJ7-E97I;hTDZja`Y66@jai4a7;SoNs|j`Re}(|OvKK6e{xZav2rQyF`p za`R3Yesi@$P5!s`B31JdA2ykGy3Nd4R93fW0l_aJB~n zNX*xKy+VK24z z)(PVa&jh%m1E6^ZZw)L?H(d|^iml%$c{}Ad-~m}A8PIf`G$C!DIhg8{I9dMz9SU%y zV1b);9u0o_ctP5^+S@ed(pay8U1F>=)nU#%Mfq{*2v)H44MD3=>sjCl@QtuChtI2giO?o9>as=tMO_0W*qPvd{hXh65``1T;Qkbm@0Y&WIj6{S#n*p! z-XZf@kOow-Nb6 zU2CO94UQ|y$EV{Cii!RTnay@i4$X0DWIxK;&WYGD2C$|=+=LVk7_w<3Wty`3>-PG( z8>TSUha#q%Af^WJYy)6C5j(q@hVzUF-hZsybc7>eXYO0m*A0=I`wtcOIxQ$4?xUM0 zMvP{|7;=C_N5M>4aZFQprzB?*PzxxCk|Ryk>Kk#aY>><6&Py4*(s%{>AJQ{{ zIN+*f*}XF}T&yl8q@D_xLXWfxR$?KK7^l-ShGVYgzh4wIw3~D=b`VJ(Se}X-=Bl)< z)%Mq06XGcw%J#*L%vdz`9JrH6yR%f)dyxY> z@|Wr}taF-CABNRd*A#mh*}8nA@`u^3GVK>Uq=B zR&lBmav3H9nYnY6_}f(+z)a`;P7%zL_y@Rw!6+V)Kmx{;)|KU2UISg)7D7nss7aYk z36P36L~rB*7Jt~Au7ndKDkk)lKuo#8@lNxkfXdI79=PTtW5tc=C6kdMPz@8t6|uRx zWNPv;+nF`f&s%fG^*x9m?7Lkn2@fnS8*aOK0dnWg)5}0W;$qO>$6}C6YQ3$aC9VC= zE=ZzjQy-HVYe2thazg17cEWnppmNy*FOCxw;U8xhY7wHCMgHK-CG$BIS@h0Ko`TH8 zI2O$n^;RAlSSC3eyzomharp9)e|2rysHvRSe>zOkx_qpIN2%gq0Gha+o2cMZT^K7= z=7~>@?XWxqp(fPBU&#e}grb5FKJDdhM2o;iG8>VYxegE0dTkoou46D*U|yUlz#*JP zYKU&YT-$r2x)5&M58o>*TY8nS=6E-2l~kqnDWNmSHF?2Jfu`C4v8*aBKc`Lf*alTY zC_Dww{tUoiA&@PX1M_onS`c~hV(n?r!cKoKe|Om7dst5WhKqDFc-v--<2ctW=>oe1u&1IIgcQP^@({hh^^rydx-ERG6>||8`lGBv`r)ClKl~!Ml zeZ1!ul5RlbV+D?L#-9N(` z{Q@t993eUDs(SeKo)6i#nhfY0v)0`91p#~reV`<10>{LvzRJuExieUc4;pL~hV_j+ zGo(`0_-5_w6ycY+e4h_O=jsJyOeQ@z`H5lsw*bcw4NwO|2#2$D(GPvXKZnvr(iACze5S$;Z-vB8MgogT#ffnJiz1_ z$bY~1O+bN+rk&`+9j9%Z9^6cH97K|u@^A9@x3D4l2rdT;K5KOwml0NLnssHPl{(*< z*n1D*N)0e4X1B+S*T(i!BSs2tEruo5duOn!-Y&eIRRiRV?tyv0efla)In#KrHap=o zH#Fq5Pyp_kR(;`;+04e>*EC@{KTbe+l zwQ^Alnc>^Ob4Ig2(VQ!^9OkkMkQ1OlUKkCkCB%K$(}2K0IM71`g0W3BJOLMSIzrm& z6OAam>ew0_9J~*^bmxI$VtntDeBVYTyLUUcz7+(0|H3I==dO8_n8NsACaKWbgZTx~ zk1!Fl!S?8}=gp$Td*p?hN3fA^!}4S3XX7@>bB(F!%u?nb9Q-q7ANp$-Ky+>0?7y;^ zf!HJ865wgCXPum()K5c07}$F;1ahIT-h0ro>V4;F)AxDkFKM(_Mzp48td0%P-up;3 zd=~bXQPKpeu)ae`R?J}QjB|qDy#q_mfk_YC#HI;omlUrrG?IO1<3SoBA+0Q+WD$>P zQkRzEoTOh&x=^z;jI=R+xIYyzbO_SrWvm&a<(VSLW1#w=452z37UxB`iL5O)7>$SZ zwOc2R?LWKCTBKXqg+R@-FtPsCH?m%`L_K(C@xk+f5{v=zaC;_gjbB3pfo}O)n!LA` z#Icldrj3m`VK@7*;)r*;00%#w=h41>3lna?qk}Z^Xi^*gF=6I%`-wCIE~&@wJ2cb8 z?eFB$ZPVr+K4li^ImD(g*_;-*V@^x(T$@O_G?KA`qc~)8V0K!=_Sp%QQb3W909c7s zJKlW&_2>gmrm_A=6RB~rK4x}-Y(S%2q6u_P>MBf$VT9{~6rzLb_#_U;U+ZI6A@qVmzsTy9zTAZ=t$Fy$SfgVy((4MqYYv_f_Qd> z3SXHu&e3G|fexZpwh{mJP*uI+1+#|OK*=dV#&e?r58CO2i;gFa>Bhg&6a*K2)`ID@TGG+T6tt4kEwg86I>8Y!~?6_2$cc$@UU`Z{Q zx@4aHBIk>c(G!=)cia{;h zH2k!1AD9u81*S`4?9#yunDe@|91u4|IvdD1X%zulG5~s(vukPl$2HW|-4Yf|`t0X^ zBn$@$TXv^<37J=9)5d{HcQ&sOz*9ME71z*kVr9JV2AI7E8wVH{T%_V&ul;gc8@Q|M ze)xJ;33&-R$23*xs{~{|rQg4E*Y!^s;M1!O*;h(Em4>B2Kz|EJgyQxZKqZJaEfbFq z0J4oUal&BSllR(q%A>@HQQ)Tng%hzh734xjsKL|u=7S*cgK;0Ht6?~~l>aNK3XPep zkGD&*bUf!;QxC>MRd#67#w+ROSM|OW<>2;d__ylzaM$-vfQ-4xck#f?x29mhk^s#f ziT>O>DNDJBAYe|cdLDp{j#Suby;vNi`o2A{_6A=qw9doHxunSe3O0G#%An3<1g<&S z#7x+jShvenK;9hybW(h3)H0auSlYN_5g!}$nSrA&s5g?YvhNlf(b?N-Dhp^MUZr(EnP@F%1eiW)oi;;bt0E?!Fj{%NQiL#)H?_N|*{}g}y6xd5 zSAy$qw01mkYr_yd!cpWLy8~LzR-Y9LUtSs) z1+&sNY1zo7@%7{;>+MhxZi-%N)p5w1mK5Q=r48?A5|5@HDsIgCgSi#(uUnWh8xD-1 zIVM8%sBIoFE1EI;lyy!I(zo`xANitd1mSkHQ5aYuC;%xW^M=qy>=0+1LEiQ2piw7G^rxRvu$r$1K*2bl@=!?QW5j50YH z<-9!cPJxrue+zf@(W@Ze^w=9u-yEnk?@+EG7WW8F<`;yzN0=ck6>F_Q5w;s4Ac&|q z|5W7afiK=4PJG=`&FA6&VwQ0bt!*t(jo}Jc>KXhhKaiX5ok)!C&m`!ICEO3&-zR8!0T(+xg7fv z6B27ZWAC4w_PX8CME*z=U)pWs9$~Lm27AOyZ3NPt+bOQEG!yugh5;l85#z>a@S&-7 z{zt;JSToyMnRF2L)!zf4WlmX-hcAAtF4LNyd*`Hp0U8_Wx75`89}U(sLLh50Q}g(M zYJ95oo$8K|LYt5;oI!ThD+L0ZV)yw&+%!!hRUxoFB;|heiT{O6lUJ))T5fr=V{}ynMIkmJM}0Y7>^tZ zB+5ozrF?ufC~Y1!T(!B{H?-bgYOy&VDyk+2*=SOK_mWP8@a5DR!GL6iVhbt9j&d0>KP%$_w z{-a1=N|nvZ>gG+fO%XTa{VM$3;#87T$!bGB$|;t)v%2Px3Ie1fEn)LlhD6niSRbaA zoSDRz)qUHQ=m){;K>9;&qK~Ro_ATK6-9t+R{gV3_<5p!eV)aLJW!U?|@BXGUZQhVz zKYaThVY6ELpLWI{%p4o#C$B4l z(O?$!&W68KRGht})07&=rbjS}=+ScxOeDs(39K&TgJ|fLigdC#GBEwPHBA5emmH%e zH;u-jSt&(n=Z}NS6N$_vj8U`^hi~aROuj= z^mXOCNebiiT-ww4l+&oG%GJx;{7Lo;2XVDdxF-=|8ZR+*v9>c)G`z04@|>^$*0|_6 z*4~-qEt$0RqNZ`+@z5usct86&>{4%jgi`&g<9EJG4&!sNh-sfv7s%$VwGr-tY%dl# zb-(GP1@)EpvnqKfWa4ClU4EMBiclklqV)Z8vvcoiHNtg+O?Jo$aywR)_bkwf(|VeI zKyymd3F84*+Zc4s**O!X?wVCO^iBuqM7CrBS+OIS0IjL1>5;Iia{bzNQnf{cpytU{ zhtydy{cA@N3zf#4BV}*GIFt}^coh(59D77j^n6JQt3(x<%0AI1CdOPyPN-@(Dk)Z2npn$>Jv3zzd605(S7 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 literal 68344 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 z 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 diff --git a/timing/heatmap_is_reachable_timing.png b/timing/heatmap_is_reachable_timing.png index 7be75a31b056ff8b0d1e52f59649a34ccf6f2537..85a928c215e2d2dd47491699460ac2a480a4000b 100644 GIT binary patch literal 31952 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 W^txu6AN&j9cg;h4vvwc9^#1?~M=byV literal 31196 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 diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index cc99a4d..e73bb70 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -41,50 +41,49 @@ def record_result(stdTime, parallelTime, row, col): if currFunc.__name__ not in tournament_funcs: for p in edge_prob: - for num in range(len(number_of_nodes)): + for ind, num in enumerate(number_of_nodes): # for bipartite graphs if currFunc.__name__ in bipartite_funcs: n = [50, 100, 200, 400] m = [25, 50, 100, 200] - print(n[num] + m[num]) + print(n[ind] + m[ind]) G = nx.bipartite.random_graph( - n[num], m[num], p, seed=42, directed=True + n[ind], m[ind], p, seed=42, directed=True ) - for i in G.nodes: - neighbors = list(G.neighbors(i)) + for cur_node in G.nodes: + neighbors = list(G.neighbors(cur_node)) # Have atleast 2 outgoing edges if len(neighbors) == 0: G.add_edge( - i, random.choice([node for node in G if node != i]) + cur_node, + random.choice([node for node in G if node != cur_node]), ) G.add_edge( - i, + cur_node, random.choice( [ node for node in G.nodes - if node != i - and node not in list(G.neighbors(i)) + if node != cur_node + and node not in list(G.neighbors(cur_node)) ] ), ) elif len(neighbors) == 1: G.add_edge( - i, + cur_node, random.choice( [ node for node in G.nodes - if node != i - and node not in list(G.neighbors(i)) + if node != cur_node + and node not in list(G.neighbors(cur_node)) ] ), ) else: - print(number_of_nodes[num]) - G = nx.fast_gnp_random_graph( - number_of_nodes[num], p, seed=42, directed=True - ) + print(num) + G = nx.fast_gnp_random_graph(num, p, seed=42, directed=True) # for weighted graphs if weighted: From 1b3f2eebaf4216368a466ed008b4559c225e51df Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Wed, 4 Jun 2025 17:44:25 +0530 Subject: [PATCH 07/21] Added number of trials for minimal noise --- timing/timing_individual_function.py | 68 ++++++++++++++++++---------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index e73bb70..49e880d 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -11,6 +11,8 @@ from matplotlib import pyplot as plt import nx_parallel as nxp import joblib +import numpy as np +from collections import defaultdict # Default Config joblib.parallel_config(n_jobs=-1) @@ -22,28 +24,22 @@ bipartite_funcs = ["node_redundancy"] -def time_individual_function(currFunc, number_of_nodes, edge_prob, *, weighted=False): +def time_individual_function( + targetFunc, nx_times, parallel_times, number_of_nodes, edge_prob, *, weighted=False +): def measure_time(G, *args): t1 = perf_counter() - c1 = currFunc(G, *args) + c1 = targetFunc(G, *args) if isinstance(c1, types.GeneratorType): _ = dict(c1) t2 = perf_counter() return t2 - t1 - def record_result(stdTime, parallelTime, row, col): - timesFaster = stdTime / parallelTime - speedup_df.at[row, col] = timesFaster - heatmap_annot.at[row, col] = f"{parallelTime:.2g}s\n{timesFaster:.2g}x" - - speedup_df = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=float) - heatmap_annot = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=object) - - if currFunc.__name__ not in tournament_funcs: + if targetFunc.__name__ not in tournament_funcs: for p in edge_prob: for ind, num in enumerate(number_of_nodes): # for bipartite graphs - if currFunc.__name__ in bipartite_funcs: + if targetFunc.__name__ in bipartite_funcs: n = [50, 100, 200, 400] m = [25, 50, 100, 200] print(n[ind] + m[ind]) @@ -97,8 +93,9 @@ def record_result(stdTime, parallelTime, row, col): print(parallelTime) stdTime = measure_time(G) print(stdTime) - record_result(stdTime, parallelTime, number_of_nodes[num], p) - print("Finished " + str(currFunc)) + nx_times[(num, p)].append(stdTime) + parallel_times[(num, p)].append(parallelTime) + print("Finished " + str(targetFunc)) else: # for tournament graphs for num in number_of_nodes: @@ -109,24 +106,45 @@ def record_result(stdTime, parallelTime, row, col): print(parallelTime) stdTime = measure_time(G, 1, num) print(stdTime) - record_result(stdTime, parallelTime, num, edge_prob[0]) - print("Finished " + str(currFunc)) - return (speedup_df, heatmap_annot) + nx_times[(num, edge_prob[0])].append(stdTime) + parallel_times[(num, edge_prob[0])].append(parallelTime) + print("Finished " + str(targetFunc)) -def plot_timing_heatmap(currFunc): +def plot_timing_heatmap(targetFunc): number_of_nodes = ( [10, 50, 100, 300, 500] - if currFunc.__name__ not in bipartite_funcs + if targetFunc.__name__ not in bipartite_funcs else [75, 150, 300, 600] ) edge_prob = ( - [1, 0.8, 0.6, 0.4, 0.2] if currFunc.__name__ not in tournament_funcs else [1] + [1, 0.8, 0.6, 0.4, 0.2] if targetFunc.__name__ not in tournament_funcs else [1] ) - (speedup_df, heatmap_annot) = time_individual_function( - currFunc, number_of_nodes, edge_prob + speedup_df = pd.DataFrame( + np.inf, index=number_of_nodes, columns=edge_prob, dtype=float ) + heatmap_annot = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=object) + nx_times = defaultdict(list) + parallel_times = defaultdict(list) + + trials = 5 + for trial in range(trials): + print(f"Trial {trial+1} of {trials}") + time_individual_function( + targetFunc, nx_times, parallel_times, number_of_nodes, edge_prob + ) + + for row in number_of_nodes: + for col in edge_prob: + key = (row, col) + minStdTime = min(nx_times[key]) + minParallelTime = min(parallel_times[key]) + timesFaster = minStdTime / minParallelTime + speedup_df.at[key] = timesFaster + heatmap_annot.at[key] = ( + f"{minParallelTime:.2g}s\n{speedup_df.at[row, col]:.2g}x" + ) # Plot the heatmap with performance speedup values plt.figure(figsize=(20, 4)) @@ -143,14 +161,14 @@ def plot_timing_heatmap(currFunc): plt.yticks(rotation=20) plt.title( "Small Scale Demo: Times Speedups of " - + currFunc.__name__ + + targetFunc.__name__ + " compared to NetworkX" ) plt.xlabel("Number of Vertices") plt.ylabel("Edge Probability") - print(currFunc.__name__) + print(targetFunc.__name__) - plt.savefig("timing/" + "heatmap_" + currFunc.__name__ + "_timing.png") + plt.savefig("timing/" + "heatmap_" + targetFunc.__name__ + "_timing.png") # plot_timing_heatmap(nx.algorithms.centrality.betweenness.betweenness_centrality) From c2ed6662e7624c1c9a5412f96761a5b5b1e62888 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Wed, 4 Jun 2025 17:50:22 +0530 Subject: [PATCH 08/21] increased the number of nodes to test --- timing/timing_individual_function.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 49e880d..53eae9e 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -18,7 +18,7 @@ joblib.parallel_config(n_jobs=-1) # To use NetworkX's parallel backend, set the following configuration. # nx.config.backends.parallel.active = True -# nx.config.backends.parallel.n_jobs = 6 +# nx.config.backends.parallel.n_jobs = -1 tournament_funcs = ["is_reachable", "tournament_is_strongly_connected"] bipartite_funcs = ["node_redundancy"] @@ -40,8 +40,8 @@ def measure_time(G, *args): for ind, num in enumerate(number_of_nodes): # for bipartite graphs if targetFunc.__name__ in bipartite_funcs: - n = [50, 100, 200, 400] - m = [25, 50, 100, 200] + n = [200, 400, 800, 1600] + m = [100, 200, 400, 800] print(n[ind] + m[ind]) G = nx.bipartite.random_graph( n[ind], m[ind], p, seed=42, directed=True @@ -113,9 +113,9 @@ def measure_time(G, *args): def plot_timing_heatmap(targetFunc): number_of_nodes = ( - [10, 50, 100, 300, 500] + [200, 400, 800, 1600] if targetFunc.__name__ not in bipartite_funcs - else [75, 150, 300, 600] + else [300, 600, 1200, 2400] ) edge_prob = ( [1, 0.8, 0.6, 0.4, 0.2] if targetFunc.__name__ not in tournament_funcs else [1] From 7c1512439e986c90f120ad135be7fe846bd03655 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Wed, 4 Jun 2025 18:33:24 +0530 Subject: [PATCH 09/21] setting ticks --- timing/timing_individual_function.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 53eae9e..69e7ee8 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -148,17 +148,15 @@ def plot_timing_heatmap(targetFunc): # Plot the heatmap with performance speedup values plt.figure(figsize=(20, 4)) - hm = sns.heatmap( + sns.heatmap( data=speedup_df.T, annot=heatmap_annot.T, fmt="", cmap="RdYlGn", cbar=True ) - # Set tick labels for y-axis (edge probabilities) and x-axis (number of nodes) - hm.set_xticklabels(number_of_nodes) - hm.set_yticklabels(edge_prob) + plt.xticks( + ticks=np.arange(len(number_of_nodes)) + 0.5, labels=number_of_nodes, rotation=45 + ) + plt.yticks(ticks=np.arange(len(edge_prob)) + 0.5, labels=edge_prob, rotation=20) - # Improve readability by rotating axis tick labels - plt.xticks(rotation=45) - plt.yticks(rotation=20) plt.title( "Small Scale Demo: Times Speedups of " + targetFunc.__name__ @@ -171,4 +169,4 @@ def plot_timing_heatmap(targetFunc): plt.savefig("timing/" + "heatmap_" + targetFunc.__name__ + "_timing.png") -# plot_timing_heatmap(nx.algorithms.centrality.betweenness.betweenness_centrality) +# plot_timing_heatmap(nx.algorithms.tournament.is_reachable) From 66c234ac5c735266be41e8c3ba1f728992aa83e8 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Thu, 5 Jun 2025 19:55:45 +0530 Subject: [PATCH 10/21] Move back numpy and scipy to test dependencies --- Makefile | 1 - pyproject.toml | 4 +--- timing/timing_individual_function.py | 5 ++++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index c7ab7bc..28e40df 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,4 @@ install: - python3 -m pip install -e '.[default]' python3 -m pip install -e '.[test]' python -m pip install git+https://github.com/networkx/networkx.git@main python -m pip install git+https://github.com/joblib/joblib.git@main diff --git a/pyproject.toml b/pyproject.toml index 908b30f..f8be075 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,9 +49,7 @@ developer = [ 'pre-commit==3.8.0', 'ruff==0.6.7', ] -default = [ - 'numpy>=1.23', - 'scipy>=1.9,!=1.11.0,!=1.11.1', +heatmap = [ 'matplotlib>=3.8', 'seaborn>=0.13.2', 'pandas>=2.0', diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 69e7ee8..0d57cbf 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -1,5 +1,8 @@ """ -Performance analysis of parallel and NetworkX implementations of the input function +Performance analysis of parallel and NetworkX implementations of the input function. + +To generate heatmaps for performance visualization, make sure to run: + python3 -m pip install -e '.[heatmap]' """ from time import perf_counter From 6b666bbee44eefdd742ee5e27cc460bc5e471876 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Sun, 8 Jun 2025 15:34:04 +0530 Subject: [PATCH 11/21] working with shared memory --- _nx_parallel/__init__.py | 4 +-- nx_parallel/algorithms/tournament.py | 34 +++++++++++++++++-------- timing/heatmap_is_reachable_timing.png | Bin 31952 -> 29599 bytes 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/_nx_parallel/__init__.py b/_nx_parallel/__init__.py index ea99a8e..659dd9e 100644 --- a/_nx_parallel/__init__.py +++ b/_nx_parallel/__init__.py @@ -105,7 +105,7 @@ def get_info(): }, }, "is_reachable": { - "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L13", + "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L16", "additional_docs": "The function parallelizes the calculation of two neighborhoods of vertices in `G` and checks closure conditions for each neighborhood subset in parallel.", "additional_parameters": { 'get_chunks : str, function (default = "chunks")': "A function that takes in a list of all the nodes as input and returns an iterable `node_chunks`. The default chunking is done by slicing the `nodes` into `n_jobs` number of chunks." @@ -147,7 +147,7 @@ def get_info(): }, }, "tournament_is_strongly_connected": { - "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L58", + "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L72", "additional_docs": "The parallel computation is implemented by dividing the nodes into chunks and then checking whether each node is reachable from each other node in parallel.", "additional_parameters": { 'get_chunks : str, function (default = "chunks")': "A function that takes in a list of all the nodes as input and returns an iterable `node_chunks`. The default chunking is done by slicing the `nodes` into `n_jobs` number of chunks." diff --git a/nx_parallel/algorithms/tournament.py b/nx_parallel/algorithms/tournament.py index 67d7dbd..d56983d 100644 --- a/nx_parallel/algorithms/tournament.py +++ b/nx_parallel/algorithms/tournament.py @@ -1,7 +1,10 @@ -from joblib import Parallel, delayed +from joblib import Parallel, delayed, dump, load import nx_parallel as nxp -from networkx.algorithms.simple_paths import is_simple_path as is_path import networkx as nx +import numpy as np +import tempfile +import shutil +import os __all__ = [ "is_reachable", @@ -25,23 +28,32 @@ def is_reachable(G, s, t, get_chunks="chunks"): into `n_jobs` number of chunks. """ - def two_neighborhood_close(G, chunk): + def two_neighborhood_close(adjM_filepath, chunk): + adjM = load(adjM_filepath, mmap_mode="r") tnc = [] for v in chunk: S = { x - for x in G - if x == v or x in G[v] or any(is_path(G, [v, z, x]) for z in G) + for x in (range(adjM.shape[0])) + if x == v + or adjM[v, x] + or any(adjM[v, z] and adjM[z, x] for z in range(adjM.shape[0])) } - tnc.append(not (is_closed(G, S) and s in S and t not in S)) + tnc.append(not (is_closed(adjM, S) and s in S and t not in S)) return all(tnc) - def is_closed(G, nodes): - return all(v in G[u] for u in set(G) - nodes for v in nodes) + def is_closed(adjM, nodes): + other_nodes = set(range(adjM.shape[0])) - nodes + return all(adjM[u, v] for u in other_nodes for v in nodes) if hasattr(G, "graph_object"): G = G.graph_object + adjM = nx.to_numpy_array(G, dtype=np.uint8) + temp_folder = tempfile.mkdtemp() + adjM_filepath = os.path.join(temp_folder, "adjMatrix.mmap") + dump(adjM, adjM_filepath) + n_jobs = nxp.get_n_jobs() if get_chunks == "chunks": @@ -49,9 +61,11 @@ def is_closed(G, nodes): else: node_chunks = get_chunks(G) - return all( - Parallel()(delayed(two_neighborhood_close)(G, chunk) for chunk in node_chunks) + results = Parallel()( + delayed(two_neighborhood_close)(adjM_filepath, chunk) for chunk in node_chunks ) + shutil.rmtree(temp_folder) + return all(results) @nxp._configure_if_nx_active() diff --git a/timing/heatmap_is_reachable_timing.png b/timing/heatmap_is_reachable_timing.png index 85a928c215e2d2dd47491699460ac2a480a4000b..fde3d1c19c0579f69493e16fe9db4573aa83aa1b 100644 GIT binary patch literal 29599 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 literal 31952 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 W^txu6AN&j9cg;h4vvwc9^#1?~M=byV From 49e35d8a03a4d9ba0d2eca720f1a5bcba66a8720 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 13 Jun 2025 00:03:19 +0530 Subject: [PATCH 12/21] Revert "working with shared memory" This reverts commit 472d39521448c91fad032b3f6692b3ddd7fa22da. --- _nx_parallel/__init__.py | 4 +-- nx_parallel/algorithms/tournament.py | 34 ++++++++----------------- timing/heatmap_is_reachable_timing.png | Bin 29599 -> 31952 bytes 3 files changed, 12 insertions(+), 26 deletions(-) diff --git a/_nx_parallel/__init__.py b/_nx_parallel/__init__.py index 659dd9e..ea99a8e 100644 --- a/_nx_parallel/__init__.py +++ b/_nx_parallel/__init__.py @@ -105,7 +105,7 @@ def get_info(): }, }, "is_reachable": { - "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L16", + "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L13", "additional_docs": "The function parallelizes the calculation of two neighborhoods of vertices in `G` and checks closure conditions for each neighborhood subset in parallel.", "additional_parameters": { 'get_chunks : str, function (default = "chunks")': "A function that takes in a list of all the nodes as input and returns an iterable `node_chunks`. The default chunking is done by slicing the `nodes` into `n_jobs` number of chunks." @@ -147,7 +147,7 @@ def get_info(): }, }, "tournament_is_strongly_connected": { - "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L72", + "url": "https://github.com/networkx/nx-parallel/blob/main/nx_parallel/algorithms/tournament.py#L58", "additional_docs": "The parallel computation is implemented by dividing the nodes into chunks and then checking whether each node is reachable from each other node in parallel.", "additional_parameters": { 'get_chunks : str, function (default = "chunks")': "A function that takes in a list of all the nodes as input and returns an iterable `node_chunks`. The default chunking is done by slicing the `nodes` into `n_jobs` number of chunks." diff --git a/nx_parallel/algorithms/tournament.py b/nx_parallel/algorithms/tournament.py index d56983d..67d7dbd 100644 --- a/nx_parallel/algorithms/tournament.py +++ b/nx_parallel/algorithms/tournament.py @@ -1,10 +1,7 @@ -from joblib import Parallel, delayed, dump, load +from joblib import Parallel, delayed import nx_parallel as nxp +from networkx.algorithms.simple_paths import is_simple_path as is_path import networkx as nx -import numpy as np -import tempfile -import shutil -import os __all__ = [ "is_reachable", @@ -28,32 +25,23 @@ def is_reachable(G, s, t, get_chunks="chunks"): into `n_jobs` number of chunks. """ - def two_neighborhood_close(adjM_filepath, chunk): - adjM = load(adjM_filepath, mmap_mode="r") + def two_neighborhood_close(G, chunk): tnc = [] for v in chunk: S = { x - for x in (range(adjM.shape[0])) - if x == v - or adjM[v, x] - or any(adjM[v, z] and adjM[z, x] for z in range(adjM.shape[0])) + for x in G + if x == v or x in G[v] or any(is_path(G, [v, z, x]) for z in G) } - tnc.append(not (is_closed(adjM, S) and s in S and t not in S)) + tnc.append(not (is_closed(G, S) and s in S and t not in S)) return all(tnc) - def is_closed(adjM, nodes): - other_nodes = set(range(adjM.shape[0])) - nodes - return all(adjM[u, v] for u in other_nodes for v in nodes) + def is_closed(G, nodes): + return all(v in G[u] for u in set(G) - nodes for v in nodes) if hasattr(G, "graph_object"): G = G.graph_object - adjM = nx.to_numpy_array(G, dtype=np.uint8) - temp_folder = tempfile.mkdtemp() - adjM_filepath = os.path.join(temp_folder, "adjMatrix.mmap") - dump(adjM, adjM_filepath) - n_jobs = nxp.get_n_jobs() if get_chunks == "chunks": @@ -61,11 +49,9 @@ def is_closed(adjM, nodes): else: node_chunks = get_chunks(G) - results = Parallel()( - delayed(two_neighborhood_close)(adjM_filepath, chunk) for chunk in node_chunks + return all( + Parallel()(delayed(two_neighborhood_close)(G, chunk) for chunk in node_chunks) ) - shutil.rmtree(temp_folder) - return all(results) @nxp._configure_if_nx_active() diff --git a/timing/heatmap_is_reachable_timing.png b/timing/heatmap_is_reachable_timing.png index fde3d1c19c0579f69493e16fe9db4573aa83aa1b..85a928c215e2d2dd47491699460ac2a480a4000b 100644 GIT binary patch literal 31952 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 W^txu6AN&j9cg;h4vvwc9^#1?~M=byV literal 29599 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 From 1a1e62911f21ad17d98a7d518edc3043171938ce Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 13 Jun 2025 09:08:12 +0530 Subject: [PATCH 13/21] use timeit.repeat() instead of perf_counter() --- timing/heatmap_is_reachable_timing.png | Bin 31952 -> 30271 bytes timing/timing_individual_function.py | 64 ++++++++++--------------- 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/timing/heatmap_is_reachable_timing.png b/timing/heatmap_is_reachable_timing.png index 85a928c215e2d2dd47491699460ac2a480a4000b..946ac242177afab5aad5e27e1b0091d516cf25a4 100644 GIT binary patch literal 30271 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 literal 31952 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 W^txu6AN&j9cg;h4vvwc9^#1?~M=byV diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 0d57cbf..04350e5 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -5,7 +5,7 @@ python3 -m pip install -e '.[heatmap]' """ -from time import perf_counter +import timeit import random import types import networkx as nx @@ -15,7 +15,6 @@ import nx_parallel as nxp import joblib import numpy as np -from collections import defaultdict # Default Config joblib.parallel_config(n_jobs=-1) @@ -28,15 +27,21 @@ def time_individual_function( - targetFunc, nx_times, parallel_times, number_of_nodes, edge_prob, *, weighted=False + targetFunc, number_of_nodes, edge_prob, speedup_df, heatmap_annot, *, weighted=False ): def measure_time(G, *args): - t1 = perf_counter() - c1 = targetFunc(G, *args) - if isinstance(c1, types.GeneratorType): - _ = dict(c1) - t2 = perf_counter() - return t2 - t1 + def wrapper(): + result = targetFunc(G, *args) + if isinstance(result, types.GeneratorType): + _ = dict(result) + + times = timeit.repeat(wrapper, repeat=5, number=1) + return min(times) + + def record_result(stdTime, parallelTime, row, col): + timesFaster = stdTime / parallelTime + speedup_df.at[row, col] = timesFaster + heatmap_annot.at[row, col] = f"{parallelTime:.2g}s\n{timesFaster:.2g}x" if targetFunc.__name__ not in tournament_funcs: for p in edge_prob: @@ -96,8 +101,7 @@ def measure_time(G, *args): print(parallelTime) stdTime = measure_time(G) print(stdTime) - nx_times[(num, p)].append(stdTime) - parallel_times[(num, p)].append(parallelTime) + record_result(stdTime, parallelTime, num, p) print("Finished " + str(targetFunc)) else: # for tournament graphs @@ -109,8 +113,7 @@ def measure_time(G, *args): print(parallelTime) stdTime = measure_time(G, 1, num) print(stdTime) - nx_times[(num, edge_prob[0])].append(stdTime) - parallel_times[(num, edge_prob[0])].append(parallelTime) + record_result(stdTime, parallelTime, num, edge_prob[0]) print("Finished " + str(targetFunc)) @@ -124,35 +127,17 @@ def plot_timing_heatmap(targetFunc): [1, 0.8, 0.6, 0.4, 0.2] if targetFunc.__name__ not in tournament_funcs else [1] ) - speedup_df = pd.DataFrame( - np.inf, index=number_of_nodes, columns=edge_prob, dtype=float - ) + speedup_df = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=float) heatmap_annot = pd.DataFrame(index=number_of_nodes, columns=edge_prob, dtype=object) - nx_times = defaultdict(list) - parallel_times = defaultdict(list) - - trials = 5 - for trial in range(trials): - print(f"Trial {trial+1} of {trials}") - time_individual_function( - targetFunc, nx_times, parallel_times, number_of_nodes, edge_prob - ) - - for row in number_of_nodes: - for col in edge_prob: - key = (row, col) - minStdTime = min(nx_times[key]) - minParallelTime = min(parallel_times[key]) - timesFaster = minStdTime / minParallelTime - speedup_df.at[key] = timesFaster - heatmap_annot.at[key] = ( - f"{minParallelTime:.2g}s\n{speedup_df.at[row, col]:.2g}x" - ) + + time_individual_function( + targetFunc, number_of_nodes, edge_prob, speedup_df, heatmap_annot + ) # Plot the heatmap with performance speedup values plt.figure(figsize=(20, 4)) sns.heatmap( - data=speedup_df.T, annot=heatmap_annot.T, fmt="", cmap="RdYlGn", cbar=True + data=speedup_df.T, annot=heatmap_annot.T, fmt="", cmap="Greens", cbar=True ) plt.xticks( @@ -163,7 +148,8 @@ def plot_timing_heatmap(targetFunc): plt.title( "Small Scale Demo: Times Speedups of " + targetFunc.__name__ - + " compared to NetworkX" + + " compared to NetworkX for n_jobs=" + + str(nxp.get_n_jobs()) ) plt.xlabel("Number of Vertices") plt.ylabel("Edge Probability") @@ -172,4 +158,4 @@ def plot_timing_heatmap(targetFunc): plt.savefig("timing/" + "heatmap_" + targetFunc.__name__ + "_timing.png") -# plot_timing_heatmap(nx.algorithms.tournament.is_reachable) +plot_timing_heatmap(nx.algorithms.tournament.is_reachable) From 234cc436f3708f25b04aaa97f263eca2c3d2db77 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 13 Jun 2025 09:17:07 +0530 Subject: [PATCH 14/21] simplified bipartite logic --- timing/timing_individual_function.py | 38 ++++++++-------------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 04350e5..f22cc1b 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -55,36 +55,18 @@ def record_result(stdTime, parallelTime, row, col): n[ind], m[ind], p, seed=42, directed=True ) for cur_node in G.nodes: - neighbors = list(G.neighbors(cur_node)) + neighbors = set(G.neighbors(cur_node)) # Have atleast 2 outgoing edges - if len(neighbors) == 0: - G.add_edge( - cur_node, - random.choice([node for node in G if node != cur_node]), - ) - G.add_edge( - cur_node, - random.choice( - [ - node - for node in G.nodes - if node != cur_node - and node not in list(G.neighbors(cur_node)) - ] - ), - ) - elif len(neighbors) == 1: - G.add_edge( - cur_node, - random.choice( - [ - node - for node in G.nodes - if node != cur_node - and node not in list(G.neighbors(cur_node)) - ] - ), + while len(neighbors) < 2: + new_neighbor = random.choice( + [ + node + for node in G.nodes + if node != cur_node and node not in neighbors + ] ) + G.add_edge(cur_node, new_neighbor) + neighbors.add(new_neighbor) else: print(num) G = nx.fast_gnp_random_graph(num, p, seed=42, directed=True) From 4ec2ab2ed75c703f262b90cd3f081df0c58edf09 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 13 Jun 2025 13:09:33 +0530 Subject: [PATCH 15/21] optimised the visualization --- timing/heatmap_is_reachable_timing.png | Bin 30271 -> 50566 bytes timing/timing_individual_function.py | 67 +++++++++++++++++-------- 2 files changed, 45 insertions(+), 22 deletions(-) diff --git a/timing/heatmap_is_reachable_timing.png b/timing/heatmap_is_reachable_timing.png index 946ac242177afab5aad5e27e1b0091d516cf25a4..7e9976a5c37a464eb382e4dea8ef27b56c3bf141 100644 GIT binary patch literal 50566 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 diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index f22cc1b..80ae287 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -6,6 +6,7 @@ """ import timeit +import matplotlib.patches as mpatches import random import types import networkx as nx @@ -24,24 +25,27 @@ tournament_funcs = ["is_reachable", "tournament_is_strongly_connected"] bipartite_funcs = ["node_redundancy"] +random.seed(42) def time_individual_function( targetFunc, number_of_nodes, edge_prob, speedup_df, heatmap_annot, *, weighted=False ): def measure_time(G, *args): + repeat = 5 + def wrapper(): result = targetFunc(G, *args) if isinstance(result, types.GeneratorType): _ = dict(result) - times = timeit.repeat(wrapper, repeat=5, number=1) + times = timeit.repeat(wrapper, repeat=repeat, number=1) return min(times) def record_result(stdTime, parallelTime, row, col): timesFaster = stdTime / parallelTime speedup_df.at[row, col] = timesFaster - heatmap_annot.at[row, col] = f"{parallelTime:.2g}s\n{timesFaster:.2g}x" + heatmap_annot.at[row, col] = f"{parallelTime:.2g}s\n\n{timesFaster:.2g}x" if targetFunc.__name__ not in tournament_funcs: for p in edge_prob: @@ -51,9 +55,7 @@ def record_result(stdTime, parallelTime, row, col): n = [200, 400, 800, 1600] m = [100, 200, 400, 800] print(n[ind] + m[ind]) - G = nx.bipartite.random_graph( - n[ind], m[ind], p, seed=42, directed=True - ) + G = nx.bipartite.random_graph(n[ind], m[ind], p, directed=True) for cur_node in G.nodes: neighbors = set(G.neighbors(cur_node)) # Have atleast 2 outgoing edges @@ -69,7 +71,7 @@ def record_result(stdTime, parallelTime, row, col): neighbors.add(new_neighbor) else: print(num) - G = nx.fast_gnp_random_graph(num, p, seed=42, directed=True) + G = nx.fast_gnp_random_graph(num, p, directed=True) # for weighted graphs if weighted: @@ -89,7 +91,7 @@ def record_result(stdTime, parallelTime, row, col): # for tournament graphs for num in number_of_nodes: print(num) - G = nx.tournament.random_tournament(num, seed=42) + G = nx.tournament.random_tournament(num) H = nxp.ParallelGraph(G) parallelTime = measure_time(H, 1, num) print(parallelTime) @@ -116,28 +118,49 @@ def plot_timing_heatmap(targetFunc): targetFunc, number_of_nodes, edge_prob, speedup_df, heatmap_annot ) - # Plot the heatmap with performance speedup values - plt.figure(figsize=(20, 4)) - sns.heatmap( - data=speedup_df.T, annot=heatmap_annot.T, fmt="", cmap="Greens", cbar=True + plt.rcParams["font.family"] = "Arial Rounded MT Bold" + plt.figure(figsize=(20, 6)) + ax = sns.heatmap( + data=speedup_df.T, + annot=heatmap_annot.T, + annot_kws={"size": 12, "weight": "bold"}, + fmt="", + cmap="Greens", + cbar=True, ) - plt.xticks( - ticks=np.arange(len(number_of_nodes)) + 0.5, labels=number_of_nodes, rotation=45 + ax.set_xticks(np.arange(len(number_of_nodes)) + 0.5) + ax.set_xticklabels(number_of_nodes, rotation=45) + ax.set_yticks(np.arange(len(edge_prob)) + 0.5) + ax.set_yticklabels(edge_prob, rotation=20) + + ax.set_xlabel("Number of Vertices", fontweight="bold", fontsize=12) + ax.set_ylabel("Edge Probability", fontweight="bold", fontsize=12) + + n_jobs = nxp.get_n_jobs() + ax.set_title( + f"Small Scale Demo: Time Speedups of {targetFunc.__name__} compared to NetworkX on {n_jobs} cores", + fontweight="bold", + fontsize=14, + loc="left", ) - plt.yticks(ticks=np.arange(len(edge_prob)) + 0.5, labels=edge_prob, rotation=20) - plt.title( - "Small Scale Demo: Times Speedups of " - + targetFunc.__name__ - + " compared to NetworkX for n_jobs=" - + str(nxp.get_n_jobs()) + legend_patches = [ + mpatches.Patch(color="none", label="Top Line: Parallel runtime (s)"), + mpatches.Patch(color="none", label="Bottom Line: Speed-up"), + ] + ax.legend( + handles=legend_patches, + loc="lower right", + bbox_to_anchor=(1.0, 1.02), + title="Cell Annotation Format", + prop={"size": 12, "weight": "bold"}, ) - plt.xlabel("Number of Vertices") - plt.ylabel("Edge Probability") - print(targetFunc.__name__) + plt.tight_layout(rect=[0, 0, 1, 0.94]) plt.savefig("timing/" + "heatmap_" + targetFunc.__name__ + "_timing.png") plot_timing_heatmap(nx.algorithms.tournament.is_reachable) +# nx.algorithms.centrality.betweenness.betweenness_centrality +# nx.algorithms.tournament.is_reachable From b843714d281257dd3dc26262c649184ea09ef3ab Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 13 Jun 2025 13:33:47 +0530 Subject: [PATCH 16/21] minor edits --- timing/timing_individual_function.py | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 80ae287..212f5fa 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -1,21 +1,20 @@ """ -Performance analysis of parallel and NetworkX implementations of the input function. +Performance analysis of parallel and NetworkX implementations of the target function. To generate heatmaps for performance visualization, make sure to run: python3 -m pip install -e '.[heatmap]' """ -import timeit -import matplotlib.patches as mpatches -import random -import types import networkx as nx -import pandas as pd -import seaborn as sns -from matplotlib import pyplot as plt import nx_parallel as nxp -import joblib +from matplotlib import pyplot as plt, patches as mpatches +import seaborn as sns import numpy as np +import pandas as pd +import joblib +import timeit +import random +import types # Default Config joblib.parallel_config(n_jobs=-1) @@ -58,7 +57,7 @@ def record_result(stdTime, parallelTime, row, col): G = nx.bipartite.random_graph(n[ind], m[ind], p, directed=True) for cur_node in G.nodes: neighbors = set(G.neighbors(cur_node)) - # Have atleast 2 outgoing edges + # have atleast 2 outgoing edges while len(neighbors) < 2: new_neighbor = random.choice( [ @@ -161,6 +160,4 @@ def plot_timing_heatmap(targetFunc): plt.savefig("timing/" + "heatmap_" + targetFunc.__name__ + "_timing.png") -plot_timing_heatmap(nx.algorithms.tournament.is_reachable) -# nx.algorithms.centrality.betweenness.betweenness_centrality -# nx.algorithms.tournament.is_reachable +# plot_timing_heatmap(nx.algorithms.tournament.is_reachable) From 924bc2745de1477093a87632db8caada88d53208 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 20 Jun 2025 12:08:55 +0530 Subject: [PATCH 17/21] removed timing_all_functions --- timing/timing_all_functions.py | 78 ---------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 timing/timing_all_functions.py diff --git a/timing/timing_all_functions.py b/timing/timing_all_functions.py deleted file mode 100644 index fe1cba9..0000000 --- a/timing/timing_all_functions.py +++ /dev/null @@ -1,78 +0,0 @@ -import time - -import networkx as nx -import pandas as pd -import seaborn as sns -from matplotlib import pyplot as plt - -import nx_parallel - -# Code to create README heatmap for all functions in function_list -heatmapDF = pd.DataFrame() -function_list = [nx.betweenness_centrality, nx.closeness_vitality, nx.local_efficiency] -number_of_nodes_list = [10, 20, 50, 300, 600] - -for i in range(0, len(function_list)): - currFun = function_list[i] - for j in range(0, len(number_of_nodes_list)): - num = number_of_nodes_list[j] - - # create original and parallel graphs - G = nx.fast_gnp_random_graph(num, 0.5, directed=False) - H = nx_parallel.ParallelGraph(G) - - # time both versions and update heatmapDF - t1 = time.time() - c = currFun(H) - t2 = time.time() - parallelTime = t2 - t1 - t1 = time.time() - c = currFun(G) - t2 = time.time() - stdTime = t2 - t1 - timesFaster = stdTime / parallelTime - heatmapDF.at[j, i] = timesFaster - print("Finished " + str(currFun)) - -# Code to create for row of heatmap specifically for tournaments -for j in range(0, len(number_of_nodes_list)): - num = number_of_nodes_list[j] - G = nx.tournament.random_tournament(num) - H = nx_parallel.ParallelDiGraph(G) - t1 = time.time() - c = nx.tournament.is_reachable(H, 1, num) - t2 = time.time() - parallelTime = t2 - t1 - t1 = time.time() - c = nx.tournament.is_reachable(G, 1, num) - t2 = time.time() - stdTime = t2 - t1 - timesFaster = stdTime / parallelTime - heatmapDF.at[j, 3] = timesFaster - -# plotting the heatmap with numbers and a green color scheme -plt.figure(figsize=(20, 4)) -hm = sns.heatmap(data=heatmapDF.T, annot=True, cmap="Greens", cbar=True) - -# Remove the tick labels on both axes -hm.set_yticklabels( - [ - "betweenness_centrality", - "closeness_vitality", - "local_efficiency", - "tournament is_reachable", - ] -) - -# Adding x-axis labels -hm.set_xticklabels(number_of_nodes_list) - -# Rotating the x-axis labels for better readability (optional) -plt.xticks(rotation=45) -plt.yticks(rotation=20) -plt.title("Small Scale Demo: Times Speedups of nx_parallel compared to networkx") -plt.xlabel("Number of Vertices (edge probability of 0.5 except for tournaments)") -plt.ylabel("Algorithm") - -# displaying the plotted heatmap -plt.tight_layout() From f45627d67a3fd5f1d43cf9d4d963cb06bb846979 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Tue, 1 Jul 2025 16:00:43 +0530 Subject: [PATCH 18/21] removed timing_comparision.md --- timing/timing_comparison.md | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 timing/timing_comparison.md diff --git a/timing/timing_comparison.md b/timing/timing_comparison.md deleted file mode 100644 index ea33170..0000000 --- a/timing/timing_comparison.md +++ /dev/null @@ -1,32 +0,0 @@ -# Timing Comparisons - ---- - -Model: 13-inch MacBook Pro (2020) - -CPU: 2 GHz Quad-Core Intel Core i5 - -RAM: 16 GB LPDDR4X at 3733 MHz - -Code to generate heatmaps in timing_individual_function.py and timing_all_functions.py. - -## All parallelized functions at this time: - -![alt text](heatmap_all_functions.png) - -## Individual functions: - -betweenness_centrality -![alt text](heatmap_betweenness_centrality_timing.png) - -closeness_vitality -![alt text](heatmap_closeness_vitality_timing.png) - -local_efficiency -![alt text](heatmap_local_efficiency_timing.png) - -tournament is_reachable -![alt text](heatmap_is_reachable_timing.png) - -all_pairs_bellman_ford_path -![alt text](heatmap_all_pairs_bellman_ford_path_timing.png) From aab4245f4cfe2de37773c1396f8cdc663210d10d Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 4 Jul 2025 19:38:42 +0530 Subject: [PATCH 19/21] Revert "removed timing_comparision.md" This reverts commit f45627d67a3fd5f1d43cf9d4d963cb06bb846979. --- timing/timing_comparison.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 timing/timing_comparison.md diff --git a/timing/timing_comparison.md b/timing/timing_comparison.md new file mode 100644 index 0000000..ea33170 --- /dev/null +++ b/timing/timing_comparison.md @@ -0,0 +1,32 @@ +# Timing Comparisons + +--- + +Model: 13-inch MacBook Pro (2020) + +CPU: 2 GHz Quad-Core Intel Core i5 + +RAM: 16 GB LPDDR4X at 3733 MHz + +Code to generate heatmaps in timing_individual_function.py and timing_all_functions.py. + +## All parallelized functions at this time: + +![alt text](heatmap_all_functions.png) + +## Individual functions: + +betweenness_centrality +![alt text](heatmap_betweenness_centrality_timing.png) + +closeness_vitality +![alt text](heatmap_closeness_vitality_timing.png) + +local_efficiency +![alt text](heatmap_local_efficiency_timing.png) + +tournament is_reachable +![alt text](heatmap_is_reachable_timing.png) + +all_pairs_bellman_ford_path +![alt text](heatmap_all_pairs_bellman_ford_path_timing.png) From 79cf08c2b74628d36d8e43f32fed2d6832a1eac0 Mon Sep 17 00:00:00 2001 From: Akshita Sure Date: Fri, 4 Jul 2025 19:39:44 +0530 Subject: [PATCH 20/21] Revert "removed timing_all_functions" This reverts commit 924bc2745de1477093a87632db8caada88d53208. --- timing/timing_all_functions.py | 78 ++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 timing/timing_all_functions.py diff --git a/timing/timing_all_functions.py b/timing/timing_all_functions.py new file mode 100644 index 0000000..fe1cba9 --- /dev/null +++ b/timing/timing_all_functions.py @@ -0,0 +1,78 @@ +import time + +import networkx as nx +import pandas as pd +import seaborn as sns +from matplotlib import pyplot as plt + +import nx_parallel + +# Code to create README heatmap for all functions in function_list +heatmapDF = pd.DataFrame() +function_list = [nx.betweenness_centrality, nx.closeness_vitality, nx.local_efficiency] +number_of_nodes_list = [10, 20, 50, 300, 600] + +for i in range(0, len(function_list)): + currFun = function_list[i] + for j in range(0, len(number_of_nodes_list)): + num = number_of_nodes_list[j] + + # create original and parallel graphs + G = nx.fast_gnp_random_graph(num, 0.5, directed=False) + H = nx_parallel.ParallelGraph(G) + + # time both versions and update heatmapDF + t1 = time.time() + c = currFun(H) + t2 = time.time() + parallelTime = t2 - t1 + t1 = time.time() + c = currFun(G) + t2 = time.time() + stdTime = t2 - t1 + timesFaster = stdTime / parallelTime + heatmapDF.at[j, i] = timesFaster + print("Finished " + str(currFun)) + +# Code to create for row of heatmap specifically for tournaments +for j in range(0, len(number_of_nodes_list)): + num = number_of_nodes_list[j] + G = nx.tournament.random_tournament(num) + H = nx_parallel.ParallelDiGraph(G) + t1 = time.time() + c = nx.tournament.is_reachable(H, 1, num) + t2 = time.time() + parallelTime = t2 - t1 + t1 = time.time() + c = nx.tournament.is_reachable(G, 1, num) + t2 = time.time() + stdTime = t2 - t1 + timesFaster = stdTime / parallelTime + heatmapDF.at[j, 3] = timesFaster + +# plotting the heatmap with numbers and a green color scheme +plt.figure(figsize=(20, 4)) +hm = sns.heatmap(data=heatmapDF.T, annot=True, cmap="Greens", cbar=True) + +# Remove the tick labels on both axes +hm.set_yticklabels( + [ + "betweenness_centrality", + "closeness_vitality", + "local_efficiency", + "tournament is_reachable", + ] +) + +# Adding x-axis labels +hm.set_xticklabels(number_of_nodes_list) + +# Rotating the x-axis labels for better readability (optional) +plt.xticks(rotation=45) +plt.yticks(rotation=20) +plt.title("Small Scale Demo: Times Speedups of nx_parallel compared to networkx") +plt.xlabel("Number of Vertices (edge probability of 0.5 except for tournaments)") +plt.ylabel("Algorithm") + +# displaying the plotted heatmap +plt.tight_layout() From 3edf1d8fffeccc055e0e8a27286552140ee2fc72 Mon Sep 17 00:00:00 2001 From: akshita <145579024+akshitasure12@users.noreply.github.com> Date: Fri, 4 Jul 2025 19:41:05 +0530 Subject: [PATCH 21/21] update installation text Co-authored-by: Aditi Juneja <91629733+Schefflera-Arboricola@users.noreply.github.com> --- timing/timing_individual_function.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/timing/timing_individual_function.py b/timing/timing_individual_function.py index 212f5fa..1f2e04f 100644 --- a/timing/timing_individual_function.py +++ b/timing/timing_individual_function.py @@ -1,7 +1,5 @@ """ -Performance analysis of parallel and NetworkX implementations of the target function. - -To generate heatmaps for performance visualization, make sure to run: +To generate heatmaps comparing the performance of nx-parallel and NetworkX implementations, make sure to run: python3 -m pip install -e '.[heatmap]' """