使量子分解值得的最小整数值是多少?


11

让我们假设我们拥有量子计算机和经典计算机,从而在实验上,数学因式分解的每个基本逻辑运算在经典和量子因式分解中都花费相同的时间:这是最低整数值,对于该整数而言,量子进行速度比经典方法快一?


2
一个非常精确的估算将取决于细节,例如量子算法中加法运算的实现,还取决于最佳经典分解算法中使用的精确运算。在这两种情况下,我们通常习惯于忽略所需工作量中的恒定因素,但在经典情况下甚至比在量子情况下更是如此。您是否对数量级的估计感到满意(例如,在350-370位之间获得了量子优势---可能提供了我凭空而未根据实际分析得出的答案)?
Niel de Beaudrap

@NieldeBeaudrap我要说的是,由于您所说的原因,将无法提供确切的数字。如果您的“空想”估计是基于某种推理的,那么我认为这很有趣。(换句话说,有根据的猜想是有价值的,但疯狂的猜想没有价值)
离散蜥蜴

@DiscreteLizard:如果我有合理的估算方法,我不会基于没有分析的结果给出示例答案:-)我敢肯定有一种合理的方法可以得出有趣的估算,但是我会能够轻松提供的误差线太大而不会引起人们的兴趣。
Niel de Beaudrap

由于这个问题通常被认为是(或被)典型的“证明”,即量子计算机能够在经典计算的领域之外取得成就,但几乎总是以严格的计算复杂性术语(因此,忽略所有常量,仅对任意高输入有效)我想说一个大致的数量级答案(及其推导)已经是有用的/教学上的了。也许CS /理论CS的人可能愿意提供帮助。
agaitaarino '18

1
@agaitaarino:我同意,尽管答案必须是对最佳经典分解算法的性能做出或多或少的精确解释。然后,其余部分可以由相当不错的量子计算专业的学生完成。
Niel de Beaudrap

Answers:


8

Shor算法的量子部分本质上是在叠加后进行傅立叶变换然后进行测量的单个模幂。迄今为止,模幂是最昂贵的部分。

让我们假设数学分解的每个基本逻辑运算在经典分解和量子分解中均耗费时间

如果我们假设模幂在量子计算机上花费的时间与在经典计算机上花费的时间一样长,那么量子计算变得更好的过渡将以非常低的次数发生。通常,计算模幂是非常快的,因为您可以使用重复平方。我会疯狂地估计甚至在您达到30位数字(超过10亿个数字)之前,交叉就会发生。

但是量子计算机的数学运算速度几乎不及传统计算机。例如,在我的笔记本电脑上,我可以在几分之一秒内用python进行1000位模块化求幂。但是在可预见的量子计算机上,这将花费数小时或数天。问题是“ 与”门成本的巨大差异。

在经典机器上,执行“与”运算非常重要,以至于我们在编程时甚至都没有真正考虑它。在确定算法成本时,您更有可能考虑对64位加法进行计数,而不是考虑对AND门进行计数。但是在经过纠错的量子计算机上,执行“与”操作(通常是暂时性的,通过Toffoli)往往很昂贵。例如,您可以通过蒸馏四个高品质做状态。我不会谈这些数字...足以说,在早期的纠错机器上,您很高兴每秒获得一百万个T状态。|Ť

因此,假设我们每秒获得一百万个T状态,并且我们想将其转换为64位加法速率以与经典计算机进行比较。64位加法需要64个AND门,每个AND门需要4个T门。1百万除以4除以64得到...大约4KHz。相比之下,经典机器每秒轻松完成十亿次添加。量子加法器的速度比传统加法器慢一百万倍(再次疯狂地估算,请记住,这个数字会随着时间的推移而提高)。

另一个值得考虑的因素是量子计算机和经典计算机的成本不同。如果您有一亿美元,并且要在一台量子计算机和一千台经典计算机之间进行选择,则必须考虑这1000倍。从这个意义上讲,我们可以说量子加法器的效率比传统加法器低十亿倍(以FLOPS / $表示)。

恒定因素罚款10亿通常是立即破坏交易的行为。对于仅具有二次优势的量子算法(例如Grover),我认为这实际上是一个破坏交易的因素。但是,随着您增加要分解的位数中的位数,Shor的算法相对于经典策略会成倍提高。在我们以指数增长的优势吞噬掉那个“仅” 10 ^ 9常数之前,有多少位?

考虑到RSA-640在2005年使用了大约33个CPU年。量子计算机应该能够在一天之内完成这个数字。如果您有一千台经典计算机可以解决此问题,那么它们将在大约两周内完成。因此,似乎量子可以赢得640位,但只能获得一个或三个数量级。那么截止可能会发生在500位左右的地方吗?

无论如何,我知道这不是一个艰难而快速的答案。但是希望我已经传达了一些比较经典和量子时需要考虑的数量的信息。确实还没有人知道其中涉及的恒定因素,因此,如果有人能给您一个比“数百位中的某处”更好的适当估计,我会感到惊讶。


这是一个很大的努力,但是您如何估算30位呢?当您考虑到可能的交叉点时,将Shor算法与之进行精确比较?
Niel de Beaudrap

1
@NieldeBeaudrap就像我说的那样,这是一个疯狂的猜测。我认为:模乘(经典地)有一个不错的常数因子。连续分数也是如此。分解算法也有好的常数因子吗?可能不是?如果是这样,交叉将几乎立即发生,而不是大量发生。如果有人想将这两个事实相互对照,我将更新答案。我认为剩下的就是“肉”了。
Craig Gidney '18

1
通常,我不会因为提供直觉而反对,只是您的疯狂猜测恰恰是针对问题的主题。(提出问题的方式也暗示了人们对时钟速度问题的认识。)用于分解大量数据的最快技术涉及大量恒定因子,但实际上要考虑它们才是问题的重点。但是对于大约10亿的数字,我们甚至可以考虑使用最多约32,767的素数表进行试验划分,这在实践中会非常快。即使如此,也要进行定量比较。
Niel de Beaudrap

6

正如我在评论中提到的那样,一个非常精确的答案可能取决于许多技术选择,这些选择有些武断。获得一个数量级的估计值,并在进行估计时尽可能多地考虑可能更重要。

该答案并非旨在作为最终答案,而是通过参考现有文献(尽管公认已有十多年的历史)朝着正确的方向迈出了一步,具体而言:

  • 范米特,伊藤和拉德。 Shor算法与架构有关的执行时间。程序 介观超导+自旋电子学2006; [ arXiv:quant-ph / 0507023 ]

Van Meter,Itoh和Ladd试图将Shor算法的性能与执行Number Field Sieve(因数分解的最著名的经典算法)的可用计算技术进行比较。我没有时间仔细研究本文的细节-这样做可能会得到一个更好的答案-但是该文章的图1允许我们进行合理的数值估算:

在此处输入图片说明

在这里,陡峭的曲线代表了经典计算网络的计算时间。根据RSA Security Inc.在2004年的报告,标记为“ NFS,104台PC,2003年”的曲线似乎表明2003年前后有104台个人计算机的计算(以及预计的计算时间)[ http://www.rsasecurity。 com / rsalabs / node.asp?id = 2096]

ññvv2×1011每秒操作数。必须针对以可比的时钟速度执行的量子计算机对Shor算法进行假设性基准测试。

109

  • 尽管每秒操作的优势提高了200倍或更多,但该图的确显示了何时使用执行Shor算法的1GHz量子计算机(大约200位数字)和1MHz量子计算机(超过200GHz经典NFS实现) (约330位数字)。
  • 我们还有一条曲线表示“ 2018年”的性能,代表经典计算能力的1000倍:1GHz和1MHz量子计算机的截距分别为350位和530位。

从2003年的计算到2018年的预计计算,交叉点对量子计算的增加代表时钟速度提高了1000,大约是5/3。据此我们可以估计,由于速度提高了200倍,经典计算机可以快速解决的数字大小的计算优势大约为7/6。然后我们可以估计,执行NFS的单个1GHz经典计算机与执行Shor算法的1GHz量子计算机的交叉点大约为170位。

最重要的是-精确的答案取决于许多技术假设,这些假设可能会大大改变精确的结果,因此最好进行粗略的估算。但是这个问题至少已经被研究过一次,并且在2003年基于经典性能对性能进行了一些假设和推断,似乎Shor的算法在逐个运算的基础上将胜过最著名的经典算法。大约170位


这是一个很好的答案。值得注意的是,本文“基本逻辑运算”的概念(非常恰当)是在与门的水平上,而不是在CPU指令或BigInt操作的水平上(我怀疑这是询问者的意思)思维)。在我自己的答案中,我假设模幂运算是“像传统上一样”完成的,这将涉及例如FFT乘法。这就是为什么我猜到的一个数字比本文要低得多的原因,该数字(适当地)对它的量子算术进行了带有波纹进位加法器的教科书乘法。
Craig Gidney

@SalvaCardona:我建议你接受我的答案。我的分析非常粗略,您应该坚持进行更好的分析。
Niel de Beaudrap,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.