바둑 프로 기사의 기보를 바라보기
SGF란?
Smart Game Format (Smart Go Format)의 약칭으로 바둑의 기보를 보존하기 위해 자주 이용되고 있습니다. (라고 하는 것보다 바둑 이외에서 본 적 없는 것 같은...)
아래는 SGF 데이터의 예2로, KM이 코미라든지, B나 W가 각각 흑이나 흰색을 나타내고 []안의 2문자가 위치를 나타내고 있습니다.
(;FF[4]GM[1]SZ[19]
GN[Copyright goproblems.com]
PB[Black]
HA[0]
PW[White]
KM[5.5]
DT[1999-07-21]
TM[1800]
RU[Japanese]
;AW[bb][cb][cc][cd][de][df][cg][ch][dh][ai][bi][ci]
AB[ba][ab][ac][bc][bd][be][cf][bg][bh]
C[Black to play and live.]
(;B[af];W[ah]
(;B[ce];W[ag]C[only one eye this way])
(;B[ag];W[ce]))
(;B[ah];W[af]
(;B[ae];W[bf];B[ag];W[bf]
(;B[af];W[ce]C[oops! you can't take this stone])
(;B[ce];W[af];B[bg]C[RIGHT black plays under the stones and lives]))
(;B[bf];W[ae]))
(;B[ae];W[ag]))
대국 데이터 다운로드
git clone https://github.com/wangjinzhuo/pgd.git # データセットのダウンロード
pip install -U sgf # sgfパーサーのインストール
대국 불러오기
다음과 같이 기술함으로써 대국을 읽을 수 있습니다.
# -*- coding: utf-8 -*-
import sgf
fpath = u"All/(嘉永2年)1849-10-8_None_太田雄藏 七段_None_本因坊秀策 六段_None_B+4目.sgf"
print(fpath)
game_tree = sgf.parse(open(fpath).read()).children[0]
node = game_tree.root
while node:
print(node.properties)
node = node.next
실행 결과
All/(嘉永2年)1849-10-8_None_太田雄藏 七段_None_本因坊秀策 六段_None_B+4目.sgf
{'SZ': ['19'], 'C': ['\xcc\xab\xcc\xef\xd0\xdb\xb2\xd8 = Ota Yuzo, \xb1\xbe\xd2\xf2\xb7\xbb\xd0\xe3\xb2\xdf = Honinbo Shusaku'], 'PW': ['\xb1\xbe\xd2\xf2\xb7\xbb\xd0\xe3\xb2\xdf \xc1\xf9\xb6\xce'], 'RE': ['B+4\xc4\xbf'], 'PB': ['\xcc\xab\xcc\xef\xd0\xdb\xb2\xd8 \xc6\xdf\xb6\xce'], 'PC': [''], 'FF': ['3'], 'DT': ['(\xbc\xce\xd3\xc02\xc4\xea)1849-10-8'], 'HA': ['\xcf\xc8\xcf\xe0\xcf\xc8, \xcf\xc8\xb7\xac']}
{'B': ['qd']}
{'W': ['dc']}
{'B': ['pq']}
{'W': ['qo']}
...
{'W': ['rn']}
{'B': ['sm']}
{'W': ['jb']}
{'B': ['sp']}
{'W': ['no']}
{'C': ['\xb9\xb2289\xca\xd6. \xba\xda4\xc4\xbf\xca\xa4.'], 'B': ['sq']}
GNU GO에서 관전
GNU GO 3를 사용하면 CUI 형식으로 반면에 표시할 수도 있습니다.
macOS에는 다음 명령으로 설치할 수 있습니다.
brew tap homebrew/games
brew install gnu-go
100번째까지 표시하고 싶은 경우는 아래와 같이 기술하는 것으로 표시할 수 있습니다.
$ gnugo --mode ascii -l "All/(嘉永2年)1849-10-8_None_太田雄藏 七段_None_本因坊秀策 六段_None_B+4目.sgf" -L 100 --quiet
Beginning ASCII mode game.
Board Size: 19
Handicap 0
Komi: 5.5
Move Number: 99
To Move: white
Computer player: White
white(100): Q12
White (O) has captured 1 pieces
Black (X) has captured 3 pieces
A B C D E F G H J K L M N O P Q R S T Last move: White Q12
19 . . . . . . . . . . . . . . . . . . . 19
18 . . . . . O O . . . . . . . . . O . . 18
17 . O O O O X O X . . X . . . O . . . . 17
16 . X O X O X X X . + . . O . . + X . . 16
15 . . X X X O . . . . . . . . . X . . . 15
14 . . X . O . . . . . . . . . . . . . . 14
13 . X X X X O . . . . . . . . . . . . . 13
12 X . X O O O . . . . . . . . .(O). . . 12
11 . X O . . . . . . . . . . . . . O . . 11
10 . O . + . . . . . + . . . . X X X X . 10
9 . . . . . . . . . . . . . O X O X . . 9
8 . . . X . . . . . . . . . . O O O X . 8
7 . . . . . . . . . . . O O . O X X . . 7
6 . X . X . . . . . . O X O . X O X . . 6
5 . . . O . . . X X X X X O . . O O . . 5
4 . . . + . . O O O O X . X O O O X O . 4
3 . . . O . . . . . . O . X . X X X X . 3
2 . . . . . . . . . . . . . . . . . . . 2
1 . . . . . . . . . . . . . . . . . . . 1
A B C D E F G H J K L M N O P Q R S T
GoGui에서 관전
GoGui 4를 사용하면 GUI 형식으로도 볼 수 있습니다.
macOS라면 다음 명령으로 설치할 수 있습니다.
brew tap homebrew/games
brew install go-gui
아래 명령으로 Go Gui가 시작됩니다.
gogui
References
wangjinzhuo, pgd ↩
Sensei's Library, Smart Game Format ↩
bump, GNU GO ↩
Go Gui ↩
Reference
이 문제에 관하여(바둑 프로 기사의 기보를 바라보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/namakemono/items/88eaa32f27a688f8fc9f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)