tomohxxの日記

麻雀プログラミング

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

一人麻雀における和了確率を書き下す(4)

はじめに 今回はついに非復元抽出を想定して一人麻雀における和了確率を書き下します。これが本当の意味での一人麻雀です。非復元抽出を想定するとこれまで扱ってきた復元抽出よりも問題の難易度が上がります。当初は前回の解法を踏襲しようと試みたのですが…

一人麻雀における和了確率を書き下す(3)

はじめに これまで2回にわたって一人麻雀における和了確率を求めてきましたが、そこで扱ったのはそれぞれ一向聴と二向聴の手でした。今回は前回記事の最後で触れた一般の向聴の手を扱います。前回も述べたように行列を使った解法が見通しがよいので今回もそ…

麻雀AI開発DL編(5)

はじめに 再び麻雀AIの評価を行います。これまでに私の開発したAI(以下、自AI)の一局戦vs Manueと東風戦vs Akochanによる評価を行ってきました。一局戦vs Manueでは平均順位においてManueよりも強いことを示せましたが、東風戦vs AkochanではAkochanの平均順…

一人麻雀における和了確率を書き下す(2)

はじめに 前回の記事で一人麻雀の和了確率を扱いました。当初2回目を書く予定はなかったのですが、行列を使った解き方のほうが見通しが良さそうなのでこの記事を書くことにしました。また前回は一向聴の手だったので今回は二向聴の手を扱うことにします。 二…

一人麻雀における和了確率を書き下す(1)

はじめに ここでは一人麻雀における和了確率を扱います。このテーマでよく見かけるのは、聴牌している手があってその有効牌の枚数を枚、壁牌の枚数を枚としたときに巡以内に和了する確率がで表せるというものですね。では一向聴の手が和了する確率はどのよう…

麻雀AI開発DL編(4)

はじめに 今回も引き続き麻雀AIの評価を行います。前回まででManue相手には勝ち越せることが明らかになっているので、今回は別のAI Akochanを対戦相手に選びました。github.comAkochanはManueと同じくMjaiクライアントの一つですが、おそらく最強のMjaiクラ…

麻雀AI開発DL編(3)

はじめに 前回記事で課題としていた押し引き判断と降り手順が改善しました。原因はプログラムのバグで、安牌を正しく認識できていませんでした。これは致命的なミスですね。というわけでバグを修正したプログラムで前回と同様に対Manue一局戦1000試合による…

麻雀AI開発DL編(2)

今回は麻雀AI開発の進捗について書きます。前回の記事で書いた課題は以下の2つです。 鳴き判断モデルの取り込む 放銃率を下げる 1つ目は解決できたのですが、今は2つ目で苦戦している状況です。詳細な説明の前に、まずは最新のモデルを使ったManueとの対戦成…

麻雀AI開発DL編(1)

はじめに 以前の記事でディープラーニングを使った麻雀AIを開発すると書きました。今回はその途中結果についての記事です。 なぜディープラーニングを使うのか なぜディープラーニングを使うのか念のため振り返っておくと、それは押し引きを明示的に作りこむ…

Mjaiイベントログ管理ツールの開発

ここ2週間くらい、Mjaiイベントログ管理ツールMjai Recoderを作っています。Mjaiとは麻雀AI対戦環境のことです。gimite.netこのブログでは過去に自作麻雀AIの評価に利用させてもらっています。gimiteさん、ありがとうございます。Mjaiは対戦機能だけでなく各…

お知らせ

はじめに 明けましておめでとうございます。昨年の麻雀AI開発はアルゴリズムで進展があったものの、自動打ちでは期待していた成績を残すことができませんでした。なので今年も麻雀AIの開発を続け、今年中の完成を目指します。さて、今回は2点お知らせがあり…