量子计算
扫描二维码
随时随地手机看文章
量子计算是一场复杂的、有点神秘的技术革命,它有望从根本上改变信息的处理方式。与传统计算机不同的是,传统计算机是基于由比特操作的两国数字逻辑(可以是0或1),量子计算机利用量子力学的特性,例如叠加和纠缠,以难以想象的速度并行进行计算。
导言
如今,即使使用最强大的计算机,有些问题也只能在令人望而生畏的时间内解决,例如建模气候模型或分解一个大的半素数。变量的相对数量相当大,传统系统需要数十亿年才能找到相关的解决方案。
量子加工将使数学,医学, 能量 由于处理速度巨大,有可能确定目前认为不可能的极其复杂的解决方案。如上所述,量子计算采用特殊的硬件和算法,利用量子力学来解决复杂的问题。
量子计算机与古典计算机和传统计算机截然不同,其操作极其关键。对于某些类型的问题,即使是超级计算机也是不够的,尽管由于使用了成千上万的CPU和GPS,它们可以每秒解决数十亿次的操作,但它们无法在"人的"可访问的时间内解决大规模的计算。复杂问题的特点是存在若干变量,这些变量相互作用,标准多样化,有时难以预测。通过量子计算可以相对简单地解决的一些例子如下:
· 为了密码学的目的,大数目和半素数的分解。有了量子计算机,RSA系统的有效性可能会受到质疑,但与此同时,可以找到新的、更安全的数据保护方法
· 复杂系统的模拟:量子计算机能够非常精确地模拟复杂系统,例如分子之间的相互作用,为任何部门发现新药或新材料
· 寻找具有大量独立变量的数学模型.一个典型的例子是气象事件的处理,由于改进了与气象有关的数学模型,这一领域正在不断演变。 气候 世界各地
· 优化路由问题,包括找到在不同地点之间运送货物或人员的最佳路线(最短、最快或最便宜),同时考虑到距离、旅行时间、交通、成本等方面的限制
· 大公司的资源管理和工作转移意味着数以千计的条件和制约因素,用标准方法很难解决
· 财务业务的管理,需要极其深入和长期的分析,以优化投资组合并制定新的交易战略
· 量子算法大大加速了非结构化数据解的研究,比任何其他经典算法都要少步骤地进行分析
· 物理问题的描述,例如那些与双钟摆有关的问题,目前没有令人满意的解决办法,因为系统的特点是混沌运动,即。它的演化对最初的情况极其敏感
· 管理最快和最有效的机器学习算法,能够处理大量数据和解决与人工智能有关的复杂问题。
量子计算机利用量子物理的行为,特别是叠加、纠缠和量子干涉等现象,并将其应用于计算。与传统计算机相比,计算方法有很大的不同.这就好像一个电灯开关可以同时打开和关闭,而不是假设两个不同的状态。
蒙特卡罗方法
确定由许多变量组成的复杂问题的结果的方法之一是蛮力(参见图1)。这种方法在经典计算机中使用,包括系统地尝试所有可能的解决方法,直到找到正确的方法。传统的超级计算机可以用蛮力来解决高度复杂的问题,使用它的所有处理器来检查和分析每一个组合,但是要达到这个结果需要大量的时间和工作记忆。
另一个可行的策略是蒙特卡罗方法,这是一种利用随机抽样获得数学和统计问题的数值解的计算技术。它的实现允许用户模拟大量可能的场景来估计一个概率结果。这些方法,特别是与更复杂的问题有关的方法,可能是缓慢和低效的,特别是对于那些涉及巨大解决空间的方法。相反,量子计算利用叠加原理,创建多维计算空间,允许量子比特同时表示无限态。这就使并行探索的解决方案数量成指数地增加,大大加速了寻找最佳解决方案的工作。
图1:蛮力算法和蒙特卡洛
量子位、叠加和量子门
在经典计算机中,所有的信息都被转换成一系列比特(0和1);然而,量子计算机中有量子比特。量子比特是量子计算中的一个基本信息单位。量子位在经典计算中扮演类似的角色,但它们的行为却完全不同。经典比特是二进制的,只能有0或1的状态,而量子比特可以进行所有可能的状态的叠加。换句话说,它们可以处于0状态,1状态,或另一个称为"叠加"的中间状态,其中量子比特以不同的百分比同时为0和1。当读取量子比特时,它会从量子状态崩溃,返回0或1。
在实质上,为了理解量子比特是如何工作的,你可以想到一个包含一个对象的封闭框,它最初可以呈现红色或黄色(参见图2中的示例)。当盒子
关闭时,物体可以使用一些量子属性将其颜色变为橙色,这是红色和黄色之间的中间组合。这种状态被称为"叠加"。当盒子打开时,人们希望找到橙色物体,但不幸的是,它返回了原来的颜色之一,即。是红色还是黄色。这将是一个相当大的问题,但有些"量子门"可以在叠加状态下使用,使物体的状态能够在不破坏它们的情况下被读取或修改。量子比特的一些最重要的特征如下:
· 叠加:有了这个特征,量子粒子是所有可能的状态组合的结果.它们在被观察和测量之前是完整的
· 纠缠:量子位形成一个单一的系统并相互影响。通过对一个量子位进行观测,可以计算出其他量子位的条件。
量子有无限可能的状态。它可以把任何百分比中的1和0的任何可能重叠作为它在测量时会导致1或0的概率。然而,当被测量时,一个量子可以得到一个或一个零的结果,就像一个经典的比特。量子比特的力量可以在测量之前观察到,也就是说。,在叠加相中,无限状态组合可以发生。
多个量子位可以使用量子逻辑门(x,y,h等)组合起来。当测量量子位的最终值时,得到了概率值,因此,多次重复相同的算法总是很方便的,以获得更可靠的结果,尽管处理时间比传统的算法短。
图2:比特和量子位之间的简单比较
量子算法的例子
网站上有几个量子算法模拟器,用户可以通过实验了解这项技术的工作原理。其中一些模拟器设计得简单直观,适合在这个领域迈出第一步的人,而另一些则提供高级功能,针对更有经验的用户。
无论如何,用户必须清楚地了解量子算法的精确概念,它与传统理论大不相同。这些工具的可用性是广泛的:许多是免费和开放的,而其他的则是付费的,并提供额外的功能或更全面的支持。其中一个是IBM提供的。这个例子很简单,涉及两个量子位的价值交换。
图3显示了IBM量子作曲模拟器的屏幕,这是一个图形环境和文本环境。最初,两个量子位Q[0]和Q[1]被设置为值0。然后,量子比特Q[0]被颠倒并设置为1。三个"CX"命令随之而来,代表一个CNOT(控制-非)量子逻辑门)。它包含两个参数,通常是两个量子位。Q比特0的值控制Q比特1的值。如果Q比特0是0,运算员就会保持魁位1不变,但是如果Q比特0是1,运算员就会颠倒魁位1的值。
这个推理对基本状态0或1是有效的,而对叠加状态来说,处理要复杂得多。模拟程序的源清单是用公开的2.0语言编写的,建议如下:
OPENQASM 2.0;
包括"Qelb1.inc";
qreg q[2];
creg c[2];
reset q[0];
reset q[1];
x q[0];
cx q[0], q[1];
cx q[1], q[0];cx q[0], q[1];
简而言之,下面是对各个命令的描述:
· 公开语言2.0:公开语言使用版本
· 包括"Qelb1.inc":这一行包括一个标准库文件(Qelb1.inc),其中包含量子运算的定义
· Q[2]:这条线表示一个名为"Q"的量子寄存器,包含两个量子位,Q[0]和Q[1]
· C[2]:这一行表示一个称为"C"的经典寄存器,它含有两个经典的C[0]和C[1]位。利用经典寄存器存储量子比特测量结果
· 重置Q[0]和重置Q[1]:这些行重置两个量子位到|0&pt;状态
· 这行应用门X(量子不)到第一个量子位Q[0].闸门X反转量子比特状态,因此,如果量子比特在|0&pt;,它将被设置为|1&pt;
· CXQ[0],Q[1]:如上所述,这一行应用CNOT(控制-非)门,以Q[0]作为控制量,并以Q[1]作为目标量。CNOT闸门只有当Q[0]处于情势时才会逆转Q[1]的状态
· CXQ[1],Q[0]:这行应用另一个CNOT门,但这次以Q[1]为控件,Q[0]为目标
·
· CXQ[0],Q[1]:最后,应用了第三个CNOT门,返回到原来的配置,以Q[0]为控件。
图3:涉及两个量子位之间价值交换的一个量子例子
结论
量子计算是一场真正的技术革命,能够从根本上改变多个部门。量子计算肯定会让科技向前迈进一大步。虽然这一学科仍处于早期阶段,但潜力巨大,为解决迄今无法解决的复杂问题的创新办法铺平了道路。从科学发现到工业优化,从医学到金融,量子计算的影响将是深远的,并将塑造技术和社会的未来。然而,第一批消费品的商业化时机尚未成熟,量子计算机要在几十年之后才能进入我们的家园。