Git Product home page Git Product logo

sallow's Introduction

sallow

arXiv DOI

A heuristic algorithm for finding treedepth decompositions.

This is a submission for the PACE 2020 challenge. The algorithm relies on:

The short paper Sallow – a heuristic algorithm for treedepth decompositions gives a more detailed overview. Cite as, e.g.:

@misc{Wrochna20sallow,
  author        = {Marcin Wrochna},
  title         = {Sallow -- a heuristic algorithm for treedepth decompositions},
  year          = {2020},
  archivePrefix = {arXiv},
  eprint        = {2006.07050}
}

Sallows (such as Salix caprea) are willows, a kind of shrub/small tree.

A sallow tree

(Photo by AnRo0002)

Git

This repo uses submodules:

  • clone with git clone --recurse-submodules [email protected]:marcinwrochna/sallow.git
  • if you want, update all submodules with git submodule update --remote --rebase (this fetches to master and tries to rebase your existing changes within each submodule)

Currently the only dependency used is Microsoft's implementation of the C++ Guidelines Support Library.

Building

Standard CMake:

  • mkdir build && cd build (or wherever you want the build files to be, instead of build/)
  • cmake --config Release .. (or whatever the path to the root CMakeLists.txt is, instead of ..)
  • make
  • Or just open the directory in MSVS Code with the CMake extension installed, and allow it to configure itself.
  • CMake ≥ 3.13 and g++ ≥ 7 or clang ≥ 4 (that is, supporting C++17) are required.
  • Change -march=ivybridge to native or remove, if needed, in CMakeLists.txt.

Running

  • sallow input.gr
  • Interrupt (ctrl+c or SIGINT) to stop and print the best decomposition we have.
  • If it hangs (e.g. you ran it in debug mode on extremely large graphs), you need to pkill -9 sallow.
  • Input and output format as specified here (DIMACS-like).
  • See there also for test instances.

Acknowledgements

The author is very grateful to the PACE 2020 organizers at the University of Warsaw and the OPTIL.io team at the Poznań University of Technology for making this challenge possible. This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 714532, PI: Stanislav Živný). ERC logo

sallow's People

Contributors

marcinwrochna avatar

Stargazers

 avatar James Trimble avatar

Watchers

 avatar  avatar paper2code - bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.