Shorのアルゴリズムは、場合に警告します


8

整数、用と、因数分解される、(均一)との間でランダムに選択されたとと、の順(ある、最小と) :Na1NramodNrar1modN

なぜShorのアルゴリズムではであるシナリオを破棄しなければならないのですか?また、場合にシナリオを破棄しないのはなぜですか?ar/2=1modNar/2=1modN


これは厳密に量子計算とは関係ありません。ここでは、古典的なアルゴリズムについて話しています。Shorのアルゴリズムが次数を見つける良い方法を提供するだけですが、これを古典的に行うこともできます。r
DaftWullie

1
@DaftWullieこれは本当ですが、Shorのアルゴリズムの知識(つまり、QCの知識)を持っていることによってのみこれを知ることができます。質問述べたように:「なぜ私たちはこれらの入力にショアを行うことはできません?」QCについてです。答えは、多くのQCを含んでいませんが、与えることを答えるかを知るために、あなたはそれにもかかわらずショアのアルゴリズムを知っている必要があります。
個別のトカゲ

回答:


2

の要件はの要件と同等です。R - 1 0ar1modNar10modN

私たちは番号、希望の最大公約数よう、及びの適切な要因である(すなわち要因である)。b N N 1 NbbNN1,N

また、ます。ar1=(ar/21)(ar/2+1)

したがって、ます。我々は知っているある最小のような数ことを示し、となる(そうでない場合、はを除算します)。r a r = 1b=ar/21rR / 21ar=1modNar/21modNgcd(ar/21,N)NNb

ベズーの等式場合、、または。が除算ので、これはが除算か、またはます。gcd(ar/21,N)=1,x1,x2Z s.t. (ar/21)x1+Nx2=1(ar1)x1+N(ar/2+1)x2=ar/2+1Nar1Nar/2+1ar/2=1modN

これにより、要件(の制約と共に)は、との最大公分母が適切であることを決定するのに十分です。因数。ar/21modNrar/21NN


2

のシナリオはありません。これは、がであり、かつよりも小さい。ar/21 mod Nrar1 mod Nr/2r

を割り引く必要がある理由として、ポイントは、ある整数に対してを満たすものを見つけたことです。これは 、が偶数の場合、として因数ます。いずれかの項がで割り切れるか、またはそれぞれに異なる因子が含まれています。コンピューターにが因子を見つけることができるように、それらに異なる因子を含めたいと思います。したがって、具体的にはです。上記のように、ar/21 mod N(ar1)=kNk(ar/21)(ar/2+1)=kNr(ar/2±1)NNgcd(ar/2±1,N)ar/2±10 mod Nrできるだけ小さくします。もう1つは、明確に割り引く必要があります。


2

場合、その後の些細な平方根であるの代わりに興味深い平方根。我々はすでに知っていたことをの平方根である。まだ知らなかった平方根が必要です。ar/21ar/2111

ような数値を与えるとします。この方程式は次のように書き換えることができます。xx2=1(modN)

x2=1+kNx21=kN(x+1)(x1)=kN

認識すべき重要なことは、場合x±1modNこの方程式はです。場合、係数ため、左側はです。場合も同じことが起こりますが、他の要因が伴います。x10modN(x+1)0x+1

と両方を興味深いものにする(つまり、非ゼロmod)には、が追加の平方根である必要があります。明らかなと答えのほかに平方根。それが起こるとき、それはの素因数のために不可能であるにすべて行くようにまたはにすべて行く、およびのであなたの要因を与えることが保証されの代わりに、複数の。(x+1)(x1)Nx1+11N(x+1)(x1)gcd(x+1,N)NN

たとえば、場合、は1の余分な平方根です。実際、とは因数です。一方、退屈な平方根を選択した場合、もは因数です。N=221x=103gcd(x+1,N)=gcd(104,221)=13gcd(x1,N)=gcd(102,221)=17221x=1220gcd(x+1,N)=gcd(221,221)=221gcd(x1,N)=gcd(219,221)=1221

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.