MeritRank decentralized, sybil-resistant, personalized ranking algorithm library
Project description
Copyright: Vadim Bulavintsev (GPL v2)
MeritRank Python implementation
This repository contains the Python implementation for the incremental version of the MeritRank scoring system (which is inspired by personalized PageRank).
Usage example
from meritrank_python.rank import IncrementalMeritRank
pr = IncrementalMeritRank()
pr.add_edge(0, 1, )
pr.add_edge(0, 2, weight=0.5)
pr.add_edge(1, 2, weight=2.0)
# Initalize calculating rank from the standpoint of node "0"
pr.calculate(0)
# Get the score for node "1" from the standpoint of the node "0"
print(pr.get_node_score(0, 1))
# Add another edge: note that the scores are automatically recalculated
pr.add_edge(2, 1, weight=3.0)
print(pr.get_node_score(0, 1))
Known issues and limitations
- The bookkeeping algorithm for the incremental
addition-deletion of edges is pretty complex.
Initial tests show its results are equivalent to non-incremental version, at least for all possible transitions between all possible meaningful 3- and 4-nodes graphs. Nonetheless, it is hard to predict how the thing will work in real-life scenarios.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
meritrank_python-0.2.1.tar.gz
(15.3 kB
view hashes)
Built Distribution
Close
Hashes for meritrank_python-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52222a16e1bbb524fed31a75489ed4c685c60fca9f75010f16a93953a7d1837b |
|
MD5 | 619c6b42dd9cd3fa8477d548072ad1bf |
|
BLAKE2b-256 | 8703de551b92505cb78366c4ab34a54c5b565e1a3ac8501c3a19596b55a36bdc |