解くたびに乱数を生成できる数式はありますか?


ベストアンサー

いいえ-数式は常に次のような値を生成するため、何か(前の値または前の値のいずれか)から予測されたため、ランダムとして説明することはできません。

疑似ランダムとして説明できます。つまり、ランダムに見えますが、真にランダムに次の基準を適用する必要があります。

  • 範囲内のすべての可能な値は、発生する可能性が等しい必要があります。つまり、\ frac 1k(kは範囲内の離散値の数)です。
  • 長さのすべての有限長サブシーケンスは、同じ長さの他のすべてのサブシーケンスと同じ確率で発生する必要があります。たとえば、長さnのすべてのサブシーケンスは{\ frac 1k} ^ n。
  • シーケンス内のm ^ {th}要素は、前のm-1要素のいずれからも予測可能であってはなりません。

繰り返し可能なアルゴリズム明らかに最後の基準に違反しています。

疑似乱数生成関数(多くのコンピューターシステムで使用されている)は、最初の2つの基準を満たすのに非常に優れており、最後の基準を可能な限り難しくします(シーケンスを予測するための正気のチャンスに耐えるためにシードを開始します)が、不可能ではありません。

疑似ランダムシーケンスを持つことは一見制限されているように見えるかもしれませんが、多くの場合、繰り返し可能なランダムのセットを作成する機能はありますが見た目の価値は価値がある可能性があります:

  • 乱数を使用して生物学的成長をシミュレートするルーチンがあり、20,000 ^ {th}回の反復後に関数が誤動作することに気付いたとします。まったく同じシーケンスをルーチンで再生し、反復19,999で停止し、失敗したものをデバッグしようとすると非常に便利です。

繰り返し可能な疑似の場合も同様の他の用途があります。乱数シーケンス。

回答

固定された数式に対する回答は毎回同じです。ただし、数式には多くの解決策があります。したがって、数式を解くすると、毎回異なる解が得られる可能性があります。

簡単な例として、2次方程式を考えてみましょう。方程式x ^ 2-x =0。2次方程式で解くと両方の解が得られますが、他の方法で解くと0または1のいずれかしか得られない可能性があります。解の方法自体がランダムである場合、どちらのルートを取得することもできます。ランダム。

残念ながら、この例はランダム性、さらには疑似ランダム性のソースには変換されません。入力したもの、またはそれ以下しか返されません。ただし、同じアイデアを疑似ランダム性のソースとして使用できます。疑似乱数を生成するためのアルゴリズムは、(原則として)次の形式のディオファントス方程式または方程式のセットに変換できます。

f(s、r\_1、r\_2、r\_3、\ ldots、r\_n、 x\_1、x\_2、\ ldots、x\_k)= 0

この式には、sがRNGのシードであり、r\_1からr\_nがRNGからの最初のn個の出力である場合は常に解があります。 x\_iは、変換で使用される補助変数です。

この巨大な式(整数)を解くと、疑似乱数が得られます。異なる解を見つけると、異なるsを見つけた限り、別の疑似乱数のセットが得られます。

リーマンゼータ関数の零点を見つけるなど、より自然な例があるかもしれません。無作為に。”ただし、それらが十分に疑似ランダムであることを示すのは難しい場合があります。

x ^ 2-x = 0の場合と同様に、入力した分だけ真のランダム性しか得られません。 (またはさらに悪いことに。)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です