18

非常に単純な質問です。「シード」という用語は、一般的に何を意味しますか? コンテキストを入れます。つまり、ランダム関数をシードする必要があります。

4

4 に答える 4

16

パーソナル コンピューターで一般的なランダム関数のほとんどは、ランダムではありませんが、ある程度決定論的です。これらの疑似乱数関数の「シード」は、将来の値の基になる開始点です。これはデバッグ目的に役立ちます。シードを実行ごとに同じにすると、同じ数値が得られます。

よりランダムな数値を取得するには、実行ごとに異なるシードが使用されることがよくあります。これは多くの場合、マシンの時間に基づいています。

この方法は、私たちの周りの世界のある種の物理的特性に基づいて「真の」乱数を生成する方法とはまったく異なります。溶岩ランプと太陽の黒点は、「より乱数の多い」数値を生成することが観察できる、より「楽しい」プロパティの 2 つです。ポーカー Web サイトのように本当に必要な場合は、誰でもhttp://www.random.org/にアクセスして実際の乱数を取得できます。優れたジェネレーターがない場合は、ジェネレーターがどのように機能するかを理解し、将来の数値を予測しようとすることができます。

于 2009-10-25T00:58:17.227 に答える
3

カード ゲームとゲーム プログラムの開発と、ゲームを実行して実際にプレイすることを想像してみてください。

疑似乱数ジェネレーターは、1 つまたは複数のシードを使用してシーケンスの開始点を決定します。それらの中には常に同じシーケンスを作成するものもあれば、シードに応じて異なるシーケンスを作成できるものもあります。カスケードを使用するものもあり、単純な RNG に単純なシードが与えられ、これがしばらく実行されて、傑作 RNG のより複雑なシードが生成されます。

プログラムを開発するとき、または以前の結果を再現したいときに、シーケンスを意図的に繰り返すことができると非常に便利です。

しかし、カードゲームを想像してみてください。常に同じシーケンスのカードを配ることは、明らかに良い考えではありません。

于 2009-10-25T01:32:11.307 に答える