tomohxxの日記

麻雀プログラミング

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

麻雀AI開発(6) 天鳳自動打ちの結果

はじめに 今回は天鳳自動打ちの結果を報告します。前回記事はこちら。 tomohxx.hatenablog.com 結果 参加した卓 四般東喰赤 対戦数 182 ID Oct2320 牌譜の公開 Dropbox - 天鳳自動打ちログ.txt - Simplify your life 通算成績 感想 一言で言うと弱いですね。…

WSL2にmitmproxyをインストールする

はじめに 最近はWebページを見る際にほぼHTTPSを利用するようになりました。HTTPSでは通信内容が暗号化されているわけですが、これを見たいと思ったことはないでしょうか?それを実現するためにmitmproxyが利用できます。 mitmproxyについて mitmproxyとは仮…

AtCoder用環境構築

はじめに AtCoder Libraryがコンテストで使えるようになったとのことで、先日AtCoder用の環境を構築しました。そこでやったことをメモとして残しておきます。 開発環境 OSはWindowsです。開発環境としてUbuntu-20.04 (WSL2) + VSCodeを使用します。以下、Ubu…

麻雀AI開発(5) 天鳳自動打ち

はじめに 前回の記事で麻雀AI開発は一時撤退することになりました。 tomohxx.hatenablog.comしかし、いまだに開発したAIの実力がよくわからないという課題が残っています。mjai-manueより強いということは明らかなものの、その説明が通用するのは麻雀AI開発…

麻雀で学ぶアルゴリズム(2) 手牌/牌山生成(乱択)

「麻雀で学ぶアルゴリズム」の2回目です。前回記事はこちら。 tomohxx.hatenablog.com今回の問題は以下のようになります。 牌を枚使ってできる組み合わせをランダムに組生成せよ。 この問題を解くにはFisher-Yates法を用います。詳しくは以下の説明をご覧く…

麻雀AI開発(4) 計画変更

麻雀AI開発の4回目です。前回記事はこちら。 tomohxx.hatenablog.comこの記事の中で東風戦の攻略には苦労しないだろうと考えていたのですが、実際やってみるとそうではないことがわかりました。その理由として、まず、東風戦の成績を収束させるには一局戦以…

麻雀で学ぶアルゴリズム(1) 手牌/牌山生成(全幅)

先日このような記事を書きました。tomohxx.hatenablog.comTwitterで多くの人が興味をもってくれたようでうれしいです。そんなわけで麻雀をテーマにアルゴリズムを勉強していきたいと思います。1回目のテーマは「手牌/牌山生成(全幅)」です。「全幅」の意味は…

「麻雀で学ぶアルゴリズム」とかいう記事を書きたい

最近ブログが更新できていなくて不満がたまっています。最近は麻雀AI関連のことをやっていてそれなりに進捗はあるのですが、小出しで記事は出したくないんですよね。そこで別のネタをということでタイトルにあるように麻雀のアルゴリズムについての記事を書…

麻雀AI開発(3) 打牌選択モデル

麻雀AI開発の3回目です。前回記事から麻雀AIをアップデートしたのですが、変えたのは打牌選択モデルです。前回記事はこちら。 tomohxx.hatenablog.com今までは他家の攻撃があった場合の行動をルールベースで決めていました。例えば、立直者が一人かつ自分が…

三麻対応

過去に発表したライブラリを三人麻雀(以下、三麻)に対応させました。対象は「シャンテン数計算器」と「シャンテン数・有効牌・不要牌計算器」の2つです。github.com github.com三麻に対応させる場合THREE_PLAYERマクロを有効にすればよくなりました。一応デ…

麻雀AI開発(2) 一局戦攻略

はじめに この記事は一応以前の記事の続きですが、たぶん以前のものは自分にしかわからないと思うのでここで改めて経緯から説明します。 tomohxx.hatenablog.com 麻雀AIの開発の過程 これまでに開発したものは以下のものになります(2020/04頃まで)。 向聴数…

麻雀と合同式

はじめに 以前から考えていたことを記事にまとめておきます。麻雀は一言でいうと面子と雀頭を集めるゲームです。数牌の面子には順子と刻子があり、これらを構成する牌の数字の和はともに3で割り切ることができます。例えば123mならば牌の数字の和は6であり、…

天鳳牌譜解析(6) 期待最終順位

はじめに 今回は天鳳の牌譜を使用して期待最終順位を計算します。期待最終順位とは、一局の開始時点の得点などを基に予測されるゲーム終了時点の順位のことです。似たような概念が複数の麻雀AIで採用されています。 麻雀AI 開発者 関連する論文 爆打 水上氏 …

天鳳パケット解析

はじめに 本記事にはマナー的にグレーな内容が含まれます。もし「掲載すべきではない」との意見が寄せられた場合、直ちに削除する予定です。今回は天鳳のパケット解析を行います。きっかけは以下のツイートです。【Flash版Web版】ゲーム画面のSSL化を進めて…

天鳳牌譜解析(5) 有効牌の残り枚数

はじめに この記事では有効牌の残り枚数について考えます。先日Twitterである方と議論をした際に、有効牌を引く確率が局を通じて一定になるかという話題が出ました。この話題からは少しそれますがこの機会に有効牌の残り枚数について調べてみようと思いまし…

Suphx論文を読んだ感想など

はじめに 先日、Microsoftが開発した麻雀AI「Suphx」の論文が公開されました。天鳳で最高十段に到達したという強さが麻雀以外のコミュニティでも話題となりました。その強さゆえ麻雀研究界隈に与える影響は大きいと思われます。今後、Microsoftが囲碁でのAlp…

麻雀AI開発(1)

はじめに 今回から何回かに渡って自作麻雀AIについて書きます。最初に開発に至るまでの経緯を述べます。これまでにシャンテン数計算アルゴリズムと有効牌・不要牌計算アルゴリズムを開発してきました。そして最近、悲願であった一人麻雀における和了確率を計…