3. 量子态与测量结果的概率本质
在经典程序里,一个变量在某一时刻只有一个确定值,断言只需比较“实际值是否等于期望值”。量子程序则不同:量子比特在被测量之前通常处于叠加态,一次测量只给出某个本征态作为结果,而这个结果服从由量子态决定的概率分布。理解这一点,是设计可靠断言的前提——否则我们会把“概率上合理的一次采样”误判为程序错误,或者把“概率上罕见但合法”的结果当成缺陷漏掉。
叠加态:一次运行只看到分布中的一个样本
以单量子比特为例,态可以写成 |ψ⟩ = α|0⟩ + β|1⟩,其中 α、β 为复振幅,满足 |α|² + |β|² = 1。在计算基下测量,得到 0 的概率为 |α|²,得到 1 的概率为 |β|²。若制备 H|0⟩ = (|0⟩+|1⟩)/√2,则理论上 0 和 1 各占 50%。但一次运行只返回一个比特,可能是 0,也可能是 1,单次结果无法区分“正确的叠加态”和“错误的但恰好输出该值的态”。
这对测试的直接含义是:断言不能建立在单次采样上。若被测电路本应产生均匀叠加,而实现中误把角度写成 π/4 而非 π/2,单次运行仍可能返回 0,测试通过;只有统计多次采样,才能看出 0 的频率偏离 50%。因此量子测试的断言天然带有“统计判据”属性,需要预先声明样本量、显著性水平和容差。
纠缠:关联性无法由单比特边缘分布体现
纠缠态如 |Φ⁺⟩ = (|00⟩+|11⟩)/√2,其特点是两比特的联合测量结果完全关联:测第一个比特得 0,第二个必为 0;得 1 则第二个必为 1。但若只看单个比特的边缘分布,每个比特都是 50/50 的均匀分布,与两个独立均匀比特的乘积态 (|0⟩+|1⟩)/√2 ⊗ (|0⟩+|1⟩)/√2 在单比特统计上无法区分。
这意味着测试纠缠相关逻辑时,仅统计各比特的 0/1 频率是不够的,必须统计联合结果,例如 |00⟩ 与 |11⟩ 的出现频率、关联函数 ⟨Z₁Z₂⟩,或对贝尔态测量关联量。若实现中纠缠门(如 CNOT)缺失,联合分布会退化为四种结果各约 25%,而单比特边缘仍是 50/50,单比特断言完全失效。测试用例应显式断言联合分布或关联量,而不是逐比特独立断言。
测量坍缩:测量会改变状态,顺序影响结果
测量不仅读出信息,还会使态坍缩到被测算符的某个本征态。对 |ψ⟩ = (|0⟩+|1⟩)/√2 先测 Z 得 0,态即变为 |0⟩,后续再测 Z 必得 0。因此“先测哪个比特、在电路哪个位置插入测量”会改变后续可观测的结果。测试中若在断言前意外插入测量,或在同一量子寄存器上重复读取,可能破坏原本要验证的叠加或纠缠结构。
实践上应遵循两条原则:其一,把测量集中在电路末端,除非算法本身要求中段测量(如量子纠错、动态电路);其二,测试断言应基于测量前的态所决定的分布,而不是基于某次坍缩后的确定值。若必须验证中段测量行为,应单独设计用例,明确坍缩后的条件分布。
概率性结果的统计描述与断言设计
把上述性质落到断言上,核心是把“期望值”从单个比特扩展为分布或统计量。常用描述包括:各计算基结果的经验频率、期望值 ⟨Z⟩ = P(0) − P(1)、多比特关联量、以及态层面对比(如保真度)。对 n 次采样,频率 p̂ 的标准差约为 √(p(1−p)/n),可据此设定容差。例如期望 p = 0.5、n = 1000 时,标准差约 0.0158,取 ±3σ 容差约 ±0.047,即观测频率落在 [0.453, 0.547] 内可接受。
下面的图示把“量子态—测量—统计判据”的关系串起来,并对比单次断言与统计断言的差异,便于在设计断言时对照检查。
一个可执行的统计断言示例
假设被测电路为 H 门作用于 |0⟩,期望测量 0 与 1 各约 50%。测试可这样组织:采样 n = 1000 次,统计 1 的出现次数 k,计算 p̂ = k/n,并断言 |p̂ − 0.5| ≤ 0.047(约 3σ)。若实现误用角度使 P(1) = 0.25,则 p̂ 期望为 0.25,偏离 0.25,远超容差,测试能稳定失败;而单次断言在 75% 的情况下会误通过。对纠缠态,则改为统计 |00⟩ 与 |11⟩ 的联合频率,断言两者之和接近 1 且各自接近 0.5,同时断言 |01⟩、|10⟩ 频率接近 0。