一、经典计算与量子计算的根本区别
经典计算机使用比特(bit)作为信息的基本单位,每个比特只能处于0或1两种状态之一。而量子计算机使用量子比特(qubit),它可以同时处于0和1的叠加态,这是量子计算威力的源泉。
量子比特的状态可以用量子态矢量表示:
其中 α 和 β 是复数,满足归一化条件 |α|² + |β|² = 1。这意味着量子比特可以同时处于多个状态的线性组合中。
关键理解:这不是说量子比特"不确定"是0还是1,而是它真实地同时处于两种状态。当你测量时,它会以|α|²的概率坍缩到|0⟩,以|β|²的概率坍缩到|1⟩。
对于n个量子比特,系统可以同时处于2^n个状态的叠加,这就是量子并行性的来源。
这是爱因斯坦称之为"鬼魅般的超距作用"的现象。两个或多个量子比特可以形成纠缠态,其中一个粒子的状态瞬间影响另一个,无论它们相距多远。
经典的纠缠态例子是贝尔态:
这表示两个量子比特完全关联:如果测量第一个得到0,第二个必然是0;如果第一个是1,第二个也必然是1。
量子态的概率幅(α、β)可以相互干涉,就像波的干涉现象。通过巧妙设计量子算法,我们可以让"错误"答案的概率幅相互抵消(相消干涉),而"正确"答案的概率幅相互增强(相长干涉)。
量子计算通过量子门操作量子比特,这些门是酉变换(幺正变换)。常见的单量子比特门包括:
Hadamard门(H门):创建叠加态
Pauli门(X, Y, Z):类似经典的NOT门和相位翻转
相位门(T门、S门):改变量子态的相位
双量子比特门如CNOT门(受控非门)可以创建纠缠态。
初始化:将所有量子比特初始化为|0⟩
创建叠加:应用Hadamard门等,让量子比特进入所有可能状态的叠加
量子演化:应用一系列量子门,利用干涉效应"计算"所有可能性
测量:坍缩到某个经典结果,重复多次获得概率分布
让我用一个比喻:假设你要在一个巨大的迷宫中找出口。
经典计算机:一条路一条路地试,即使是超级计算机,也只能快速地逐个尝试
量子计算机:像水流一样同时探索所有路径,通过量子干涉让错误路径"抵消",正确路径"增强"
这就是为什么某些问题(如Shor算法分解大整数、Grover搜索算法)在量子计算机上可以获得指数级或多项式级加速。
量子计算并非万能,主要挑战包括:
退相干:量子态极其脆弱,与环境相互作用会迅速丧失量子特性
量子纠错:需要大量物理量子比特来编码一个逻辑量子比特
可扩展性:目前的量子计算机只有几百个量子比特,远不足以解决实际问题