2013年6月24日月曜日

ゲームと擬似乱数

リネ内で,2面コインを振ると一定確率で「表」or「裏」という値が返ってくる,6面ダイスを振ると一定確率で「1~6」の値が返ってくる,+7武器にDAIを貼ると一定確率で「成功」or「失敗」という値が返ってくる.

一定確率で値が返ってくるってどういうことだよ?どういう計算規則で値が決まるんだよ?
ランダムだよ!不規則だよ!コンピューターがランダムに値を決めてるんだよ!
コンピューターがランダムに値を決めるってどういうことだよ?コンピューターの頭(?)に自然と数字が沸いて出るの?CPUにできることって四則演算と数値記憶能力くらいで自然と数値を発生させる機能はないのでは?何らかの計算規則で数値を出力して,その出力された数値列がランダムに見えるだけなのでは?

まぁ,結論から言うと,コンピューターの世界に「乱数」は存在しない,「擬似乱数」と呼ばれている計算規則に従って生成される数列が人間の目にはランダムに見えるというだけである.

じゃぁ,擬似乱数計算規則ってどんな規則なのよ?
リネでどんな計算規則なのかはわかりません,ごめんw
ちなみに,C言語の組み込み乱数(rand()関数)は線形合同法らしいです.

線形合同法アルゴリズム:
F:謎の初期値を極秘に決めておく,
A,B,C:謎の数を極秘に決めておく,
a(0)=FをCで割った余り,
a(n+1)=(A×a(n)+B)をCで割った余り,
という計算規則で数列,a(0),a(1),a(2),a(3),・・・,a(n),a(n+1),・・・,を生成していくというやり方です,要するに,割り算の余りを出す→その余りをまた割り算して余りを出す→また余りを割って余りを出す→・・・,を繰り返して数列を作り続けるというやり方ですね.

線形合同法の長所:
・アルゴリズムが単純で短い
・生成時間が速い

線形合同法の欠点:
・計算規則が解明されやすい
・周期があり短め

個人的にはリネのランダム現象も線形合同法で生成されているのではないかと思っています.
パチスロも線形合同法じゃね?と思ったり??
まぁわからんけどねw

参考サイト:
擬似乱数という生き方
http://dos-sonority.jugem.jp/?eid=166
ゲームと乱数
http://kaz.cyteen.nagoya-bunri.ac.jp/game/no3b.html
線形合同法数列が最大周期になる条件
http://d.hatena.ne.jp/oupo/20120512/1336815708



初心者でもじっくり学べる英語講座

0 件のコメント:

コメントを投稿