BackEnd

麻雀で自分が何を切るか学習させる

投稿日:

はじめに

前回執筆しました、配牌からアガれるかアガれないか予測するの続編になります。

麻雀において、「アガれない」はいくつかパターンがあり、難しいのではないか?というアドバイスをいただきました。

そのため、方向を修正し、「何切る問題」のディープラーニングをしてみることにしました。
ゆくゆくは、自分の打ち筋を学習したCPUを作れるようにしたいと思います。

今回は実装がまだ途中なので、経過報告として記載したいと思います。

プロジェクト名を決めてみる

リスタートするために、何かこのコンテンツに名前をつけてモチベーションをあげることにしました。
ディープラーニングはざっくり言うと、「今までのデータをもとにパラメータを計算し、そのパラメータで予測する」ことかと思っています。

そんなとき、とある美少女麻雀漫画のキャラクターが思い浮かびました。

家は雀荘を経営しており、その関係で膨大な量の対局を記憶していて、その記憶を元に戦術に組み込むことができる。

Wikipediaより

これはぴったりだったので、このコンテンツを「someyamako」とすることにしました。

何切る問題で考慮される要素

本当は全ての要素を組み込みたいですが、全く計算方法が想像できないものもあり、とりあえず作成してみたかったので、以下の要素を考慮しました。

手牌

これは必須です。
以前作成したものが流用できそうです。

ドラ

ドラによって受けのかたちが決まってくるので要素に含めました。
計算方法は下の項目を参照ください。
(間違っているかもしれません)

考慮していない要素(本当は入れたい)

精度の高いコピーを作るためには、下記のような要素が必要ですが、私の実力不足で今回は考慮できませんでした。

  • 場、点棒状況
  • 捨牌、仕掛け

学習の方法

まずは、手牌を4×9の行列に変換します。

これは下の手牌になります。

それぞれの牌が何枚あるか表示しています。

ドラも同様に4×9にして、ドラの部分を1とします。

例えばドラがであれば、

とします。

計算方法は下記になります。
なお、各パラメータは以下のようになっています。

  • W1…手牌の重み
  • W2…ドラの重み
  • b…バイアス

ただ、500サンプルほど学習させてみましたが、あまり目立った特徴が見られませんでした。。。

さいごに

現状はこのような感じでひたすら私が何切る問題を実施しております。
計算方法など、何か面白いことがあればまたブログに記載したいと思います。

よろしくお願いします!

blog-page_footer_336




blog-page_footer_336




-BackEnd

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

Go言語

Go言語のエラーハンドリングとログローテーション

1 はじめに2 エラーハンドリング2.1 error インターフェース2.2 pkg/errors パッケージ3 独自のエラータイプ付き errorsパッケージを作成4 log パッケージ4.1 lo ...

rails

Shrineでアップロードする際に画像を加工する

1 はじめに2 アップロードする画像のリサイズ2.1 Gemを追加2.2 Uploaderの修正3 サムネイルを作成する3.1 Uploaderの修正3.2 サムネイルを表示する4 バリデーションの追 ...

rails

Rails Developer Meetup に参加してきました【2日目】

1 はじめに2 Rails Developer Meetup3 テストのないレガシーなRailsアプリをリファクタした話3.1 なぜリファクタリングしたのか3.2 コードを3種類に分類する3.3 モデ ...

MySQLでバルクアップデート処理

1 はじめに2 使用するテーブル3 パターン数が少ないシンプルな更新4 パターン数が多い場合4.1 FIELD関数4.2 ELT関数4.3 組み合わせ4.4 パフォーマンス5 さいごに6 おすすめ書籍 ...

Go言語

Go 1.19でGoDocに追加された機能

1 はじめに2 GoDocの機能追加2.1 セクションタイトル(Headings)2.2 リンク2.3 リスト2.4 パッケージの追加3 おまけ4 さいごに5 おすすめ書籍 はじめに 8月2日にGo ...

フォロー

blog-page_side_responsive

2017年6月
 123
45678910
11121314151617
18192021222324
252627282930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。