Algorithm 米勒·拉宾测试确定性素性的改进版本?
使用k随机整数来测试素性 根据CLRS第3版第971页: 定理31.38 如果n是奇数复合数,则证明n的复合性的见证人的数量至少为(n-1)/2Algorithm 米勒·拉宾测试确定性素性的改进版本?,algorithm,primes,proof,primality-test,Algorithm,Primes,Proof,Primality Test,使用k随机整数来测试素性 根据CLRS第3版第971页: 定理31.38 如果n是奇数复合数,则证明n的复合性的见证人的数量至少为(n-1)/2 那么,我们为什么不使用不同的(n-1)/2值来测试它们的素性,而不是运行k次随机测试呢?由于除2之外的所有素数都是奇数,并且没有见证人至少是(n-1)/2,我们保证找到一个见证人(如果存在)。运行时间从poly(log(n))到n*poly(log(n)),这对于大数来说是可怕的,因为n是指数大于log(n)。但它仍然使用k测试。选择的k是否真的很小,
那么,我们为什么不使用不同的(n-1)/2值来测试它们的素性,而不是运行k次随机测试呢?由于除2之外的所有素数都是奇数,并且没有见证人至少是(n-1)/2,我们保证找到一个见证人(如果存在)。运行时间从poly(log(n))到n*poly(log(n)),这对于大数来说是可怕的,因为n是指数大于log(n)。但它仍然使用
k
测试。选择的k
是否真的很小,然后是数值的一半?那么使用的值是多少?@ABHIk
非常小。米勒最初的测试需要广义黎曼假设,设置k=O(log^2n)。