量子并行计算(Quantum Parallelism)能够实现是因为量子叠加态(Quantum Superposition)的存在
在经典计算机中(Classical Computer),也就是我们现在在用的电脑,最小的资讯单位是位,或者称之为比特(bit)。每个比特的状态可以是0或者1。0对应的是“否”,1对应的是“是”。
我们将资料的运算想成一个方程:y=f(x),其中x是输入值,f是方程,y是输出结果。
例如:f为一个“否运算”,
函数的意思为输出结果为输入值的否定值,既输入“是”,则输出“否”;输入“否”,则输出“是”。那么对应到函数中x=0,“否”,y=f(0)=1,“是”;反之亦然。
当然,方程的输入也可以是两个值,则对应y=f(x1,x2)。
例如:f为一个“与门运算”(AND gate)
函数的意思为,只有两个输入值都为“是”的时候,输出结果为“是”;只要其中一个输入值为“否”,则输出结果为“否”。
在量子计算中,最小的资讯结构为量子位(quantum bit,qubit),它是量子叠加态的。
接下来是量子叠加态的介绍,对于一个量子叠加态,表示为:
,且
其中 和 线性独立(linear independent),可以理解为相互垂直的单位向量。则可以将这个量子叠加状态想象成一个长度为一的二维的向量 ,在进行计算时,x与y相互独立,并不影响对方的结果,即 。
对于这个状态,当我们不进行量测时,两个结果并存,一旦量测,则结果坍塌至一个值伴随着相应的概率。 和 分别表示当量测时,结果是 和 的概率。对此不了解的可以参考薛定谔的猫,将一只猫关进箱子里,并且放入一瓶自己会打开,但是不知道什么时候会打开的毒药。一段时间后猫有可能死了,有可能还活着,但是如果我们不打开箱子,则猫的状态为活着的和死亡的叠加态;唯有打开箱子,猫的状态坍塌成死亡或者存活单一状态。
那么对于方程y=f(x),当输入的值为一个量子叠加态时,结果如下:
因为 和 线性独立,则其输出结果也是线性独立的。在此情况下,输入一个量子位到方程中,可以同时得到两个方程的结果。
对于两颗量子位,其状态为:
将此状态输入到一个方程中,则可以同时得到四个输出结果。
输入n个量子位到一个方程中,可以同时得到 个结果。
一个方程,输入值为一个量子叠加态,从而同时得到多个结果,称为量子并行运算。初看这个非常强悍,运算力随量子位的数量呈指数增长。可是输出的结果也是量子叠加态的,意味着一旦我们量测,则状态塌陷到一个结果,其他的可能性不复存在;可是如果我们不进行量测,又无法获得状态中的信息。所以需要提出演算法来进行有效运算与数据提取。
上一篇:量子计算机什么时候民用?