minorminer icon indicating copy to clipboard operation
minorminer copied to clipboard

Include and wrap Glasgow Subgraph Solver

Open boothby opened this issue 2 years ago • 0 comments

We've gotten a few requests to include the [https://github.com/ciaranm/glasgow-subgraph-solver](Glasgow Subgraph Solver) GSS so that users can easily find chainlength-1 embeddings when they exist. GSS is shipped with an MIT license, and has better performance and appears to be more stable than the alternative https://perso.liris.cnrs.fr/christine.solnon/LAD.html.

We had one stumbling block, the use of https://www.boost.org/, which presents challenges in shipping source distributions. Thus, I've written some stubs and/or copied relevant portions of the boost library into include/boost to reproduce the appropriate functionality when necessary (e.g. include/boost/thread.hpp and include/boost/bimap.hpp) or provide fake classes that are in unused code paths of GSS (e.g. include/boost/iostreams/* is only used with GSS's proof functionality, which we disable).

This is a work in progress.

  • [x] documentation
  • [ ] testing
  • [x] windows build
  • [x] macos build
  • [x] all the ci

boothby avatar Aug 15 '22 17:08 boothby