西蒙算法在量子计算机上“跑”得更快

来自南非的一组研究团队近日成功地在量子计算机上运行了西蒙算法(Simon’s algorithm),且这一算法在量子计算机上的运行表现比电子计算机表现得更好。相关论文刊登在《物理评论快报》上。 量子计算机是一种基于量子力学的计算设备,用来存储数据的对象是量子比特而非经典计算机的电子比特。

科学界普遍认为,由于量子计算机能够利用量子纠缠和叠加等独特的量子物理属性,在运行某些特定算法时,它会比现有计算机更为快速和高效。遗憾的是,到目前为止,还没有办法在量子计算机上运行这些量子算法来检验这一理论。

西蒙算法便是适用于量子计算机算法中的一种,它由丹尼尔·西蒙20年前提出,认为这种算法能够挖掘量子计算机的加速潜力。西蒙算法的目的,是为了解决量子黑箱问题,即将执行计算任务的一段程序或者一个公式看作黑箱,看黑箱是否对每一个可能的输入给出一个唯一的输出。

据物理学家组织网11月18日(北京时间)报道,研究团队在一台量子计算机上运行了该算法的最简单版本,仅仅用了六个量子比特,量子计算机完成 这一任务仅用了两次迭代,而普通计算机得用三次。这种区别似乎不算什么,但人们相信,如果增加更多量子比特,量子计算机和普通计算机运算能力的差别就会拉 大,这也意味着,量子计算机能更快、更高效地解决此类算法问题。不过,还是要泼一盆冷水,到目前为止,能够运行西蒙算法并没有什么实际价值,该实验的唯一 目的是证明量子计算机在一种算法上能够做得更好。

不过,也别太灰心,证明了类似算法在量子计算机上运行得更快,科研人员或可以期待,像肖尔算法(可被用来进行大数质因数分解,这是加密机制的重要组成部分)这样的量子算法在量子计算机上同样能“跑”得更快。

总编辑圈点

万事开头难。我们现在用量子计算机尝试“1+1”的小儿科,是期望有一天它能执行“消尔”算法,解开一切密码。量子计算机跟可控核聚变一样,属 于概念上好理解,也有一点小小进展,但要实用就难上加难的科研项目。还好,量子计算机研究的门槛不像核聚变那么高,全世界的研究机构都可投身其中。如今还 说不来,它究竟是镜花水月,还是会像手机那样迅速普及?十年后再看吧。

时间: 2024-10-12 21:30:51

西蒙算法在量子计算机上“跑”得更快的相关文章

辛星让mysql跑得更快第二节之索引上部分

如果把我们的数据库信息当做一本书或者一个字典,那么索引可以理解为它的目录,如果我们创建一个优秀的目录,那么我们检索信息就会快得多,如果我们创建一个渣渣索引,也有可能拖垮整个系统. 索引我们分为四类,通常分为四大类型,即主键索引.全文索引.唯一索引.普通索引,这是按照索引的类型来分的.所谓主键索引,那就是当我们创建一张表的时候,如果我们指定了一个主键,那么它就自动成为主键索引,比如SQL语句如下(这里的id就自动成为了主键索引): create table xin(id int unsigned

让Python跑得更快

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 Tips 参与文末话题讨论,即有机会获得异步图书一本. Python很容易学.你之所以阅读本文可能是因为你的代码现在能够正确运行,而你希望它能跑得更快.你可以很轻松地修改代码,反复地实现你的想法,你对这一点很满意.但能够轻松实现和代码跑得够快之间的取舍却是一个世人皆知且令人惋惜的现象.而这个问题其实是可以解决的. 有些人想要让顺序执行的过程跑得更快.有些人需要利用多核架构.集群,或者图形处理单元的优势来解决他们的问题.有

辛星让mysql跑的更快第一节之优化的方向和数据库建模

最近计划写一套书目,也就是关于mysql的优化的,那么首先在博客上写写,然后整理成pdf的文档的形式,当然也期待各位的关注了.对于mysql的优化是一个比较大的话题,可优化的地方也很多,大致想了一下,可以从这些地方下手. 首先就是硬件层次,包括选择合适的操作系统.选择合适的硬件,然后就是源码层次,不过虽然mysql是开源的,但是能够修改其源代码的公司虽然不少,但是也没有那么多,但是我们可以选择更加合适的编译器重新编译其源代码,然后就是设计到表的设计,也就数据库建模. 其次可以考虑使用一些其他技术

UOJ #62 怎样跑得更快

UOJ #62 怎样跑得更快 题目传送门 题意 大力水手问禅师:"大师,我觉得我光有力气是不够的.比如我吃菠菜可以让力气更大,但是却没有提升跑步的速度.请问怎样才能跑得更快?我试过吃白菜,没有效果." 禅师浅笑,答:"方法很简单,不过若想我教你,你先看看这道\(UOJ\) \(Round\)的\(C\)题." 令 \(p=998244353\)(\(7×17×223+17×17×223+1\),一个质数. 给你整数 \(n,c,d\).现在有整数\(x_1,-,x_

简单的几步让你的JQuery跑得更快

本文提供即刻提升你的脚本性能的十个步骤.不用担心,这并不是什么高深的技巧.人人皆可运用!这些技巧包括: 使用最新版本永盈会娱乐城 合并.最小化脚本 用for替代each 用ID替代class选择器 给选择器指定前后文 建立缓存 避免DOM操作 避免使用concat(),利用join()处理长字串 返回false值 利用小抄和参考文档 使用最新版本 jQuery一直处于不断的开发和改进过程中. John 和他的团队不断研究着提升程序性能的新方法. 一点题外话,几个月前他还发布了Sizzle,一个据

让你的 Node.js 应用跑得更快的 10 个技巧

Node.js 受益于它的事件驱动和异步的特征,已经很快了.但是,在现代网络中只是快是不行的.如果你打算用 Node.js 开发你的下一个Web 应用的话,那么你就应该无所不用其极,让你的应用更快,异常的快.本文将介绍 10 条,经过检验得知可大大提高 Node 应用的技巧.废话不多说,让我们逐条来看看.创建 Web 应用的时候,你可能要多次调用内部 API 来获取各种数据.比如说,假设在 Dashboard 页面上,你要执行下面这几个调用: 开源中国匿名会员 翻译于 4天前 4人顶 顶 翻译的

【MySQL】10条SQL优化语句,让你的MySQL数据库跑得更快!

慢SQL消耗了70%~90%的数据库CPU资源: SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低: SQL语句可以有不同的写法: 1 不使用子查询 例:SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang'); 子查询在MySQL5.5版本里,内部执行计划器是这样执行的:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时,查询速度会非常慢.在Mari

让JAVA代码跑得更快

本文简单介绍一下在写代码过程中用到的一些让JAVA代码更高效的技巧. 1.   将一些系统资源放在池中(如数据库连接, 线程等) 在standalone的应用中, 数据库连接池可以使用一些开源的连接池实现, 如C3P0, proxool和 DBCP等,运行在容器中的应用可以使用服务器提供的DataSource.线程池可以使用JDK本身就提供的java.util.concurrent.ExecutorService. 1 import java.util.concurrent.Executors;

10条SQL优化语句,让你的MySQL数据库跑得更快!

慢SQL消耗了70%~90%的数据库CPU资源: SQL语句独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低: SQL语句可以有不同的写法: 1 不使用子查询 例:SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang'); 子查询在MySQL5.5版本里,内部执行计划器是这样执行的:先查外表再匹配内表,而不是先查内表t2,当外表的数据很大时,查询速度会非常慢.在Mari