<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IBM on kenji.blog</title><link>http://kenji.blog/zh-tw/tags/ibm/</link><description>Recent content in IBM on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/zh-tw/tags/ibm/index.xml" rel="self" type="application/rss+xml"/><item><title>使用 Qiskit 的量子程式設計超入門</title><link>http://kenji.blog/zh-tw/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/zh-tw/p/qiskit-quantum-programming-intro/</guid><description>&lt;img src="http://kenji.blog/p/qiskit-quantum-programming-intro/img/eyecatch.jpg" alt="Featured image of post 使用 Qiskit 的量子程式設計超入門" />&lt;h2 id="1-簡介">1. 簡介
&lt;/h2>&lt;p>現代的電腦（古典電腦）戲劇性地改變了我們的生活，並以高度的運算能力支撐著社會的各個層面。然而，對於某些特定的問題（例如：巨大數字的質因數分解、複雜分子結構的模擬、最佳化問題等），已知即使是目前最先進的超級電腦，也需要比宇宙年齡更長的時間才能解決。&lt;/p>
&lt;p>有望突破這種「古典電腦的極限」的就是&lt;strong>量子電腦（Quantum Computer）&lt;/strong>。藉由將量子力學的奇妙特性（疊加與量子糾纏）作為運算資源來運用，被認為能夠將特定問題的處理速度戲劇性地加快。&lt;/p>
&lt;p>在本文中，我們將使用 IBM 開源提供的量子運算框架 &lt;strong>Qiskit&lt;/strong>，邁出進入量子程式設計世界的第一步。這是一份非常詳細的入門指南，從物理與數學的基礎開始仔細解說，涵蓋了實際使用 Python 撰寫程式碼，直到在模擬器上運行量子線路的整個過程。&lt;/p>
&lt;hr>
&lt;h2 id="2-支撐量子運算的物理與數學基礎">2. 支撐量子運算的物理與數學基礎
&lt;/h2>&lt;p>為了理解量子程式設計，首先必須了解量子力學的基本概念。在此，我們將解說量子位元、疊加與量子糾纏這三個重要的支柱。&lt;/p>
&lt;h3 id="21-古典位元與量子位元qubit">2.1 古典位元與量子位元（Qubit）
&lt;/h3>&lt;p>古典電腦的資訊單位是「位元（Bit）」。位元總是處於 &lt;code>0&lt;/code> 或 &lt;code>1&lt;/code> 其中一種狀態。&lt;/p>
&lt;p>另一方面，量子電腦資訊的最小單位被稱為&lt;strong>量子位元（Qubit: Quantum bit）&lt;/strong>。量子位元不僅能處於 &lt;code>0&lt;/code> 和 &lt;code>1&lt;/code> 的狀態，還能&lt;strong>同時保持這兩種狀態&lt;/strong>。&lt;/p>
&lt;p>在數學上，量子位元的狀態 $|\psi\rangle$ 表示為基底狀態 $|0\rangle$ 和 $|1\rangle$ 的線性組合（疊加）。&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>這裡的 $\alpha$ 和 $\beta$ 是複數，分別代表觀測到狀態 $|0\rangle$ 和 $|1\rangle$ 的機率幅。根據量子力學的基本原理，機率的總和必須為 1，因此滿足以下歸一化條件：&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>也就是說，當對這個量子位元進行「測量（觀測）」時，得到 $|0\rangle$ 的機率為 $|\alpha|^2$，得到 $|1\rangle$ 的機率為 $|\beta|^2$。在測量前，狀態只能以機率來決定，這是與古典位元決定性的不同之處。&lt;/p>
&lt;div class="mermaid">graph LR
A["古典位元 (Classical Bit)"] --> B["確定的狀態：0 或 1"]
C["量子位元 (Qubit)"] --> D["疊加：同時為 0 與 1"]
D --> E["測量後以機率決定狀態"]&lt;/div>
&lt;h3 id="22-疊加superposition">2.2 疊加（Superposition）
&lt;/h3>&lt;p>如前所述，$|0\rangle$ 和 $|1\rangle$ 的狀態混合在一起的狀態稱為&lt;strong>疊加（Superposition）&lt;/strong>。&lt;/p>
&lt;p>例如，當一個量子位元處於完全均等的疊加狀態時，$\alpha = \frac{1}{\sqrt{2}}$，$\beta = \frac{1}{\sqrt{2}}$。&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>測量這個狀態時，會分別以 50% 的機率觀測到 $|0\rangle$ 和 $|1\rangle$。
如果有 2 個量子位元，就可以製造出 $|00\rangle, |01\rangle, |10\rangle, |11\rangle$ 這 4 種狀態的疊加。如果有 $n$ 個量子位元，就能同時表示 $2^n$ 個狀態，這正是量子電腦平行處理能力的一個泉源。&lt;/p>
&lt;h3 id="23-量子糾纏entanglement">2.3 量子糾纏（Entanglement）
&lt;/h3>&lt;p>量子運算中最強大且奇妙的特性就是&lt;strong>量子糾纏（Entanglement）&lt;/strong>。愛因斯坦稱這個現象為「鬼魅般的超距作用」，其性質是兩個以上的量子位元彼此強烈連結，當其中一個量子位元的狀態被決定時，無論物理距離有多遠，另一個量子位元的狀態也會瞬間被決定。&lt;/p>
&lt;p>最著名的量子糾纏態「貝爾態（Bell State）」之一，$\Phi^+$ 狀態表示如下：&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>在這個狀態下，不存在 $|01\rangle$ 或 $|10\rangle$ 的狀態。因此，如果測量第一個量子位元得到 $|0\rangle$，不用測量第二個量子位元，也能確定它必定是 $|0\rangle$。反之，如果第一個是 $|1\rangle$，第二個也必定是 $|1\rangle$。&lt;/p>
&lt;hr>
&lt;h2 id="3-量子邏輯閘quantum-logic-gates">3. 量子邏輯閘（Quantum Logic Gates）
&lt;/h2>&lt;p>就像古典電腦使用 AND、OR、NOT 等邏輯閘進行運算一樣，量子電腦也使用&lt;strong>量子閘&lt;/strong>來操作量子位元的狀態。由於量子狀態是向量，因此量子閘表示為作用於該向量的「酉矩陣（Unitary matrix）」。&lt;/p>
&lt;h3 id="31-包立閘pauli-x-y-z">3.1 包立閘（Pauli-X, Y, Z）
&lt;/h3>&lt;p>包立閘是對 1 個量子位元的基本操作。&lt;/p>
&lt;p>&lt;strong>・Pauli-X 閘 (NOT閘)&lt;/strong>
相當於古典的 NOT 閘。將 $|0\rangle$ 反轉為 $|1\rangle$，將 $|1\rangle$ 反轉為 $|0\rangle$。（在布洛赫球面上繞 X 軸旋轉 180 度）&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Pauli-Y 閘&lt;/strong>
繞 Y 軸旋轉 180 度。具有同時反轉相位與位元的效果。&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Pauli-Z 閘 (相位反轉閘)&lt;/strong>
保持 $|0\rangle$ 的狀態不變，將 $|1\rangle$ 狀態的相位反轉（乘以 $-1$）。（繞 Z 軸旋轉 180 度）&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-hadamard-閘hadamard-gate">3.2 Hadamard 閘（Hadamard Gate）
&lt;/h3>&lt;p>Hadamard 閘（H 閘）是將確定的狀態（$|0\rangle$ 或 $|1\rangle$）轉換為疊加狀態的非常重要的邏輯閘。&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>對 $|0\rangle$ 應用 H 閘，會得到均等的疊加狀態 $|+\rangle$。&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-相位閘phase-gates">3.3 相位閘（Phase Gates）
&lt;/h3>&lt;p>相位閘是 Z 閘的推廣，將 $|1\rangle$ 狀態的相位旋轉指定的角度 $\theta$。&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>代表性的有 S 閘（$\theta = \pi/2$）與 T 閘（$\theta = \pi/4$）。&lt;/p>
&lt;h3 id="34-cnot-閘controlled-not-gate">3.4 CNOT 閘（Controlled-NOT Gate）
&lt;/h3>&lt;p>CNOT 閘（CX 閘）是在兩個量子位元之間進行操作的邏輯閘，是生成量子糾纏所不可或缺的。由「控制（Control）位元」與「目標（Target）位元」組成。&lt;/p>
&lt;p>只有當控制位元為 $|1\rangle$ 時，才會對目標位元應用 X 閘（NOT 操作）；當控制位元為 $|0\rangle$ 時則不作任何動作。&lt;/p>
$$
CNOT = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 \\
0 &amp; 1 &amp; 0 &amp; 0 \\
0 &amp; 0 &amp; 0 &amp; 1 \\
0 &amp; 0 &amp; 1 &amp; 0
\end{pmatrix}
$$
&lt;hr>
&lt;h2 id="4-qiskit-的基礎與環境建置">4. Qiskit 的基礎與環境建置
&lt;/h2>&lt;p>接下來，我們將實際使用 Python 和 Qiskit 來撰寫量子程式。&lt;/p>
&lt;h3 id="41-什麼是-qiskit">4.1 什麼是 Qiskit？
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> 是由 IBM Quantum 開發的開源量子運算軟體開發套件（SDK）。使用 Python 就能直覺地建構量子線路，並在本地的模擬器，或透過雲端在實際的 IBM 量子電腦硬體上執行。&lt;/p>
&lt;h3 id="42-安裝方法">4.2 安裝方法
&lt;/h3>&lt;p>要使用 Qiskit，需要有 Python 環境。請使用以下指令安裝 Qiskit 與相關套件（模擬器與繪圖用的函式庫）。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="43-程式設計的基本流程">4.3 程式設計的基本流程
&lt;/h3>&lt;p>使用 Qiskit 的量子程式設計，主要依循以下步驟進行：&lt;/p>
&lt;div class="mermaid">graph TD
A["1. 建構線路 (Build)"] --> B["2. 編譯/轉譯 (Compile)"]
B --> C["3. 執行 (Execute)"]
C --> D["4. 分析與視覺化結果 (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>建構線路&lt;/strong>: 建立 &lt;code>QuantumCircuit&lt;/code> 物件，並加入邏輯閘。&lt;/li>
&lt;li>&lt;strong>編譯&lt;/strong>: 配合要執行的後端（實機或模擬器）對線路進行最佳化。&lt;/li>
&lt;li>&lt;strong>執行&lt;/strong>: 將任務發送至後端，並取得結果。&lt;/li>
&lt;li>&lt;strong>分析&lt;/strong>: 繪製測量結果的直方圖等。&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-實踐建構產生貝爾態量子糾纏的線路">5. 實踐：建構產生貝爾態（量子糾纏）的線路
&lt;/h2>&lt;p>讓我們實際用 Qiskit 來建立理論中學過的「量子糾纏（貝爾態）」。目標狀態是 $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$。&lt;/p>
&lt;h3 id="51-線路設計">5.1 線路設計
&lt;/h3>&lt;p>要製造貝爾態，需遵循以下步驟：&lt;/p>
&lt;ol>
&lt;li>準備 2 個量子位元（初始狀態皆為 $|0\rangle$）。&lt;/li>
&lt;li>對第 1 個量子位元應用 Hadamard 閘（H），使其進入疊加狀態。&lt;/li>
&lt;li>將第 1 個量子位元作為「控制位元」，第 2 個量子位元作為「目標位元」，應用 CNOT 閘。&lt;/li>
&lt;li>為了讀取結果，進行測量（Measure）。&lt;/li>
&lt;/ol>
&lt;h3 id="52-pythonqiskit-程式碼實作">5.2 Python/Qiskit 程式碼實作
&lt;/h3>&lt;p>那麼，我們來看看實際的程式碼。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. 初始化線路&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 建立擁有 2 個量子位元與 2 個古典位元的量子線路&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. 應用 H 閘&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 對量子位元 0 (q0) 應用 Hadamard 閘&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. 應用 CNOT 閘&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 將 q0 作為控制位元、q1 作為目標位元，應用 CNOT&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cx&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. 測量&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 測量量子位元 0 與 1，並分別寫入古典位元 0 與 1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 繪製線路圖（使用 matplotlib）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># qc.draw(&amp;#39;mpl&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">draw&lt;/span>&lt;span class="p">())&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>執行這段程式碼後，主控台上會顯示如下由 ASCII 藝術構成的量子線路圖。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───┐ ┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_0: ┤ H ├──■──┤M├───
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘┌─┴─┐└╥┘┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_1: ─────┤ X ├─╫─┤M├
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘ ║ └╥┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">c: 2/═══════════╩══╩═
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>H&lt;/code> 代表 Hadamard 閘，&lt;code>■&lt;/code> 和 &lt;code>X&lt;/code> 的組合代表 CNOT 閘，&lt;code>M&lt;/code> 則代表測量。&lt;/p>
&lt;h3 id="53-在模擬器上執行與解釋結果">5.3 在模擬器上執行與解釋結果
&lt;/h3>&lt;p>接下來，我們將這個線路放在 IBM 的高效能模擬器 &lt;code>Aer&lt;/code> 上執行，並確認結果。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 取得 Aer 模擬器的後端&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">simulator&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Aer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_backend&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;qasm_simulator&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 為模擬器進行線路轉譯（最佳化）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 執行線路（這裡執行 1000 次 shots）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 取得結果&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 取得狀態的觀測次數（計數）&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">測量結果:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 繪製直方圖&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plot_histogram(counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plt.show()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>解釋結果&lt;/strong>&lt;/p>
&lt;p>主控台的輸出應該會如下所示。
&lt;code>測量結果: {'00': 495, '11': 505}&lt;/code>
（※由於機率是隨機的，每次執行的數值會有些微變動）&lt;/p>
&lt;p>在理想的模擬環境中，測量結果觀測到 &lt;code>00&lt;/code> 和 &lt;code>11&lt;/code> 的比例大約各佔 50%，且完全不會觀測到 &lt;code>01&lt;/code> 或 &lt;code>10&lt;/code>。
這恰好與我們建立的貝爾態 $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ 的理論預測完全一致。第一個量子位元如果是 0，第二個也必定是 0；如果是 1，則必定是 1。這種「量子糾纏」已被準確地模擬出來了。&lt;/p>
&lt;p>此外，如果在實際的量子電腦硬體（IBM Quantum Hardware）上執行，受到雜訊（量子去相干或邏輯閘錯誤）的影響，可能偶爾會觀測到 &lt;code>01&lt;/code> 或 &lt;code>10&lt;/code>。如何減少這種雜訊（量子錯誤更正），是目前量子電腦開發中最大的課題之一。&lt;/p>
&lt;hr>
&lt;h2 id="6-擴展至更高階的演算法">6. 擴展至更高階的演算法
&lt;/h2>&lt;p>建立貝爾態可以說是量子程式設計的「Hello World」。從這裡進一步發展，就能建構出超越古典電腦的強大演算法。&lt;/p>
&lt;h3 id="61-deutsch-jozsa-演算法deutsch-jozsa-algorithm">6.1 Deutsch-Jozsa 演算法（Deutsch-Jozsa Algorithm）
&lt;/h3>&lt;p>這是判定給定的函數 $f(x)$ 是「常數函數（無論輸入為何，總是輸出 0 或總是輸出 1）」還是「平衡函數（對一半的輸入輸出 0，另一半輸出 1）」的問題。
在古典電腦上，最壞的情況下需要對函數進行 $2^{n-1} + 1$ 次評估；但若使用 Deutsch-Jozsa 演算法，利用量子的平行性，&lt;strong>僅需 1 次評估&lt;/strong>即可判定。這展示了輸入疊加狀態，並利用干涉（Interference）抵消不需要的狀態，放大所需答案的量子演算法基本模式。&lt;/p>
&lt;h3 id="62-grover-演算法grovers-algorithm">6.2 Grover 演算法（Grover&amp;rsquo;s Algorithm）
&lt;/h3>&lt;p>在未排序的 $N$ 個資料庫中找出特定資料的搜尋問題中，古典演算法平均需要進行 $N/2$ 次運算，而 Grover 演算法僅需 $\sqrt{N}$ 次即可找出目標資料。
該演算法使用稱為「預言機（Oracle）」的黑盒子將目標解的相位反轉，接著再進行「振幅放大（Amplitude Amplification）」，從而大幅提高觀測到目標解的機率。&lt;/p>
&lt;div class="mermaid">graph TD
A["初始化 (所有狀態的疊加)"] --> B["預言機 (反轉正確答案的相位)"]
B --> C["擴散運算子 (對平均值進行反轉來放大振幅)"]
C --> D{"是否達到足夠的機率？"}
D -- "No" --> B
D -- "Yes" --> E["測量"]&lt;/div>
&lt;hr>
&lt;h2 id="7-總結與未來的學習">7. 總結與未來的學習
&lt;/h2>&lt;p>在本文中，我們從量子運算的根本概念（如疊加與量子糾纏）開始，詳細解說了使用 Qiskit 操作量子邏輯閘，並實際建構、模擬貝爾態以及解釋結果。&lt;/p>
&lt;p>Qiskit 可以使用 Python 這種容易親近的語言來撰寫，這是一項能幫助我們跨越數學與物理的障礙，專注於建構演算法的強大工具。目前量子電腦正處於帶雜訊的中等規模量子裝置（NISQ: Noisy Intermediate-Scale Quantum）時代，但在量子機器學習（Quantum Machine Learning）、量子化學模擬（Quantum Chemistry）、密碼破解等眾多領域的應用研究，正於世界各地飛速進展。&lt;/p>
&lt;p>請務必把握這個機會，使用 Qiskit 自製各種量子線路，並在實際的 IBM Quantum 處理器上運行看看。你一定能親手體驗到未來的運算典範。&lt;/p>
&lt;h3 id="參考資料">參考資料
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Qiskit 官方文件&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiskit.org/textbook/ja/preface.html" target="_blank" rel="noopener"
>Qiskit Textbook&lt;/a> - 推薦給想更深入學習數學背景與演算法的官方教材&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>歡迎來到量子的世界！&lt;/p></description></item><item><title>什麼是量子霸權？Google與IBM的最新動向</title><link>http://kenji.blog/zh-tw/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/zh-tw/p/what-is-quantum-supremacy-google-ibm/</guid><description>&lt;img src="http://kenji.blog/p/what-is-quantum-supremacy-google-ibm/img/eyecatch.jpg" alt="Featured image of post 什麼是量子霸權？Google與IBM的最新動向" />&lt;h2 id="1-前言量子計算的黎明與量子超越性">1. 前言：量子計算的黎明與「量子超越性」
&lt;/h2>&lt;p>量子計算透過將物理學的基本原理——量子力學應用於資訊處理，具備了解決古典電腦（我們現在日常使用的個人電腦或超級電腦）在現實時間內無法解開的複雜問題的潛力。這個領域長久以來以理論研究為主，但近年來，隨著硬體的快速進步，邁向實用化的競爭正日益激烈。&lt;/p>
&lt;p>其中最受矚目的關鍵字之一就是「量子超越性（Quantum Supremacy，或稱量子霸權）」。這指的是在特定的計算任務中，量子電腦展現出壓倒古典電腦計算能力的瞬間。本文將從量子超越性的嚴格定義開始，詳細解說Google在2019年宣布全球首次達成此里程碑的「Sycamore」處理器的實驗細節、IBM對此的反駁與獨特策略，以及邁向真正實用化最大障礙的「量子錯誤更正（Quantum Error Correction: QEC）」與「容錯量子計算（Fault-Tolerant Quantum Computing: FTQC）」的最新發展藍圖，並進行技術與數學上的深入探討。&lt;/p>
&lt;hr>
&lt;h2 id="2-理論背景量子計算的基礎與複雜度類別">2. 理論背景：量子計算的基礎與複雜度類別
&lt;/h2>&lt;p>為了理解量子超越性，首先必須了解量子計算的數學基礎，以及其在計算複雜度理論中的定位。&lt;/p>
&lt;h3 id="量子位元與疊加態-superposition">量子位元與疊加態 (Superposition)
&lt;/h3>&lt;p>古典電腦中資訊的最小單位是位元（0或1），但在量子電腦中則使用量子位元（Qubit）。一個量子位元的狀態 $|\psi\rangle$ ，可由基底狀態 $|0\rangle$ 與 $|1\rangle$ 的複數線性組合來表示：&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>這裡 $\alpha, \beta \in \mathbb{C}$，且滿足歸一化條件 $|\alpha|^2 + |\beta|^2 = 1$。這種性質被稱為「疊加（Superposition）」。&lt;/p>
&lt;h3 id="量子糾纏entanglement與張量積">量子糾纏（Entanglement）與張量積
&lt;/h3>&lt;p>當存在多個量子位元時，整個系統的狀態可以由個別量子位元狀態空間的張量積來表示。$n$ 個量子位元的系統，會成為 $2^n$ 維希爾伯特空間 $\mathcal{H}^{\otimes n}$ 上的向量。&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>這裡 $\sum |c_x|^2 = 1$。量子位元之間並非獨立，其中一方的狀態依賴於另一方狀態的現象稱為「量子糾纏（Quantum Entanglement）」。藉由這種特性，量子電腦擁有了同時處理呈指數級擴張的龐大狀態空間的潛力。&lt;/p>
&lt;h3 id="量子超越性在計算複雜度理論上的定義">量子超越性在計算複雜度理論上的定義
&lt;/h3>&lt;p>在計算複雜度理論中，古典電腦能夠有效率地（在多項式時間內）解決的問題類別稱為 &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time)。另一方面，量子電腦能夠有效率地解決的問題類別則是 &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time)。&lt;/p>
&lt;p>實證量子超越性，意味著「在實際的量子硬體上，執行屬於BQP但不屬於BPP（或可能性極高）的特定任務，並在時間與資源上超越古典超級電腦的模擬」。這可以說是透過物理實驗來反證延伸的邱奇－圖靈論題（「所有物理上可實現的計算模型，皆可由機率圖靈機在多項式時間內模擬」）的一項歷史性嘗試。&lt;/p>
&lt;hr>
&lt;h2 id="3-2019年google實證量子超越性">3. 2019年：Google實證量子超越性
&lt;/h2>&lt;p>2019年10月，Google Quantum AI團隊在科學期刊《Nature》上宣布，他們使用53個量子位元的超導處理器「Sycamore」，成功達成了量子超越性。&lt;/p>
&lt;h3 id="sycamore處理器的架構">Sycamore處理器的架構
&lt;/h3>&lt;p>Sycamore處理器由排列成二維網格狀的54個Transmon型超導量子位元組成（實驗中因有1個運作不良，故使用了53個）。相鄰的量子位元之間配置了可調耦合器（Tunable Coupler），實現了高速且高精度的雙量子位元閘（iSWAP閘與控制Z閘的混合）。&lt;/p>
&lt;div class="mermaid">graph TD
A["輸入量子演算法"] --> B["Sycamore處理器（53個量子位元）"]
B --> C["應用隨機量子閘"]
C --> D["測量量子狀態（位元串）"]
D --> E["交叉熵基準測試（XEB）"]
E --> F["驗證量子超越性"]&lt;/div>
&lt;h3 id="隨機量子電路取樣random-circuit-sampling-rcs">隨機量子電路取樣（Random Circuit Sampling: RCS）
&lt;/h3>&lt;p>Google選擇的任務是「隨機量子電路取樣」。這是在多個週期（深度 $m$）內，應用隨機選擇的單量子位元閘與雙量子位元閘，並測量最終狀態，從所得的位元串機率分布中進行取樣的過程。&lt;/p>
&lt;p>從理想的（無雜訊）隨機量子電路輸出的位元串 $x$ 的機率並非均勻分布，而是呈現被稱為波特-湯瑪斯分布（Porter-Thomas distribution）的干涉條紋般模式。為了用古典電腦從這個分布中取樣，必須對整個狀態向量進行模擬，其計算量會相對於量子位元數 $n$ 與電路深度 $m$ 呈指數級增加。&lt;/p>
&lt;h3 id="忠誠度fidelity評估線性交叉熵基準測試xeb">忠誠度（Fidelity）評估：線性交叉熵基準測試（XEB）
&lt;/h3>&lt;p>為了證明實驗結果並非單純的雜訊，而是確實進行了量子計算的結果，Google使用了線性交叉熵基準測試（Linear Cross-Entropy Benchmarking: XEB）。使用古典電腦計算出針對實驗中獲得的位元串 $x_i$ 其電路的理想機率 $P(x_i)$，並透過以下公式求得忠誠度 $\mathcal{F}_{\text{XEB}}$。&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>$\mathcal{F}_{\text{XEB}}$ 若為0代表完全是雜訊，為1則代表無雜訊的理想量子處理器。Sycamore處理器在深度為20的電路中，達成了 $\mathcal{F}_{\text{XEB}} \approx 0.002$ (0.2%)。乍看之下很低，但這是在統計上具顯著意義的大於零的值，是成功控制了高達 $2^{53} \approx 9 \times 10^{15}$ 狀態空間的驚人成果。&lt;/p>
&lt;p>整體的錯誤率被近似模型化為各個閘錯誤、測量錯誤等的乘積。&lt;/p>
$$
\mathcal{F} \approx (1 - e_1)^{N_1}(1 - e_2)^{N_2} \cdots \approx \prod_{g \in 1Q} (1 - e_g) \prod_{g \in 2Q} (1 - e_g) \prod_{q} (1 - e_{RO})
$$
&lt;p>（※ $e_g$ 為閘錯誤，$e_{RO}$ 為測量錯誤）&lt;/p>
&lt;p>Google主張，若要使用古典超級電腦（Summit）來模擬這個電路，大約需要花費1萬年的時間。相對地，Sycamore僅花了200秒就完成了取樣。&lt;/p>
&lt;hr>
&lt;h2 id="4-ibm的反駁從超越性到實用性utility">4. IBM的反駁：從「超越性」到「實用性（Utility）」
&lt;/h2>&lt;p>Google的發表震撼了全世界，但開發出全球最大超級電腦「Summit」且同樣引領著量子電腦開發的IBM，立刻發表了反駁此一主張的論文。&lt;/p>
&lt;h3 id="透過張量網路收縮改善古典模擬">透過張量網路收縮改善古典模擬
&lt;/h3>&lt;p>IBM反駁的核心在於「古典電腦端的演算法與資源最佳化不足」。Google是在假設直接計算薛丁格方程式時間演進的狀態向量模擬器的前提下，估算出需要1萬年，但IBM指出，只要使用被稱為「張量網路（Tensor Network）」的方法，就能夠大幅縮短模擬時間。&lt;/p>
&lt;p>在張量網路中，量子電路的閘操作被表示為多維陣列（張量）的運算，並將網路「收縮（Contraction）」的順序最佳化。他們主張，如果能充分活用Summit所擁有的250 PB龐大儲存空間（硬碟與記憶體的階層化），就能在保留整個狀態向量的情況下，僅用「2天半」的時間完成更高精度的模擬。&lt;/p>
&lt;h3 id="量子優勢quantum-advantage與量子實用性quantum-utility">量子優勢（Quantum Advantage）與量子實用性（Quantum Utility）
&lt;/h3>&lt;p>以這場爭論為契機，整個業界的趨勢，開始從單純執著於「執行古典電腦無法做到的人為任務（超越性）」轉移到「在現實社會的實用問題上，展現出比古典方法更具實質的優勢（量子優勢）」，甚至是「讓量子電腦發揮作為科學發現新工具的功能（量子實用性）」的階段。&lt;/p>
&lt;p>IBM本身避開了「超越性」一詞，提倡以「量子體積（Quantum Volume）」與「CLOPS (Circuit Layer Operations Per Second)」作為量子處理器的綜合性能指標，並推動著重於硬體規模與品質平衡的開發。&lt;/p>
&lt;div class="mermaid">timeline
title "量子里程碑的演進"
2019 : "Google Sycamore (53Q)" : "發表量子超越性"
2019 : "IBM反駁" : "超級電腦Summit能在2.5天內完成模擬"
2021 : "IBM Eagle (127Q)" : "突破100個量子位元的障礙"
2022 : "IBM Osprey (433Q)" : "推進處理器規模"
2023 : "Google表面碼" : "擴展錯誤更正（d=3 到 d=5）"
2023 : "IBM量子實用性" : "在127Q上模擬複雜的自旋模型"
2024 : "未來展望" : "邏輯量子位元與錯誤緩解時代"&lt;/div>
&lt;hr>
&lt;h2 id="5-下一個前沿錯誤緩解error-mitigation與量子錯誤更正qec">5. 下一個前沿：錯誤緩解（Error Mitigation）與量子錯誤更正（QEC）
&lt;/h2>&lt;p>目前的量子電腦被稱為「NISQ（Noisy Intermediate-Scale Quantum）」，容易受到雜訊（與外部環境的互動或控制不完美所造成的錯誤）的影響，進行長時間計算時，結果就會被雜訊淹沒。為了解決這個問題，主要分為「錯誤緩解（Error Mitigation）」與「量子錯誤更正（Quantum Error Correction）」兩種策略。&lt;/p>
&lt;h3 id="錯誤緩解error-mitigation">錯誤緩解（Error Mitigation）
&lt;/h3>&lt;p>錯誤緩解是一種不需要改變量子硬體，僅透過古典的後處理，從計算結果的期望值中去除雜訊影響的手法。IBM在2023年，將127個量子位元的「Eagle」處理器與「零雜訊外推（Zero-Noise Extrapolation: ZNE）」等錯誤緩解技術結合，在複雜的易辛模型（Ising model）時間演進模擬中，達成了超越最先進的近似張量網路法的精度，實證了「量子實用性（Quantum Utility）」。&lt;/p>
&lt;h3 id="量子錯誤更正qec與邏輯量子位元">量子錯誤更正（QEC）與邏輯量子位元
&lt;/h3>&lt;p>然而，為了最終能夠執行任意複雜的演算法（例如Shor的質因數分解演算法或複雜的量子化學計算），單靠錯誤緩解是不夠的，動態偵測並修正錯誤的「量子錯誤更正（QEC）」是不可或缺的。&lt;/p>
&lt;p>QEC的主流方法是「表面碼（Surface Code）」。這是一種將多個物理量子位元（資料量子位元）排列成二維網格狀，並在其中配置測量用的量子位元（輔助量子位元），連續進行被稱為「穩定子（Stabilizer）」的同位元檢查的手法。&lt;/p>
&lt;div class="mermaid">graph LR
Q1["資料量子位元（資料）"] --- M1["測量X穩定子（輔助）"]
Q2["資料量子位元（資料）"] --- M1
Q3["資料量子位元（資料）"] --- M2["測量Z穩定子（輔助）"]
Q4["資料量子位元（資料）"] --- M2
M1 --> EC["錯誤症候群解碼（古典）"]
M2 --> EC
EC --> LQ["邏輯量子位元狀態更新"]&lt;/div>
&lt;h4 id="閾值定理threshold-theorem與距離-d">閾值定理（Threshold Theorem）與距離 $d$
&lt;/h4>&lt;p>量子錯誤更正中存在著「閾值定理」。當物理量子位元的錯誤率 $p$ 低於特定的閾值 $p_{th}$（表面碼的情況約在 1% 左右）時，透過增加碼距離（Distance）$d$（將更多的物理量子位元分配給一個邏輯量子位元），就能夠呈指數級地降低邏輯錯誤率 $p_L$。&lt;/p>
&lt;p>邏輯錯誤率的近似公式如下所示：&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>這裡 $\Lambda$ 為常數。只要 $p &lt; p_{th}$，$d$ 越大 $p_L$ 就會越小。然而，若 $p > p_{th}$，增加物理量子位元反而會導致雜訊累積，使邏輯錯誤率惡化。&lt;/p>
&lt;h4 id="google在2023年的里程碑實證透過擴展距離降低錯誤">Google在2023年的里程碑：實證透過擴展距離降低錯誤
&lt;/h4>&lt;p>2023年2月，Google在《Nature》上發表了一篇具有紀念意義的論文。他們使用第三代的Sycamore處理器，全球首次實證了當表面碼的距離從 $d=3$（使用17個物理量子位元）擴展到 $d=5$（使用49個物理量子位元）時，邏輯錯誤率從 3.028% 微微下降到了 2.914%。&lt;/p>
&lt;p>這意味著已經踏入了 $p &lt; p_{th}$ 的領域，證明了只要增加物理量子位元效能就會提升，這象徵著邁向FTQC最重要的一項概念驗證（Proof of Concept）已經完成。&lt;/p>
&lt;hr>
&lt;h2 id="6-邁向ftqc容錯量子計算的發展藍圖與展望">6. 邁向FTQC（容錯量子計算）的發展藍圖與展望
&lt;/h2>&lt;p>Google與IBM雖然各自採用了不同的架構與策略，但都在為了最終目標FTQC（Fault-Tolerant Quantum Computing，容錯量子計算）展開著激烈的開發競爭。&lt;/p>
&lt;h3 id="ibm的策略模組化與重六角heavy-hex網格">IBM的策略：模組化與重六角（Heavy-Hex）網格
&lt;/h3>&lt;p>IBM在徹底降低錯誤率的同時，也致力於處理器的規模擴充。在挑戰「Eagle(127Q)」、「Osprey(433Q)」、「Condor(1121Q)」等單一晶片極限的同時，也發表了名為「Quantum System Two」的模組化架構。此外，在量子位元的耦合拓撲結構上，採用了能減少不必要的串擾（crosstalk）並提高穩定性的「重六角（Heavy-Hex）網格」。IBM的策略是一種混合式方法，短期內透過高度的錯誤緩解追求實用性，並階段性地導入QEC。&lt;/p>
&lt;h3 id="google的策略提升邏輯量子位元品質">Google的策略：提升邏輯量子位元品質
&lt;/h3>&lt;p>Google的策略比起急遽增加物理量子位元的數量，更著重於將單個邏輯量子位元的錯誤率降低到極限（例如降至 $10^{-6}$）。在此基礎上，建立在模組之間傳輸量子狀態的技術（Quantum Interconnects），目標是打造能讓數千至數萬個物理量子位元平行運作的大規模系統。&lt;/p>
&lt;p>為了以容錯方式執行如魔法態蒸餾（Magic State Distillation）等非克里福閘（Non-Clifford gates）的協定實作，也將是未來的重大技術障礙。據說若要執行實用的Shor演算法來破解2048位元的RSA密碼，大約需要數千個錯誤率在 $10^{-8}$ 以下的邏輯量子位元，換算成物理量子位元則需要數百萬至數千萬個，前方的道路依然漫長。&lt;/p>
&lt;hr>
&lt;h2 id="7-結語">7. 結語
&lt;/h2>&lt;p>「量子超越性」是量子電腦歷史上，在物理層面證明計算機理論潛力的重要里程碑。Google在2019年的實證與IBM建設性的反駁，將整個業界從單純的理論證明，推動到了追求實際實用性（Utility），以及邁向最終容錯量子計算（FTQC）的正式工程時代。&lt;/p>
&lt;p>現在，我們正處於從充滿雜訊的NISQ裝置，過渡到具備錯誤更正功能之邏輯量子位元裝置的過渡期。在未來的數年到十年內，隨著這些量子硬體的進化，新材料科學的發現、新藥開發過程的革命，以及最佳化問題的突破，都將成為現實。&lt;/p>
&lt;p>塑造未來計算機科學的Google與IBM，以及全世界研究者們的動向，未來也將持續令人矚目。&lt;/p></description></item></channel></rss>