Smart Game Format

（）はボードゲームの棋譜保存に使われるコンピュータファイルフォーマットであり、で提供されている。1987年に第1版（FF[1]）が提案され、1999年の第4版（FF[4]）が最新版である。SGFフォーマットが最も一般に普及しているゲームは囲碁であるが、複数のボードゲームに対応している。

沿革 
SGFは、の作者としても知られるAnders Kierulfにより1987年に提案された。このときはコンピュータ囲碁における標準としての提案だったが、広く受け入れられなかったため、1990年に発表された自身の博士論文で用のファイルフォーマットとして仕様書を付録に入れた。この1987年/1990年版が第1版（FF[1]）であり、FF[1]では対応するボードゲームが囲碁、リバーシ、チェス、ナイン・メンズ・モリスの4種類だった。

1993年にマルティン・ミュラー（）がSGFの仕様を整理して第3版（FF[3]）を発表し、対応するゲームがFF[1]で対応していた4種類に五目並べ、連珠、シャンチー、将棋を加えた7種類（仕様では五目並べと連珠が同一として扱われている）。その後、1997年にアルノ・ホロシ（）が第3版から新機能を追加した第4版（FF[4]）を発表した。

1999年に第5版（FF[5]）制定に向けた議論が開始されたが、正式発表には至っていない。また、2002年にXMLを採用するXGFフォーマット（）が提案されたが、やはり広く採用されていない。

対応ボードゲーム 
SGFファイルのGMプロパティはゲーム種類を示しており、FF[4]では1から40までの40種が定義されている。

SGFが対応している主要なボードゲームには以下のものがある。

仕様

データ形式 
SGFはテキストベースのデータ形式を採用し、ゲーム情報の保存に木構造表現を使用するが、この木構造では単純な変化を追加することができる。この木構造ではセミコロン（;）で親ノードと子ノードを区切り、半角丸括弧（(と)）で兄弟ノードのグループを表記する。また、ノードにはプロパティ名[プロパティ値]という形でプロパティが指定される。

プロパティ 
プロパティ名は大文字アルファベットでのみ定義されており、ノードにおける指定では順不同で指定できる。プロパティは根（SGFバージョン(FF)、ゲーム種類(GM)など根ノードでのみ指定できる）、ゲーム情報（黒番と白番のプレイヤー名(PB, PW)、コミ(KM)など一局ごとの情報）、セットアップ（最初から置かれている黒石と白石(AB, AW)など、最初の局面を示す情報）、着手（黒番の着手(B)、白番の着手(W)など）、その他（コメント(C)、悪手(BM)など）に大別される。

脚注

関連項目 
棋譜

外部リンク 
公式サイト
棋譜再生・編集ソフト　Kiin Editor - 日本棋院
Smart Game Format - 

コンピュータ囲碁
コンピュータ将棋
コンピュータチェス
ファイルフォーマット