Giter Site home page Giter Site logo

chook's Introduction

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.

chook's People

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.