One hot constraints

For examples such as eg the distributed-computing tutorial, the tutorials note that graph nodes must be assigned a one hot constraint such that a constraint may be applied that the sum of binary variables in a solution is 1. I am curious why you couldn't just omit this one hot constraint and instead assign each node a binary representation, e.g. instead of {1000, 0100, 0010, 0001} instead encode as {00, 01, 10, 11}, and then omit the constraint. Would this be greatly more efficient towards qubit utilization?

0

Comments

3 comments
  • Nicholas,

    You are correct in that those four-qubit states can be efficiently mapped to the four two-qubit states and it would cut down on qubit requirements. However, doing so makes implementing algorithms more complicated because it adds another layer of abstraction. In the one-hot encoding, each binary variable is represented by a qubit. In the binary encoding variables are represented by a set of qubits; similar to the idea of a chain but more abstract.

     

    One simple difference in how the one-hot and binary encodings act is that the one-hot encoding allows for non-feasible solutions (e.g. 1101). In situations where perfect feasibility isn't possible, the binary encoding would not be able to produce near-feasible solutions.

     

    1
    Comment actions Permalink
  • Does the ocean protocol natively support integrations of additional layers of abstraction of this nature? I built some python binarization encode/decode implementations for Automunge library would be happy to share (BSD-3 license).

    0
    Comment actions Permalink
  • Hello,

    It is possible to create workflows that integrate D-Wave solvers using the dwave-hybrid framework. Custom modules can be written and run as part of this workflow.

    If you are interested in having your Python binarization encode/decode implementations included in the D-Wave Ocean Tools library directly, please submit your code to the Ocean Tools GitHub repository via pull request for consideration in our code review process.

    I hope this helped answer your questions. Please feel free to reach out with further clarifications.

    0
    Comment actions Permalink

Please sign in to leave a comment.

Didn't find what you were looking for?

New post