new
improved
fixed
新ルール「反王将棋」
機械学習のデータ生成に結構時間がかかるのですが、2台のパソコンを窓際に置いて冷却しながらCPUフル稼働させています。
反王将棋

「反王将棋」を追加しました!
これは、反王という特徴的な駒を使うルールです(anti-king chessというルールがベースとなっています):
- 自分の反王に敵駒の利きがない場合は、王手がかかっているとみなされる(反王手)。反王手を解除する(反王に敵駒の利きがくるような)手を指す必要がある。
- 反王手が解除できないと負け(反詰)。
- 敵歩は反王手の解除には使えない
- 反王は敵の駒は取れないが、味方の駒を取れる。味方の駒を取ると相手の駒台に乗る。
- 敵王を詰みにするか、敵反王を反詰にすれば勝ち。
ちなみに、歩が特別扱いとなっているのは、王が一旦敵歩の前に移動すれば、その反王に王手する(利きを外す)ことができなくなってしまうためです。
発想の転換が必要なルールです。是非お試しください。提案してくださったkitotchさん、ありがとうございます!
棋譜ダウンロード機能(仮)
将棋ったー上での対局後にソフトで検討をしたいという声がありました。将棋ったー上の大半のルールは通常のソフトが対応していないのですが、対応できると思われるルールについては一般に流通しているKIF形式でダウンロードできるようにしました。
この機能は、対局室と棋譜ページで、URLの末尾に.kifuをつけるとkifuファイル(.kifの内容で文字コードがUTF-8)がダウンロードできるというものです。
例:
本将棋+駒落ちと、本将棋として指せるルール(将棋120系、駒数違いますが飛車将棋と歩なし将棋)のみ今のところ対応しています。量子将棋や原子将棋のAI開発が行われていることから(将棋ったーDiscordの #変則将棋ai チャンネル参照)、今後は本将棋として解釈できるルール外の棋譜の入出力もできるようにしてソフト間のやり取りができるようになればと考えています。
Haitaka機械学習日記
強いモデル学習への道筋の確立
- 先週書いた、ドナー情報(安南系で駒の役割を提供する駒の情報)をNNUEの入力の特徴に含める方式で効果が見られたため、これを標準的な特徴として採用しました。
- 安北将棋と安東西将棋での学習を進めています。固定深さでは手書きの駒得+α関数にレーティング+60くらい出て勝てるようになったのですが、実際の対局に近い固定思考時間での対局だと負け越すということが分かったため、高速化を進めています。
- 高速化の一環で、役割変化系ルールの際にNNUEを毎回全計算しており肝心のUE (Efficiently Updatable)な部分が抜け落ちていたためこれを対応させ、五分くらいに戻りました。
学習ツールの強化
- データ生成を中断して再開した際に、再開部分が一瞬で計算できたかのように表示されてしまう問題を修正しました。
- self-playにおいて、固定深さだけでなく固定時間の探索で自己対局できるようにしました。これを標準的な方法としてドキュメントしました。
- バイナリをアーカイブしてそれをself-playのエンジンとして指定できるようにし、別コードバージョン間での対戦を可能にしました。
- 簡単なUSIに対応し、USIエンジンとして思考させることができるようになりました。
対応ルール拡張
- 敵駒による役割の提供が含まれる対面将棋と背面将棋への拡張も行いました。じきに将棋ったー上で遊べるようになる見込みです。
- ネコ将棋を始めとした複数の駒が絡み合う役割変化系ルールであるネコ系ルールへの対応も進めています。
その他の改善等
- 対局室等のコメントの入力UIをシンプルにして、特にモバイルにおいて入力欄が広く表示されるようにしました
- ログインができないバグ(Xのサーバのバグとみられる)を修正しました
- マイクロ将棋において打歩詰が許容されるべきところ禁止されていたバグを修正しました
今後とも将棋ったーをよろしくお願いします https://shogitter.com