乱数の考察

麻雀アプリなどをやっていると、ツモ牌に一定の傾向が出てくると感じたことはないだろうか。特に自分のやっていたアプリでは、必ずと言っていいほどアガった後にはいい手牌、アガられた後には悪い手牌が来るのに懲りてしまい、やるのをやめてしまったほどだ。

そもそもコンピュータとは、一定の条件を与えてやると、一定の関数に基づいた値を「素早くかつ正確に」算出してくれる機械である。
つまり、コンピュータが乱数、つまり真の意味でランダムな値を提示してくれることは不可能なのではないかという疑問がずっとあった。
いわば、論理の世界でしか生きられないコンピュータの唯一の弱点ともいえる。

早速Google先生に聞いてみた。
さすが先生、プログラマーや数学者の方々のわかりやすい記事が並ぶ。
その中でも一番上にきたサイトを載せよう。

https://www.zenken.co.jp/blog/engineer/30255

どうだろう。自分にとっての疑問はほとんど解決された。
そもそも「擬似乱数」という関数が存在することを初めて知った。

SEED値が同じなら、乱数も同じになってしまうため、時間データを使うということも。

時間データについての説明が乏しかったが、ようは時間データというinputを擬似ランダム関数にぶち込んでoutputされた値を擬似乱数と呼んでいるということだ。

しかし乱数を求めるための「関数」がある時点で、それは真の意味での乱数ではない。

記事では最後に、真の意味での乱数を得る方法を述べている。環境ノイズ、あるいは量子物理学。

ノイズというのは、究極的に言えば自然現象であろう。ようは論理的な機械ではコントロールしきれなかった「余り」の部分なのだから。

量子物理学については、シュレディンガーの猫の話が有名だ。

何が言いたいかというと、真の意味での乱数の考察を通じて、コンピュータの限界が見えてくるのだ。あくまで無機的な部分と有機的な自然現象は相容れない部分が残る。

研究者として、自らの思考を加えるならば、人体や医学を考えた時に、無機的な部分と有機的な部分に分けられる。
無機的な部分は〇理学というように、ある程度体系化された関数が存在する。BP=CO×PRのように。
しかし突き詰めていけばいくほど、論理や関数では説明できない部分に直面する。それはICUにおいての急変だったり、研究室における量子レベルでの観察など。

このパラダイムを持って俯瞰すると、研究者にも二通りのタイプがいるなと思う。無機的な部分が得意なタイプ、有機的な部分にロマンを感じるタイプ。

後者に関しては、芸術にも通ずる部分があるだろう。


この記事が気に入ったらサポートをしてみませんか?