緑の旗を押すとメニューが出ます。 ▼ AIの学習 AIが自分で将棋を指して、勝ち負けの結果から駒の価値などを学んでいきます。 右のパネルに「対局数」「直近20局の勝率」(学習前の初期AIに対する勝率)と 駒ごとの価値のグラフが出るので、だんだん強くなる様子が見えます。 スペースキー:高速モード(画面の更新を減らして学習を速くする) rキー:学習をリセット ※学習した重みはクラウド変数に保存されるので、次に開いたとき続きから学習します。 ▼ AIと対局 あなたが先手、学習したAIが後手です。 駒をクリック → 行ける場所がピンクで出るので行き先をクリック。 持ち駒は盤の下に並びます。成れるときは「成りますか?」が出ます。 hキー:候補手を表示/非表示(勝ちやすい順に5手。線と番号で盤に出ます) dキー:AIの読みの深さを1手/2手で切替(2手はTurboWarp向け。普通のScratchだと1手に数秒かかります) ※学習前のAIは弱いです。先に「AIの学習」を何十局か回すと強くなります。 ▼ 通信対局 同時に開いている人とクラウド変数で対戦します。 先に入った人が先手、後の人が後手。「接続中…」が数秒出てから始まります。 gキー:投了 ※クラウド変数を使うので、Scratcherでないと動きません。 共通 mキー:メニューに戻る pキー:AIの学習 ⇔ AIと対局 の切替
将棋のAIが「自分で強くなっていく過程」を見られるようにした作品です。 ■ 仕組み ・評価関数は「駒の価値」「持ち駒の価値」「駒の前進度」「玉のまわりの守り駒」の36個の重みの足し算です。 ・毎局、学習前の初期AIと先後を入れかえながら対局し、結果から重みを更新します(ロジスティック回帰)。 ・探索は1手読み+取り返しの罰則。dキーで2手読みにもできます。 ・詰み、二歩、打ち歩詰め、行き所のない駒、王手放置など将棋のルールはひと通り入っています。150手で決着しないときは駒の点数で勝敗を決めます。 ・クラウド変数:重みの保存に2本、通信対局に4本使っています。 ■ クレジット ・盤、駒、背景、メニュー、「成りますか?」「勝利/敗北」などの画像は P-02-Lomさんの「将棋 Pro. ーAdvanceー」から使わせてもらいました。 ・元作品の作者さんの「AI(俊)と仮想OS(玄姫)を削除すればリミックス可」という条件に合わせて、 元のスクリプトは一切使わず、盤面処理・ルール・AI・学習・通信はすべて新しく作っています。 ・パネルの文字は Noto Sans CJK(SIL Open Font License)の字形をベクター化したものです。 ■ 既知のこと ・学習前は全部の駒が同じ価値なので、候補手の「勝ちやすさ」は全部50%になります。 ・通信対局で相手がタブを閉じた場合、「相手の接続が切れました」と出るまで30秒ほどかかります。