Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

假证人

Posted on 2025-06-03

匹诺曹与法官交谈

费马素数检验

费马小定理指出,如果p是素数,且a不是p的倍数,则

p −1 = 1 ( 模p )。

费马小定理的逆否命题是说

a p −1 ≠ 1 (mod p )

那么要么p不是素数,要么a是p的倍数。逆否命题用于判断一个数是否为素数。取一个小于p的数a (因此a显然不是p的倍数),计算a p −1 mod p 。如果结果与 1 mod p不一致,则p不是素数。

因此,费马小定理为我们提供了一种证明一个数是合数的方法:如果p -1模p等于 1 以外的任何数,则 p肯定是合数。但如果p -1模p等于 1,则该检验无定论。这样的结果暗示p是素数,但也可能不是。

示例

例如,假设我们要测试 57 是否为素数。如果我们使用费马素数测试法,令a = 2,我们会发现 57 不是素数,如下面 Python 代码所示。

 >>> pow(2, 56, 57)     4 

现在让我们使用a = 64 来测试 91 是否为素数。那么费马测试结果是不确定的。

 >>> pow(64, 90, 91)     1 

事实上 91 不是质数,因为它是 7 × 13 的因数。

如果我们以a = 2 作为基数,就能证明 91 是合数。实际应用中,费马检验法会应用多个a值(如有必要)。

证人

如果a p −1 = 1 (mod p ),那么a就是p为素数的证明。这虽然不是证明,但却是证据。p 仍然可能不是素数,在这种情况下,a是对p为素数的伪证明,或者p是底数a的伪素数。在上面的例子中,64 是对 91 为素数的伪证明。

直到最近偶然读到一篇论文 [1],我才意识到合数平均而言有很多伪证。当N很大时,小于N的合数的平均伪证数量大于N 15/23 。虽然N 15/23很大,但相对于N来说还是小的。

然而,如果你随机选择一个基数a ,那么你挑选出其中一个假证人的机会很小,因此基于费马小定理的概率素数测试是实用的,实际上也很常见。

请注意,上面引用的结果是对虚假证人数量的下限。如果你想保证你不太可能意外遇到虚假证人,那么你确实需要一个上限。[1] 中的作者确实给出了上限,但它们的表达式比下限复杂得多。

相关文章

  • 快速指数运算
  • 测试小于一千万亿的素数
  • 说一个数字可能是素数是什么意思?

[1] Paul Erdős 和 Carl Pomerance。《论合数的伪证数量》。《计算数学》。第 46 卷,第 173 期(1986 年 1 月),第 259-279 页。

这篇“伪证人”文章最先出现在约翰·D·库克 (John D. Cook) 的文章中。

原文: https://www.johndcook.com/blog/2025/06/02/false-witnesses/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme