出力のサイズは入力のサイズに多項式で制限されていないため、自然数の指数関数は多項式時間で計算できないことがわかっています。
これが指数関数の計算が難しい主な理由ですか、それとも指数関数を計算するのが本質的に難しいのでしょうか?
指数関数のビットグラフの複雑さは何ですか?
出力のサイズは入力のサイズに多項式で制限されていないため、自然数の指数関数は多項式時間で計算できないことがわかっています。
これが指数関数の計算が難しい主な理由ですか、それとも指数関数を計算するのが本質的に難しいのでしょうか?
指数関数のビットグラフの複雑さは何ですか?
回答:
上限は次のとおりです。
二乗を繰り返すことにより、問題はPSPACEにあります。
わずかに優れた上限があります。問題はBitSLP問題の特別なケースである:整数を表す0と加算、減算、乗算と1から始まる直線プログラムが与えられるNを、所与のI ∈ℕ、かどうかを決定するI番目のビット(から数えNのバイナリ表現の最下位ビット)は1です。BitSLPの問題は、カウント階層(CH)[ABKM09]にあります。([ABKM09]には、BitSLPの問題がPH PP PP PP PPにあることを示すことができると述べられています。)
CH = PSPACEの等式は、カウント階層が崩壊することを意味するため、CHのメンバーシップは、問題がPSPACE困難である可能性が低いことの証拠と見なされることがよくあります。しかし、この証拠がどれほど強力であると考えられるかはわかりません。
硬度に関しては、BitSLPは同じ論文[ABKM09]で#P-hardであることが示されています。しかし、そこにある証拠は、問題の言語Xの難しさを暗示していないようです。
参照資料
[ABKM09] Eric Allender、PeterBürgisser、Johan Kjeldgaard-Pedersen、Peter Bro Miltersen。数値解析の複雑さについて。 SIAM Journal on Computing、38(5):1987–2006、2009年1月 。http://dx.doi.org/10.1137/070697926
完全な答えではなく、少なくとも部分的な答えです。
Iこれまでに登場している2つの答えがあるという事実に言及していないことを通知モジュラー指数計算するアルゴリズムX 、Y MOD Z Nのビット数であり、Z、及び場合ωは、最速の乗算アルゴリズムに対応する指数です。したがって、指数の下位ビットを効率的に計算できます(O (n 3)以下)。
これを行う方法は非常に簡単です:、c 2 = x 2 mod z、c j = c 2 j − 1 mod zを計算できます。明確C J = X 2 J MOD ZなどxはY ≡ Π J C 、Y jは jの MOD Zを、だけが存在するように、N用語はcのJこれだけかかりN 乗算。
さらに、我々は書くことができように(Σ N iは= 0 2 I X のI )Yおおよそに対応する最上位ビットに、2 N yはまた、効率的にこれらのように計算することができるが、最上位ビットのみに依存するであろうX。
したがって、唯一の実際の問題項は、中心に向かうビットによって引き起こされます。
[この回答は、Per Vognsenの回答に関する興味深い側面を説明しています。OPの質問に対する直接的な回答ではありませんが、そのような質問の解決に役立つ場合があります。]
まず、次のリンクを見てください: ベイリー・ボルワイン・プラウフ式(または単にBBP式)。これは、最初のi − 1ビットを最初に計算せずに、無理数πの番目のビットを計算する方法です。この記事は、他の無理数のBPPタイプの式も存在することを指摘しています。
次に、Dick Liptonの主題に対する見方を見てください。Cook's Class Contains Piです。記事は、本質的に決定することが記載されているの番目のビットπは、スティーブ・クックのクラス(であるS C、多項式時間及びポリ対数空間で受け入れ言語のクラス)、そして彼はに対してそれを呼び出すように、この事実は、非常に奇妙であること"社会通念。"
PS:記事の最後で、ディックはアルゴリズムが実際にはから外れている可能性があることを認めていますが、そのような可能性は「実用的」を超えています。