麻雀は奥の浅いゲーム
ここ3年間、暇さえあれば、麻雀のアルゴリズムのことばっかり考えているけれど、なんていうか、麻雀ってのは、奥の浅いゲームだなと思う。
別に麻雀愛好家にけんか売ってるわけじゃない。
ここで言いたいのは、ゲームの木の構造を描いたときに、幅は広いけど深さは浅いゲームの木の絵になるって意味でのこと。
将棋などと違い、十数手も先を読む必要はなく、数手先が読めさえすればよいんだけど、一手先の変化の量が多くてそれが意外とままならない。とにかく、無駄にルールが複雑なので一つの局面の評価に時間がかかる上に、思考に費やすことが許される考慮時間が短いものだから、すこし、深く読もうとするとすぐに計算量の問題にぶち当たる。
2人零和完全情報交互ゲームの場合、αβ法のような有効でかつ安全な枝刈アルゴリズムが確立されていて入門者向けレベルでも理解できる本がいくつも出ているけれど、麻雀のような4人零和不完全情報ゲームの場合、そういった手法が確立されていない。
このゲームのアルゴリズムでは、作為的な前方枝刈で計算量の爆発を防いでいるわけだけど、これが棒テン気味に手をすすめる要因になってる。
今作っているやつで多少増しになることを期待するけど、どの道計算量的に1向聴のときしか使えないのが心配の種。(テンパイのときはまた別アルゴリズムになる)
「どうせ計算量の問題で1向聴でしか使えないしなあ」と思って、今まで手をつけてこなかったんだけど、うまくいかない理由ばっかり考えていると何も作業が進まなくなる。
とにかく条件が限定的でもマシになる部分を探して現状の欠点を直していかないといけないな。
| 固定リンク
この記事へのコメントは終了しました。
コメント