Ising模型、QUBO 及 Chimera Graph(QPU 架构)介绍

Ising模型、QUBO 及 Chimera Graph(QPU 架构)介绍

所有内容均是对官方文档的学习记录总结

用 D-Wave QPU 来构建问题需要知道以下几个概念:目标函数、Ising 模型、二次无约束二值优化问题(QUBOs, quadratic unconstrained binary optimization problems)和图。这篇介绍这些概念。

目标函数

想要理解如何用D-Wave系统可以解决的问题形式来表述(问题),首先需要定义一个目标函数(objective function),用这个目标函数表示系统的能量,是表示qubits 的二值变量的函数。多数情况下,目标函数的能量越低,解就越好。有时任何低能态都是原始问题的可接受范围的解;只有对其他一些问题,必须是最优解才可以。通常最优解对应于解空间的 global minimum 能量。如图3.1所示。

Ising模型、QUBO 及 Chimera Graph(QPU 架构)介绍_第1张图片
Figure 3.1: Energy of objective function.

对于二次函数,每一项都有1或2个变量:

D = A x + B y + C x y (3.1) \displaystyle D=Ax+By+Cxy \tag{3.1} D=Ax+By+Cxy(3.1)

其中 A , B , C A,B,C A,B,C 都是常量。单变量项(比如 A x Ax Ax and B y By By)是线性的,表示偏置变量。两变量项(比如 C x y Cxy Cxy)表示变量之间的关系是二次的。

Ising and QUBO

目标函数的两种形式为:Ising 和 QUBO,这两种模型之间的区别很小。

Ising 模型

Ising 模型是统计力学中常用的模型,变量有“自旋向上(spin up)( ↑ \uarr )”和“自旋向下(spin down)( ↓ \darr ),这两个状态分别代表 + 1 +1 +1 − 1 -1 1.由耦合(couplings)表示的自旋之间的关系是相关或非相关。目标函数可以用如下Ising模型来表示:

E i s i n g ( s ) = ∑ i = 1 N h i s i + ∑ i = 1 N ∑ j = i + 1 N J i , j s i s j (3.2) \displaystyle E_{ising}(s)=\sum^{N}_{i=1} h_i s_i + \sum^N_{i=1} \sum^N_{j=i+1} J_{i,j} s_i s_j\tag{3.2} Eising(s)=i=1Nhisi+i=1Nj=i+1NJi,jsisj(3.2)

其中对应 qubit 偏置(bias)的线性系数是 h i h_i hi ,对应耦合权重(coupling strengths)是 J i , j J_{i,j} Ji,j

QUBO

QUBO 问题通常用在计算机科学中,TRUE 和 FALSE 状态对应于1和0。一个QUBO问题是由上对对角矩阵 Q Q Q N × N N×N N×N的实值上三角矩阵)和 x x x(二元变量的向量)来定义的。最小化函数:

f ( x ) = ∑ i Q i i x i + ∑ i < j Q i , j x i x j (3.3) \displaystyle f(x)=\sum_i Q_{ii} x_i + \sum_{if(x)=iQiixi+i<jQi,jxixj(3.3)

其中对角项 Q i , j Q_{i,j} Qi,j是线性系数,非零的非对角项时的二次系数。可以用如下式子精确表示:

min ⁡ x ∈ { 0 , 1 } n x T Q x . (3.4) \min\limits_{x \in\{0,1\}^n} x^T Qx. \tag{3.4} x{0,1}nminxTQx.(3.4)

标量表示法(后面表述通常都用的这一表示法),QUBO 的目标函数可以用如下式子表示:

E q u b o ( a i , b i , j ; q i ) = ∑ i a i q i + ∑ i < j b i , j q i q j (3.5) E_{qubo}(a_i,b_{i,j};q_i) = \sum\limits_i a_i q_i + \sum\limits_{iEqubo(ai,bi,j;qi)=iaiqi+i<jbi,jqiqj(3.5)

表示法对比

图3.2 比较了 Ising 和 QUBO 的记号以及相关的术语。Ising 和 QUBO 的转换关系可以用下式表示(根据States也可以分析得出):

s = q ⋅ 2 − 1 (3.6) s = q·2-1 \tag{3.6} s=q21(3.6)

Ising模型、QUBO 及 Chimera Graph(QPU 架构)介绍_第2张图片
Figure3.2: Notation conventions..
图3.2中的 Graph 在这里指的是无向图。 目标函数可以用 graphs 来表示。图是由节点(表示变量)和节点之间的连接(边)组成。

比如,两个变量的二次等式可以用如下式子来表示:

H ( a , b ) = 5 a + 7 a b − 3 b (3.7) H(a,b) = 5a + 7 ab - 3 b \tag{3.7} H(a,b)=5a+7ab3b(3.7)

如图3.3所示,两个节点 a a a b b b 的 bias 分别是 5 和 -3,节点之间的权重是 7. 在D-Wave系统中,无向图的节点就是 qubit ,无向图的边就是 couple

im
Figure3.3: Two-variable objective function.


D-Wave QPU 架构:Chimera

想要把 QUBO 或者 Ising 这样的目标函数转换成 D-Wave 系统能够处理的格式,首先我们要了解一下 D-Wave QPU 的布局。D-Wave QPU 是相互连接的 qubits 组成的晶格,虽然 qubit 之间是通过耦合连接的,但 D-Wave QPU 是不完全连接的。qubits 相互连接的结构称为 Chimera

Chimera 结构是由 unit cells 相互连接而成,垂直(每列)的四个 qubit 和 水平(另外列)的四个 qubit 通过 couplers 连接,产生了一个 qubits 稀疏连接的晶格。如图 4.1。符号 C N C_N CN 表示由 N × N N×N N×N 个 unit cells 组成的 Chimera 图。D-Wave 2000Q QPU 支持 C 16 C_{16} C16 Chimera 图:2048个qubit 映射到 16 × 16 16×16 16×16 unit cells 矩阵,每个 unit cells 有 8 个 qubits。在D-Wave QPU 中,可用于计算的一组 qubits 和 couplers 称为 working graph。通常在实际QPU中,working graph 的数量是少于 qubits 和 couplers 的数量的。(部分可能不起作用)

Ising模型、QUBO 及 Chimera Graph(QPU 架构)介绍_第3张图片
Figure 4.1: A 3x3 Chimera graph, denoted C3. Qubits are arranged in 9 unit cells.
Ising模型、QUBO 及 Chimera Graph(QPU 架构)介绍_第4张图片
Figure 4.2: Cross or column layout of qubits in a unit cell

如图4.2,一个 unit cell 的布局可以是 cross 形式的也可以是 column 形式的。每个图中,都可以看到含有4个 qubits 的两组。每组(4个qubits)中的每一个qubit都和另外组的所有qubits相连接,但是不会和同一个组内的其他qubit相连接。在 unit cell 中,qubit 具有 二分图连通性(bipartite connectivity)

表示目标函数的图中的 nodes 和 edges 可以转换为 Chimera 中的 qubits 和 couplers。在目标函数图中,每个逻辑 qubit 都可以由一个或多个物理 qubit 表示。把逻辑 qubits 映射物理 qubits 的过程称为 minor embedding

【注】通过SAPI可获取 minor embedding 的工具。也可以手动实现,在[Minor-Embedding a Problem onto the Chimera Graph] 这一部分会讲到。

你可能感兴趣的:(量子机器学习)