押し引きアルゴリズムの改善(3)

押し引きアルゴリズムの改善(2) - koba::blog で1シャンテンまでの押し引きを改善したので、今回はテンパイ時の押し引きを改善する。

  • ポンテン・チーテンをとる条件を変更
  • 超愚形ならオリるよう修正
  • 好形でないならリーチせず無スジは切らないよう修正

の3つが改善候補。

続きを読む

押し引きアルゴリズムの改善(1)

先制リーチを受けた場合、電脳麻将ベタオリのアルゴリズム - koba::blog で「仮実装」したアルゴリズムにしたがい打牌を選択しているが、今回これを改善したい。

まず最初に改善目標を明確にするために、2019年の天鳳鳳凰卓の牌譜から先制リーチを受けた局の最終結果と局収支を集計してみた。

続きを読む

デュプリケート麻雀の実装

電脳麻将 の思考アルゴリズムを改善したときはプログラム同士を自動対戦させて効果を検証している。現在のアルゴリズムの場合、1000戦の試行に5時間くらいかかる*1のだが、麻雀には運の要素があるため同一のプログラム同士を対戦させても1000戦では平均順位に 2.45~2.55 ほどの幅が出てしまう。効果の高い改善であれば平均順位が 2.40 程度になりこの範囲を超えるのだが、このところ試している押し引きの改善では平均順位がこの幅の中に入ってしまい、効果があるのかないのか判然としない。

ならば1000戦分の牌山をあらかじめ作成しておき、同一の状況で対戦させればよいのではないか。リアル麻雀にはこのような試みがあり、「デュプリケート麻雀」と呼ぶらしい。

リアル麻雀でこれをやるのは相当大変そうだが、コンピューター麻雀なら簡単なはず。ということで実装してみた。

*1:最初期のアルゴリズムなら10分程度で1000戦できたのだが……

続きを読む

押し引き表の牌姿は評価値何点?

電脳麻将 の押し引きの検討を開始した。押し引きの基準としてはいろいろな麻雀戦術書で引用されている「押し引き表」が有名である。

これをそのまま実装してもよいのだが、現在の牌姿が表中の「1向聴・完全・のみ手」といったパターンのどれに該当するのか判定するのが厄介だし、そもそも表中にすべてのパターンが網羅されている訳でもない。さらには押し引き表は離散値なので調整が面倒だ*1。電脳麻将では牌姿を 評価値 で表すことができるので、これを牌姿のパターンの代わりとすれば判断基準に使えるはずである。例えば「1向聴・完全・のみ手」の子の場合、評価値は 383.33 となる。

*1:おそらくは同様の形式の表をプログラムで準備する必要があるが、その初期設定や微調整が面倒すぎる

続きを読む

牌山と河のデータ構造

麻雀の手牌を表示するプログラム - koba::blog に続いて牌山と河を表示するプログラムを説明しようかと思いましたが、そのためにはまず牌山と河がJavaScriptでどのように表現されているかを知る必要があります。ということで今回は牌山と河のデータ構造について。

続きを読む

さくらVPSでApacheのSSLを有効にする

さくらVPSで kobalab.net を運用しているのですが、昨今はhttpsに対応していないと何かと不便です*1。SSL証明書の価格も安くなってきているのでSSLを有効にしました。

かつて mod_ssl の設定 - koba::blogmod_sslのインストール - koba::blog の要領で「インチキ証明書」を作ってApacheのSSLを有効にしたことはあるのですが、今回はマジメにやります。

*1:httpsなページからは非httpsなサイトの画像やCSSやJavaScriptのプログラムを利用できない。このために 牌画入力ツール の牌画像の配置にGitHubページを使わざるを得ませんでした

続きを読む

麻雀の手牌を表示するプログラム

電脳麻将 は HTML5 + CSS3 + JavaScript で動作しています。手牌もHTML5とCSS3だけで表示しています。今回は以下の手牌を例に、どのように表示しているか説明します。

f:id:xlc:20200809182855p:plain:w600

手順は以下の流れになります。

  • 牌譜形式 → JavaScript形式 に変換
  • JavaScript形式 → HTML に反映
  • HTML を CSS で実際に表示されるイメージに調整
続きを読む

電脳麻将 ver.1.4.0 公開

f:id:xlc:20200808115114p:plain:w280:right

電脳麻将ver.1.4.0 にバージョンアップしました。

  • 牌譜集計機能を追加
  • 検討モードがスマートフォンに対応
  • 牌譜ビューアのUIを改善
  • IE11 などの古いブラウザのサポートを終了
  • 天鳳牌譜変換ツールを削除
  • src/ 配下のソース構成を整理

が主な修正です。

続きを読む