« 2012年4月 | トップページ | 2012年7月 »

2012/06/30

まったり麻雀と科学する麻雀の押し引き判定の違い

 先日のブログエントリに、LUFFYさんから以下の質問がありましたので、お答えします。

   まったり麻雀の押し引き判断は「科学する麻雀」に書かれている基準よりかなり押しに寄っていると思ったのですが、あれは一体どのような計算式で出しているのですか?「科学する麻雀」ではベタオリが100%成功するものとして押し引きを計算していますが、オリウチの可能性を考慮するとあのような判断になるという事でしょうか?

 押し引き判定の基本的な考え方は科学する麻雀と同じです。しかし、以下の点に違いがあります。

放銃点数と確率の違い
 科学する麻雀の押し引き判断で利用している振り込んだときの点数は、ツモ和了もロン和了も一発もすべて入った点数になっていますので、実際の放銃点数より高く見積られています。まったり麻雀では、そういった点を考慮して放銃点数を算出しています。
 また、ゼンツしたときに放銃する確率の想定もまったり麻雀と科学する麻雀では違っていて、まったり麻雀の方が低い値になっています。

第3者の挙動の計算の有無
 科学する麻雀は警戒している立直の相手と自分以外の第3者挙動に関する計算がありませんが、まったり麻雀は計算に入れています。

不聴罰符を考慮の有無
 不聴罰符の点数を科学する麻雀では考慮していませんが、まったり麻雀は考慮に入れています。旧バージャンのまったり麻雀では、不聴罰符を考慮に入れてなったのですが、途中のバージョンから考慮に入れるようになりました。これを考慮に入れるか入れないかの違いだけで、押し引き判定にかなりの差が出ます。

オリ打ちの考慮の有無
 科学する麻雀は降り打ち率を0%と計算していますが、まったり麻雀ではオリ打ちを考慮に入れています。

回し打ちの考慮(押し引き判定の表示方式の問題)
 まったり麻雀のメニューの「コンピュータ判断」->「押し引き判定」では、回し打ちを考慮しており、回し打ちをした方が良いと判断したときは「押し」と判定表示しています。
 また、ゼンツした場合に切る牌と降りた場合に切る牌が一致した時も「押し」と判定しています。「引き」と判定されるのは、完全に和了に向かうのを諦める方が良い時だけです。


 当初のまったり麻雀の押し引き判定はもっと引きに傾いていて、科学する麻雀に似た感じでした。しかし、バージョンを上げるにつれ、色々考慮する要素を増やしたところ、徐々に押せるケースが増えています。新旧アルゴリズムの対戦させてみると新しい方が強くなっています。局収支をベースに考えるのであれば、科学する麻雀の押し引き判定が引きに偏っているのは理屈から考えても、間違いがないでしょう。まして、世間で言われているシャンテン押しはダメというのは、その言葉を文字通りに受け取るのは明らかに間違いであると言えると思います。実際、公開前のある段階で、まったり麻雀は対立直に対して1向聴はすべて降りているようにプログラムしていた時期がありましたが、あの当時のまったり麻雀はかなり弱いものでした。

 けれど、私自身も今のまったり麻雀は押しすぎている気がしています。まったり麻雀は愚形テンパイが多いので新旧アルゴリズムの対戦結果をどこまで信じてよいかは微妙だという問題もありますので、自信をもって現行のまったり麻雀の判断が正解であるともいえないのが実情です。
 
 なお、今後、押し引き判定の表示は廃止するかもしれません。次のメジャーバージョンアップでは、思考アルゴリズムを刷新する予定で現在開発を進めていますが、その新しいアルゴリズムではベタオリモードやツッパモードなどをコンピュータが意識しないようになるためです。

 最後に、基本的にまったり麻雀のアルゴリズムはまだ、ヒ・ミ・ツです。今後こういったまったり麻雀の思考ルーチンに関する質問には答えないケースもあることはご承知おきください。

| | コメント (7) | トラックバック (0)

2012/06/20

停滞中

このところ手がついていません。体力気力ともに辛い状況になってしまっています。

いままでも、今回以上に長いこと開発に手がつかないことはあったのですが、ちょっと、自分の中で、精神的な面で、やばい感じがしています。

まだまだプログラムとして実現したいアイデアがたくさんストックされており、やりたいことはあるので、このまま止めてしまうことはないと思いますが、なかなか作業に取りかかれる状況になってないのが現状です。

| | コメント (8) | トラックバック (0)

« 2012年4月 | トップページ | 2012年7月 »