前言:
如今小伙伴们对“算法的步骤是可逆的嘛”都比较注重,朋友们都想要了解一些“算法的步骤是可逆的嘛”的相关知识。那么小编也在网摘上汇集了一些有关“算法的步骤是可逆的嘛””的相关文章,希望各位老铁们能喜欢,兄弟们快快来了解一下吧!在亚原子水平上,我们所了解的关于古典物理学的所有事物都将破裂,不仅破裂很小,而且会大规模破裂。 欢迎来到量子力学世界,并准备感受这个奇特的世界。
在我们开始讨论量子计算之前,我们必须掌握什么是量子力学,它的特殊之处以及量子力学现象如何帮助我们执行高级计算。
量子力学的最初研究可以追溯到17世纪,当时科学家提出了光的波动理论(光可以同时显示为波动理论和粒子理论)。 马克斯·普朗克(Max Planck)在1900年提出了光量子的存在,阿尔伯特·爱因斯坦(Albert Einstein)进一步确认了光量子的存在,他说光是由称为光子的微小粒子组成的,每个光子都有能量。 通常,量子力学在原子和亚原子粒子的尺度上处理物质的行为及其与能量的相互作用。
随着量子力学的出现,牛顿力学(或经典力学)开始在基本水平上消退。古典物理学无法解释光本身的某些特定性质,例如氢光谱系列,例如,当在管中加热氢气并观察到发射的光时,可以注意到原子氢的发射光谱,包含光谱系列的数量而不是连续发出的光(或电磁辐射),是的,它更像是色带,与经典物理学的期望不同。丹麦物理学家尼尔斯·玻尔为此提出了一种解释,即玻尔模型。在玻尔模型中,他将原子描述为一个小的带正电的原子核,被围绕在原子核周围圆形轨道中移动的电子包围,这类似于太阳系的结构。每个轨道对应于不同的能级。能量的变化,例如电子在原子核周围从一个轨道到另一个轨道的过渡,是用离散的量子完成的。术语"量子跃迁"是指从一个离散能级到另一种能量级的突然运动,没有平稳的过渡。没有"中间"状态。
量子跃迁是特殊的,因为电子的运动不是渐进的,它只是从一个轨道消失,而以下一个状态出现在下一个轨道中,并且发射(或吸收)了一定量的能量。 好吧,这使事情变得有趣。 玻尔解释说,无法进一步细分此级别的能量,这被称为量子,即特定的最小能量。 物理学家普朗克提供了这种能级的初步见解,因此我们将其称为普朗克常数。 因此,通常,原子中电子的能量被量化。
这只是开始,经典物理学的可预测性被量子物理学的潜力所取代。 这对于当时的许多物理学家来说是非常令人担忧的。 为什么电子遵循量化轨道而没有中间态?
德布罗意在1923年的论文回答了这个问题。 他解释说,物质可以表现出与光相同的质点和波动性质。 电子的波特性要求它们获得一定的波长,以使它们适合进入轨道。 但是由于电子的波动特性,在该轨道上电子可以存在于所有地方,而不仅是特定地点。 这从根本上不同于古典物理学,但已通过实验证明。 由于像我们人类一样,质量较高的物质具有较高的动量,并且由于质量与德布罗意波长成反比,因此此类物质的波长将大大减小。 因此,德布罗意解释的影响在宏观层面上逐渐减弱。
戴维森(Davisson)和杰默(Germer)在1927年进行的双缝实验证明,光和物质可以同时表现出经典定义的波和粒子的特性。托马斯·扬(Thomas Young)在1801年进行了类似但更简单的双缝实验形式。光穿过屏障罐中的两个缝时,来自另一侧屏幕上的干涉图案。(穿过双缝的光不会形成这些实验中有趣的部分是,即使我们一次通过一个电子/光子,干扰图也会在屏幕/检测器上累积。这怎么可能?这意味着,如果我们通过双缝隙从源发出单个电子(并且我们不知道电子穿过哪个缝隙),则在屏幕(或检测器)上电子的另一侧出现的概率是(它可以是干涉图中的任何位置)。如果我们发送大量的电子,它将在另一侧形成干涉图。这意味着每个单电子都必须表现出波的性质,否则它将不会干扰任何其他事物,位于势垒一侧的单个电子波将在双缝势垒的另一侧产生两个波(仅就像穿过两个孔的单个水波可以在另一侧形成两个波),并且这两个波彼此相互作用以形成干涉图案。
欧文·薛定谔(Erwin Schrodinger)发表了一个方程,该方程将运动的电子描述为波的传播方向。 该方程式又称薛定谔方程式,该方程式帮助他赢得了1933年的诺贝尔物理学奖。
德国物理学家和数学家马克斯·伯恩(Max Born)制定了概率密度函数,将所有这些描述为将电子发现为波的可能性。 这是在他对玻尔模型的电子轨道进行研究之后得出的,该研究有助于与维尔纳·海森堡一起制定量子力学的矩阵力学表示形式。 一年后,海森堡提出了海森堡的不确定性原理,该原理规定即使在理论上也不能同时精确地测量粒子的位置和速度。
维尔纳·海森堡(Werner Heisenberg)和尼尔斯·玻尔(Niels Bohr)共同设计了哥本哈根的量子力学解释,该解释称物理系统在被测量之前通常没有确定的属性,而量子力学只能预测测量将产生某些结果的概率。 测量动作将导致波动函数崩溃,将概率变为一个可能的值。
爱因斯坦(Albert Einstein)回应
"上帝不会与宇宙玩骰子"
尼尔斯·玻尔回答
"不要告诉上帝如何处理他的骰子。"
即使对于有史以来最聪明的人,量子物理学的全部内容也难以消化。 但是在双缝实验中很明显,如果我们尝试通过在任何缝上放置一个测量装置来找出电子通过哪个缝,干涉图就会消失。
因此,在没有观察的情况下将现实分配给宇宙是没有意义的。 在测量之间的间隔中,量子系统确实是所有可能特性的模糊混合物。 这是量子叠加,正常的物质宇宙仅在测量时才有意义。
对于我们的电子,叠加可以描述为电子同时在不同位置的可能性。 根据不确定性原理,这也可以应用于电子的自旋(角动量的固有形式)。 电子可以在所有方向上旋转,直到我们测量其自旋,在测量自旋时向上将与测量方向对齐或在相反方向上对齐。 这也称为向上旋转或向下旋转。
量子系统中的事物也乍一看也很难掌握,为了放松,我们可能需要看猫录像。 薛定谔的猫呢?
让我们也看一下。
简而言之,一只猫在密闭的盒子里放着某种东西(比如说爆炸物),它可能会杀死它,也可能不会杀死它,这意味着猫对于外界可能是活的还是死的。 因此,直到我们打开盒子并观察猫死了的概率是一半,而活着的概率是一半。
此实验还有一个更重要的含义,那就是在密闭盒中发生的情况。 如果猫感觉到爆炸,那么它就会死了;如果猫没有感觉到爆炸,那它就会活着。 猫的状态与炸药的状态有某种联系。 在量子世界中,这被称为量子纠缠。
量子纠缠是一种现象,通过这种现象,一个或多个在一起生成或紧密相互作用的粒子可以开始建立关系,并且每个粒子的量子状态无法独立描述(如果猫死了,炸药爆炸了/如果炸药爆炸了的猫死了)。 因此,无法单独描述粒子,它们成为一个连接的系统,测量一个粒子会影响另一个粒子的状态。 即使它们也相距很远,也会保留此属性。
例如,考虑两个纠缠的电子,我们将考虑电子的自旋(可以考虑位置或动量,取自旋,即角动量),当电子合计时电子总和为零。 现在我们可以将这些电子分开任意距离,并独立地对其进行测量。 如果第一个电子测量到自旋,则另一个电子将总是自旋,反之亦然。 测量效果立即发生,这意味着比光速还快。
纠缠的量子粒子以概率状态存在的想法,只有在其中一个粒子被测量时才会丢失叠加状态,而另一个粒子会瞬间受到影响,即使相隔任何距离也使当时的许多科学家疯狂 。 它甚至包括爱因斯坦(Einstein),他称其为"远距离的诡异动作",甚至提出了EPR悖论,该悖论说两个粒子相互作用形成了深层的关系,并且信息以关于潜在状态的"隐藏参数"编码。 就像一个电子说如果有人测量我会旋转,而另一个说我会旋转下来,否则,它将以比光速更快的速度发送信息来打破相对论。
Alain Aspect在1964年使用了基于约翰·斯图尔特·贝尔(John Stewart Bell)在1964年提出的贝尔定理的贝尔测试实验,证明了EPR悖论。
现在,让我们重新透视量子计算的每一件事……让我们再做一次。
量子计算研究理论计算系统,该系统直接利用量子力学现象(例如叠加和纠缠)对数据执行操作。
在经典计算机中,我们将任何数据转换为零和一,即所谓的位。 实际上是要对高电压和低电压进行处理,然后将它们通过一系列称为逻辑门的门,这些门可以操纵数据以找出结果。 可以以不同的方式排列诸如AND,OR,NOT,XOR等的逻辑门,以处理位并产生输出。 它可以执行简单的操作,例如添加复杂的加密。 逻辑门是通过使用晶体管在物理上实现的,而如今,这取决于硅半导体的特性来执行操作,而不是使用机械开关。
当然,经典计算机既快速又高效,但是它们不擅长涉及指数复杂度(例如整数分解)的问题。 尤其是当整数进一步限制为质数(Semiprime)时的质因数分解。 基本上,很容易找到两个大质数的乘积,但是要使用给定乘积的乘积,经典计算机需要进行大量计算才能找到产生该质数的数。 实际上,这种复杂性是包括RSA在内的许多密码系统的基础。
那么量子计算机如何解决这个问题呢?
在量子计算中,基本计算单位是可以表示信息的Qubit。 量子位与普通位有一些相似之处,例如可以测量为零或一。 但是,量子比特的力量在于它的量子力学性质,如叠加和纠缠。 量子位可以同时处于零状态和一状态。 量子位的状态用" ket 0"和" ket 1"表示法表示,写为| 0>和| 1>,基本测量状态类似于经典0和1。
真正的量子计算机中的量子比特到底是什么? 嗯,它可以是带自旋的电子,带极化的光子,杂质自旋,捕获的离子,中性原子,半导体电路等。
简单量子比特的超级位置可以使用下面的Bloch球表示
看起来有些复杂,但我们需要牢记的要点是,任何时候任何单个qubit都可以处于| 0>和| 1>的超级位置,并且可以表示为
a | 0> + b | 1>
其中a和b是分别测量为0和1的量子比特的幅度(与概率成比例),并且a²+b²= 1
因此,一个量子位可以处于两个状态的叠加位置,一旦被测量,它将根据每个状态的概率返回两个状态之一。 因此,测量量子位本身会对系统产生影响,因此,对量子位的测量类似于影响量子位状态的门。
如果我们考虑不止一个,比如说两个,量子位会变得更有趣,基本状态将是00、01、10、11,但是量子位可以同时处于所有四个状态的超级位置。 所以这应该表示为
a | 00> + b | 01> + c | 10> + d | 11>
为了表示两个量子位,我们需要4个概率/振幅(a,b,c,d),如果我们有三个量子位,则需要8。因此,如果我们有n个量子位,则需要2 ^ n个数字来表示 该量子系统的整体状态。 因此,随着量子位数量的少量增加,我们将能够生成可以表示巨大状态的系统,这与经典计算机不同。
即使描述超级位置所需的信息量随量子位的数量呈指数增长,但由于量子测量的基本限制,我们也将无法访问所有这些信息。电子的自旋可以在所有方向上旋转,但是当我们测量时,它在一个方向上下旋转。同样,我们将无法预测结果的出现,它是基于与状态关联的概率的概率(例如:上半场和下半场)。这意味着为了充分利用量子计算机的潜力,我们需要开发量子算法,以探索存储在qubits的超级位置中的大量信息的存在,并且在计算结束时,使系统处于我们所处于的基本状态之一。可以确定地进行检测。
在量子计算机中,可能有两个具有相反值的量子位,但是各个量子位的值在我们测量之前是未知的。由于量子纠缠,这是可能的。假设我们有两个处于零态的电子量子比特,然后我们通过施加一定频率的电磁波将第一个电子/量子比特置于叠加状态,该频率与零态和一个态的能量差成正比。现在,当我们试图通过施加第一频率的电子/量子态所需的频率电磁波来调整第二个电子/量子位时,超位的第一个电子/量子位将对第二个量子位和第二个量子位的自旋产生影响一个也会移动到一个叠加(不是稳定状态)。因此,这两个量子位的状态将纠缠在一起,如果我们先测量一个并向上旋转,则另一个将向下旋转,反之亦然。这种纠缠将在任何远距离上被持久化。在我们测量它们之前,只能将这两个量子比特视为具有可能值的单个系统。在传统的计算机中,这是不可能的,因为只有两个位没有值,但是值相反。
因此,量子位数量的增加将成倍增加可能纠缠态的数量。 需要注意的一个关键点是,量子纠缠可能非常脆弱(量子退相干),任何利用这种纠缠的系统都应具有非常小的外部干扰。
量子电路的构建块(用于量子计算的模型)是量子逻辑门。 它们就像经典计算世界的逻辑门,但与许多经典逻辑门不同,量子逻辑门是可逆的。 这是因为量子力学要求量子系统永远不会随着时间的流逝而丢失信息,并且必须始终能够重建过去。
您能想到将对量子世界产生影响的任何经典大门吗?
因为1 AND 0、0 AND 1都将输出设为0,所以AND门将不这样做。
是的,不能进入量子世界
非0 = 1,非1 = 0
如果输出为零然后输入为1,则这是可逆的;如果输出为1,则输入为零。 该门在量子世界中被称为Pauli-X门。 它将| 0>映射到| 1>和| 1>映射到| 0>
哈达玛门也作用于单个量子位并产生叠加。
交换门交换两个量子位。 即| 10>到| 01>,依此类推。
控制们作用于2个或更多量子位,其中一个或多个量子位充当某些操作的控制。例如,受控的非门(或CNOT)作用于2个量子位,仅在第一个量子位为| 1>时才对第二个量子位执行NOT操作,否则保持不变。
CNOT门:
同样在CNOT门的情况下,我们可以看到每个输出都是不同的,没有歧义,可以恢复状态。
在基于电子自旋的量子计算机中,可以轻松实现CNOT门。 由于控制位和目标位紧密靠近,控制位旋转对目标位有一定影响,因此可以决定是否可以用一定的电磁波翻转目标。
CNOT门还可以用于产生Control和Target的纠缠状态。 如果先应用Hadamard门进行控制,然后再应用CNOT门,则控制和目标都将重叠并纠缠在一起。 CNOT门通常用于量子计算中以产生纠缠态。
CNOT与任意量子位旋转一起可以实现量子计算机中的任何逻辑功能。
您还可以在这里找到其他量子门。
量子位的测量也可以改变系统的状态,其功能与门非常相似,但它不是实际的量子门。
为了使量子计算机正常工作,我们应该能够更改任意量子位的属性,并且应该能够通过在一个或多个量子位之间进行交互来运行量子逻辑门。
现在,我们需要利用所有这些逻辑来创建一些有用的算法。使用量子计算机执行简单的计算是没有意义的,因为经典计算机可以以更廉价的速度执行此操作。由于基础设施本身很复杂,并且量子计算机可以同时处理大量状态,因此量子计算机的有效使用仅限于特定领域,例如查找主要因素,搜索大量数据等。这是计算密集型的。
量子算法是一个循序渐进的过程,其中每个步骤都可以在量子计算机上执行,这将涉及诸如叠加和纠缠之类的量子特性。 已经有不同的算法可用,并且还有更多算法正在开发中。
Shor的整数分解算法是最著名的算法之一,因为它涉及密码学。
Grover的算法也是众所周知的,可用于搜索非结构化数据库或无序列表。
您还可以找到其他有趣的算法。
让我们探索一下Grover算法的一个小变体,该算法是用于搜索的量子算法。
首先,考虑N个电话号码和名称的列表,我们需要从中查找特定号码的名称
与普通的量子算法提供速度的指数增长不同,格罗弗的算法仅提供速度的二次增长。 复杂度将是可能元素数量N的平方根的函数。与可能具有复杂度N的经典算法相比,效率要高得多。Grover的算法使用幅值放大。
在我们的示例中,我们将仅考虑四个数字,这些数字可以用2个量子位表示,我们需要找到与10相关的名称
a | 00> + b | 01> + c | 10> + d | 11>
其中a,b,c和d是振幅,a = b = c = d。
这是格罗弗(Grover)算法的第一步,就是将量子比特置于超级位置。
第二步是应用一个oracle函数,该函数以相反的方向翻转我们要查找的项的幅度。 在这种情况下,c变为-c。 现在a = b = d且c不同且为负。
第三步是应用放大函数,该函数放大每个振幅与相等叠加状态的振幅之间的差。 由于-c的值与其他幅度有很大差异,因此c的值与a,b或d相比迅速增加。
现在,如果我们测量量子位,则将以最大概率返回第三状态(可以再次应用步骤2和3以增加概率)。 因此,使用此技术,我们可以通过将所有可用值一次全部加载到qubit中来解决搜索。 可用的qubit数量越多,我们可以处理的问题域大小就越大。
一切都很好,但是运行所有这些的硬件又如何呢?
量子计算机的当前实现基于半导体。 由这些半导体产生的量子位应远离任何外部干扰。 否则,这些量子位的量子力学性能将丢失。 因此,这些量子计算机的温度保持在非常接近绝对零度的水平,为此进行的设置以及微观水平的计算会使量子计算机变得极为昂贵。 精确的微波/电磁波可用于修改量子比特的状态。 通常情况下,经典计算机与量子计算机一起使用以帮助处理。
IBM Q是行业首创的计划,旨在为商业和科学构建商用通用量子计算机。 IBM Q Experience允许我们使用在线作曲器或免费使用其python库运行量子算法。 这些系统中的量子位数量相对较小,但可以肯定会迅速增加。
D-Wave Systems是该领域的另一主要参与者,其旗舰产品为2000量子位D-Wave 2000Q量子计算机。 D-Wave产品被Google等公司广泛用于运行量子人工智能实验室和NASA进行研究。
D-Wave机器使用量子退相干来执行其操作。 这对于通过快速搜索空间并找到成为解决方案的全局最小值来优化问题的解决方案非常有用。 对于某些问题领域,这种方法可能会更快,但是使用量子退相干的系统会发现很难运行某些算法,例如著名的Shor算法。
另一方面,IBM提供的通用量子计算将服务于更广泛的问题领域,并使我们能够设计更为复杂的算法。 但是使用通用量子计算设计这些算法可能很复杂,并且在系统设计和一致性方面也面临着自己的挑战。
量子力学是一门自然而然的科学领域,它所提供的计算能力只是冰山一角。 它在生物学(可以通过叠加来解释突变),计算机硬件(来解释半导体芯片的特性)中具有广泛的适用性,甚至可以解释人类的期望或思想如何影响未来,如全球意识计划所解释的那样,通过实验证明,"当人类意识变得连贯时,随机系统的行为可能会发生变化"。 是的,的确是人类的思维与量子物理学之间存在着奇怪的联系。 此外,它还可以用于量子隐形传态,据中国科学家报道,他们已经将地球上一个光子的量子态传输到了低地球轨道卫星上的另一个光子。 量子力学具有以经典方式改变我们知道和做的每件事的潜力。
希望您能理解...
"如果您认为您了解量子力学,那么您就不了解量子力学。"理查德·费曼(Richard Feynman)
谢谢你的时间。
(本文翻译自Arun C Thomas的文章《Quantum Computing explained!》,参考:)
标签: #算法的步骤是可逆的嘛