麻雀対戦機 開発日記 2008年11月05日 向聴数アルゴリズムのバグはやいもので、もう11月になってしまいました。今年も残り二か月しかありません。最近だんだんと寒くなって来ましたが、暑がりの私は、つい先週衣替えをしたところです。 ということで、三連休も終わってしまったわけですが、今週は少しだけ麻雀関係の作業をしました。 といっても、後ろ向きの作業です…。 まったり麻雀のkmo2さんから指摘してもらったのですが、この前書いた向聴数を求めるアルゴリズムにバグがありました。 特定の状況で、正しくシャンテン数が求まらないとのこと。 具体的には次のようなケースです。
この手牌は、
という分け方をすると三向聴になります。 ところが前回書いたアルゴリズムでは、
が認識されてしまい、四向聴になってしまいます。 ようするに、面子候補が足りていないために、面子よりも塔子を優先して数えなければいけないわけです。 では、常にそうすれば良いのかというと、そんなに単純な話ではなく、
というケースでは、二面子、二対子と数えてやらなければいけません。
ということで、問題があることは分かったのですが、すっきりとした解決法は見つかっておらず、現在検討中という状態です。 ちなみに、一人麻雀練習機もこの方法で実装されていますので、これまでの計算結果には間違いがあるということになり、結構ショックです。 ただ、上のようなケースは結構レアで、影響としては0.1%くらいの感じではないかと思っています。 ま、こういったバグというのは、なかなか自分では発見できませんので、今回はバグ出しが出来て良かったと前向きに考えることにしましょう。 kmo2さんありがとうございました。 他の方も、何かおかしいことが書いてあったらメールで知らせて下さい。
|
Copyright 2006-2019 あらの(一人)麻雀研究所 All rights reserved. あら ( ara999 あっと gmail.com ) |