-
Notifications
You must be signed in to change notification settings - Fork 221
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: dynamic approx electrical closeness #1097
base: master
Are you sure you want to change the base?
New algorithm: dynamic approx electrical closeness #1097
Conversation
move test from CentralityGTest to new file
- approximating columns - returning a laplacian / lpinv vectors
allows us to make copy constructor = default
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR. I see that this algorithm shares a lot of data structures and code with ApproxElectricalCloseness
. I'd suggest declaring DynApproxElectricalCloseness
as a subclass of ApproxElectricalCloseness
, so that you can re-use existing code and avoid duplication.
/** | ||
* @note batch updates are not supported. | ||
*/ | ||
void updateBatch([[maybe_unused]] const std::vector<GraphEvent> &batch) override { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
void updateBatch([[maybe_unused]] const std::vector<GraphEvent> &batch) override { | |
void updateBatch(const std::vector<GraphEvent> &) override { |
This algorithm is based on the
ApproxElectricalCloseness
algorithm in networkit.The dynamic algorithm supports:
This implementation currently does not support arbitrary edge deletions: edges on the BFS tree from the pivot element
u
(which is used to approximate r(u,v) for allv
) may not be deleted, because this would require a larger update computation. In principle, this is possible, but for my use case this is not a problem right now. The code can easily be extended when the need arises.Additional changes in this PR:
ApproxElectricalCloseness
to a more accurate description of the results properties