兑换量子计算机,阅读 | 【量子计算机】构造置换量子门(续)

原标题:阅读 | 【量子计算机】构造置换量子门(续)

上回我们留下了一道构造量子线路的题目,这里先做一下简单回顾。

用尽可能少的 CNOT 和 Toffoli 门来构造一个量子线路,实现以下的置换:

|000>

|000>

|001>

|010>

|010>

|100>

|011>

|111>

|100>

|001>

|101>

|101>

|110>

|110>

|111>

|011>

读者们构造出来一个实现上述置换,且只含 8 个 CNOT 和 Toffoli 门的线路了吗?这里先不公布答案,咱们先来讲讲解决这道题的一种强力方法。利用这种方法,可以得到下面一些结果:

构造出所有 5040 种如上置换的线路,而且门数一定都是最少;

至多只需要 8 个 CNOT 和 Toffoli 门就可以构造出任意一个如上的置换。

解决方案

我们用图论来对问题进行建模。

为了简便计,我们把下面 8 个量子态:

|000>, |001>, |010>, |011>, |100>, |101>, |110>, |111>

1,2,3,4,5,6,7,8

来代表,于是我们可以用 (12345678) 的一个置换代表实现这 8 个量子态的一个置换。比如,上面的题目要求实现的置换可以简单表示为:

(13582674)

再比如,不做任何改变的置换就是

(12345678)

本身。

现在,我们可以用的量子门有下面 9 个,它们和上面的置换表示方法的关系如下。

控制位为第 1 位,目标位为第 2 位的 CNOT 门,简称之为 cn12,如下:

aa46205f4f7882006ecf1e4c2180a8e4.png

它的作用是将 5 和 7 对调,将 6 和 8 对调;

2. 控制位为第 1 位,目标位为第 3 位的 CNOT 门,简称之为 cn13,如下:

c9cb503d863366ffee41798ebc676013.png

它的作用是将 5 和 6 对调,将 7 和 8 对调;

3. 控制位为第 2 位,目标位为第 3 位的 CNOT 门,简称之为cn23,如下:

f26943167eaa62059d45392f9e9ff974.png

它的作用是将 3 和 4 对调,将 7 和 8 对调;

4. 控制位为第 2 位,目标位为第 1 位的 CNOT 门,简称之为 cn21,如下:

2692b377dac3f5c27b239f75f1a3494e.png

它的作用是将 3 和 7 对调,将 4 和 8 对调;

5. 控制位为第 3 位,目标位为第 1 位的 CNOT 门,简称之为 cn31,如下:

11e9522bf71a4c6fdaa4d97128d1eedd.png

它的作用是将 2 和 6 对调,将 4 和 8 对调;

6. 控制位为第 3 位,目标位为第 2 位的 CNOT 门,简称之为 cn32,如下:

56f15b2d62b50cdcffa3df60a7bc45a9.png

它的作用是将 2 和 4 对调,将 6 和 8 对调;

7. 目标位为第 1 位的 Toffoli 门,简称之为 tof1,如下:

d5979c34bb8e77030dc1c39b25619d68.png

它的作用是将 4 和 8 对调;

8. 目标位为第 2 位的 Toffoli 门,简称之为 tof2,如下:

f2b7aef697868ea6f0c7b396318a5a56.png

它的作用是将 6 和 8 对调;

9. 目标位为第 3 位的 Toffoli 门,简称之为 tof3,如下:

20d68bd455b7499929f0b1f52b43de4b.png

它的作用是将 7 和 8 对调;

现在,如果我们把任意一种置换看作是一个顶点,从一个置换 A 到另一个置换 B 若可以通过施加 1 个门得到,则说有一条从 A 到 B 的边。

比如,从 (12345678) 出发,施加 tof3 门,得到 (12345687),可以表示为:

6bf0d4b5017b7d2e15ed4a572c8586df.png

这样,我们就定义了一个图的结构,量子态是顶点,量子门是边,量子线路是从 (12345678) 出发到特定顶点的路径。

现在,我们希望能够得到所有 5040 个置换,以及它们对应的线路,而且希望保证得到的量子线路是实现同样置换的线路当中,门数最少的。这里便要用到广度优先搜索算法。

算法的基本思想是:从 (12345678) 出发,首先施加 1 个门,到达 9 个不同的顶点(对应 9 个不同的置换);再从它们出发,增加 1 个门,到达 81 个顶点,去除重复的顶点;以此类推。

比如,画出前面一些顶点和边就像:

09f8800917e97b872f30bddcfd3c0adb.png

这个算法生成的图具有树的结构,根结点是 (12345678),设它处在第 1 层。这棵树的特点是:

第 n 层结点对应的置换最少可以用 n-1 个 CNOT 和 Toffoli 门来实现;

第 n 层包含了所有最少可以用 n-1 个门来实现的置换;

对 n = 1,2,上述两条都是成立的,对更大的 n 可以用归纳法和反证法说明。假设上述论点对于 n = 1, ..., k 成立,则:

假设 k+1 层结点对应的置换可以用少于 k 个门实现,那么这些结点应该出现在 n < k+1 层,矛盾,可见论点 1 成立;

又对任意一个最少可以用 k 个门实现的置换 A,去除它的最后一个门 G,得到一个最少可以用 k-1 个门实现的置换 a,这 a 由假设一定在第 k 层,这样再补回去 G,便知道 A 一定在第 k+1 层,可见论点 2 成立。

由此可见:从根节点 (12345678) 出发,到达任意节点的路径,必是一个实现该置换的线路,而且使用门数最少!

实验

使用 C++ 编写上述算法,跑出来取第 5005 到 5040 的结果截图如下:

631021b1c6866064584c4c05123154c9.png

其中第 1 列为置换,后面各列是对应的量子线路(门数最少)。

从算法运行结果可以看到,我们不仅得到了文章一开始的题目的解答(见上面截图第 5040 行),而且得到所有 5040 个置换对应的门数最少的量子线路。另外还发现,所有 5040 个置换,至多只要 8 个 CNOT 和 Toffoli 门就可以实现。

答案

我们把上面的结果画出线路图,得到文章一开始的解答:

4ba63ca4f13a5fa3996c7a177ac3be3d.png

(答案不唯一)

●●●

回复以下关键词查看相应内容

美赛/数学建模 | 校历| 成绩单/推荐信函

医保/南校门诊 | 毕业/典礼/留言

大学服务中心 |辅导员 | 校车 | 办事(流程)

回复教师姓名可获取相应信息

●●

责任编辑:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值