A comprehensive suite for generating binary optimization problems with planted solutions
Project description
Chook
Version 0.2.0 (Release date: March 21, 2021)
License
This software is shared under an Apache License (attached). We ask you to please cite the paper if you choose to use chook. Thank you.
Description
Chook is a comprehensive suite for generating binary optimization problems with planted solutions. Chook currently supports the following problem types:
- Tile planting (2D/3D)
- Wishart planting
- Deceptive cluster loops (DCL)
- Equation planting (k-regular k-XORSAT)
- k-local planting
Requirements
You will need Python 3.4 or later to run Chook.
Installation
One can install Chook using the Python package manager pip:
pip install chook
Alternatively, Chook can be downloaded from GitHub and can be installed as follows:
cd <path_to_repo>
python setup.py install
Usage
chook problem_type config_file [-h] [-n num_instances] [-o output_format] [-f file_format]
Required arguments
-
problem_type: Choose the type of problems to be generated. Allowed options: {
TP,WP,DCL,XORSAT,K_LOCAL}TP: Tile planting (2D/3D)WP: Wishart plantingDCL: Deceptive cluster loops (DCL)XORSAT: Equation planting (k-regular k-XORSAT)K_LOCAL: k-local planting
-
config_file: Configuration file containing problem-type specific parameters. Refer the provided params.in file for an example.
Optional arguments
- -n num_instances
The number of problem instances to be generated (default: 10) - -o output_format
Output format: ising/hobo (default: ising) - -f file_format
File format: txt/json (default: txt) - -h, --help
Show this help message and exit
The generated instances will be stored as text/JSON files in a subdirectory within the current working directory. The ground state energies will be recorded in a separate text file gs_energies.txt. For XORSAT problems, gs_energies.txt will also contain the ground state degeneracies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chook-0.2.0.tar.gz.
File metadata
- Download URL: chook-0.2.0.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ea20b7f934d41c0f05995e2553d7dfc4f4dd1b0aafd4d366f9fb5ce02c251d0
|
|
| MD5 |
415ae2e0c8fc356704d43ff2d9a882f4
|
|
| BLAKE2b-256 |
c864086686063331eb222a3a5308420714aedf06799dced73e7e77de2a762cce
|
File details
Details for the file chook-0.2.0-py3-none-any.whl.
File metadata
- Download URL: chook-0.2.0-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c14dbcbd9f1efc90076561e4d86314e0ba168382ade2abaab242a23a6cef63b6
|
|
| MD5 |
2b157a88ed84ee512ca70c051034cd77
|
|
| BLAKE2b-256 |
98da1112dff57a52c9e82b71a21f88030a5524a6b4b4848d3ce3bdea4a494066
|