JavaScript

電脳麻将 ver.2.5.0 公開

電脳麻将 を ver.2.5.0 にバージョンアップしました。 思考ルーチンの改善 何切る解答機 巡目の指定を追加 立体何切るの機能を追加 牌譜ビューア/エディタ 天鳳JSON形式牌譜エクスポート 検討モードの表示修正 バグ修正 牌画入力ツール

牌の危険度計算アルゴリズム(5) 〜 危険度閾値の再調整

打牌選択アルゴリズム(10) 〜 残り牌数の正規化 - koba::blog で残り牌数の数え方を変え、それにより変化した手牌の評価値に合わせて 押し引きアルゴリズムの改善(4) 〜 押し引き閾値の再調整 - koba::blog で押し引きの閾値を再調整しました。今回は牌の危…

押し引きアルゴリズムの改善(4) 〜 押し引き閾値の再調整

打牌選択アルゴリズム(10) 〜 残り牌数の正規化 - koba::blog で残り牌数の数え方を変えたため、評価値の値も変わりました*1。このため現在の評価値のスケールに合わせて調整していた押し引きの閾値にも変更が必要です。押し引き表の牌姿は評価値何点? - ko…

打牌選択アルゴリズム(10) 〜 残り牌数の正規化

麻雀の打牌選択アルゴリズム(9) - koba::blog 以来、8年ぶりに 電脳麻将 の打牌選択アルゴリズムを変更します。電脳麻将では手牌の 評価値 を元に打牌を選択していますが、評価値計算 の際の「残り牌数」は「見えていない牌数」つまり、相手の手牌・牌山 に…

牌の危険度決定アルゴリズムを評価する(2)

牌の危険度決定アルゴリズムを評価する - koba::blog ではリーチの直後と終局直前のタイミングで牌の危険度決定アルゴリズムを評価しましたが、今回は「山読み」のアルゴリズムを評価する - koba::blog でやったように毎巡評価し、グラフ化してみました。評…

「山読み」のアルゴリズムを評価する

牌の危険度決定アルゴリズムを評価する - koba::blog では天鳳の牌譜を使って牌の危険度決定アルゴリズムの精度を評価しました。今回はいくつかの山読みアルゴリズムの候補について、同様の手法で評価してみます。「山読み」といってもランダムに積まれてい…

ダマテンの効果をシミュレーションする

木原直哉氏のブログ記事 ポーカー的視点から見た、今後の麻雀の進化予想 - 木原直哉オフィシャルブログ に触発されて「敢えてダマにする戦術」の効果をシミュレーションしてみようと思い立ちました。木原氏の記事は「いつも同じ行動をすると読まれる」が趣旨…

牌の危険度決定アルゴリズムを評価する

コンボ理論の有用性を検証する - koba::blog では 電脳麻将 の牌の危険度決定アルゴリズムを単純に コンボ理論 に置き換えて対戦シミュレーションを行いました。今回は、危険度決定アルゴリズムが実際に当たり牌をどの程度正しく予想できているか、という観…

コンボ理論の有用性を検証する

はね氏の note 【第2回】麻雀は学習で強くなるか。|はね によりコンボ理論に注目が集まりました。コンボ理論 とは、面子を構成できる牌の組合せ数をコンボ数と呼び、安全牌の判断の際にコンボ数が少ない牌をより安全とみなす理論のようです。このコンボ理論…

NyankoSweeper

Macintoshユーザには懐かしいNyankoSweeperをWeb上に再現しました。 NyankoSweeper かつて JavaApplet や mixiアプリ でも実装しているのですが、どちらも動かなくなってしまっているので、再実装した次第です。画像や音声データはオリジナルのものを借用し…

リーチ禁止の影響をシミュレーションする

鳴かない麻雀の成績への影響をシミュレーションする - koba::blog に続き、今回は「リーチ禁止」の成績への影響をシミュレーションします。 AIの実装 シミュレーション

鳴かない麻雀の成績への影響をシミュレーションする

前回 麻雀AIの作り方 - koba::blog で麻雀AIの実装と評価方法にいて説明しました。今回は実際に「鳴かない戦術のAI」を実装し、その成績に与える影響をシミュレーションしてみます。 AIの実装 AIのテスト シミュレーション デュプリケート対局用の牌山を生成…

麻雀AIの作り方

麻雀AIを作ってみたいという人にとっての最大の障壁は「AIの対戦の場を作ること」ではないでしょうか? 電脳麻将 を使えば AIと画面上で対戦 AI同士をCLIで対戦 AIのボットを麻雀サーバーに接続して対戦 という形で対戦の場を作ることができます。

偽ラグの実装

麻雀サーバー の ver.1.3.5 に「偽ラグ」を発生させる処理を追加しました。ネット麻雀ではポン・チーなどが可能なときにボタンを表示してユーザーの応答を待つため、間(ま)が発生します。この間のことを俗に「ラグ」と呼びますが、これを見れば「誰かがこの…

麻雀ボットの実装

麻雀サーバー の ver.1.3.0 にボットを召喚する機能を追加しました。電脳麻将 の ネット対戦 ではメンバーが4人そろわなくてもツモ切りプレーヤーを追加してゲームができますが、ボットを召喚すれば電脳麻将の最新の AI と対戦できます。

天鳳鳳凰卓の最高・最大・最長記録

電脳麻将 の表示系プログラムの見直しを行なっている。副露が多いときに手牌の表示領域が不足する問題は以前から認識していたのだが、他にも問題がないか最高・最大・最長の記録を調査してみた。調査対象は、天鳳鳳凰卓東南戦 2010年〜2023年 14年間の 2,131…

電脳麻将でNAGA解析用のデータを作成する

kobalab/Majiang#118 のリクエストにお応えして 電脳麻将 ver.2.4.2 の牌譜エディタで 麻雀AI「NAGA」 用のデータを作成できるようにしました。

電脳麻将 ver.2.4.0 公開

電脳麻将 を ver.2.4.0 にバージョンアップしました。 牌譜エディタ機能を追加 機能改善 アイコンを変更 が主な修正です。

バックトラックで麻雀の和了形一覧を求める

麻雀の役を判定をするときには、まず和了形を求める必要がある。 例えば上記の牌姿の場合は、以下の2つの和了形が存在する。 (三暗刻) (純全帯幺九+一盃口) このように和了形が複数あるときは和了点の高い方を採用する*1ので、全ての和了形をもれなく求める…

Passportで外部認証を実現する

電脳麻将 ver.2.3.0 で ネット対戦 の機能を追加した。ルーム(対局待ちの状態)や対局画面にプレーヤー名(できればアイコンも)を表示しようとするとプレーヤーの登録が必要になる。電脳麻将では「ゲスト登録」と「外部認証」の2つの方法で、電脳麻将自身では…

麻雀サーバーの使い方

電脳麻将 ver.2.3.0 で ネット対戦 の機能を追加しましたが、麻雀サーバー の使い方を説明していませんでした。README だけでは説明が不十分と思ったので、補足記事を書くことにします。麻雀サーバーを動作させるには Node.js と npm が必要なので、あらかじ…

電脳麻将 ver.2.3.0 公開

電脳麻将 を ver.2.3.0 にバージョンアップしました。 ネット対戦 を追加しています。

電脳麻将 ver.2.2.0 公開

電脳麻将 を ver.2.2.0 にバージョンアップしました。 点数計算ドリル を追加しています。

電脳麻将 ver.2.1.0 公開

電脳麻将 を ver.2.1.0 にバージョンアップしました。 連風牌を2符とするルールを追加 ダブロンの牌譜再生のUIを変更 の修正を行いました。

UpperHand ゲーム 公開

UpperHand ゲーム を公開しました。UpperHand は囲碁に似た雰囲気の陣取りゲームです。学生時代に研究室で実物のゲームが流行り、Pascalで実装したのが最初です。次にWeb黎明期に Java Applet で実装 しました*1。Java Applet 版が動作しなくなって久しいの…

電脳麻将 ver.2.0.0 公開

電脳麻将 を ver.2.0.0 にバージョンアップしました。電脳麻将改造中 - koba::blog で開発開始を告知してから1年半、本来は目玉の新機能になるはずだった麻雀サーバーの実装は先送りになってしまいましたが、とにかくリリースにはこぎつけました。 新機能 ル…

麻雀の「待ち」を出力するプログラム

麻雀のプログラムに関してネットを検索していたら、こんな記事を見つけてしまった。 あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定:makeplex salon(1/2 ページ) - ITmedia エンタープライズ 2010年の記事なのでちょっと古いけど、な…

npm モジュールのセキュリティアップデート(3)

npm モジュールのセキュリティアップデート(2) - koba::blog で npm-force-resolutions を使って pug のバージョンを 3.0.2 に固定していたのだが、npm v8.7.0 ではこれがうまく動作しないようである。npm v8.3.0 以降では npm-force-resolutions を使わずと…

LiuLian ver.1.1.0 リリース

LiuLian / ver.1.1.0 をリリースしました。目次ページからナビゲーション用のリンクを生成する nav モジュール を追加しました。

LiuLian ver.1.0.0 公開

LiuLian の正式バージョン ver.1.0.0 をリリースしました。LiuLian は Wiki ライクのCMSです。Wikiと異なり ページベースの管理ではなく、任意にディレクトリを作成して階層的にファイルを配置できる 広く使われている Markdown記法 に加えて、はてな記法 や…