New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Algorithm for Top-K Closeness Centralities #19031
Comments
Changed keywords from none to Closeness Centrality, top-k |
This comment has been minimized.
This comment has been minimized.
Author: Michele Borassi |
Commit: |
comment:5
Hello! This is the first draft of this new closeness centrality algorithm. It is able to conclude in reasonable time even on very big graphs, with millions of nodes and billions of edges. The new algorithm is in the last commit (while all previous commits simply merge with dependent tickets). See you, Michele |
comment:6
A first round of comments. In method
For method Method counting sort: no comment, but in the future we should certainly create a method somewhere. In method
David. |
comment:7
Replying to @dcoudert:
Done!
Done!
Done!
Well, it's a bit tricky. The point is that in the recursion for
I don't think so,
Done
Agree!
Done!
Done! I left it because I had to test it 100,000 times to find the last bug...
Yep: !http://docs.cython.org/src/reference/language_basics.html
Done!
I added an 'if' at the end of the loop.
Hmm, correct, but I realized that I could do a little better by slightly changing the implementation. So this does not apply anymore. |
comment:9
Is it mentioned somewhere?
Right, it should be
That's a lot!
That's funny. Can we always assume that Instead of About the behavior when
That's all for now ;) David. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:11
I added two inline comments to explain it.
Done!
Yep. The only instructions that modify the farness are
Done!
No, it should be the same (actually, a bit slower because we make some computations during the BFSes).
Done! |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:13
So you should add a test |
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:16
Helloooooooo! After we moved Cheers, Michele |
Reviewer: David Coudert |
comment:17
Is not such a big deal to do
and it's documented. Other methods such as hyperbolicity, pathwidth, etc. must be imported for similar reasons. As soon as we will find a reasonable solution for lazy import, we may add it in another ticket. I set this patch to positive review. David. |
comment:18
On 32-bit Linux:
|
comment:19
Michele, in this tests, nodes 2 and 7 are both correct answers since we have:
The good point is that the numbers are the same on both machines ;) One part of the solution is to call However, for the performance ratio it is more difficult. David. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:22
Hello! I have installed Sage on a 32bit Virtual Machine: the problem was a comparison between (equal) doubles, and probably due to roundings the error popped out. Indeed, both results were correct. By asking only top-4 in the doctest, we avoid such comparisons, and everything works. Thank you very much! Michele |
comment:24
The patch passes all tests on both my mac (64bits) and a 32bits linux PC. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:26
Thanks. |
Changed branch from u/borassi/new_algorithm_for_top_k_closeness_centralities to |
Implement the algorithm in http://arxiv.org/abs/1507.01490 for computing the k most central vertices according to closeness centrality.
Depends on #19007
Depends on #19014
CC: @nathanncohen @dcoudert
Component: graph theory
Keywords: Closeness Centrality, top-k
Author: Michele Borassi
Branch/Commit:
1367f00
Reviewer: David Coudert
Issue created by migration from https://trac.sagemath.org/ticket/19031
The text was updated successfully, but these errors were encountered: