ニューラルネットワークは素数を検出できますか?


21

私は素数を見つけるための効率的な方法を探していません(もちろんこれは解決された問題です)。これは、「もしも」の質問です。

それで、理論的には、与えられた数nが合成か素数かを予測するためにニューラルネットワークを訓練できますか?そのようなネットワークはどのようにレイアウトされますか?


1

2
素数がパターンに従い、誰かがたまたま分類境界を定義するために十分な隠れノードでニューラルネットワークをトレーニングする場合、それは機能すると思います。ただし、その分類が存在するかどうかはわかりません。存在する場合でも、ニューラルネットワークが実際に正しいパターンを見つけたことを証明するには、境界が何であるかを証明する必要があります。
キンタムニア

回答:


11

人工ネットワークを介した素数テストの初期の成功は、2006年のラーズーロエグリ、トーマスR.シュルツの素数テストに対する合成ニューラルネットワークソリューションで紹介されています。知識ベースのカスケード相関(KBCC)ネットワークアプローチが最も有望でしたが、このアプローチの実用性は、通常は最下位ビットをチェックし、すぐに検索を半分に減らしてから検索することで始まる他の素数検出アルゴリズムによって隠されますf l o o r までのその他の定理と発見的手法に基づく。ただし、KBCCによる知識ベースの学習、Shultz et。2006floor(x)

02n1n

  1. 整数の範囲にわたって素数を単純に記憶することでそれを実現できますか?
  2. 素数の定義を因数分解して適用することを学ぶことでそれができるでしょうか?
  3. 既知のアルゴリズムを学習することでできますか?
  4. トレーニング中に独自の新しいアルゴリズムを開発することで可能ですか?

直接の答えはイエスであり、上記の1.に従って既に行われていますが、それは素数検出方法を学習するのではなく、過剰適合によって行われました。人間の脳には、2.、3、および4.を達成できるニューラルネットワークが含まれていることがわかっています。そのため、人工ネットワークが可能な限り最大限に開発されている場合、答えはイエスです。この回答の執筆時点で、それらのいずれかを可能性の範囲から除外する反証はありません。

離散数学の素数の重要性、暗号への応用、より具体的には暗号解析のために、素数テストで人工ネットワークを訓練する作業が行われたことは驚くことではありません。RSA Cryptosystemのニューラルネットワークアプローチの最初の研究、Gc Meletiusなど作品で、インテリジェントデジタルセキュリティの研究開発における素数のデジタルネットワーク検出の重要性を特定できます、2002。暗号化がそれぞれの国の安全と結びついていることも、この分野における現在の研究のすべてが公開されない理由です。クリアランスとエクスポージャーがあるかもしれない私たちは、分類されていないものについてのみ話すことができます。

民間側では、いわゆる新規性検出と呼ばれるもので進行中の作業が研究の重要な方向です。Markos MarkouやSameer Singhなどは、信号処理側から新規性の検出に近づいていますが、人工ネットワークは本質的にマルチポイントセルフチューニング機能を備えたデジタルシグナルプロセッサであることを理解している人には明らかです。質問。MarkouとSinghは次のように書いています。「信号処理、コンピュータービジョン、パターン認識、データマイニング、ロボット工学など、ノベルティ検出が非常に重要なアプリケーションが多数あります。」

認知数学の側面では、「驚きの数学:理論と応用(論文)」、Mohammadjavad Faraji、2016などの驚きの数学の開発により、ErgiとShultzが始まったことがさらに進むかもしれません。


1

理論的には、ニューラルネットワークは任意の関数(ソース)をマッピングできます。

あなたは数字を使ってネットワークを訓練する場合は、0N、あなたは、ネットワークが正しく(その範囲外の数字を分類することを保証することはできませんn > N)。

このようなネットワークは、定期的なフィードフォワードネットワーク(MLP)になります。これは、繰り返しによって特定の入力の分類に何も追加されないためです。レイヤーとノードの量は、試行錯誤を通してのみ見つけることができます。


1
普遍定理は、コンパクトなサブセットの連続関数に適用されます。プライム/非プライムはそのような機能ではありません。
pasaba por aqui

1
@pasabaporaqui:この場合、素数の関数は、素数の値にピークを持つ連続関数によって十分に近似できます。したがって、NNは、6.93の素数の90%の確率を出力する可能性があります-これは明らかにナンセンスですが、入力と出力を離散化した場合、NNが非整数に対して何を予測するかはあまり気にしません。この答えは基本的に正しいと思います。
ニールスレーター

1

私はプレーリービューA&M大学の学部研究員です。数週間かけてMLPRegressorモデルを調整し、n番目の素数を予測したため、コメントすると思いました。最近、非常に低い最小値に陥りました。トレーニングデータ以外の最初の1000回の外挿では、誤差は0.02パーセント未満でした。300000素数でさえ、それは約0.5%オフでした。私のモデルはシンプルでした。10個の隠れ層を、2時間未満で単一のプロセッサでトレーニングしました。

私には、「n番目の素数を生成する合理的な関数はありますか?」という質問を頼みます。現在、アルゴリズムは極端なnに対して計算上非常に負担が大きくなります。発見された最新の最大素数間の時間差を確認してください。それらのいくつかは数年離れています。そのような関数が存在する場合、多項式ではないことが証明されていることは知っています。


AI.SEへようこそ!回答セクションでは(コメントではなく)回答のみを許可しているため、質問への対応に集中するために投稿を少し改良しました。このサイトの紹介については、ツアーをご覧ください。
ベンN

こんにちはコーディ、これは昔ではありませんでした。しかし、私はあなたがしたテストに関してあなたとチャットをしたいと思います。あなたがしたことや感じたことについて、ライブチャットをしてもいいですか?これをさらに実験する可能性があるかどうかを確認したいと思います。
momomo

-1

はい、それは実行可能ですが、整数因数分解問題はNP何か問題BQP問題であると考えてください。

このため、P = NPでない限り、純粋に古典的なコンピューティングに基づくニューラルネットワークが100%の精度で素数を見つけることは不可能です。


質問で説明されているように、数値が素数であるかどうかはNPの問題ではないことを確認してください。
pasaba por aqui
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.