首页 科技周边 人工智能 量子算法征服了一种新的问题!

量子算法征服了一种新的问题!

Apr 16, 2023 pm 08:04 PM
计算 量子

1994 年,一位数学家想出了如何让量子计算机完成普通经典计算机无法做到的事情。这项工作表明,原则上,一台基于量子力学规则的机器可以有效地将大量数字分解为其主要因素——对于经典计算机而言,这是一项非常困难的任务,它构成了当今大部分互联网安全的基础。

随之而来的是一股乐观情绪。也许,研究人员认为,我们将能够发明可以解决大量不同问题的量子算法。

但进展停滞不前。「这有点令人失望。」卡内基梅隆大学的 Ryan O’Donnell 说,「人们会说,『这太棒了,我相信我们会得到各种其他惊人的算法』,事实是没有。」 科学家们仅在称为 NP 的标准集中发现了单一、狭窄类别问题的显著加速,这意味着他们有有效的可验证解决方案——例如因式分解。

近三年来都是如此。然后在 4 月,研究人员发明了一种全新的问题,量子计算机应该能够比经典计算机更快地解决该问题。它涉及仅基于其混乱的输出来计算复杂数学过程的输入。这个问题是单独存在的,还是许多其他问题中的第一个问题尚待确定。

「有一种兴奋感。」麻省理工学院的计算机科学家 Vinod Vaikuntanathan 说,「很多人都在思考外面还有什么。」

计算机科学家试图通过研究代表它们的数学模型,来了解量子计算机在哪些方面做得更好。通常,他们想象一个量子或经典计算机的模型与称为预言机的理想计算机配对。预言机就像简单的数学函数或计算机程序,接受输入并输出预定的输出。

它们可能具有随机行为,如果输入在某个随机范围内(例如,12 到 67)输出「是」,否则输出「否」。或者它们可能是周期性的,因此 1 到 10 之间的输入返回「是」,11 到 20 产生「否」,21 到 30 再次产生「是」,依此类推。

假设您有这些周期性预言之一,但您不知道周期。你所能做的就是给它输入数字,看看它输出了什么。在这些限制条件下,计算机能以多快的速度找到周期?1993 年,当时在蒙特利尔大学的 Daniel Simon 发现,量子算法可以比任何经典算法更快地计算出密切相关问题的答案。

量子算法征服了一种新的问题!

这一结果使 Simon 能够确定量子计算机在哪些方面具有显著优势的最初迹象之一。但是当他将他的论文提交给一个主要会议时,它被拒绝了。然而,这篇论文确实引起了会议项目委员会的一名初级成员——Peter Shor 的兴趣,他当时在新泽西州的贝尔实验室工作。

Shor 继续发现他可以调整 Simon 的算法来计算预言机的周期,如果它有的话。然后他意识到他可以再次调整算法,求解一个行为类似于周期性预言的方程:描述因式分解的方程,它是周期性的。

Shor 的结果是历史性的。他发现的量子算法可以迅速将巨大的数字简化为它们的组成素因数,这是任何已知的经典算法都无法做到的。在随后的几年里,研究人员发现了其他有效的量子算法。其中一些,比如 Shor 的算法,甚至提供了指数优势,但没有人能证明在任何非周期性的 NP 问题上具有显著的量子优势。

由于缺乏进展,德克萨斯大学奥斯汀分校的 Scott Aaronson 和拉脱维亚大学的 Andris Ambainis 两位计算机科学家进行了观察。量子优势的证明似乎总是依赖于具有某种非随机结构的预言,例如周期性。2009 年,他们推测随机或非结构化的 NP 问题不会有显著的加速;谁也找不到例外。

他们的猜想限制了量子计算机的能力。但它只说对于特定类型的非结构化 NP 问题——那些回答是或否的问题——没有显著的加速。如果一个问题涉及找出更具体、定量的答案,也就是所谓的搜索问题,那么这个猜想就不适用了。

考虑到这一点,NTT 社会信息学实验室的研究人员 Takashi Yamakawa 以及 NTT Research 和普林斯顿大学的 Mark Zhandry 决定对一个由 Oded Regev 于 2005 年提出的特定搜索问题进行试验。

想象一组都指向同一个方向的风向标。给他们每个人一个有节制的推,然后让阵风影响他们的方向。Regev 想根据他们的最终方向确定他们最初指向的位置。像这样的问题后来被称为「错误学习」,因为推力和风就像是原始方向上的随机误差源。有证据表明,经典算法和量子算法都很难解决。

Yamakawa 和 Zhandry 调整了设置。他们修改了这些起跑的力量,使它们更容易预测。他们还使风由一个随机的神谕确定,因此在某些情况下它甚至更加随机,但在其他情况下则完全休眠。

通过这些修改,研究人员发现量子算法可以有效地找到初始方向。他们还证明,任何经典算法都必须以指数因子变慢。与 Shor 一样,他们随后调整了算法来解决问题的现实版本,用实际的数学方程代替了预言。

计算机科学家仍在努力理解和解决这个问题。Vaikuntanathan 将其与进行数据压缩时出现的不同情况进行了比较:当信息被压缩时,两个位可能会意外地挤到同一个地方,从而覆盖它们。提前预测这些碰撞以便避免它们的问题有一些相似之处。「这是一类基本上看起来像这样的问题。」他说,「也许这些问题可以在量子上解决。」

人们希望,即使在当今刚刚起步的量子计算机版本上,像新问题这样的非结构化问题也可以解决,从而提供一种测试它们的方法。当时的想法是,非结构化问题可能需要更少的资源来编程,或者对噪声不太敏感,因为它们已经是随机的。但到目前为止,对于现有的量子计算机来说,这个新问题似乎仍然太先进了,无法解决。「这是一个奇怪的问题。我没想过要定义它。」Aaronson 说,「但回想起来,它有一些非常好的功能。」

该结果提供了第一个在非结构化 NP 问题上具有显著量子优势的例子。量子世界会不会有许多其他问题从几乎无法解决变为可以解决?现在有更多的理由这么认为。「这在一定程度上颠覆了我们对量子计算机擅长解决哪些问题的看法。」O’Donnell 说。

以上是量子算法征服了一种新的问题!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

CUDA之通用矩阵乘法:从入门到熟练! CUDA之通用矩阵乘法:从入门到熟练! Mar 25, 2024 pm 12:30 PM

通用矩阵乘法(GeneralMatrixMultiplication,GEMM)是许多应用程序和算法中至关重要的一部分,也是评估计算机硬件性能的重要指标之一。通过深入研究和优化GEMM的实现,可以帮助我们更好地理解高性能计算以及软硬件系统之间的关系。在计算机科学中,对GEMM进行有效的优化可以提高计算速度并节省资源,这对于提高计算机系统的整体性能至关重要。深入了解GEMM的工作原理和优化方法,有助于我们更好地利用现代计算硬件的潜力,并为各种复杂计算任务提供更高效的解决方案。通过对GEMM性能的优

word文档怎么计算加减乘除 word文档怎么计算加减乘除 Mar 19, 2024 pm 08:13 PM

WORD是一个强大的文字处理器,我们可以利用word进行各种文字的编辑,在Excel表格当中,我们已经熟练掌握了加减乘数的运算方法,那么如果需要在Word表格里,计算数值的加减乘数,该如何操作呢,难道只能用计算器计算吗?答案当然是否定的,WORD也同样可以完成。今天小编就来教大家如何在Word文档的表格当中,运用公式计算加减乘除等基本运算,一起来学习一下吧。那么,今天就让小编具体演示一下,WORD文档怎么计算加减乘除?第一步:打开一个WORD,单击工具栏【插入】下的【表格】,在下拉菜单当中插入一

如何使用Python的count()函数计算列表中某个元素的数量 如何使用Python的count()函数计算列表中某个元素的数量 Nov 18, 2023 pm 02:53 PM

如何使用Python的count()函数计算列表中某个元素的数量,需要具体代码示例Python作为一种强大且易学的编程语言,提供了许多内置函数来处理不同的数据结构。其中之一就是count()函数,它可以用来计算列表中某个元素的数量。在本文中,我们将详细介绍如何使用count()函数,并提供具体的代码示例。count()函数是Python的内置函数,用于计算某

在Java中递归地计算子字符串出现的次数 在Java中递归地计算子字符串出现的次数 Sep 17, 2023 pm 07:49 PM

给定两个字符串str_1和str_2。目标是使用递归过程计算字符串str1中子字符串str2的出现次数。递归函数是在其定义中调用自身的函数。如果str1是"Iknowthatyouknowthatiknow",str2是"know"出现次数为-3让我们通过示例来理解。例如输入str1="TPisTPareTPamTP",str2="TP";输出Countofoccurrencesofasubstringrecursi

如何使用C#中的Math.Pow函数计算指定数的幂次方 如何使用C#中的Math.Pow函数计算指定数的幂次方 Nov 18, 2023 am 11:32 AM

在C#中,有一个Math类库,其中包含许多数学函数。其中包括计算幂次方的函数Math.Pow,它可以帮助我们计算指定数的幂。Math.Pow函数的用法非常简单,只需要指定底数和指数就可以了。其语法如下:Math.Pow(base,exponent);其中base表示底数,exponent表示指数。该函数返回double类型的结果,即幂次方的计算结果。下面让

使用行列式计算三角形面积的Java程序 使用行列式计算三角形面积的Java程序 Aug 31, 2023 am 10:17 AM

简介使用行列式计算三角形面积的Java程序是一个简洁高效的程序,可以根据给定三个顶点的坐标来计算三角形的面积。该程序对于学习或使用几何的任何人都非常有用,因为它演示了如何在Java中使用基本算术和代数计算,以及如何使用Scanner类读取用户输入。程序提示用户输入三角形三个点的坐标,然后将其读入并用于计算坐标矩阵的行列式。使用行列式的绝对值来确保面积始终为正,然后使用公式计算三角形的面积并显示给用户。该程序可以轻松修改以接受不同格式的输入或执行附加计算,使其成为几何计算的多功能工具。决定因素行列

计算矩阵右对角线元素之和的Python程序 计算矩阵右对角线元素之和的Python程序 Aug 19, 2023 am 11:29 AM

一种受欢迎的通用编程语言是Python。它被应用于各种行业,包括桌面应用程序、网页开发和机器学习。幸运的是,Python具有简单易懂的语法,适合初学者使用。在本文中,我们将使用Python来计算矩阵的右对角线之和。什么是矩阵?在数学中,我们使用一个矩形排列或矩阵,用于描述一个数学对象或其属性,它是一个包含数字、符号或表达式的矩形数组或表格,这些数字、符号或表达式按行和列排列。例如−234512367574因此,这是一个有3行4列的矩阵,表示为3*4矩阵。现在,矩阵中有两条对角线,即主对角线和次对

Java程序示例,用于计算总分和百分比 Java程序示例,用于计算总分和百分比 Sep 11, 2023 pm 06:01 PM

我们将演示如何使用Java程序计算总分和百分比。总分是指所有可用分数的总和,而术语百分比是指计算分数除以总分并乘以所得的数字100。percentage_of_marks=(obtained_marks/total_marks)×100示例1这是一个Java程序,用于演示如何计算总分和百分比。//JavaProgramtodemonstratehowisTotalmarksandPercentagescalculatedimportjava.io.*;publicclassTotalMarks_

See all articles