囲碁AI - 訓練データを作るための前段階を作ってみる #003
囲碁AI - どういうモデルを作ればよいか調べてみる.#002 - ゲームAI備忘録
の続きです.
大量の高段者のデータは手に入ったので,このデータを先ほどの訓練データとして変換する必要がある.
MacへのGoGuiとFuego, GnuGoのインストール方法 - ゲームAI備忘録
gnugoは以前の記事でインストールすることができる.
gnugoのヘルプを見てみると,
$ gnugo --mode ascii -l game.sgf -L 100 --quiet Beginning ASCII mode game. Board Size: 19 Handicap 2 Komi: 0.5 Move Number: 99 To Move: black Computer player: White White (O) has captured 0 pieces Black (X) has captured 2 pieces A B C D E F G H J K L M N O P Q R S T Last move: White R17 19 . . . . . . . . . . . . . . . . . . . 19 18 . . . X X X X X X X O . . . . . . . . 18 17 . . O O O O O O O X O . O X X .(O). . 17 16 . . . X . . . . O O X . O O . X . . . 16 15 . . . . . . . . . O X X O X X . . X . 15 14 . . . . . . . X O X . . X O O . O . . 14 13 . . . . . . . . X X X X . . . . . . . 13 12 . . . . . . . O O X X . . O . X O . . 12 11 . . . . . . . . . O O X X . . X O . . 11 10 . . . X . . . . . O X O . X X O . . . 10 9 . . . . . . . . . . . . . . . O . . . 9 8 . . . . . . . . . . . . . . . . . . . 8 7 . . . . . . . . . . . . . . . . . . . 7 6 . . . . . . . O O . X . . . X . . . . 6 5 . . . . . . . X O X O O . O O . O . . 5 4 . . . X . . . X O O X . O . . + O . . 4 3 . . . . . . X . X O O X X . X X O . . 3 2 . . . . . . . . . X X . . . . . X O . 2 1 . . . . . . . . . . . . . . . . . . . 1 A B C D E F G H J K L M N O P Q R S T
とすれば,ファイル名がgame.sgfとなるSGFファイルを読み込み,100手の盤面と次の一手(カッコで囲われている箇所)を表示してくれるらしい.
これを利用して,棋譜から終盤までの盤面を表示してみる.
この方式だと遅いので,gnugoのコードをいじってSGFファイルを読み込んで訓練データを出力するプログラムをあとで書く.