diff --git a/tests/pagerank/subrank_demo_notebook.ipynb b/tests/pagerank/subrank_demo_notebook.ipynb index 4296d5d..fab979e 100644 --- a/tests/pagerank/subrank_demo_notebook.ipynb +++ b/tests/pagerank/subrank_demo_notebook.ipynb @@ -23,36 +23,40 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 71, "outputs": [], "source": [ "# Imports\n", "from nostr_dvm.utils.wot_utils import build_network_from, save_network, load_network, get_mc_pagerank, get_subrank\n", + "from nostr_sdk import PublicKey\n", "import time\n", "import networkx as nx\n", - "import random\n" + "import random\n", + "from itertools import islice\n", + "\n" ], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-30T10:08:53.401249Z", - "start_time": "2024-07-30T10:08:53.392291Z" + "end_time": "2024-07-30T13:22:26.751361Z", + "start_time": "2024-07-30T13:22:26.708967Z" } }, "id": "5ac404375ef61608" }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 75, "outputs": [], "source": [ - "user = '99bb5591c9116600f845107d31f9b59e2f7c7e09a1ff802e84f1d43da557ca64'\n" + "user = '99bb5591c9116600f845107d31f9b59e2f7c7e09a1ff802e84f1d43da557ca64'\n", + "show_results_num = 20" ], "metadata": { "collapsed": false, "ExecuteTime": { - "end_time": "2024-07-30T10:08:55.064034Z", - "start_time": "2024-07-30T10:08:55.058138Z" + "end_time": "2024-07-30T13:24:50.792302Z", + "start_time": "2024-07-30T13:24:50.756816Z" } }, "id": "8d89d517de8b506e" @@ -98,12 +102,12 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 76, "id": "f5a48d91-80e1-4016-8030-9ac9ef0ab1af", "metadata": { "ExecuteTime": { - "end_time": "2024-07-30T10:09:48.642929Z", - "start_time": "2024-07-30T10:09:47.534981Z" + "end_time": "2024-07-30T13:24:57.460302Z", + "start_time": "2024-07-30T13:24:56.525858Z" } }, "outputs": [ @@ -112,7 +116,7 @@ "output_type": "stream", "text": [ "loading the database...\n", - "finished in 1.1044838428497314 seconds\n" + "finished in 0.9305830001831055 seconds\n" ] } ], @@ -140,12 +144,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 77, "id": "bc5a4f83-d5b9-4def-a7f7-403cd0beedfe", "metadata": { "ExecuteTime": { - "end_time": "2024-07-30T10:09:52.561819Z", - "start_time": "2024-07-30T10:09:51.533522Z" + "end_time": "2024-07-30T13:25:02.210417Z", + "start_time": "2024-07-30T13:25:01.035876Z" } }, "outputs": [ @@ -154,7 +158,27 @@ "output_type": "stream", "text": [ "computing global pagerank...\n", - "finished in 1.036012887954712 seconds\n" + "npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8 8.17420152364383e-05\n", + "npub1aeh2zw4elewy5682lxc6xnlqzjnxksq303gwu2npfaxd49vmde6qcq4nwx 5.782689313706971e-05\n", + "npub10fu0hlkx3s4n4dsgfu0cpqephga4afr4qtzpz9vsyqf7vj88v2yqdp8vp4 4.2360772179521104e-05\n", + "npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 4.714319787019475e-05\n", + "npub1e30jt8crv6phnrj22gr3mwuhywrs9lak7ry94akjw0ydm0juptas5xmkwq 2.8456329932975766e-05\n", + "npub1tr4dstaptd2sp98h7hlysp8qle6mw7wmauhfkgz3rmxdd8ndprusnw2y5g 4.3253896241013506e-05\n", + "npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc 6.09543251259536e-05\n", + "npub1hu3hdctm5nkzd8gslnyedfr5ddz3z547jqcl5j88g4fame2jd08qh6h8nh 7.947486834509654e-05\n", + "npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 9.098197147408706e-05\n", + "npub102a0auqvye3eayugvfwy44un9l477t45uck8s2p08xzpgh784uvslsh7w9 3.646167073617604e-05\n", + "npub148xfa6g0e6rqxne88vzfwqag43qk8xuugthptgkzp6qencs6ad9s3rzddg 2.675817761455185e-05\n", + "npub1s05p3ha7en49dv8429tkk07nnfa9pcwczkf5x5qrdraqshxdje9sq6eyhe 8.070732704308375e-05\n", + "npub1yp7wfa7msdpusf4vupzttttu2mx3cns7whx5cgkt4yr9pkpvujus2mzys7 3.473073977961172e-05\n", + "npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8 9.44024020631286e-05\n", + "npub1sqaxzwvh5fhgw9q3d7v658ucapvfeds3dcd2587fcwyesn7dnwuqt2r45v 4.817683202910838e-05\n", + "npub1vwymuey3u7mf860ndrkw3r7dz30s0srg6tqmhtjzg7umtm6rn5eq2qzugd 5.395497768621135e-05\n", + "npub1qny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysew95gx 0.0001313344661339858\n", + "npub1jhgmf58wdd4mwe4t95ffea079kjxc7f62ncg9gdjmwcrmy0x6x8sfd8u8c 2.90586145074687e-05\n", + "npub1s5yq6wadwrxde4lhfs56gn64hwzuhnfa6r9mj476r5s4hkunzgzqrs6q7z 8.576070476842701e-05\n", + "npub15dqlghlewk84wz3pkqqvzl2w2w36f97g89ljds8x6c094nlu02vqjllm5m 8.248128484477218e-05\n", + "finished in 1.1764459609985352 seconds\n" ] } ], @@ -164,7 +188,9 @@ "tic = time.time()\n", "\n", "p_G = nx.pagerank(G, tol=1e-12)\n", - "\n", + "for item in islice(p_G, show_results_num): \n", + " print(next((PublicKey.parse(pubkey).to_bech32() for pubkey, id in index_map.items() if id == item), None) + \" \" + str(p_G[item]))\n", + " \n", "toc = time.time()\n", "print(f'finished in {toc-tic} seconds')" ] @@ -182,12 +208,12 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 78, "id": "68bbe6d2-c19a-4a84-8ba0-13ae2b6e13d6", "metadata": { "ExecuteTime": { - "end_time": "2024-07-30T10:09:57.331397Z", - "start_time": "2024-07-30T10:09:56.433680Z" + "end_time": "2024-07-30T13:25:07.077798Z", + "start_time": "2024-07-30T13:25:06.183493Z" } }, "outputs": [ @@ -197,12 +223,34 @@ "text": [ "progress = 100% \r\n", "Total walks performed: 440290\n", - "performed random walks in 1.0430760383605957 seconds\n", - "error pagerank vs mc pagerank in G = 0.020183034486847724\n" + "npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8 6.396075897159921e-05\n", + "npub1aeh2zw4elewy5682lxc6xnlqzjnxksq303gwu2npfaxd49vmde6qcq4nwx 4.6316411669089085e-05\n", + "npub10fu0hlkx3s4n4dsgfu0cpqephga4afr4qtzpz9vsyqf7vj88v2yqdp8vp4 3.969978143064779e-05\n", + "npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 4.852195508190285e-05\n", + "npub1e30jt8crv6phnrj22gr3mwuhywrs9lak7ry94akjw0ydm0juptas5xmkwq 3.087760777939272e-05\n", + "npub1tr4dstaptd2sp98h7hlysp8qle6mw7wmauhfkgz3rmxdd8ndprusnw2y5g 4.6316411669089085e-05\n", + "npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc 5.954967214597168e-05\n", + "npub1hu3hdctm5nkzd8gslnyedfr5ddz3z547jqcl5j88g4fame2jd08qh6h8nh 0.00012130488770475713\n", + "npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 7.278293262285428e-05\n", + "npub102a0auqvye3eayugvfwy44un9l477t45uck8s2p08xzpgh784uvslsh7w9 3.308315119220649e-05\n", + "npub148xfa6g0e6rqxne88vzfwqag43qk8xuugthptgkzp6qencs6ad9s3rzddg 2.205543412813766e-05\n", + "npub1s05p3ha7en49dv8429tkk07nnfa9pcwczkf5x5qrdraqshxdje9sq6eyhe 6.175521555878544e-05\n", + "npub1yp7wfa7msdpusf4vupzttttu2mx3cns7whx5cgkt4yr9pkpvujus2mzys7 3.5288694605020256e-05\n", + "npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8 7.498847603566805e-05\n", + "npub1sqaxzwvh5fhgw9q3d7v658ucapvfeds3dcd2587fcwyesn7dnwuqt2r45v 5.293304190753039e-05\n", + "npub1vwymuey3u7mf860ndrkw3r7dz30s0srg6tqmhtjzg7umtm6rn5eq2qzugd 4.190532484346155e-05\n", + "npub1qny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysew95gx 0.00013453814818163972\n", + "npub1jhgmf58wdd4mwe4t95ffea079kjxc7f62ncg9gdjmwcrmy0x6x8sfd8u8c 2.6466520953765193e-05\n", + "npub1s5yq6wadwrxde4lhfs56gn64hwzuhnfa6r9mj476r5s4hkunzgzqrs6q7z 7.719401944848181e-05\n", + "npub15dqlghlewk84wz3pkqqvzl2w2w36f97g89ljds8x6c094nlu02vqjllm5m 8.822173651255064e-05\n", + "performed random walks in 0.9220361709594727 seconds\n", + "error pagerank vs mc pagerank in G = 0.020224335435614197\n" ] } ], "source": [ + "\n", + "\n", "# number of the random walks per node\n", "R = 10\n", "\n", @@ -214,6 +262,11 @@ "# perform the random walks and get the monte-carlo pagerank\n", "walk_visited_count, mc_pagerank = get_mc_pagerank(G, R, nodelist)\n", "\n", + "for item in islice(mc_pagerank, show_results_num): \n", + " print(next((PublicKey.parse(pubkey).to_bech32() for pubkey, id in index_map.items() if id == item), None) + \" \" + str(mc_pagerank[item]))\n", + " \n", + "\n", + "\n", "toc = time.time()\n", "print(f'performed random walks in {toc-tic} seconds')\n", "\n", @@ -236,12 +289,12 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 79, "id": "c00c005e-2064-4975-acb6-3bcf52eb8594", "metadata": { "ExecuteTime": { - "end_time": "2024-07-30T10:10:05.324793Z", - "start_time": "2024-07-30T10:10:05.306277Z" + "end_time": "2024-07-30T13:25:11.941940Z", + "start_time": "2024-07-30T13:25:11.924618Z" } }, "outputs": [ @@ -250,7 +303,27 @@ "output_type": "stream", "text": [ "computing local pagerank...\n", - "finished in 0.0029449462890625 seconds\n" + "npub1w4wzw7kw55f8pn79294336gunrcghj7p93zprjmujwmd7e2ku6wqlctnak 0.0019403122617013325\n", + "npub1z7a4z26ety804299p4p48q5v9mnw0jq68x9tqurzfhn88x95zg3qqrjr5d 0.0019403122617013325\n", + "npub1942jsnasalxfefjevx27g093rucxjjran6vt0t90nvhs7ff74p9s76dsgu 0.0019403122617013325\n", + "npub1w0j5jrhjlxj024ac7mgv0gpf45k2tjsdtrvcmqk33ksc9cnvsqkqmg6fcn 0.0019403122617013325\n", + "npub13eh4qjfnkyc52939wejgrdzur57hcut864wfqe03vquveavrch6sgyds4q 0.0019403122617013325\n", + "npub1gywa7ftf537ry82tmvtqn0tn4vqw567hzv2gux7wyryf93699jhqt3qrws 0.0019403122617013325\n", + "npub187q40r5ymawxz57dxss36h4urxd78mg3zwnl62q5mdpj57tn9xeq74jrlz 0.0021599470503889952\n", + "npub1qlk8uk9dvmzv202uju3t6wpk3skgpreg7szp2zaqt3wslvnkw23sj4ggu5 0.0019403122617013325\n", + "npub1a3kwv96mlffyp6xlg08dlqdxgmh9vl9kjce40q0qk0x5a3hv7hxsch7mft 0.0019403122617013325\n", + "npub1sjes9vqsdnk0qtfkulfvjxp4wgwn9df5fe9xceyfktx2vakle0tq8lyswv 0.0019403122617013325\n", + "npub1qx6kgzfm3z5qlffxnunsgnsaagwcxt6klx6q7gry56arj5r0yl3qgkqf4d 0.0019403122617013325\n", + "npub10xllzv9d6ds4vw4pt7x3y42m44h9qkyp6e9x4rgur8gpfpq08weqdw70vw 0.0019403122617013325\n", + "npub1ra85yapyuzdrwulx6tca6rfdsgeq5zc80f9d00jqv2xqylpkwf2s8ew58r 0.0019403122617013325\n", + "npub1sastsja4ekzlve26ss6mfgxhet3m72j2fad3ngcsfzljzazk7gmsvdfksm 0.002077751046921736\n", + "npub1gampnld2kwqygallrk7ue6gy2hxsxzr6e4jguq94vyn7j8wsx08sj8c60q 0.0019403122617013325\n", + "npub1vflku9lkxpea58j7ykh0l482c6f8atn23nvz6t6q59pcfd2wvpeqvwkt8l 0.0019403122617013325\n", + "npub1w9ek5pzf5yvvs2c5g2cwcm69xk7ermh2x8y9am9xsnk0krqd0rtsdyme5e 0.0019403122617013325\n", + "npub1chkxvn0rw25k07mvsxuwkha67u8mafys2wjch37fzdgqne8c4ltqgf7t3a 0.0019403122617013325\n", + "npub1s04vc7tppyhsvcq5gdrdc42vezvwwfnrzhsd5cskatgtt68f36rq2fwvka 0.0019403122617013325\n", + "npub10ghf4vfsu5uaza8atldrelck96dxn573g2m23j85fhtzfr4500dsvanj4d 0.0019403122617013325\n", + "finished in 0.015357017517089844 seconds\n" ] } ], @@ -265,6 +338,10 @@ "\n", "p_S = nx.pagerank(S, tol=1e-12)\n", "\n", + "for item in islice(p_S, show_results_num): \n", + " print(next((PublicKey.parse(pubkey).to_bech32() for pubkey, id in index_map.items() if id == item), None) + \" \" + str(p_S[item]))\n", + " \n", + "\n", "toc = time.time()\n", "print(f'finished in {toc-tic} seconds')" ] @@ -281,12 +358,74 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 80, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "computing subrank over S...\n", + "npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8 7.340804412661138e-05\n", + "npub1aeh2zw4elewy5682lxc6xnlqzjnxksq303gwu2npfaxd49vmde6qcq4nwx 4.826197846937513e-05\n", + "npub10fu0hlkx3s4n4dsgfu0cpqephga4afr4qtzpz9vsyqf7vj88v2yqdp8vp4 3.6176643624020644e-05\n", + "npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 3.9090310488700045e-05\n", + "npub1e30jt8crv6phnrj22gr3mwuhywrs9lak7ry94akjw0ydm0juptas5xmkwq 2.6394042370260256e-05\n", + "npub1tr4dstaptd2sp98h7hlysp8qle6mw7wmauhfkgz3rmxdd8ndprusnw2y5g 3.747815570363107e-05\n", + "npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc 5.013747945548998e-05\n", + "npub1hu3hdctm5nkzd8gslnyedfr5ddz3z547jqcl5j88g4fame2jd08qh6h8nh 6.260807013551759e-05\n", + "npub18ams6ewn5aj2n3wt2qawzglx9mr4nzksxhvrdc4gzrecw7n5tvjqctp424 7.07661040710278e-05\n", + "npub102a0auqvye3eayugvfwy44un9l477t45uck8s2p08xzpgh784uvslsh7w9 3.270039456677615e-05\n", + "npub148xfa6g0e6rqxne88vzfwqag43qk8xuugthptgkzp6qencs6ad9s3rzddg 2.5634274760323094e-05\n", + "npub1s05p3ha7en49dv8429tkk07nnfa9pcwczkf5x5qrdraqshxdje9sq6eyhe 6.456562220321163e-05\n", + "npub1yp7wfa7msdpusf4vupzttttu2mx3cns7whx5cgkt4yr9pkpvujus2mzys7 3.215552366695387e-05\n", + "npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8 7.053654886717582e-05\n", + "npub1sqaxzwvh5fhgw9q3d7v658ucapvfeds3dcd2587fcwyesn7dnwuqt2r45v 4.0600964721155e-05\n", + "npub1vwymuey3u7mf860ndrkw3r7dz30s0srg6tqmhtjzg7umtm6rn5eq2qzugd 4.510949159656128e-05\n", + "npub1qny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysew95gx 0.00010438144531984322\n", + "npub1jhgmf58wdd4mwe4t95ffea079kjxc7f62ncg9gdjmwcrmy0x6x8sfd8u8c 2.771843675019462e-05\n", + "npub1s5yq6wadwrxde4lhfs56gn64hwzuhnfa6r9mj476r5s4hkunzgzqrs6q7z 6.66918997774174e-05\n", + "npub15dqlghlewk84wz3pkqqvzl2w2w36f97g89ljds8x6c094nlu02vqjllm5m 6.681343999041084e-05\n", + "performed random walks in -4.498226881027222 seconds\n", + "error pagerank vs subrank in S = 0.9885830593763663\n" + ] + } + ], + "source": [ + "# computing subrank\n", + "print('computing subrank over S...')\n", + "tic = time.time()\n", + "\n", + "pr = nx.pagerank(G)\n", + "for item in islice(pr, show_results_num): \n", + " print(next((PublicKey.parse(pubkey).to_bech32() for pubkey, id in index_map.items() if id == item), None) + \" \" + str(pr[item]))\n", + " \n", + "\n", + "\n", + "print(f'performed random walks in {toc-tic} seconds')\n", + "\n", + "# computing the L1 error\n", + "error_S_subrank = sum( abs(p_S[node] - pr[node])\n", + " for node in S_nodes )\n", + "\n", + "print(f'error pagerank vs subrank in S = {error_S_subrank}')" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-07-30T13:25:17.347659Z", + "start_time": "2024-07-30T13:25:16.473516Z" + } + }, + "id": "98adf91155b2429b" + }, + { + "cell_type": "code", + "execution_count": 81, "id": "41637e2b-1998-43ff-9811-a7bbe658d742", "metadata": { "ExecuteTime": { - "end_time": "2024-07-30T10:10:07.197429Z", - "start_time": "2024-07-30T10:10:07.109108Z" + "end_time": "2024-07-30T13:25:18.693412Z", + "start_time": "2024-07-30T13:25:18.627987Z" } }, "outputs": [ @@ -295,9 +434,29 @@ "output_type": "stream", "text": [ "computing subrank over S...\n", - "walks performed = 157\n", - "performed random walks in 0.05398416519165039 seconds\n", - "error pagerank vs subrank in S = 0.017882599344811713\n" + "walks performed = 118\n", + "npub1w4wzw7kw55f8pn79294336gunrcghj7p93zprjmujwmd7e2ku6wqlctnak 0.0019409937888198758\n", + "npub1z7a4z26ety804299p4p48q5v9mnw0jq68x9tqurzfhn88x95zg3qqrjr5d 0.0019409937888198758\n", + "npub1942jsnasalxfefjevx27g093rucxjjran6vt0t90nvhs7ff74p9s76dsgu 0.0019409937888198758\n", + "npub1w0j5jrhjlxj024ac7mgv0gpf45k2tjsdtrvcmqk33ksc9cnvsqkqmg6fcn 0.0019409937888198758\n", + "npub13eh4qjfnkyc52939wejgrdzur57hcut864wfqe03vquveavrch6sgyds4q 0.0019409937888198758\n", + "npub1gywa7ftf537ry82tmvtqn0tn4vqw567hzv2gux7wyryf93699jhqt3qrws 0.0019409937888198758\n", + "npub187q40r5ymawxz57dxss36h4urxd78mg3zwnl62q5mdpj57tn9xeq74jrlz 0.0021350931677018635\n", + "npub1qlk8uk9dvmzv202uju3t6wpk3skgpreg7szp2zaqt3wslvnkw23sj4ggu5 0.0019409937888198758\n", + "npub1a3kwv96mlffyp6xlg08dlqdxgmh9vl9kjce40q0qk0x5a3hv7hxsch7mft 0.0019409937888198758\n", + "npub1sjes9vqsdnk0qtfkulfvjxp4wgwn9df5fe9xceyfktx2vakle0tq8lyswv 0.0019409937888198758\n", + "npub1qx6kgzfm3z5qlffxnunsgnsaagwcxt6klx6q7gry56arj5r0yl3qgkqf4d 0.0019409937888198758\n", + "npub10xllzv9d6ds4vw4pt7x3y42m44h9qkyp6e9x4rgur8gpfpq08weqdw70vw 0.0019409937888198758\n", + "npub1ra85yapyuzdrwulx6tca6rfdsgeq5zc80f9d00jqv2xqylpkwf2s8ew58r 0.0019409937888198758\n", + "npub1sastsja4ekzlve26ss6mfgxhet3m72j2fad3ngcsfzljzazk7gmsvdfksm 0.0021350931677018635\n", + "npub1gampnld2kwqygallrk7ue6gy2hxsxzr6e4jguq94vyn7j8wsx08sj8c60q 0.0019409937888198758\n", + "npub1vflku9lkxpea58j7ykh0l482c6f8atn23nvz6t6q59pcfd2wvpeqvwkt8l 0.0019409937888198758\n", + "npub1w9ek5pzf5yvvs2c5g2cwcm69xk7ermh2x8y9am9xsnk0krqd0rtsdyme5e 0.0019409937888198758\n", + "npub1chkxvn0rw25k07mvsxuwkha67u8mafys2wjch37fzdgqne8c4ltqgf7t3a 0.0019409937888198758\n", + "npub1s04vc7tppyhsvcq5gdrdc42vezvwwfnrzhsd5cskatgtt68f36rq2fwvka 0.0019409937888198758\n", + "npub10ghf4vfsu5uaza8atldrelck96dxn573g2m23j85fhtzfr4500dsvanj4d 0.0019409937888198758\n", + "performed random walks in -6.684823989868164 seconds\n", + "error pagerank vs subrank in S = 0.007424393194423837\n" ] } ], @@ -307,8 +466,11 @@ "tic = time.time()\n", "\n", "subrank = get_subrank(S, G, walk_visited_count, nodelist)\n", + "for item in islice(subrank, show_results_num): \n", + " print(next((PublicKey.parse(pubkey).to_bech32() for pubkey, id in index_map.items() if id == item), None) + \" \" + str(subrank[item]))\n", + " \n", + "\n", "\n", - "toc = time.time()\n", "print(f'performed random walks in {toc-tic} seconds')\n", "\n", "# computing the L1 error\n", @@ -330,12 +492,12 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 82, "id": "14907960-116b-405d-9f73-85e625958050", "metadata": { "ExecuteTime": { - "end_time": "2024-07-30T10:10:09.835445Z", - "start_time": "2024-07-30T10:10:09.828723Z" + "end_time": "2024-07-30T13:25:21.359765Z", + "start_time": "2024-07-30T13:25:21.329Z" } }, "outputs": [ @@ -346,8 +508,28 @@ "computing naive monte-carlo pagerank over S\n", "progress = 100% \r\n", "Total walks performed: 5000\n", - "finished in 0.010932207107543945 seconds\n", - "error pagerank vs mc pagerank in S = 0.020285385444477645\n" + "npub1w4wzw7kw55f8pn79294336gunrcghj7p93zprjmujwmd7e2ku6wqlctnak 0.0019372336303758234\n", + "npub1z7a4z26ety804299p4p48q5v9mnw0jq68x9tqurzfhn88x95zg3qqrjr5d 0.0019372336303758234\n", + "npub1942jsnasalxfefjevx27g093rucxjjran6vt0t90nvhs7ff74p9s76dsgu 0.0019372336303758234\n", + "npub1w0j5jrhjlxj024ac7mgv0gpf45k2tjsdtrvcmqk33ksc9cnvsqkqmg6fcn 0.0019372336303758234\n", + "npub13eh4qjfnkyc52939wejgrdzur57hcut864wfqe03vquveavrch6sgyds4q 0.0019372336303758234\n", + "npub1gywa7ftf537ry82tmvtqn0tn4vqw567hzv2gux7wyryf93699jhqt3qrws 0.0019372336303758234\n", + "npub187q40r5ymawxz57dxss36h4urxd78mg3zwnl62q5mdpj57tn9xeq74jrlz 0.0019372336303758234\n", + "npub1qlk8uk9dvmzv202uju3t6wpk3skgpreg7szp2zaqt3wslvnkw23sj4ggu5 0.0019372336303758234\n", + "npub1a3kwv96mlffyp6xlg08dlqdxgmh9vl9kjce40q0qk0x5a3hv7hxsch7mft 0.0019372336303758234\n", + "npub1sjes9vqsdnk0qtfkulfvjxp4wgwn9df5fe9xceyfktx2vakle0tq8lyswv 0.0019372336303758234\n", + "npub1qx6kgzfm3z5qlffxnunsgnsaagwcxt6klx6q7gry56arj5r0yl3qgkqf4d 0.0019372336303758234\n", + "npub10xllzv9d6ds4vw4pt7x3y42m44h9qkyp6e9x4rgur8gpfpq08weqdw70vw 0.0019372336303758234\n", + "npub1ra85yapyuzdrwulx6tca6rfdsgeq5zc80f9d00jqv2xqylpkwf2s8ew58r 0.0019372336303758234\n", + "npub1sastsja4ekzlve26ss6mfgxhet3m72j2fad3ngcsfzljzazk7gmsvdfksm 0.0019372336303758234\n", + "npub1gampnld2kwqygallrk7ue6gy2hxsxzr6e4jguq94vyn7j8wsx08sj8c60q 0.0019372336303758234\n", + "npub1vflku9lkxpea58j7ykh0l482c6f8atn23nvz6t6q59pcfd2wvpeqvwkt8l 0.0019372336303758234\n", + "npub1w9ek5pzf5yvvs2c5g2cwcm69xk7ermh2x8y9am9xsnk0krqd0rtsdyme5e 0.0019372336303758234\n", + "npub1chkxvn0rw25k07mvsxuwkha67u8mafys2wjch37fzdgqne8c4ltqgf7t3a 0.0019372336303758234\n", + "npub1s04vc7tppyhsvcq5gdrdc42vezvwwfnrzhsd5cskatgtt68f36rq2fwvka 0.0019372336303758234\n", + "npub10ghf4vfsu5uaza8atldrelck96dxn573g2m23j85fhtzfr4500dsvanj4d 0.0019372336303758234\n", + "finished in 0.030786752700805664 seconds\n", + "error pagerank vs mc pagerank in S = 0.016528733598008816\n" ] } ], @@ -358,6 +540,12 @@ "\n", "_, mc_pagerank_S_naive = get_mc_pagerank(S,R)\n", "\n", + "for item in islice(mc_pagerank_S_naive, show_results_num): \n", + " print(next((PublicKey.parse(pubkey).to_bech32() for pubkey, id in index_map.items() if id == item), None) + \" \" + str(mc_pagerank_S_naive[item]))\n", + " \n", + "\n", + "\n", + "\n", "toc = time.time()\n", "print(f'finished in {toc-tic} seconds')\n", "\n", @@ -367,16 +555,6 @@ "\n", "print(f'error pagerank vs mc pagerank in S = {error_S_naive}')" ] - }, - { - "cell_type": "code", - "execution_count": null, - "outputs": [], - "source": [], - "metadata": { - "collapsed": false - }, - "id": "9387d4e26e992252" } ], "metadata": {