This collection contains Java (≥8) software distributed by the
Laboratory for Web Algorithmics (LAW),
and it is usually linked to some publication. If you find our software useful
while working at a scientific publication,
please cite us properly, either using the publications quoted in the documentation,
or contacting us for suggestions.
We try to distribute everything under the
GNU
General Public License or the
GNU Lesser General Public License.
Highlights
- Statistical tools to compute efficiently {@linkplain
it.unimi.dsi.law.stat.KendallTau Kendall's τ} and the {@linkplain
it.unimi.dsi.law.stat.WeightedTau weighted τ}.
They include tools to {@linkplain it.unimi.dsi.law.util.Precision limit accurately
the precision} of the involved ranks, as the noise caused by approximation can significantly alter the computation of τ
(see “Traps and pitfalls of topic-biased PageRank”, by Paolo Boldi, Massimo Santini,
Roberto Posenato, and Sebastiano Vigna, in WAW 2006. Fourth Workshop on Algorithms and Models for the Web-Graph,
volume 4936 of Lecture Notes in Computer Science, pages 107−116, Springer–Verlag, 2008).
- The largest publicly available set of classes and documentation
related to spectral ranking. It includes a detailed
explanation of theoretical formulations and of the algorithms actually
implementing them. In particular, {@link it.unimi.dsi.law.rank.PageRankParallelGaussSeidel} is our
best-of-breed implementation of PageRank,
whereas {@link it.unimi.dsi.law.rank.PageRankFromCoefficients}
makes it possible to compute PageRank and its derivatives for every value of
the damping factor using the precomputed coefficients of {@linkplain it.unimi.dsi.law.rank.PageRankPowerSeries PageRank's power series} (using the results described in “PageRank:
Functional dependencies”, by Paolo Boldi, Massimo Santini, and Sebastiano Vigna, ACM Trans. Inf. Sys., 27(4):1−23, 2009).
You can also compute, for instance, the {@linkplain it.unimi.dsi.law.rank.DominantEigenvectorParallelPowerMethod dominant eigenvector}
and {@linkplain it.unimi.dsi.law.rank.KatzParallelGaussSeidel Katz's index}.
- A highly scalable implementation of the {@linkplain it.unimi.dsi.law.graph.LayeredLabelPropagation Layered Label-Propagation} algorithm.
- {@link it.unimi.dsi.law.util.ConsistentHashFunction} implements
the consistent hash function used by UbiCrawler.