コミニュケーション・ツールとしてのシミュレーション
コンピュータ・シミュレーションにはコミニュケーションの道具としての役割がある。 もちろん、シミュレーションの本来の目的は、コンピュータの持つ高速で正確な計算能力を用いて、人間では計算できないような解析を行うことにある。
しかし、一方で、コミニュケーション・ツールとしての役割もある。 何らかの考え方や理論を伝えるに時、コンピュータ・シミュレーションを用いることで、聞き手の理解を助ける役割もある。
モンティ・ホール問題を例に説明
具体的な例で説明しよう。 冒頭にモンティ・ホール問題のシミュレーションを置いたが、 これを例に、「コミニュケーション・ツールとしてのシミュレーション」について説明する。
まず、「モンティ・ホール問題」自体についての説明をする。 昔、アメリカのテレビでモンティ・ホールと言う人が司会者のゲーム番組があった。
まず、出題者である司会のモンティ・ホールは、3つの大きな扉を用意し、そのうちの1つの扉の後ろに高額の賞品を隠す。 回答者側は、3つの扉のうちの1つを選ぶ。もし、選んだ扉の後ろに賞品があれば、それを貰えると言う仕組みだ。
これだけだと、3分の1の確率で賞品を貰えると言う単純なゲームになるが、モンティ・ホールは、ここでヒネリを加える。 司会者は、回答者が選ばなかった扉のうち、1つを開く。 その開いた扉の後ろには、賞品は無い。
司会者は「さあ、この扉には賞品はありません。残りの2つ、1つは貴方が選んだ扉、もう1つは選んでいない扉の、どちらかには賞品が隠れているわけです。 ここで、貴方には、1つのチャンスがあります。 貴方は、選んだ扉を、もう1つの扉に変えることができます。 最初、選んだ扉のままにすることもできます。 選び直すか、最初に選んだままで通すか、どちらを選びますか?」
問題は此処だ。『選び直す』のと『最初に選んだままで通す』のと、どっちが得なのだろうか?
『選び直す』方が 得
『選び直す』のと『最初に選んだままで通す』のどちらが得か? これについては長く議論されたようだが、結論から言うと、『選び直す』方が得である。 それも、ちょっと得なくらいではない。 圧倒的に得なのである。
なぜ、『選び直す』方が得なのか? これについては、書籍でもネット上でも沢山、説明が出ている。 しかし、いずれも『確率』を用いて説明されている。
この『確率』が曲者だ。 確率による説明は間違ってはいないのだが、なんとなくモヤモヤ感が残る。 直感的な理解とは程遠い。
私が『モヤモヤ』したところ
特に私が『モヤモヤ』したところは、「出題者側が、『どの扉の後ろに賞品があることを知っていて、開ける扉を選ぶ時、賞品のある扉を避ける』と言う恣意的な行為が『選び直す』方を得にしているのでは無いかと言う点だった。
『出題者がどの扉の後ろに賞品があるか知らない』と言うルールでの確率の計算も、もちろん可能だ。 しかし、その確率計算の結果が正しいかどうか、どう検証する? 結局、実際にやるか、シミュレーションしないとならない。
実際に試してみる
なかなか理解できず、モヤモヤすることを理解するには、最も単純なのは、実際にやってみることだ
まず、2〜3人集まる。 2人が出題側と回答側に別れ、残り1人が記録係となる。(2人しか居ないときは、どちらかが記録係をやる) 扉の代わりに、3枚の紙を用意しよう。 3枚の紙には、それぞれ、「1」「2」「3」の数字を書いておく。
公平さと確率を一定にするため、サイコロを用意する。 出題者は、サイコロを振り、出た目が「1か2」なら、「1」の書いた紙の下に賞品(10円玉で十分)を置く。 目が「3か4」なら「2」の書いた紙の下に、目が「5か6」なら「3」の書いた紙の下に賞品を置く。
回答者側も同じようにサイコロを振る。出た目が「1か2」なら、「1」の書いた紙を選び、 目が「3か4」なら「2」の書いた紙を、目が「5か6」なら「3」の書いた紙を選ぶ。
次は出題者側だ。
もし、回答者が選んだ紙の下に賞品があるなら、出題者はサイコロを振る。出た目が「1か2か3」なら残った紙のうち若い数字の方を、 出た目が「4か5か6」なら、そうでない方の紙を開く。
また、もし、回答者が選んだ紙の下に賞品がない場合、出題者は回答者が選ばず且つ賞品が下にない紙を開く。
(もし、私と同じように「出題者が賞品のある場所を知っていて、それを避ける作為的な行為」が気になってモヤモヤする人は、ここで賞品のある場所に関わらず、サイコロで開く紙を決めれば良い)
最後に回答者だ。 最初に選んだままで通すのと、選び直すのと、どちらが賞品を得ることができるか、記録すれば良い。
この方法は、単純だ。やれば必ず納得できるだろう。 しかし、単純だけど、簡単ではない。 統計的に確かな確率を求めるためには、同じ事を1000回くらい繰り返さなければならない。 たとえ、3分で1回できたとしても50時間、2日以上かかってしまう。
コンピュータにやらしてみる
単純な作業を繰り替えし何回も行う。 これはコンピュータが最も得意とすることだ。 そこで、人間がやったことをプログラムを組んでコンピュータに計算させれば良い。 1000回くらいの試行くらい、あっと言う間に終わる。
出題者が何処に賞品があるか知っている場合も知らない場合も、両方試して、比較することも容易だ。
つまり、これがコンピュータ・シミュレーションである。
コンピュータ・シミュレーションを行えば、人が実際にやってみるほどでは無いにせよ、納得できる。 すなわち、コンピュータ・シミュレーションは理解の助けになると言う事だ。
ここからが本題
「モンティ・ホール問題」のように「直感的に理解できない」場合、理解するのに「コンピュータ・シミュレーション」が有効であるなら、 コミニュケーションの相手に「コンピュータ・シミュレーション」してもらうことが理解してもらうためにも有効であろう。
冒頭の「モンティ・ホール問題」のシミュレーションで、しばらく遊んだなら、そのことが実感できるかと思う。
拡大解釈すると自分はシミュレーション無しでも理解できたとしても、シミュレーションは相手に理解してもらうのに有効な手段ではないだろうか。
コミニュケーション・ツールとしてのシミュレーション
その要件は
- 分かり易い事
- 取っ付き易いこと
- インタラクティブであること
- 安全であること
である。
「分かり易い事」「取っ付き易いこと」のために、「モンティ・ホール問題シミュレーション」ではアニメーションを用意した。 「インタラクティブであること」のために、出題者が何処に賞品があるのか知っている場合や知らない場合などを選択できるようにした。 「安全であること」のために、アプリケーションプログラムではなく、HTML5標準のJavascriptにした。
一方、
- シミュレーションとしての正確性は、二の次
- どんなモデルも、現実には足りない
- シミュレーションに正確さを求めたら切りがない
- 見てるひとが、その傾向などを理解できれば十分
である。
コミニュケーション・ツールとしてのシミュレーションの問題
問題は
- とっても面倒
の一言に尽きる。
正直、モンティ・ホール問題の最低限のシミュレーションには、30分も要らなかった。 しかし、アニメーションを作ったり、インタラクティブ性をつけたり、何よりも見た目を格好良くするために、まる3日くらいかかった。
コンピュータ・シミュレーションをコミニュケーション・ツールとして使うのは有効だが、そのためには面倒を覚悟しなければならない。 まあ、文章であれ、論文であれ、どんなものでも、思いついたことより、発表やプレゼンテーションできるまで磨き上げるのが必須で、 コンピュータ・シミュレーションも同様と言える。
コミニュケーションツールとしてメリットのありそうな分野
コミニュケーションツールとしてのシミュレーションのメリットのありそうな分野、他にも次のようなものがある。
- 確率が関係する(ゲイズ統計など)
- 統計など母数の大きな事象(ディープラーニング)
- カオス・複雑系(ラグランジェ)
- 剛体の歳差など、三次元的な複雑な動き
- ゲーム理論など対戦・戦略的
- ロケット(ツィオルコフスキーの公式と多段式ロケットの組み合わせ)
結論
コンピュータ・シミュレーションは、コミニュケーションのツールとして有効である。
しかし、そのためには、シミュレーションの使い易さ、インタラクティブ性など、シミュレーションを作る側に多大な苦労が必要となる。
【付録】モンティ・ホール・シミュレーションの使い方など
出題者と回答者の扉を選ぶルール
- 出題者は扉の選び方
- A
- 回答者の扉かつ賞品を避ける
- B
- 回答者の扉を避ける
- C
- 賞品を避ける
- D
- 乱数で選ぶ
- 回答者扉の選び方
- ア
- 必ず扉を変える
- イ
- 扉を変えない
安全性、その他
- 動作確認は、次のブラウザで行っている。
- IE11
- Edge
- Firefox
- Chrome
- モンティ・ホール問題のシミュレーションは、javascript のみを使っていて、その他のネットアクセスや、ローカルHDDなどへのアクセスは行わない。
- Javascript を見れば判るだろう。
- プログラムは、この HTML ファイル内に全て含まれているので、ダウンロードすれば、スタンドアロンでも動く。
- ただし、『jquery.min.js』と『style.css』だけは、別ファイルになっている。(ダウンロードは可能な筈)
- ダウンロードしたファイルを変更すれば、色々なシミュレーションができるだろう。
- 再配布等には MITライセンスに基づくものとする。