Skip to content
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

Allow calculation of weights on the fly #85

Closed
adinapoli-mndc opened this issue Oct 17, 2019 · 0 comments · Fixed by #87
Closed

Allow calculation of weights on the fly #85

adinapoli-mndc opened this issue Oct 17, 2019 · 0 comments · Fixed by #87

Comments

@adinapoli-mndc
Copy link
Contributor

In preparation for the incremental monte carlo algorithm, we would need a better model to work with a Graph. Currently we have this slightly artificial Normalised newtype wrapper which witnesses the fact we import the graph using an adjacency matrix and, as such, we normalise all the edges beforehand, and the final graph is created with a single outgoing edge for each pair of nodes (N1,N2).

Such representation is also problematic when it comes to #83, because the trustRank phase happens inside the GraphAlgorithm::execute and as such we cannot mutate the input Graph. This means we need to be able to calculate the weight for each edge dynamically as the graph evolves. In order to do so, at the very minimum we would need to store somewhere the total contributions for an account and on the edges the number of contributions (if any).

Another alternative would be to store everything in some kind of hashmap, and leave the EdgeData alone. More design & thinking is required.

adinapoli-mndc added a commit that referenced this issue Oct 30, 2019
Includes (squashed) commits:

* Implement weighted naive algorithm
* Simply naive rounds after code review
* Use upstream (unreleased) graph_api crate
* Fix csv importer
* Fix csv importer
* Try to diversify the RNG for each thread
* Fix the mock generators
* Fix binaries
* Fix benchmarks
* Rebase master
* Port the code to latest graph_api
adinapoli-mndc added a commit that referenced this issue Oct 30, 2019
Includes (squashed) commits:

* Implement weighted naive algorithm
* Simply naive rounds after code review
* Use upstream (unreleased) graph_api crate
* Fix csv importer
* Fix csv importer
* Try to diversify the RNG for each thread
* Fix the mock generators
* Fix binaries
* Fix benchmarks
* Rebase master
* Port the code to latest graph_api
adinapoli-mndc added a commit that referenced this issue Oct 31, 2019
* Fix #85 (on-the-fly weight calculation)

Includes (squashed) commits:

* Implement weighted naive algorithm
* Simply naive rounds after code review
* Use upstream (unreleased) graph_api crate
* Fix csv importer
* Fix csv importer
* Try to diversify the RNG for each thread
* Fix the mock generators
* Fix binaries
* Fix benchmarks
* Rebase master
* Port the code to latest graph_api

* Use graph-api@master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant