量子复杂度理论入门
量子复杂度理论主要聚焦于三个基础模型:计算复杂度、查询复杂度和通信复杂度,这三者虽各有不同,但却存在紧密的联系。下面我们将详细了解这三个模型。
1. 计算复杂度
在计算复杂度的场景中,输入通常被编码为二进制字符串,算法需依据这些输入计算出对应的输出字符串。算法通过一系列局部操作得出所需输出,这里的“局部”指的是每个操作仅涉及少量的数据位或量子位。
1.1 经典电路
经典电路的基本操作包括二进制与(AND)门、二进制或(OR)门和一元非(NOT)门。例如,一个由五个门组成的布尔电路可计算两位的奇偶性。不过,计算复杂度对所选择的基本操作集十分敏感。以计算两位奇偶性为例,若使用与、或、非门,最小电路需要五个门;若将异或(EXCLUSIVE - OR)门作为基本操作,一个门就足够了。
对于大规模问题,如计算n位的奇偶性,使用异或门构建的树结构需要n - 1个门;若仅使用与、或、非门,则大约需要5(n - 1)个门。在这两种情况下,门的数量都是O(n)。
计算复杂度通常用渐近符号表示,如O(T(n))表示上限,Ω(T(n))表示下限,Θ(T(n))表示上下限都满足。如果一个电路的大小是O(nd)(d为常数),则称其为多项式有界的。
在处理输入大小n时,对于n可变的问题,算法通常是一个电路族(C1, C2, C3, …),其中Cn负责处理所有大小为n的输入实例。电路族需要是均匀的,即可以用有限的方式进行指定。
下面来看几个具体的问题:
- 素性测试 :输入是一个用n位二进制字符串表示的数x,若x为素数,输出为1;若x为合数
超级会员免费看
订阅专栏 解锁全文
1016

被折叠的 条评论
为什么被折叠?



