コンピューターにできないことはありますか?真の乱数を生成する。コンピュータはサイコロを振らない。

コンピューターにできないことはありますか?真の乱数を生成する。コンピュータはサイコロを振らない。

今日の世界では、航空宇宙工学から情報管理、人工知能からプロセス制御まで、あらゆる分野でコンピュータが不可欠です。

しかし、コンピューターは万能ではありません。彼らにはできないことがたくさんあります。乱数の生成など、一見単純なことでさえ、コンピューターでは実行できないことがあります。コンピューターは乱数を生成できないのですか?会社の年次総会の抽選会など、コンピューター抽選で行われることが多いのではないでしょうか?コンピューターが乱数を生成できることは事実ですが、コンピューターによって生成された乱数は真の乱数ではなく「疑似乱数」であるため、引用符で囲む必要があります。

なぜコンピューターは疑似乱数しか生成できないのでしょうか?コンピューターはサイコロを振ることができないからです。

サイコロを振ることは人間にとっては非常に単純な作業ですが、コンピュータにとっては非常に困難です。なぜなら、コンピュータのすべての動作には特定のプログラムが必要であり、乱数の生成も例外ではないからです。乱数とは何ですか?簡単に言えば、数字の出現にはいかなるルールも従いません。最初の数字の出現によって 2 番目の数字が決まるわけではありません。同様に、3 番目の数字は最初の 2 つの数字とは何の関係もありません。これはコンピューターでは不可能です。コンピュータはアルゴリズムを改良することで「疑似乱数」を生成するプロセスをより複雑にすることができますが、それでも「疑似乱数」の性質を変えることはできません。

では、コンピューターはどのようにして「疑似乱数」を生成するのでしょうか?

最も初期の疑似乱数生成法は、コンピュータの父、ジョン・フォン・ノイマンによって開発されました。それは「スクエアミドル方式」と呼ばれました。現在、この乱数生成方法は完全に廃止されています。いわゆるスクエア方式では、まずシード番号を選択する必要があります。この番号は事前に設定されており、1234 または 5678 にすることができます。例として 5678 を挙げます。最初のステップはシード数を二乗することです。 5678 に 5678 を掛けると 32239684 になります。

正方形にする最初のステップが完了したら、次のステップは真ん中を見つけることです。

いわゆる真ん中とは、32239684の真ん中の4つの数字を取ること、つまり前の32と後ろの84を除いた真ん中の残りの4つの数字が2396であり、これが最初の乱数であることを意味します。 2 番目の乱数は、最初の乱数の二乗処理を繰り返すことによって得られます。つまり、2396 に 2396 を掛けると 05740816 になり、中央の 4 桁は 7408 になります。これが 2 番目の乱数です。スクエアセンター法はあまりにも単純すぎるため、シード番号さえわかれば、その後の乱数はすべて計算できるため、現在は使われていません。

比較的単純ですが、今でも使用されている乱数生成の別の方法は、「合同法」と呼ばれます。

合同法では、まず 2 つの定数を選択する必要があります。たとえば、最初の定数は 444、2 番目の定数は 1234 です。ここで、まずシード番号が必要です。例として 5678 を取り上げます。最初のステップでは、シードに最初の定数を掛けます。これは 5678 に 444 を掛けたもので、2521032 になります。2 番目のステップでは、最初のステップの結果を 2 番目の定数で割ります。これは 2521032 を 1234 で割ったもので、2043 に丸められ、これが最初の乱数になります。 2 番目の乱数は、最初の乱数に対して上記の手順を繰り返すことによって生成されます。つまり、2043 に 444 を掛け、1234 で割って 735 になり、これが 2 番目の乱数になります。

二乗中央値法と比較すると、合同法ははるかに複雑です。シード番号を知る必要があるだけでなく、後で表示されるすべての乱数を計算するために、2 つの定数も知っておく必要があります。

もちろん、どのようなプログラムが使用されているかを事前に知っていて、十分な乱数サンプルがあれば、定数を計算することもできます。ただし、合同法は変換可能です。たとえば、乗算の後に加算を追加し、次に 3 番目の定数を追加します。これは「線形合同法」になりますが、これはもう少し複雑です。合同法と二乗中央値法はどちらも乱数を生成する比較的単純な方法です。現在、私たちが主に使用している乱数生成方法は、はるかに複雑な「メルセンヌツイスターアルゴリズム」です。このアルゴリズムには比較的複雑な計算プロセスが含まれ、行列とベクトルの数学的知識が必要です。この方法で生成された乱数の分布は真の乱数に非常に近いですが、本質的には依然として疑似乱数であり、各数値の間には論理的な関係があります。

詳細については、公式アカウントをフォローしてください:sunmonarch

<<:  もし地球が自転を止めたら、川や湖や海の魚はどこへ行くのでしょうか?

>>:  トイレを流すと何が起こりますか?

推薦する

世界津波の日 |海の「激しい気性」にどう対処するか?

今日は世界津波の日です。津波が発生すると、陸上の建物や財産に大きな被害が生じることがよくあります。し...

シリアルにおける食物繊維の役割

現代人は食物繊維についてある程度理解しているはずです。食物繊維には多くの機能があり、最大の機能は減量...

フランスワイン

ワインは非常に一般的です。このタイプのワインは、味、色、製造方法が独特です。さらに、このタイプのワイ...

こんなオウムを飼うと本当に刑罰を受けるのでしょうか?

オウムは色鮮やかで、活発で、かわいくて、澄んだ声をしています。今では多くの人がペットとして選ぶ鳥です...

脂身の多い牛肉の作り方

脂身の多い牛肉の栄養価は非常に高く、脂身の多い食品を食べることで、タンパク質やカルシウムなどの栄養素...

健康維持に効果的なフルーツと体質の組み合わせ10選

1. 桃:果物の中で最も鉄分含有量が多い「桃は人を養うが、杏は人を害する」という民間の​​諺があり...

異なる色の食べ物にはそれぞれ健康上の利点がある

食品の色によって栄養効果が異なる赤この色グループの果物や野菜は見た目がとても魅力的で、心臓に最も良い...

ハクレン(鯉)は毛深い食べ物ですか?

おそらく私たちの友人の多くは、「刺激性のある食品」という概念をあまり理解していないでしょう。刺激性の...

ヨーグルトとケフィアの違い

多くの人にとって、ヨーグルトとヨーグルトは本質的に同じ食品であるため、違いは存在しません。この考えは...

卵を食べることに関する12のよくある誤解

1. 卵殻の色が濃いほど栄養価が高い昔は、赤い殻の卵の方が栄養価が高く、市場では赤い殻の卵の方が高...

ハトムギ米の食べ方

ハトムギ米はハトムギとも呼ばれます。ハトムギ米は食用であるだけでなく、食用価値も高いです。ハトムギ米...

食べる人よ、何を食べているか知っていますか?

JD.comやTaobaoのショッピングサイトを開くと、目玉米、新米、玄米、低GI米、胚芽米などの...

おいしい料理を作るコツ

料理は誰でも慣れていると思いますが、同じ材料や調味料を使っても、人によって料理の味が違うことがありま...

360度子供用ウォッチ6CカメラエディションはApple Watchよりもパワフルな体験ができる

スマートウォッチはスマートフォンほど急速に普及しておらず、人々の必需品にまで発展していませんが、より...