tomohxxの日記

麻雀プログラミング

2022-01-01から1年間の記事一覧

一人麻雀和了確率計算アルゴリズム まとめ

はじめに 今回はこれまでに議論してきた一人麻雀和了確率についていくつかの問題点・疑問点を解消します。 諸問題 存在確率と和了確率の再定義 前々回の記事のトップダウンとボトムアップの関係についての記述が不十分なので補足します。tomohxx.hatenablog.…

一人麻雀和了確率計算アルゴリズム グラフ探索

今回は前回の記事の続きです。 tomohxx.hatenablog.comこれまで手牌変化の木は与えられたものとして和了確率を求めてきました。基本的にシャンテン数が下がれば和了確率は上がると考えられるので、実装上は一方的にシャンテン数を下げる手牌変化の木を扱って…

一人麻雀和了確率計算アルゴリズム トップダウン vs ボトムアップ

トップダウンとボトムアップの定義を逆にしました。(2022/09/23追記) 実装例を追記しました。(2022/09/23追記) このブログでは度々一人麻雀の和了確率を計算するアルゴリズムを取り上げてきました。ところでこのブログ以外でも一人麻雀の和了確率や期待値の…

vs Mortal

最近Equimさんの開発したMortalという麻雀AIが話題になっています。mjai.ekyu.moe天鳳や雀魂の牌譜をレビューする機能と、天鳳の個室に呼び出して同卓する機能があります。話題になっているのは主に前者ですが、ここでは後者を使って自作の麻雀AIと対戦させ…

配牌時有効牌の枚数

配牌時(手牌の枚数が13枚のとき)有効牌の枚数を計算するアルゴリズムを以下のページにまとめました。ここでは結果について簡単に記載します。tomohxx.github.io 向聴数 場合の数 割合 有効牌の枚数の平均値 0 39270395383132 8.1175e-05 4.5843 1 3006175115…

牌の危険度予測ツール

牌の危険度予測ツールを開発しました。github.comここで述べる危険度は以下の式で定義されます。この式はすべての聴牌形の出現確率が等しいという最も単純な仮定の下で危険度を求めます。どのように聴牌形を数え上げるかについては以下のページを参照してく…

配牌時向聴数

気分転換にブログを更新します。最近は強化学習について勉強していて、今後の麻雀AI開発に生かしたいと考えています。こちらについてまだブログに書くだけの結果がないので、今回は麻雀アルゴリズムについて書きます。少し前に、配牌時向聴数を計算するアル…

麻雀AI開発DL編(6)

はじめに これまでmjai環境で自作のAIの評価を行ってきました。以前も言及しましたが、この評価方法ではAIの強さを(mjaiを知らない)第三者に説明しにくいという問題があります。そこで開発を次の段階に進める前に天鳳自動打ちによってAIの評価を行うことにし…