5

編集:これをcstheory.stackexchange.comに移動しています

整数の入力シーケンスに対するバイナリ決定が必要です。シーケンス出力内の特定の n について、それが素数であるかどうかを示します。AKS を使用しないでください、Miller Rabin を使用しないでください、試用版を使用しないでくださいモジュロ 6。

機械学習のみを使用します。

確かなことはわかりませんが、「一般的なコンセンサス」は、機械学習技術(ニューラルネットワーク、SVM、バイナリ分類器、クラスタリング、ベイジアン推論など)がこの問題を解決できないということですか?

人々はどう思いますか?

さて、次に、何らかの有用な情報を運ぶ整数のベクトル表現があるとしたら、(不明)、機械学習が n を素数または合成数として分類できることに対して、原則として大きな反論はありますか?正しい機能」いわば?

ベクトルに n の因数分解が含まれているような些細なケースは無視しましょう。

4

1 に答える 1

2

機械学習はすべての答えではありません。機械学習はその名の通り、データから学習します。問題は、何かを学習するには、アルゴリズムに学習を教えることができるデータ内のパターンが必要だということです。

定義によると、素数とは、1 とそれ自体以外に正の約数を持たない 1 より大きい自然数です。

ここでの基本的な難しさは、素数のシーケンスが

2, 3, 5, 7, 11, 13, 17, 19, 23, . . .

n 番目の素数 の (有用な) 正確な公式はありません。

アルゴリズムをトレーニングしようとしても、解に近似するものがあります。解を予測するのに十分な機能を選択することはできません。

たとえば、これらの機能を使用してモデルをトレーニングするのは難しい方法です。

  • 偶数で終わる数 (2 を除く) は素数ではありません。
  • すべての数字の足し算が 3、6、9、またはその約数に等しい数は、素数ではありません。
  • 5 で終わる数は素数ではありません。(5を除く)
  • 同じ桁の数字は素数ではありません。(1 で終わらない限り)

最終的にはすべての素数が 1、3、7、または 9 で終わることになりますが、すべてが素数というわけではありません。

したがって、正確な解が必要な場合や、それを計算する正確な方法が既にある場合は、何かを近似するアルゴリズムを見つける必要はありません。

于 2013-01-11T00:26:31.337 に答える