まず、クレジット カード番号であることがわかっている場合は、Luhn のアルゴリズムを使用します。これは、有効なクレジット カード番号の簡易チェックサム アルゴリズムです。
ただし、それらが単に 16 桁の整数である場合は、使用できるアプローチがいくつかあります。個々の番号が乱数ソースから来たかどうかを判断するのは困難です (番号 1111111111111111 は、乱数ジェネレーターからの他の番号と同様に可能性が高いため)。繰り返される数とパターンに関しては、コルモゴロフの複雑さの概念を非常に連想させます (以下のリンクを参照)。この力ずくの方法でパターンを探すこともできますが、人間は実際にはこれらの数字に数字やシーケンスを入れることを避ける傾向があるため、かなり不正確だと思います!
代わりに、人々が数字を生成する方法に注目することをお勧めします。人間の入力を非常に貧弱な乱数ジェネレーターのように扱うことができます。したがって、別のデータセットがない場合は、人間が入力したランダムな数字のリストを自分で作成することをお勧めします。次に、機械学習を使用して分類アルゴリズムを生成し、純粋な乱数 (機械学習アルゴリズムが認識した「人間のような」属性を持たないもの) を区別できます。統計的分類器のメトリックに関しては、コルモゴロフの複雑さは 1 つであり、おそらく別のメトリックの桁数の頻度 (ウィキペディアのベンフォードの法則を参照)、および別のメトリックの繰り返し桁の数 (人間は数字の繰り返しを避けようとする可能性があります)ランダムなので、分類子に仕事をさせてください!)
私の個人的な経験からすると、このような困難な問題は、機械学習アルゴリズムと統計的分類器の典型例です。
お役に立てれば!
リンク:
コルモゴロフ複雑度 複雑
度計算機