把一个问题 minor-embedding 到 Chimera 图中
【注】minor-embedding意思是:从变量(variables)到 qubit 的映射。后面会解释。
在这一部分内容中,先来说明如何把先前介绍过的 QUBO 问题 minor-embed 到 Chimera 图中。Minor-embedding 通常需要链(chains),从 QPU 返回的解需要通过反转嵌入的步骤来解除嵌入(unembed)。(尽管 D-Wave 有自动 embedding 和 unembedding 的工具,不过为了说明原理,这里实现一个简单问题的 minor-embedding 和 unembedding 过程。)
创建一个链(Chain)
想要知道三角图是如何匹配 Chimera 图之前,需要再仔细分析一下图7.1这个Chimera图。需要注意的是,在这个图里并不同用三个qubits来实现如图6.2的闭环。但是可以用4个qubits(qubit 0,1,4,5)来实现一个闭环。

为了用4边结构来适用3-qubit循环,需要创建一个又两个物理qubit组成的链,来来表示单个变量。如图7.2。这个例子中,把 qubit 0 和 qubit 5 链起来表示变量 b b b.

变量 b b b 用 q 0 q_0 q0 和 q 5 q_5 q5 之间 coupler 的权重来表示,这个权重必须和qubits强烈相关(后面讨论这点),使得在最优化问题中 q 0 = q 5 = b q_0 = q_5 = b q0=q5=b .从变量到 qubits 的映射称为 minor embedding。
选择用于工作的 Unit Cells
**工作图(Working Graph)**指的是:用户可使用的 Chimera 图的子集。在把一个问题 embedding 到 working graph 之前,要检查 QPU 的物理布局,了解其中哪些 qubits 和 couplers 是缺少的,哪些 unit cells 是更好的选择。
把问题参数映射到 Working Graph
接下来,就把问题映射到物理 QPU 的实际 working graph 中。现在知道需要映射的 qubit,以及原始图的节点 biases 和 边的 strengths,节点 biases 转换为表示变量 a a a 和 c c c 的 qubits 的 qubit biases。如下表:
Qubit | 0 | 5 | 4 | 1 |
---|---|---|---|---|
Variable | b | b | a | c |
Bias | ? | ? | -1 | -1 |
Coupler | (0,4) | (5,0) | (4,1) | (1,5) |
---|---|---|---|---|
Strength | 2 | ? | 2 | 2 |
以上,我们还不不能确定表示变量 b 的 2 qubits 以及它们之间的 coupling strength。需要一个 strong negative coupler 来链接 qubit 0 和 qubit 5,从而创建一个所需连接性的单个逻辑 qubit。还需要增加现有的 qubit 值来补偿我们添加的负耦合。
【注】:在 Ising 模型中,可以在不改变问题基态的情况下,在二次项引入 bias。(因为Ising 模型中二值变量的值是 -1 和 1)。但是,对于 QUBO 问题,改变二次项的 bias 会改变基态,除非通过向两个线性项中的每一个添加偏差(二次项 bias 的 0.5 倍)来进行补偿。
过程步骤如下:
-
把 q 0 q_0 q0 和 q 5 q_5 q5 之间的变量 b(看图7.2,b=-1)平分,2 个 qubits 的 bias 就变成 -0.5。
-
对 q 0 q_0