Page 9 - 《软件学报》2025年第8期
P. 9
3432 软件学报 2025 年第 36 卷第 8 期
describes the closure of each candidate circuit module to characterize the representation space of the circuit, and then prunes based on the
overlap rate of the representation spaces of the modules, thus constructing a small and high-quality candidate set. Furthermore, to reduce
the overhead of searching for optimal gate parameters, this study packs the selected candidates with the target unitary into a uniform
circuit so that we can quickly obtain the approximation distance by calculating its expectation on the ground state. Experiments show that,
compared with the current optimal quantum circuit synthesis methods QuCT and QFAST, this study reduces the number of gates to
37.0%–62.5%, and achieve a 3.7–20.6 times acceleration in the 5 to 8 qubit quantum circuit synthesis.
Key words: quantum computing; quantum software; quantum circuit; compiler; program synthesis
量子程序的部署包含从高级量子语言到可执行量子指令的多个优化阶段. 该过程从语言描述 [1,2] 开始, 经历了
比特布局 [3–5] 、脉冲合成 [6] 等环节. 当前量子程序通过量子电路描述量子比特 (量子寄存器) 的操作. 量子电路由一
系列量子门组成, 这些量子门按照一定顺序操作特定的量子比特. 然而量子电路合成具有最高的延迟, 可能引入数
[7]
千个门. 在传统的编程语言领域, 程序合成 (program synthesis) 是一种用于自动生成满足特定功能需求的程序的
重要技术. 例如, 胡星等人利用深度学习生成程序. 同时也存在基于演绎推理的 SQL 语句 [8,9] 以及数据结构 [10]
的自动合成方法. 这些程序合成方法能帮助编程者大幅降低编程难度. 同样的, 量子电路合成也是辅助量子编程的
重要工具 [11] . 量子电路合成阶段的输入是一个目标酉矩阵, 合成旨在搜索找到一个由基本门组成的量子电路, 该
量子电路在数学上和目标酉矩阵相等.
在当前的中等规模含噪量子时代中, 门容易受到噪声的影响. 因此, 目前的合成过程都需要尽可能地减少量子
电路中门的数量 [12] . 例如在部署中量子比特映射阶段, 通过多因素成本优化方法降低量子比特映射中实现映射变
化的交换门数量 [4] . 谢磊等人 [13] 对这一系列的优化方法进行了系统性的描述. 在合成电路的过程中, 由于量子门的
各种组合表示的空间随着比特数和电路深度指数增长, 且空间中门的数量分布尤其不均匀, 低效的合成可能会导
致指数级别增长的门, 因此在量子电路合成中减少量子电路的门数量也变得更加重要 [14] .
量子电路合成已经被广泛应用于当前的面向量子语言的编译器中, 如 Qiskit [15] 和 Cirq [16] . 这些编译器中的电
路合成过程采用了基于数学模板的策略 [17,18] , 可以在 100 s 以内的时间找到酉矩阵的量子电路表示. 然而, 这些方
法可能会生成过多的量子门, 在当前含噪量子时代, 这会导致量子程序在执行时产生大量噪声, 从而导致执行失
败. 具体来说, 对于超过 5 量子比特的酉矩阵, Qiskit 和 Cirq 生成的量子电路包含了数千个门. 例如, Qiskit 默认使
用的是按列分解方法 (CCD) [17] , 其将酉矩阵分解成多个小酉矩阵, CCD 在合成 6 量子比特的量子傅里叶电路时会
产生超过 9 000 个门, 然而最优的量子傅里叶电路只需要 81 个门.
近期, 国际上提出了一系列旨在优化量子电路数量的量子电路合成方法, 例如 2021 年提出的 QFAST 和
[3]
2023 年提出的 QuCT [19] . 这些方法都采用迭代搜索来逼近目标酉矩阵, 每次迭代的时候, 它们都会从候选空间中选
择插入一个候选门或者一个候选的电路模块. 然而, 它们依赖于重复的搜索, 导致了较高时间复杂度. 例如, QFAST [3]
需要超过 6 个月的时间来合成 6 比特酉矩阵的量子电路. Kang 等人 [11] 和 Paradis 等人 [20] 则提出了利用模块化的
量子电路来组成合成电路的思想, 但是由于这些方法使用的电路模块是人工决定了, 该方法只适用于特定酉矩阵.
此外, 这些方法仍然无法实现最少的门数量. 例如, QuCT [19] 合成 6 量子比特的量子傅里叶酉电路需要 283 个门, 相
对于最优结果增加了 3.5 倍的门数量. Kang 等人的方法则在合成 6 量子比特的随机酉矩阵的时候产生了超过
11 000 个门, 甚至比基于数学模板的策略 [17,18] 的方法更低效.
根据本研究的观察发现, 这些方法存在的高合成延迟或是低质量缺陷本质上来源于 3 个限制.
(1) 这些方法在搜索过程中容易陷入局部最优解. 当前的方法采用了贪心算法 [3] 或者临近搜索 [20] 来寻找量子
电路, 这导致了大量冗余的门的产生. 在实现上, 这些方法面临搜索时间和结果质量的权衡. 如果搜索时间越少, 则
找到高质量的量子电路的机会就越小. 但是如果想找到高质量的量子电路, 一般又需要非常巨大的搜索的时间. 总
体来说. 为了在搜索中平衡效率, 这方法都采用了贪心策略. 在每次迭代中插入门时, 它们只会选择使量子电路更
快逼近酉矩阵的门插入量子电路中, 而不考虑这可能会导致局部最优. 从而导致比最优结果更多的门.
(2) 这些方法在搜索空间中是庞大且重叠的. 当前方法的搜索的候选空间包括量子门在不同比特和位置上的
量子模块组合. 先前的研究, 如 QFAST 和 [3] QSEARCH [21] 会穷尽所有可能的候选电路模块, 一一测试其是否适合被

