Skip to main content

Sparkle is a Programming by Optimisation (PbO)-based problem-solving platform designed to enable the widespread and effective use of PbO techniques for improving the state-of-the-art in solving a broad range of prominent AI problems, including SAT and AI Planning.

Project description

Sparkle

Sparkle is a Programming by Optimisation (PbO)-based problem-solving platform designed to enable the widespread and effective use of PbO techniques for improving the state-of-the-art in solving a broad range of prominent AI problems, including SAT and AI Planning.

Specifically, Sparkle facilitates the use of:

  • Automated algorithm configuration
  • Automated algorithm selection

Installation

The installation process uses the conda package manager (to install https://docs.conda.io/en/latest/miniconda.html`).

Get a copy of Sparkle

To get a copy of Sparkle you can clone the repository using git.

  $ git clone https://github.com/ADA-research/Sparkle

Install dependencies

Sparkle depends on Python 3.9+, swig 3.0, gnuplot, LaTeX, and multiple Python packages. LaTeX is used to create the reports, if you want to use this functionality you will need to install it manually. Sparkle uses RunSolver 3.4.1 (http://www.cril.univ-artois.fr/~roussel/runsolver/) to measure solvers meta data, which is restricted to Linux based systems.

The rest of the dependencies can installed and activated with

  $ conda env create -f environment.yml
  $ conda activate sparkle

For detailed installation instructions see the documentation: https://sparkle-ai.readthedocs.io/

Examples

See the Examples directory for some examples on how to use Sparkle. All commands need to be executed from the root directory.

Documentation

The documentation can be read at https://sparkle-ai.readthedocs.io/.

A PDF is also available in the repository at Documentation/sparkle-userguide.pdf.

Licensing

Sparkle is distributed under the MIT licence

Component licences

Sparkle is distributed with a number of external components, solvers, and instance sets. Descriptions and licensing information for each these are included in the sparkle/Components and Examples/Resources/ directories.

The SATzilla 2012 feature extractor is used from http://www.cs.ubc.ca/labs/beta/Projects/SATzilla/ with some modifications. The main modification of this component is to disable calling the SAT instance preprocessor called SatELite. It is located in: Examples/Resources/Extractors/SAT-features-competition2012_revised_without_SatELite_sparkle/

Citation

If you use Sparkle for one of your papers and want to cite it, please cite our paper describing Sparkle: K. van der Blom, H. H. Hoos, C. Luo and J. G. Rook, Sparkle: Toward Accessible Meta-Algorithmics for Improving the State of the Art in Solving Challenging Problems, in IEEE Transactions on Evolutionary Computation, vol. 26, no. 6, pp. 1351-1364, Dec. 2022, doi: 10.1109/TEVC.2022.3215013.

@article{BloEtAl22,
  title={Sparkle: Toward Accessible Meta-Algorithmics for Improving the State of the Art in Solving Challenging Problems}, 
  author={van der Blom, Koen and Hoos, Holger H. and Luo, Chuan and Rook, Jeroen G.},
  journal={IEEE Transactions on Evolutionary Computation}, 
  year={2022},
  volume={26},
  number={6},
  pages={1351--1364},
  doi={10.1109/TEVC.2022.3215013}
}

Maintainers

Thijs Snelleman, Jeroen Rook, Holger H. Hoos, Noah Peil, Brian Schiller

Contributors

Chuan Luo, Richard Middelkoop, Jérémie Gobeil, Sam Vermeulen, Marcel Baumann, Jakob Bossek, Tarek Junied, Yingliu Lu, Malte Schwerin, Aaron Berger, Marie Anastacio, Aaron Berger Koen van der Blom

Contact

sparkle@aim.rwth-aachen.de

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sparkleai-0.8.3.tar.gz (28.7 MB view details)

Uploaded Source

File details

Details for the file sparkleai-0.8.3.tar.gz.

File metadata

  • Download URL: sparkleai-0.8.3.tar.gz
  • Upload date:
  • Size: 28.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.5

File hashes

Hashes for sparkleai-0.8.3.tar.gz
Algorithm Hash digest
SHA256 b296ca012381a1928cc2d244d6e316382023c7a1dbaa218655be369bf24c456a
MD5 b702e13222c873e032f6b7e0673f400e
BLAKE2b-256 86caa07b6029f5f942a42de0bd09de95d3549bfad5ab9a69437a90b7d0fe83e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page