不満を抱かせにくいゲーム用擬似乱数列の生成と利用
野村 久光, テンシリリックンシラ, 池田心
北陸先端科学技術大学院大学{temsiririrkkul, kokolo} @jaist.ac.jp
本研究では，どのような特徴を持たせれば自然に“見える”乱数が作れるのかを考察，実装する．
そのためにサイコロの目・すごろくに関する人間の認知の偏りを実験から得て，これに迎合するような調整を加えることで自然さを演出する．被験者実験により結果が有望であることを示した．

Generation and Application of Player-Satisfying
Pseudorandom Numbers for Games
Hisamitsu Nomura, Sila Temsiririrkkul, Kokolo Ikeda
Japan Advanced Institute of Science and Technology
This paper proposes a method to generate pseudorandom numbers that seem to be naturalfrom the point of view of common game players. Cognitive biases of players are measured, andpseudorandom numbers are adjusted for that. Experiments using subjects showed that ourmethod is promising.

1．概要には偏っているのに，通常の乱数よりも偏っていないように“見える”乱数」を作ることを目指した研究を続けている．

現在，シミュレーション・強化学習法など多くの分野で使用されている擬似乱数は，従来の数学的な意味による評価基準においては真の乱数に十分近い．線型合同法などの古典的な乱数生成法は多くの欠点を持つが[1]，近年，Mersenne twister（MT）法[2] など多くの優れた生成法が開発され，暗号などの専門用途を除けば「偏りのなさ」「周期の長さ」「生成の速度」などの要求を十分満たすものが簡単に利用できるようになっている．
しかし，すごろく等のコンピュータゲームでサイコロの目を既存の擬似乱数生成法により決定した場合，出目の系列によっては，プレイヤが“サイコロが自分に都合の悪いようにコンピュータに操作されている”と感じゲームへの不信感を抱くという問題がある．
実際，人間はしばしば確率的な事象に対して誤った判断を下す．これは広くは認知バイアスと呼ばれ[3]，個々にはギャンブラーの誤謬，クラスターの錯覚などと分類されている．我々
は，この人間の誤った認識に迎合して，「実際2．研究のアプローチと進捗
本研究の全体的な構想としては大きく４つの段階を想定し，(3)まで終了している．
(1) 主にアンケート調査を用いて，乱数・確率について多くの人に共通する誤解・偏り・思い込みの傾向を調査する．
(2) その認識の偏りをなんらかの意味で再現するような乱数列の生成法を考案・実装する．
(3) すごろくを対象に，(1)(2)と同様の偏りを調査し，止まりたくないマスに止まるような頻度を調整する手法を考案・実装する．
(4) ゲーム実施中に，各ユーザの傾向をオンラインで分析して，その人に特化した乱数列・サイコロ制御法を適用する．
アプローチ(1)(2)については GPW2013 の論文[4]，(3)の一部は GEM2014 の論文[5]で発表済みであり，今回詳細な説明を省いた部分につ9た誤りの傾向に迎合することで不満の少ない乱数生成を行う．

いてはそれらを参照してもらいたい．本稿では主に，(3)に関する実験および手法を追加し，また被験者実験の人数を増やした．

4．乱数列の比較実験

3．アンケート調査

アンケート調査より得られた特徴量の傾向を参考に，ある系列 S が被験者の考える乱数らしさの傾向にどれだけ違反度するかを示す
関数を人間が考える乱数らしさの傾向の調査を目的に，被験者 57 名に 1～6 の数字からなる長さ 100 の乱数列を「サイコロを振るつもりで」書いてもらう実験を行い，15 個の特徴量より分析した．用いた特徴量と長さ 100 の場合のおよその理論値は次の通りである．
F1: 全体で出た目の回数のχ2値．(5.0)
F2～F5: 系列の約4分の1のそれぞれにおける出た目の回数のχ2値．(5.0)
F6: 偶数と奇数が並ぶ部分の数．(49.5)
F7: 同じ目が2連続する部分の数．(16.5)
F8: 同じ目が3連続する部分の数．(2.7)
F9: 同じ目が4連続する部分の数．(0.45)
F10: XXYY, XYXY, XYYX など，2つの目が2つずつ登場する部分の数．ツーペア．(6.7)
F11: 同様，XYXYYなど，2つの目が2つと3つ登場する部分の数．フルハウス．(1.5)
F12: XYXXなど，両端を含め4つ中3つが同じ目である部分の数．(4.5)
F13: XYXZXなど，5つ中3つの場合．(5.6)
F14: XYXZXXなど，6つ中4つの場合．(1.8)
F15: XXYXZWXなど，7つ中4つの場合．(2.5)

Err(S) = Σi (γi Erri(fi(S)))と定義する．ここで，・fi(S): 系列S の，特徴量 Fi の値
・[αi, βi] : 特徴量 Fi の望ましい範囲
・Erri(x): 範囲からの逸脱量．
・γi : 逸脱に対する重み
そして Err(S)=0 になるような（誤りに迎合した）擬似乱数系列を作成した．そのうえで，それが実際に自然に見えるかを確認するため，被験者実験を行った．まず，疑似乱数系列として，以下のＡ，Ｂ，Ｃの群を用意した．
【評価対象】
Ａ：無作為に作成した標準の疑似乱数系列
Ｂ：300作成した標準の疑似乱数系列をErr()によって評価し，悪い方から60系列選んだもの
Ｃ：Err(S)=0 となる最適化を行ったもの【評価方法】
被験者は，図１の乱数表示プログラムを実行し，表示された乱数列の評価を行う.１秒間に１文字ずつ，現在のサイコロの目と過去５回分が表示される．被験者は同じプログラムを２回実行し（同じ系列を2回見る），自然さを５段階で評価する．乱数列の表示順は全ての被験者が異なる系列を見るように並べられており，被験者には群の数や順番は知らされない．

表 1 被験者の生成した乱数の特徴実験の結果を表 1 に示す．特徴量 F6 の「偶数と奇数の交代数」では平均値が 56.9 回と理論値 49.5 回より有意に高く，「同じ目が 2 連続する部分の数」については平均 9 回と理論値16.5 回より有意に低い結果となるなど，全体的に大きな偏り（誤り）が見られた．こういっ

図1

乱数表示プログラム

実験の結果を表 2 に示す．Ｂ群は標準的な乱数生成器から生成された，５回に１回程度は登場する乱数列であるにも関わらず，171 回の評価で 134 回も評価 1,2 つまり偏りのある乱数で10あると判断されており，乱数の自然さへの疑いは生じやすいと言える．
Ｃ群は他の乱数列と比べ 171 回の評価で 90回と評価 4,5 の回答が多く，つまり通常の擬似乱数であると「誤解させる」ことができている．
表 2 乱数列の評価結果

表 3 乱数列の手動生成 結果

12345 6
出目を押した数
1074 1093 1100 1102 1064 877
罠を踏んだ出目の回数 150 146 120 74 77 49
罠～マス手前の回数
880 885 860 757 726 659
実際に踏んだ割合（％） 17 16.5 14 9.78 10.6 7.4

6．すごろく上の出目の調整

5．すごろく上の乱数の手動生成
乱数列単体と，ゲーム上での乱数列は影響を与える要素が異なるはずである．そこで，図２のような分岐や罠（落とし穴）のある単純なすごろくプログラムを用意した．

図２ すごろくプログラム 実行画面
このプログラムでは「コンピュータがそのすごろくをプレイする」「被験者はサイコロの目を決める」という通常とは逆の立場になってもらった．これにより，「どのような頻度で罠に落とされるのが自然と感じるか」「どのような出目で罠に落とされるのが自然と感じるか」を得ることが目的である．
被験者 49 人を対象に，１人当たり 30 ゲームで全 1470 ゲームでサイコロの目を決めてもらった．
実験の結果を表 3 に示す．出目そのものとしては 6 が有意に少なく，また罠に落ちる際の出目は 123 が多く 456 が少ないという顕著な傾向が見られた．これは，プレイヤは大きい出目で罠を踏むことを避けたいと思う意識的ある
いは無意識的な傾向があり，小さい出目ならば罠に落ちることを許容しやすいということを意味するかもしれない．

11

本章では，前章の結果やすごろくに関する記述式アンケートの結果を元に，罠に落ちるかどうかを制御する２つの手法を提案し，何もしない場合との比較を行う．
手法 X は，罠に落ちる可能性がある場合に，実際に落ちる割合を 1/6 から乖離させず，また連続での罠落ちを減らすなどの処理を施したものである．手法 Y は罠に落ちる出目に対する印象を考慮して 5，6 で罠に落ちることを抑制し，その代わり 1，2 で落ちるようにするものである．何もしない場合を手法 Z と呼ぶ．
【手法 X の概要】
本手法では，罠に落ちるかどうかを事前に下記のような罠落ち判定配列により決めておく．
2,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,1,2,2,2,2
罠に落ちる可能性がある（罠から 1-6 マス手前にいる）場合，この系列がチェックされ，1 なら必ず落ち, 2 なら必ず回避するように処理を行う．このとき，ベースの乱数の目は無視される．この系列は以下の性質を持つように作成しておく．
・1,1 という並び（連続の罠落ち）が無い．
・1,2,1 という並びが最大で 1 個．
・6 回中 3 回罠に落ちない．
・7 回連続で罠を回避しない．
・60 回中 9-11 回罠に落ちる．
・前半 32 回中 4-6 回罠に落ちる．
・後半 32 回中 4-6 回罠に落ちる．

図３ 手法 X 概要図

【手法 Y の概要】
本手法では，５章の実験で 5,6 で罠に落とす確率が小さかったことを踏まえ，5 や 6 で罠にちる場合は次の目と交換することでその確率を減らした（図４）．

【自然さの比較】
調整乱数・下位乱数の結果を合計して比較す
ると（表４左上）0.56 ポイントの差となり，すごろくに用いた場合でも我々の提案手法が最も自然に見えるということが分かった．
手法 X,Y,Z の別で見ると，手法 X が大きく優れ，手法 Y は出目操作のため不自然になってしまっているようである．
【不満度の比較】
調整乱数・下位乱数の結果を合計して比較す
ると 0.84 ポイントの差となり，罠に落ちるかどうかの調整とは別に，偏った出目の場合はそれだけで不満に繋がることが示唆された．
手法 X,Y,Z の別で見ると，同様手法 X が最も優れ，手法 Y が劣る結果となった．5 章の傾向を再現した手法 Y が劣ったのは残念だが，調整が極端すぎたかもしれず，今後の改善も可能であると考えている．

図４ 手法 Y 概要図１
これだけでは罠に落ちる全体の割合が減ってしまうので，1,2 マス先に罠があり，次の目が 2,1 で，かつ前の目が 4 以上の場合は，罠に落とすこととした（図５）．

謝辞
図５ 手法 Y 概要図２
【被験者実験】
上記の手法 X，Y と，抑制を行わない手法 Zを，予備的な被験者実験によって比較した．
被験者に図２のすごろくをプレイしてもらい，サイコロの自然さ，不満の無さを５段階評価してもらった．用いる手法は X,Y,Z の３つ，用いる乱数列は４章の乱数列 B（下位乱数），C（調整乱数）の２つであり，計 6 通りを，10 ゲームずつプレイしてもらった．実験の結果を表 4に示す．予備実験のため，被験者数は 6 と少ない．
表 4 すごろく上での乱数の自然さ, 不満度自然さ
自然さ
調整(手法X,Y,Z）
下位(手法X,Y,Z）

平均
3.28
2.72

不満の無さ
不満の無さ
平均
調整(手法X,Y,Z）
3.78
下位(手法X,Y,Z）
2.94

自然さ
平均
手法X （調整,下位） 3.75
手法Y （調整,下位） 2.58
手法Z (調整,下位） 2.67

不満の無さ
平均
手法X （調整,下位） 3.75
手法Y （調整,下位） 2.92
手法Z (調整,下位） 3.42

12

本研究の一部は，科学研究費補助金 基盤Ｂ
研究「ミスを犯す人間らしいゲームAIの研究」の助成を得て行われた．
被験者実験は金沢工業大学の宮田孝富講師,竹島卓教授，および同大の多くの学生の協力により行われた．関係各位に深謝する．

参考文献[1] Donald E. Knuth, The Art of Computer
Programming, Vol 2, Third Edition,
Addison-Wesley, 1997
[2] 松本，擬似乱数ユーザーの方へ-Mersenne
Twister法開発者より, 日本統計学会誌,
J35(2), pp. 165-180 , 2006
[3] M.H. Bazerman, D.A. Moore, 行動意志決定論， 白桃書房，2011[4]野村久光，TEMSIRIRIRKKUL Sila，池田心，標準的なゲームプレイヤにとって自然に見える疑似乱数列の生成法，第18回ゲームプロ
グラミングワークショップ，2013-11[5]Sila TEMSIRIRIRKKUL, et. al., Biased
Random Sequence Generation for Making
Common Player Believe it Unbiased,
IEEE-GEM, pp.62-69 , 2014-10

第９回 E&C シンポジウムに投稿された本論文の著作権は、著者にあります。
著者に無断の複製は厳禁です。複製などのご希望は、著者に直接御連絡下さい。

エンターテイメントと認知科学研究ステーション
代表連絡先〒１８２-８５８５ 調布市調布ヶ丘１－５－１
電気通信大学 情報理工学研究科 伊藤毅志
uec-ito@mbc.nifty.com
042-443-5370