Portable Game Notation (PGN) — это стандартный текстовый формат для записи шахматных партий (как ходов, так и связанных с ними данных ), который может быть прочитан человеком и поддерживается большинством шахматных программ.
PGN был разработан примерно в 1993 году Стивеном Дж. Эдвардсом и впервые популяризирован и описан [1] через группу новостей Usenet rec.games.chess. [2]
PGN структурирован "для удобства чтения и записи пользователями-людьми и для удобства анализа и генерации компьютерными программами ". Сами шахматные ходы даны в алгебраической шахматной нотации с использованием английских инициалов для фигур. Расширение имени файла — .pgn
.
В спецификации PGN есть два формата: формат «импорт» и формат «экспорт». Формат импорта описывает данные, которые могли быть подготовлены вручную, и намеренно нестрог; программа, которая может читать данные PGN, должна уметь обрабатывать несколько нестрогий формат импорта. Формат экспорта довольно строг и описывает данные, подготовленные под управлением программы, подобно красиво напечатанной исходной программе, переформатированной компилятором . Представления формата экспорта, сгенерированные разными программами на одном компьютере, должны быть абсолютно эквивалентны, байт в байт.
Текст PGN начинается с набора «пар тегов» (имя тега и его значение), за которым следует «текст хода» (шахматные ходы с необязательными комментариями).
Пары тегов начинаются с начальной левой скобки [
, за которой следует имя тега в виде обычного текста ASCII . Значение тега заключается в двойные кавычки, а затем тег завершается закрывающей правой скобкой ]
. Кавычка внутри значения тега представлена обратной косой чертой, за которой сразу следует кавычка. Обратная косая черта внутри значения тега представлена двумя соседними обратными косыми чертами. Нет никаких специальных управляющих кодов, включающих символы escape или возвраты каретки и переводы строк для разделения полей, а лишние встроенные пробелы обычно пропускаются при синтаксическом анализе.
Данные PGN для архивного хранения должны содержать семь пар тегов, которые вместе называются « Список семи тегов ». В экспортном формате эти пары тегов должны располагаться перед любыми другими парами тегов и в следующем порядке:
Стандарт допускает другие необязательные пары тегов. Наиболее распространенные из них включают:
Текст хода описывает фактические ходы игры. Он включает в себя индикаторы номеров ходов (числа, за которыми следуют одна или три точки; одна, если следующий ход — ход белых, три, если следующий ход — ход черных) и текст хода в стандартной алгебраической нотации (SAN).
Для большинства ходов SAN состоит из буквенного сокращения для фигуры, и , x
если есть взятие, и двухбуквенного алгебраического названия последнего поля, на которое переместилась фигура. Буквенные сокращения: K
( король ), Q
( ферзь ), R
( ладья ), B
( слон ) и N
( конь ). Пешке в тексте хода SAN дается пустое сокращение, но в других контекстах P
используется сокращение. Алгебраическое название любого поля соответствует обычной алгебраической шахматной нотации; с точки зрения белых, самое левое поле, ближайшее к белым, — это , самое правое поле a1
, ближайшее к белым, — это h1
, и самое правое (с точки зрения белых) поле, ближайшее к черной стороне, — это h8
.
В некоторых случаях для устранения двусмысленности требуется более подробное представление; в таком случае после имени перемещающейся фигуры вставляется буква ее вертикали , числовой рангNge2
или точное поле (в порядке предпочтения). Таким образом, указывается, что конь, изначально находившийся на вертикали g, перемещается на e2.
Рокировка на королевский фланг SAN обозначается последовательностью ; рокировка на ферзевый фланг обозначается последовательностью (обратите внимание, что это заглавные буквы O, а не нули, в отличие от стандарта ФИДЕ для обозначений). [4] Превращения пешек обозначаются добавлением к полю назначения, за которым следует фигура, на которую пешка превращается. Например: . Если ход является шахом, то также добавляется ; если ход является матом, то вместо этого добавляется . Например: .O-O
O-O-O
=
e8=Q
+
#
e8=Q#
Комментатор , желающий предложить альтернативные ходы, нежели те, которые были сыграны в игре, может вставить варианты, заключенные в скобки. Он также может комментировать игру, вставляя числовые аннотационные глифы (NAG) в текст хода. Каждый NAG отражает субъективное впечатление от хода, предшествующего NAG, или от результирующей позиции.
Если результат игры отличается от *
, результат повторяется в конце текста хода.
Комментарии вставляются либо с помощью ;
(комментарий, который продолжается до конца строки), либо с помощью {
(который продолжается до }
). Комментарии не вкладывают друг в друга.
Вот формат PGN 29-й партии матча 1992 года, сыгранного в Югославии между Бобби Фишером и Борисом Спасским :
[Событие "Матч-ответ F/S" ] [Сайт "Белград, Сербия JUG" ] [Дата "1992.11.04" ] [Раунд "29" ] [Белые "Фишер, Роберт Дж." ] [Черные "Спасский, Борис В." ] [Результат "1/2-1/2" ]1.e4 e5 2.Nf3 Nc6 3.Bb5 {Этот дебют называется Испанская партия.} 3...a64.Ba4 Nf6 5.OO Be7 6.Re1 b5 7.Bb3 d6 8.c3 OO 9.h3 Nb8 10.d4 Nbd711.c4 c6 12.cxb5 axb5 13.Кc3 Сb7 14.Сg5 b4 15.Кb1 h6 16.Сh4 c5 17.dxe5Nxe4 18.Bxe7 Qxe7 19.exd6 Qf6 20.Nbd2 Nxd6 21.Nc4 Nxc4 22.Bxc4 Nb623.Кe5 Лae8 24.Сxf7+ Лxf7 25.Кxf7 Лxe1+ 26.Фxe1 Крxf7 27.Фe3 Фg5 28.Фxg5hxg5 29.b3 Ke6 30.a3 Kd6 31.axb4 cxb4 32.Ra5 Nd5 33.f3 Bc8 34.Kf2 Bf535.Ra7 g6 36.Ra6+ Kc5 37.Ke1 Nf4 38.g3 Nxh3 39.Kd2 Kb5 40.Rd6 Kc5 41.Ra6Кf2 42.g4 Сd3 43.Лe6 1/2-1/2
Многие варианты шахмат можно записать с помощью PGN, при условии, что названия фигур могут быть ограничены одним символом, обычно буквой, а не цифрой. Обычно они отмечаются тегом с именем «Вариант», дающим название правил. Термин «Вариант» следует избегать, так как он относится к названию дебютного варианта. Обратите внимание, что традиционные шахматные программы могут обрабатывать только, самое большее, несколько вариантов. Нотация Форсайта-Эдвардса используется для записи начальной позиции для вариантов (таких как Chess960 ), которые имеют начальные позиции, отличные от начальной позиции ортодоксальных шахмат.
Главные отличия от стандартной алгебраической записи заключаются в том, что после каждого номера хода стоит точка и пробел, а в обозначении рокировки вместо нуля используется заглавная буква «О».