マーリンはアーサーにある金額について納得させることができますか?


11

無限の計算リソースを持っているマーリンは、アーサーに 用のN M K 、K = O 対数Nを、M = O N この合計を簡単な方法(モジュラーべき乗と加算)で計算するには、時間N log log N 2 + o

m|pN, p primepk
(N,m,k)k=O(logN)m=O(N). FFTベースの乗算を使用。*ただし、アーサーはON操作しか実行できません。N(loglogN)2+o(1)O(N)

(表記は、この問題の以前のバージョンとの互換性のために:和に等しいう、次に問題があるかどうかをαは整数です。)mαα

マーリンは長さストリングでアーサーを説得できますか?そうでない場合、彼はアーサーをインタラクティブな証明で納得させることができます(もちろん、完全なコミュニケーションはO N でなければなりません)。その場合、Merlinは長さo N )の文字列を使用できますか?アーサーはo N 時間を使用できますか?O(N)O(N)o(N)o(N)

アーサーは非決定論や他の特別なツール(量子メソッド、マーリン以外の神託など)にアクセスできませんが、必要に応じてスペースがあります。もちろん、アーサーは合計を直接計算する必要はなく、与えられたトリプル(N、m、k)が方程式を真または偽にすることを確信する必要があるだけです。O(N)

そのノートが時間に和を計算することが可能であるO N 1 / 2 + ε使用Lagarias-Odlyzkoの方法。以下のためのk > 0合計が超線形であるので、(なし、例えば、モジュラー化)を直接保存することはできませんが、それは速いアルゴリズムが存在するかどうかは明らかではありません。k=0O(N1/2+ε)k>0

また、直接の電力供給と加算による以外の合計(モジュラーまたはその他)を計算するアルゴリズムにも興味があります。

* 計算する数値、時間lg k log N log log N 1 + o 1 = log N log log N 2 + o 1 各計算。N/logNlgklogN(loglogN)1+o(1)=logN(loglogN)2+o(1)



1
はい、関連します。主な違いは、math.SEの質問では、Merlinの計算リソースがゼロであると仮定しており、この質問では、無限のリソースがあると仮定していることです。
チャールズ

3
素数テストに必要な時間はどうですか?
ピーターショー

1
@チャールズ:見えない素数を数えるための Nスケーリング。あなたはそれを説明できますか?超線形スケーリングが必要だと思っていただろう。エラトステネスのふるいは、ON2アルゴリズムを提供します。NO(N2)
ジョーフィッツシモンズ

1
アルゴリズムはLagarias&Odlyzkoによるものです。たとえば、dtc.umn.edu /〜odlyzko / doc / arch / analytic.pi.of.x.pdfのように記述されていますOではありませんが、OO(N)O~(N).
チャールズ

回答:


7

これは問題に対する別のアプローチであり、他の回答とはほとんど関係ないと考えているため、以前の特別なケースとは別に投稿しています。探しているものとは異なる場合がありますが、単純であり、近づいています。

アーサーが常に正しい証拠を受け入れる証拠がありますが、確率で拒否します。しくみはこうだ:マーリンはアーサーのペアを送信しますPICI=Pの K I  MOD メートルごとの素数のためのpN。アーサーは合計を検証します所要時間ON/logN×OlogN=ON1(loglogN)2+o(1)(pi,ci=pik mod m)pNO(N/log(N))×O(log(N))=O(N))。アーサー素数の正しい数は、(計算によって供給されたことをチェックであるサブリニア)Nを。最後に、のためにS Nランダムペア、彼がいることを確認し、pは素数で、そのp個のK IC  のmod メートル。これには、S N O log log N 2 + o 1 )の時間がかかりますSの取得= log log N π(N)NSNppikci mod mSN O((loglogN)2+o(1))、線形時間スケーリングを取得します。したがって、すべてのペアの端数Sが検証されます。これらのいずれかが失敗した場合、アーサーはもちろん拒否します。アーサーが誤った証明を受け入れるには、これらの2つのテストのいずれかに失敗するペアが少なくとも1つ存在する必要があります(またはペアの数が以前にチェックされたπN未満でなければなりません)。したがって、すべてのペアの端数Sがチェックされると、少なくともSの確率で不正な証明のテストが失敗します。S=(loglogN)(2+o(1))Sπ(N)SS

大きいこれは確率1で成功するランダムな推測よりもはるかに優れていることに注意してください。N1m=1O(N)


2つの回答を投稿するのが適切でない場合は、お知らせください。それらを統合します。後者は私のところに来たばかりで、最初の答えとはまったく異なるテイクであるため、私はそれらを別々にした。
ジョーフィッツシモンズ

1
元気です。特にCWの質問では、複数の回答が一般的です。
スレシュヴェンカト

@Suresh:はい、知っていますが、これはCWではありません。担当者になりたくありません。
ジョーフィッツシモンズ

2
とてもいい答えです。両方のリソースを最大限に活用します。Merlinの文字列は、ArthurはΘ N 時間を使用します。Nitpick:素数を個別に検証するのには時間がかかりすぎますが、もちろんアーサーはそれらをすべて生成し、Merlinのリストと比較することができます(順序が必要です)。Θ(N)Θ(N)
チャールズ

1
@JoeFitzsimons:大丈夫です:)。両方の回答が担当者に値する場合、二重のポイントを取得します:)
Suresh Venkat

6

これは、Merlinをまったく使用しない問題に対する完全な答えです。

Deléglise-Dusartの-Roblot [1]は、最大の素数の数を判断するアルゴリズムを与えるに一致しているL個のモジュロkは時間にOをX 2 / 3は / ログ2 XをLagarias-Odlyzko [2]のアルゴリズムの変形は、同じ時間で計算されることを可能にするO X 1 / 2 + O 1 xlk,O(x2/3/log2x).O(x1/2+o(1)).

いずれかのアルゴリズムを使用して、積が超えるまで、すべての剰余クラスmod primesの素数を見つけます各素数のためにQ 各残基クラス時間の素数の合計数を取ると残基クラスkのパワー目。これは、の値が与え Σ P NのP  プライムのp kはm.q,k

p primepNpk(modq).

和の値が国防省決定するために、中国の剰余定理を使用する23logm.

素数定理で必要とされる最大の素数であるこれは時間における和が得られるように、O N 1 / 2 + Oを1 (1+o(1))logm,O(N1/2+o(1)).

参照資料

[1] MarcDeléglise、Pierre Dusart、およびXavier-FrançoisRoblot 、残基クラスでの素数のカウントMathematics of Computation 73:247(2004)、pp。1565-1575。土井10.1.1.100.779

[2] JC Lagarias and AM Odlyzko、コンピューティング:分析法π(x)Journal of Algorithms 8(1987)、pp。173-191。

[3] Charles、MathOverflow答えてください。(はい、これは同じ人物です。異なるアプローチについては、他の回答を参照してください。)


5

kk=xϕ(m)x

ϕ(m)mNpxϕ(m)0 mod mp|mpxϕ(m)1 mod mk=xϕ(m)pN,p primepkπ(N)y mod mymπ(N)N

1<N<mmα1<π(N)<m

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