dwavesystems / dwavebinarycsp

Map constraint satisfaction problems with binary variables to binary quadratic models.
https://docs.ocean.dwavesys.com/projects/binarycsp/en/latest
Apache License 2.0
19 stars 27 forks source link

Add a Circuit Repo for benchmarking circuit-satisfiability problems #89

Open CatherineCMcGeoch opened 4 years ago

CatherineCMcGeoch commented 4 years ago

Application

We need to make a collection of input repositories and generators, for future benchmarking purposes. The inputs need to be represented as QUBOs in general (pre-embedded) form. They can have fixed structures, but should also have a random component for generating random weights; the user should be able to specify subsets of inputs that are wanted.

Proposed Solution

Build a standard circuit testbed for generating instances for Circuit-Satisfiability. This generator takes user specified parameters of which circuits to use, plus a description of a way to generate the (output) bitstrings that are part of the problem.

There is a standard circuit testbed set known as ISCAS-85 available in many places on the internet. It contains the c-series and the 74-series (these are combinational circuits):

http://web.eecs.umich.edu/%7Ejhayes/iscas.restore/benchmark.html

Alternatives Considered

Considered just storing a fixed bunch of QUBOs, but it needs to have a generator capable of generating one circuit with multiple bitstrings to create multiple QUBOs. The user should be able to specify which subset of circuits they want to use, and how many bitstrings to generate per circuit.

Additional Context

Early steps in building a larger repo of input generators for future benchmarking purposes.