dimod
dimod 是采样器的一个共享 API,提供了:
- BQM(binary quadratic model )类,BQM其包含了如使用了 D-Wave 系统的采样器的 Ising 和 QUBO(quadratic unconstrained binary optimization);
- DQM(discrete quadratic model)类和高阶(non-quadratic)模型;
- 采样器和组合采样器的参考例子;
- abstract base classes 用于构建新采样器和组合采样器;
Introduction
关于 Ocean 编程模型(BQM的使用和求解 hard 问题的采样器)参见 Ocean’s Programming Model。
Binary Quadratic Models
dimod 可以用适合不同性能和易用性需求的类来表示 BQM。BQM支持的所有表达参见Binary Quadratic Models。
BQM Generation
如图四个节点的 maximum cut 问题,
Star graph with four nodes.
QUBO矩阵如下表示:
Q = [ − 3 2 2 2 0 − 1 0 0 0 0 − 1 0 0 0 0 − 1 ] Q = \left[ \begin{matrix} -3 & 2 & 2 & 2 \\ 0 & -1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & -1 \end{matrix} \right] Q=⎣⎢⎢⎡−30002−10020−10