[Home]-[以前のひとこと]-[2008年3月後半]

以前の「ひとこと」 : 2008年3月後半





3月17日(月) マルコフモデル

 また更新の間があいてしまいました。今日はマニアックな話題です。

 blog “ろくはロッパの…”の、飛び越しゲーム2008 の話の続きです。用意されているプログラムのプレーヤーのアルゴリズムを推測する遊びはいかがでしょうか? という提案がありました。これを「パズル」として解くのではなく、プログラマとして力技で解くことをちょっと考えてみました。(最初にお断りしておきますが、「考えた」だけです。また、このちょっとした考察は、本来の「演習」の目的を妨げるものではないと思っています。)

 たとえば、コンピュータを使って、人間が手で書いた手書きの文字を認識させたり、人間が発話した音声を認識させたりする、というタスクがあります。人工知能のような知識ベースを作ってゆく方法とか、機械学習の様々な手法、例えばニューラルネットとか遺伝的アルゴリズムとかSVM(サポートベクターマシン)とかを使う方法とか、統計的なモデルを導入する方法とか、いろいろな手法が研究・開発されています。

 今回のプログラムは、プレイの途中経過を全てログに残してくれるので、「盤面がどんな状態のときに、どんな手を打ったか」は全て知ることができます。そこで、それぞれの盤面のときにプログラムがどんな手を打ったかを全て記録しておけば、各盤面で次にプログラムがどの手を打つか、確率的に推定できるはずです。

 この考え方は何も「飛び越しゲーム」に限った話ではなくて、通常の完全情報ゲームであれば、ルール上許される全ての指し手によって生成される盤面の状態を全て作ってゆく(これを「ゲーム木」と呼びます)ことで、必勝法があるのか、最善な手は何か、を知ることができます。問題は、その「合法的な手によって到達する盤面の状態の数」が、計算機で扱える規模なのかどうか、ということになります。

 今回の「飛び越しゲーム」は、盤面の広さは9×2(LEN=9)もしくは10×2(LEN=10)で、各段に2種類の駒が3個ずつあります。ちょっと計算してみると、ルール上到達できない盤面の状態も含め、各段に駒を3つずつ配置する組み合わせの数は、例えば9×2ならばせいぜい100万のオーダーだということがわかります。盤面の状態は、例えば各マスを2bitで表現することにすると、LEN=9なら36bit、LEN=10なら40bitで記述できますから、そうすると各盤面は 64bit 整数とかで表現できます。これだと状態を比較したり検索したりするのが大変効率がよくなります。ゲーム木に必要なメモリ量をざっと見積もると、最近のパソコンならば何ら問題のないサイズだということがわかります。

 今回の場合、ゲーム木そのものを作ることが目的ではなく、可能な盤面の状態で、コンピュータ側のプレーヤーの指し手の統計情報を取得することが目的です。また、今回は、任意の盤面を生成してそのときの指し手を取得するということはできなくて、あくまでも実際のプレイの記録が残るだけです。

 そこで、例えば「ルール上動かすことが可能な駒の中から等確率でランダムに指し手を選ぶ」というプレーヤーを作って、それで10万回くらい対戦をすれば、指し手の収集ができるかなあと考えてみました。ランダムプレーヤーのプログラムはすぐに書けますし、ログファイルのサイズは10万回で5Gくらいなので、これもディスクにおさまります。ログを通し番号のファイルとして保存しつつ実行するスクリプトもすぐに書けます。あとはこのログファイルを解析するプログラムを書くだけですが、これもそんなに大変ではない気がします。まずはプレーヤーごと、LENごとに分けて、注目するプレーヤーの指し手の前後の盤面の状態を取得して、その盤面でどの駒を動かしたかを記録してゆけばいいのです。

 プログラマががんばる時間としては1時間くらいで、あとはコンピュータが黙々と仕事をしてくれれば、コンピュータプレーヤーの巨大な「確率モデル」が作れそうだな、と思いました。で、それがどうした、という気がしますが(笑)。

<おまけのひとこと>
 最近、また皮膚が痒くてよく眠れなくて困ったなと思っています。






3月18日(火) ダイスゲーム「ヨット」(その1)

 サイコロを5個使って遊ぶ、「ヨット」というゲームがあります。お酒とかを飲みながら遊ぶパブ・ゲームなのかなあと想像していますが、それなりにスリリングで盛り上がる、面白いゲームだと思います。ルールをちゃんと説明する時間がないので、例えばこちらとかこちらをご覧下さい。

 5つのサイコロを振って、ストレートとかフルハウスとか、ポーカーの役に類似した役を作って遊ぶゲームなのですが、5つの中からいくつでも好きなサイコロを選んで2回まで振り直しができること(1回目に選ばなかったサイコロを2回目に振りなおしてもよい)、最終的に決まった5つの目から、強制的に1つの役を決めること(ここで、どの役を「消費する」かによって得点に大きな影響がある場合がある)、など、とても面白いです。

 ルールは亜流のものがいろいろあるようですので、きちんとルールを固定しないと議論にならないのですが、まず、この「ヨット」のゲームでの理論上の最高点は何点でしょうか? これはこのゲームのルールを理解している人なら簡単に答えられると思います。(ただし、5個全部が同じ目が出た場合、これを「フルハウス(同じ目のサイコロが3個あり、残りの2個も同じ目になっている)」が成立しているとみなしてもよいか、というのがわかりません。OKならば「フルハウス」の最高点は6×5=30ですし、NGならば6×3+5×2=28点、ということになります。)

 もう1つ、今疑問に思っているのは、サイコロ5個のセットの各面の数字を自由にデザインできるとしたら、期待値が最高になるのはどんな場合だろう? という問題です。もちろん、ワイルドカードのような目は許されず、使えるのは1〜6だけです。例えば、6面全部が6のサイコロを5つ用意したとしたら、ストレート系の役や1〜5の役は出せませんが、「同じ数」系の役は確実です。(というか振るまでもなくスコアは決まっています。ここで、さっきの「フルハウス」の条件が気になったのです。)これは普通のサイコロ5個セットに対して期待値として有利でしょうか?

 ちょっと考えると、5つのサイコロそれぞれの1の目だけを6の目に変えた、[2,3,4,5,6,6]というサイコロを5個用意するのが有利かなあと思ったのですが、もう少し有利な組み合わせもあるような気がします。

<おまけのひとこと>
 今朝はちょっとだけ遅く家を出られるので、少し楽です。






3月19日(水) デュシマスナップ:三角形4つ組

 blog あるが's てくにっき で、デュシマスナップで作る多面体がたくさん紹介されていて、楽しみに拝見しています。私の手元のセットはパーツの数が少ないので、あるがさんのような大きな作品は作れないのですが、こんな形を作ってみました。

図 1

 1辺がデュシマスナップ3個分の三角形を作って、それを4つ組み合わせたものです。パーツは全部で36個でできます。思いのほか気に入った形になりました。

図 2 図 3

 図2と図3に、対称性が高い視点からの写真を載せておきます。これは、何か他の素材でも作ってみたくなるかたちです。

<おまけのひとこと>
 すみません、更新が途絶えがちです。3日分まとめて更新しています。






3月20日(木) 八角星(野町直史)

 先日、積み木インテリアギャラリーいたち丸の中川さんの「ケプラーの星型のパズル」をご紹介したところ、濱中さんの低次元日記ケプラーの星型パズルで、この条件のものをポリドロンで作りました、という写真が出ていました。これのパーツの写真がケプラーの星型のパズル(その2)で紹介されています。私もJOVOブロックか何かで作ってみたくなったのですが、これを見て思い出したことがあります。

 ずいぶん以前、この構造のものを紙で作る手法を記載した記事のコピーをいただいたことがあります。(確か、「科学朝日」だったかのコピーだったのですが、ちょっと探したのですがみつかりません。)当時、早速作ってみて、けっこう気に入った造形なのでいつかちゃんとご紹介しようと思って失念していたのですが、それがこの「ケプラーの星型パズル」の形なのです。(パーツは紙なので、中が詰まっているわけではありません。)

 考案者は「野町さん」ということだけ記憶していたので、web で検索をかけてみたら、手づくりおもちゃの科学館の工藤さんが07年8月2日の日記でパーツの形と完成形を紹介しているのを見つけました。簡単に分解して平らに戻せる、すばらしいかたちだと思います。

 自分で作ったものも、そのうち写真をご紹介したいと思っています。

<おまけのひとこと>
 お彼岸なので家族でお墓参りに行きました。ちょっと天気が悪いなと思っていたのですが、峠を越えるときにはかなり雪が降っていて、湿った圧雪になっていて危険でした。もちろんまだ冬タイヤのままだったのですが、慎重にとてもゆっくり運転していたにもかかわらず、ゆるやかな右コーナーで前輪のグリップが失われてガードレールが迫ってきたときにはちょっとあせりました。まだ他の車に踏まれていない路肩の雪のところでグリップが回復し、事なきを得ました。帰りは路面の雪は溶けていて、不安はありませんでした。






3月21日(金) 七進法万歳

 いつもとても楽しみにしている大西科学の777回目の七進法万歳がとても面白かったです。以下のコメントは(たいしたコメントではありませんが)、この「七進法万歳」をお読みいただいてから読んでいただいたほうがよいかと思います。

 円周率を近似する 22/7 という分数があります。この近似はアルキメデスが円を正多角形近似することで最初に求めたそうです。日本数学協会で「数学月間」というのが提唱されていますが、これが毎年7月22日に始まるのは、円周率πが22/7と近似できることから決められたそうです。 22/7 = 3+1/7 ですから、なるほど、これを七進法の小数で表せば3.1となりますが、そのように考えたことはありませんでした。

<おまけのひとこと>
 今日は千葉に出張です。3月15日のJRのダイヤ改正で、よく利用していた新宿19時発の特急が、以前の「スーパーあずさ号」から「あずさ号」に変更になっていて、大げさに言うとちょっとショックを受けています。所要時間が15分ほど余計にかかるようになってしまったのです。逆に、18時発が「あずさ」から「スーパーあずさ」に変わっていて、こちらは逆に時間が短くなっています。




















3月29日(土) アクセスカウンタ

 すみません、ご無沙汰しています。忙しくてなかなか更新ができません。そうこう言っている間に、このページのアクセスカウンタがおかげさまで44万を越えました。いつもご覧下さる皆様、ありがとうございます。今年は本業のほうが忙しいのに加えて、2008年度の市のPTA連合の役員を1年間やらないといけないことになっていて、引継ぎや事業計画立案、最初の様々な階層の会合の準備等、とても忙しく過ごしています。このページの更新頻度も、不本意ながら若干(かなり?)下がってしまいそうですが、活動が軌道に乗る6〜7月くらいには、以前のようなペースで更新ができるといいなと思っています。

 なかなか更新の時間は取れないのですが、ときどき自分で過去のページを見返してみたりしています。(つづく)と書いて途中で止めている話題が非常に多くて、恥ずかしいなと思っています。手元にも、写真や模型や本や、そのほかいろいろ書きたいストックはたまる一方なのですが…

<おまけのひとこと>
 メールのお返事も思うように書けないで失礼しています。すみません。






3月30日(日) デュシマスナップ:5つの正四面体の相貫体

 先日、デュシマスナップで4つの正三角形を組み合わせたものをご覧いただきましたが、今回一番作りたかったのは、この5つの正四面体です。GoogleでFive Intersecting Tetrahedraで検索すると、ユニット折り紙で作る5つの正四面体の相貫体(Five Intersecting Tetrahedra:FIT)がたくさん出ています。作り方を説明した動画などもあります。折り紙で作った作品の写真を掲載しているサイトはいくつもあります。挙げ切れないので失礼ながら省略させていただきますが、いつもお世話になっているサイトでも、公開されているところがいくつもありました。

 1辺がデュシマスナップ5個分の正四面体を5つ作ります。ありがたいことにデュシマスナップは赤・青・黄・緑・白の5色ですから、ちょうどぴったり色分けできます。これを5つ組み合わせるのは、とってもややこしいです。特にデュシマスナップの場合、正四面体の稜は反っていますから、各部分の内外関係が仮に間違っていても、なんとなく組めてしまうのです。

図 1 図 2

 図1が一般的な視点から、図2が対称性が高い視点からの写真です。これはしばらく分解したくないなあと思っています。

<おまけのひとこと>
 各色20個ずつ入った基本セットでは残念ながら組むことはできません。私は2セット持っているので、作ることができました。






3月31日(月) カルテット

 ずいぶん以前に買ってあってそのまま放ってあったキャストパズルのカルテットが、先日やっと外れました。まだ「解けた」ではなく、「外れた」というレベルです。自在に組んだり外したりできるところまでは理解できていません。

図 1 図 2 図 3

 図2のような、格子のような形が気に入っています。

 これが外せたのは、車の中でした。家内がとある会合に出席しなければいけなくて、終了予定時刻前に車で迎えに行ったのですが、待ち時間にあまり明るくない車の中でもやれることを何か…と思って、買ったきりなかなかいじる機会のなかったこのパズルを持って行ったのでした。会合は予想より30分以上延びたのですが、おかげさまで待ち時間がちっとも苦になりませんでした。こういった待ち時間用に、また別のキャストパズルを買って解かずにストックしておこうかな、などと考えています。

<おまけのひとこと>
 用事があって実家に行ったら、同じキャストパズルのレベル6のエルクがありました。エルクは何年か前に買って解いたことがあったのですが、解き方はうろ覚えでした。お茶を飲んで話をしながらいじっていたのですが、結局2時間くらいの間に2回、外したり組んだりできました。だいたい思い出しました。楽しかったです。






[←2008年3月前半]  [↑表紙へ]  [2008年4月前半→]

[Home]-[以前のひとこと]-[2008年3月後半]
mailto:hhase@po10.lcv.ne.jp
2001-2008 hhase