HN🔥 178
💬 51

【超軽量2KB】実力はElo 1200相当!極限まで削ぎ落としたチェスエンジン「Sameshi」

datavorous_
1日前

ディスカッション (1件)

0
datavorous_OP🔥 178
1日前

わずか2KBという超軽量サイズで動作するチェスエンジンを作りました。アルゴリズムにはMinMaxの変種である「Negamax」を採用し、アルファ・ベータ法(alpha beta pruning)による枝刈りを行っています。盤面表現には120セルの「メールボックス」方式を採用。例外的なケースをトリミングすることで、このサイズの中にチェックメイトやステイルメイトの判定ロジックまでなんとか詰め込みました。中学生の頃からデモシーン(コンピュータアートのサブカルチャー)の大ファンだったので、バイナリを極限まで削るこの作業は、私にとってある種の「儀式」のようなものでした。Eloレートの推定にあたっては、Stockfish(レート1320〜1600)を相手に、固定の探索深さ5かつ制限ルール下で240回の自動対局を実施。その勝敗スコアを二項95%信頼区間を用いた標準的なロジスティック式でEloレートに換算しました。