Quacode is a quantified constraint satisfaction problems (QCSP) solver based on Gecode. Quacode is distributed under the MIT license. For any question or bug report, please contact Vincent Barichard (email.
Quantified Constraint Satisfaction Problems are a generalization of Constraint Satisfaction Problems (CSP) in which variables may be quantified existentially and universally. QCSP offers a natural framework to express problems as finite two-player games or planning under uncertainty.
Gecode is a comprehensive toolkit for developing constraint-based systems. It is well documented and source code is freely available. Quacode is based on Gecode, so you need Gecode to compil and run QCSP examples.
As Gecode, Quacode is distributed under the MIT licence. Source code and examples are available for download. You may also grab some binaries to quickly have a look at it.
- Barichard V., Stephan I., The cut tool for QCSP, Accepted at ICTAI 2014.
You can get the latest Quacode release from several locations:
You can grab the last release at the Github release section. You will find some archives of the source files and binaries (the binary packages provide the example programs: Baker, NimFibo, MatrixGame, Connect-Four).
Quacode is provided with the last Gecode release (started from version 4.3.1), you can grab the last release from the Gecode web site.
You can grab the master version of Quacode:
git clone https://github.com/VynceCook/quacode.git
These sources are the latest ones (not yet released). It may not compile with the latest Gecode release.
Depending on the location of the source files (from Gecode web site or from Github) you have to select the right build method.
To compile Quacode from the Gecode source tree, you first have to install cmake. To setup the compilation process for your environment, you can launch cmake by invoking:
cmake .
in the toplevel Quacode directory.
By default, 'make install' will install all the files in
'/usr/local/bin', '/usr/local/lib' etc. You can specify
an installation prefix other than '/usr/local' setting the
'CMAKE_INSTALL_PREFIX' option,
for instance cmake -DCMAKE_INSTALL_PREFIX:PATH=$HOME .
Then you can compile the code by invoking
make
in the toplevel Quacode directory.
After a successful compilation, you can install Quacode library and examples by invoking
make install
in the build directory.
Even if you downloaded Quacode from Github, you have to previously get and compiled Gecode.
You have to call cmake
and provide it the location of the Gecode libraries and sources.
cmake -DGECODE_BIN=/path/to/gecode/libraries -DGECODE_SRC=/path/to/gecode/sources .
Like every cmake project, you can create a separate build tree to not mix object and source files.
Now that you configured the build tree, you can build it by using make
and install the binaries with make install
(see previous section for more details).