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所示。

Figure 3.1: Energy of objective function.

對於二次函數,每一項都有1或2個變量:

D=Ax+By+Cxy(3.1)\displaystyle D=Ax+By+Cxy \tag{3.1}

其中 A,B,CA,B,C 都是常量。單變量項(比如 AxAx and ByBy)是線性的,表示偏置變量。兩變量項(比如 CxyCxy)表示變量之間的關係是二次的。

Ising and QUBO

目標函數的兩種形式爲:Ising 和 QUBO,這兩種模型之間的區別很小。

Ising 模型

Ising 模型是統計力學中常用的模型,變量有“自旋向上(spin up)(\uarr)”和“自旋向下(spin down)(\darr),這兩個狀態分別代表 +1+11-1.由耦合(couplings)表示的自旋之間的關係是相關或非相關。目標函數可以用如下Ising模型來表示:

Eising(s)=i=1Nhisi+i=1Nj=i+1NJi,jsisj(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}

其中對應 qubit 偏置(bias)的線性係數是 hih_i ,對應耦合權重(coupling strengths)是 Ji,jJ_{i,j}

QUBO

QUBO 問題通常用在計算機科學中,TRUE 和 FALSE 狀態對應於1和0。一個QUBO問題是由上對對角矩陣 QQN×NN×N的實值上三角矩陣)和 xx(二元變量的向量)來定義的。最小化函數:

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

其中對角項Qi,jQ_{i,j}是線性係數,非零的非對角項時的二次係數。可以用如下式子精確表示:

minx{0,1}nxTQx.(3.4)\min\limits_{x \in\{0,1\}^n} x^T Qx. \tag{3.4}

標量表示法(後面表述通常都用的這一表示法),QUBO 的目標函數可以用如下式子表示:

Equbo(ai,bi,j;qi)=iaiqi+i<jbi,jqiqj(3.5)E_{qubo}(a_i,b_{i,j};q_i) = \sum\limits_i a_i q_i + \sum\limits_{i<j}b_{i,j} q_i q_j \tag{3.5}

表示法對比

圖3.2 比較了 Ising 和 QUBO 的記號以及相關的術語。Ising 和 QUBO 的轉換關係可以用下式表示(根據States也可以分析得出):

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

Figure3.2: Notation conventions..
圖3.2中的 Graph 在這裏指的是無向圖。目標函數可以用 graphs 來表示。圖是由節點(表示變量)和節點之間的連接(邊)組成。

比如,兩個變量的二次等式可以用如下式子來表示:

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

如圖3.3所示,兩個節點 aabb 的 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。符號 CNC_N 表示由 N×NN×N 個 unit cells 組成的 Chimera 圖。D-Wave 2000Q QPU 支持 C16C_{16} Chimera 圖:2048個qubit 映射到 16×1616×16 unit cells 矩陣,每個 unit cells 有 8 個 qubits。在D-Wave QPU 中,可用於計算的一組 qubits 和 couplers 稱爲 working graph。通常在實際QPU中,working graph 的數量是少於 qubits 和 couplers 的數量的。(部分可能不起作用)

Figure 4.1: A 3x3 Chimera graph, denoted C3. Qubits are arranged in 9 unit cells.
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] 這一部分會講到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章