Skip to content

Deep Thought

Latest
Compare
Choose a tag to compare
@GiulioRossetti GiulioRossetti released this 08 Jun 09:23
· 36 commits to master since this release

Deep Thought is the perfect codename for (a release of) a community detection library.

[she] is a computer that was created by a pan-dimensional, hyper-intelligent species of beings (whose three-dimensional protrusions into our universe are ordinary white mice) to come up with the Answer to The Ultimate Question of Life, the Universe, and Everything. Deep Thought is the size of a small city.

When, after seven and a half million years of calculation, the answer finally turns out to be 42, Deep Thought admonishes Loonquawl and Phouchg (the receivers of the Ultimate Answer) that:
"[she] checked it very thoroughly, and that quite definitely is the answer. I think the problem, to be quite honest with you is that you've never actually known what the question was."

Douglas Adams - Hitchhiker's Guide to the Galaxy

Deep Thought captures the main aspects of Community Detection:

  • Algorithms might take a long time to compute;
  • Practitioners search for insights when they decide to apply CD to their data;
  • Being the problem ill-posed the answer an algorithm provides makes sense only if the research question, the data, and the assumptions are well-stated and understood from the very beginning.

What's Changed

This version reduces the number of available algorithms to simplify the dependency chain and installation process.

Dependencies upgraded (major breaking changes)

  • networkx >= 3.0

Dependencies removed:

  • karateclub (hopefully, it will be reintroduced in a later release)

Dependencies made optional:

  • pyclustering
  • leidenalg
  • pycombo
  • networkit
  • infomap

New CD algorithms:

  • Bayan (depends on bayanpy - optional dependency)

Additional notes:

  • PiPy installation now has four modalities: vanilla; [C] that includes packages depending on C code (safe for *nix OS); [pypi] that provides for all those pypi dependencies that are not satisfiable on conda; [all] that includes all (pip installable - except for graph-tool) dependencies.
  • graph-tool support is maintained, but its dependency is not explicitly introduced (neither in pypi nor in the conda distributions). Its installation has to be fulfilled separately from cdlib.
  • bayanpy depends on Gouroby solver that needs to be installed separately.
  • if the infomap package is not installed, cdlib will fall back on the python-igraph implementation of such an algorithm.

Full Changelog: v0.2.6...v0.3.0