フォーサイス・エドワーズ記法(FEN )は、チェスの盤面における特定の局面を記述するための標準的な記法です。FENの目的は、特定の局面からゲームを再開するために必要なすべての情報を提供することです。
FENは、 1883年にスコットランドの新聞記者デイビッド・フォーサイスによって開発されたフォーサイス記法として知られるシステムに基づいています。彼のシステムは19世紀に人気を博しました。[ 1 ]現代のFENとは異なり、この記法は盤上のすべての駒の位置を書き出すための略記法として設計されており、駒の位置を捉えることのみに関心があり、どのプレイヤーが動かすか、キャスリングの可否、手数などの他のメタデータには関心がありませんでした。これらは恐らく完全に書き出されるか、文脈から暗示されるでしょう。
この表記法は、 1883年2月2日にグラスゴー・ウィークリー・ヘラルド紙でフォーサイスによって初めて提案された。[ 2 ]フォーサイスは次のように書いている。
チェスの対局を中断する必要がある場合、または後で検討するために保存しておきたい興味深い局面が現れた場合、それを記録する方法は2つあります。1つ目は白紙の図を使う方法、2つ目は盤上のマス目を参照して各駒とポーンの位置を記述する方法です。後者の方法は非常に面倒で、前者は白紙の図が手元にある場合にのみ使用できます。チェスを学び始めて以来、私は(私の知る限り完全にオリジナルの)システムを使用しており、必要なのは鉛筆と切手サイズの紙切れだけで、局面を非常に迅速に記録できます。
フォーサイスのオリジナルシステムでは、盤の各段ごとに1行のテキストが使用されていました。各駒は文字(K、Q、R、B、P)で表され、ナイトは当時の慣例に従って「Kt」で表されました。黒の駒は下線で示されました。空のマスは「0」で表され、連続する空のマスはその数字で表されました(例えば、「5」は1列に5つの空のマスが並んでいることを示します)。奇妙なことに、これは1つのマスには「0」、2つのマスには「2」を使用し、「1」は使用しないことを意味していました。
フォーサイスは例を挙げている(「黒の40手目後」というテキスト付き)[注1 ]:
0 R 6 5 P P 0 R 0 R 4 P 0 R 0 P P 3 2 P K QPP 0 7 P 0 P 6 2 K 5
これは、b8に黒のルーク、f7とg7に黒のポーンが2つ、a6とc6に白のルーク、h6に黒のポーンが1つある局面を表します。現代のFENにおける同等の局面は次のとおりです。
1r6/5pp1/R1R4p/1r1pP3/2pkQPP1/7P/1P6/2K5 w - - 0 41
1897年までに、記譜法は現代の構文により近い形に進化し、 The Chess Bouquet [ 2 ] [注 2 ]に掲載されているフォーサイスの伝記には次の例が示されています。
1 B 6、2 kt 5、p 1 Kt 1 P 2 R、P 1 K 3 Kt 1、4 P k 2、1 Q 2 p 2 p、6 kt P、1 B 4 R 1
このバージョンでは、局面はすべて1行に記述され、ランクはコンマで区切られ、「0」は1つの空きマスを表すのに置き換えられ、「1」が使用され、黒駒は下線ではなく小文字で表されます。現代のFENにおける同等の局面は次のとおりです。
1B6/2n5/p1N1P2R/P1K3N1/4Pk2/1Q2p2p/6nP/1B4R1 w - - 0 1
1993年、スティーブン・J・エドワーズは、ポータブルゲーム記譜法(Portable Game Notation)規格の一部として、フォーサイスのシステムをコンピュータでの利用に対応させるよう拡張した。[ 3 ]最もよく引用されるバージョンは1994年3月12日に公開された。[ 4 ]この規格では次のように規定されている。
オリジナルのフォーサイス規格は、スティーブン・エドワーズがインターネット上の解説者の協力を得て、チェスソフトウェアで使用できるように若干拡張した。この新しい規格であるFENは、エドワーズのSANキットで初めて実装された。
エドワーズのフォーマットは、コンピュータソフトウェアによる解析を目的としたASCIIテキストフォーマットとして明示的に指定されています。彼はマス目間のスペースを削除し、ランクを区切るコンマをスラッシュに置き換え、ナイトを「Kt」から「N」(現代の代数記法を反映)に変更し、次にどのプレイヤーが動くか、キャスリングの可否など、追加のメタデータフィールドを追加しました。詳細は後述します。
FENは「ポータブルゲーム記譜法仕様および実装ガイド」[ 4 ]で定義されている[ 5 ] 。
チェスのポータブルゲーム記法では 、FENは標準的なもの以外の初期局面を定義するために使用されます。 [ 6 ]
FENは、 3回繰り返しによる引き分けが法的に主張できるかどうか、または引き分けの申し出を受け入れることができるかどうかを判断するのに十分な情報を提供していません。そのためには、拡張ポジション説明などの別の形式が必要です。
FENレコードは、特定のゲームポジションを1行のテキストで定義し、ASCII文字セットのみを使用します。FENデータレコードのみを含むテキストファイルには、ファイル名拡張子.fenを使用する必要があります。[ 7 ]
FENレコードには、それぞれスペースで区切られた6つのフィールドが含まれています。フィールドは次のとおりです。[ 8 ]
以下の例はFEN仕様からのものです。[ 13 ]
スタートポジションのFENは以下のとおりです。
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
そして1.e4の指し手の後:
rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1
そして1...c5の後:
rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq c6 0 2
そして2.Nf3の後:
rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2
FEN は、チェス 960 (フィッシャーランダムチェスとも呼ばれる)のようなチェス変種でゲームを記録するのに不可欠です。これらの変種では、初期配置が必ずしも伝統的な初期配置とは限りません。しかし、FEN のキャスリング可能エンコーディング (KQkq) は、両方のルークが後列のキングの同じ側にある場合 (一方のルークが移動した結果、または開始配置でそれが可能なランダム化チェスの形式の場合) には不十分です。どちらかのルークがまだキャスリング可能であれば、初期配置を知らなければ、どちらのルークがキャスリング可能かがあいまいになります。Shredder や Fritz_9 のようなチェスエンジンが実装している解決策は、ゲーム開始時にルークがいた列の文字を使用することです。この方式は、Shredder-FEN と呼ばれることもあります。[ 14 ]
従来の設定では、Shredder-FENはKQkqの代わりにAHahを使用します。
別の解決策としてX-FENがあり、これはShredder-FENよりも後方互換性が高いものの、複雑さが増すという欠点がある。