Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 米勒·拉宾测试确定性素性的改进版本?_Algorithm_Primes_Proof_Primality Test - Fatal编程技术网

Algorithm 米勒·拉宾测试确定性素性的改进版本?

Algorithm 米勒·拉宾测试确定性素性的改进版本?,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是否真的很小,

使用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
是否真的很小,然后是数值的一半?那么使用的值是多少?@ABHI
k
非常小。米勒最初的测试需要广义黎曼假设,设置k=O(log^2n)。