Skip to main content

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 planting
    • DCL : 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


Download files

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

Source Distribution

chook-0.2.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chook-0.2.0-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

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

Hashes for chook-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6ea20b7f934d41c0f05995e2553d7dfc4f4dd1b0aafd4d366f9fb5ce02c251d0
MD5 415ae2e0c8fc356704d43ff2d9a882f4
BLAKE2b-256 c864086686063331eb222a3a5308420714aedf06799dced73e7e77de2a762cce

See more details on using hashes here.

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

Hashes for chook-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c14dbcbd9f1efc90076561e4d86314e0ba168382ade2abaab242a23a6cef63b6
MD5 2b157a88ed84ee512ca70c051034cd77
BLAKE2b-256 98da1112dff57a52c9e82b71a21f88030a5524a6b4b4848d3ce3bdea4a494066

See more details on using hashes here.

Supported by

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