Как готовить «Феню»?

Дэвид Форсис
Да, сейчас я хочу говорить о шахматах, а не о барышне Евфросинье. Так уж повелось, что в Интернете на русскоязычных шахматных форумах под «феней» понимают специальную запись позиции, которая широко используется в шахматных программах.
Для начала, немного истории. Всё началось в далёком для нас 1883 году. В шотландской газете «Glasgow Weekly Herald» была опубликована заметка об альтернативной записи позиции, которая отличалась от описательной нотации компактностью. Автором этой статьи был Дэвид Форсис (David Forsyth), шотландский шахматист, один из основателей Шотландской Шахматной Ассоциации, чемпион Новой Зеландии (1901г.). Таким образом, формат записи позиции FEN имеет уже 120-летнюю историю!
FEN есть аббревиатура Forsyth-Edwards Notation, что в переводе с английского языка означает «нотация Форсиса-Эдвардса». К сожалению, я не знаю, что именно предложил Стивен Эдвардс изменить в нотации Форсиса, так как не нашел соответствующих статей. В википедии [1], как и в других источниках в интернете утверждается, что Эдвардс адаптировал нотацию Форсиса для использования её на компьютере. В любом случае, Эдвардс, на основе FEN создал формат EPD (Extended Position Description), который позволяет указывать возможность троекратного повторения и т.д.

Диаграмма 1 случайно расставленная позиция
Так что же представляет из себя нотация Форсиса-Эдвардса? Форсис предложил записывать позицию в строчку следующим образом: начиная с поля а8, слева направо подсчитывается количество пустых полей до первой фигуры и записывается это число, потом первая буква названия фигуры, потом опять количество свободных полей или фигура. Размер буквы указывает на цвет фигуры, то есть белые фигуры записываются заглавными буквами, а черные – прописными. Принято, что для обозначения фигур используется английская нотация: К – король, Q – ферзь, R – ладья, B – слон, S (или N) – конь и P - пешка. Горизонтали разделяются друг от друга наклонной чертой /.
Кроме этого, FEN сопровождается также «хвостом», который описывает дополнительную информацию о позиции, которая разделяется друг от друга пробелом:
1. Сначала идет указание хода: w означает, что в позиции ход белых, b – ход черных.
2. Указание рокировки: если рокировка невозможна, то ставится прочерк, если рокировка возможна, то ставится символ той фигуры (короля или ферзя), в сторону которой рокировка возможна. Например, KQq означает, что белые могут рокировать в обе стороны, а черные могут делать только длинную рокировку.
3. Указание взятия на проходе. Если взятие невозможно, то ставится прочерк. Если взятие на проходе возможно, то указывается вертикаль, на которой стоит ходившая пешка.
4. Счетчик ходов без взятий и ходов пешками, для правила 50 ходов. Для гипотетической позиции пишется 0.
5. Указание номера текущего хода в данной позиции. Обычно считается, что номер хода в позиции – первый.
Шахматная композиция отличается таким свойством, что «хвост» FEN для неё неинтересен, так как очередь хода в позиции определяется заданием, ход всегда первый, а остальные элементы «хвоста» всегда надо доказывать.
Например, диаграмма 2 будет записываться следующим образом: 8-ая горизонталь пустая – значит, она обозначается числом 8. На 7-ой горизонтали идёт 7 свободных полей и потом черная пешка, что описывается, как 7p. Соответственно, 6-ая горизонталь – 7B, 5-ая – 8, 4-ая – 8, 3-я – 2pS1Sp1, 2-ая – 2P1s1P1, 1-ая – 1K1k1B2. Таким образом, запись позиции будет следующей (собираем все записи строк вместе, между ними ставим наклонную черту): 8/7p/7B/8/8/2pS1Sp1/2P1s1P1/1K1k1B2.
Как видно, ничего сложного. Более того, как заметил один из современных композиторов, после подготовки им сборника задач: “Самый удобный способ – смотришь на диаграмму (или доску, например) и вслепую печатаешь fen, потом сверяешь. После небольшой тренировки получается очень быстро”.

Диаграмма 2 мат в 2 хода
Следует отметить, что FEN позволяет записывать позицию любой прямоугольной доски – для этого необходимо только точно разделять строки и ставить фиксированное число полей в каждой строке. Так строка k3/1n2/1RN1/2n1/3K описывает позицию, изображенную на диаграмме 3.
Конечно, уже многие шахматные композиторы знают, что такое FEN. И эта статья не появилась бы, если бы не то обстоятельство, что существуют, оказывается, различные варианты этой записи! С ними и хочется читателя познакомить.
Версия первая: пропускаются разделители строк. Оказывается, в связи с тем, что доска у нас квадратная, размером 8x8, то разделители можно пропускать. Тогда позиция с диаграммы 2 может записываться как 87p7B882pS1Sp12P1s1P11K1k1B2. Как видно, это сокращает запись, но читать диаграмму становится сложнее. С этой версией FEN работает известная программа Problemiste [2]

Диаграмма 3 мат в ? ходов
Версия вторая: считаем все пустые поля подряд. Кроме отбрасывания разделителей строк (то есть горизонталей), можно запись позиции ещё больше сократить, то есть считать все пустые поля подряд. Особенно заметна выгода при компактном расположении фигур. Например, пустая доска представится просто числом 64, диаграмма 2 - 15p7B18pS1Sp12P1s1P11K1k1B2, а позиция с диаграммы 4 – k1K5p8P46. Обратите внимание, что вторая и третья версии записи позиции могут совпадать, а иногда могут давать совершенно разные позиции. Поэтому надо иметь представление, с какой формой FEN вы работаете, чтобы знать правильную позицию. Эта версия FEN используется на форуме шахматных композиторов Mat Plus [3].
Наконец, третья версия: если на горизонтали справа от фигуры больше нет фигур, то количество свободных полей не пишется. Я уже не помню, где столкнулся с данной версией FEN, но следует знать и о ней, чтобы не попасть в ступор при столкновении с ней. В этом случае разделители горизонталей остаются. Пустая доска запишется 7-ю наклонными чертами - ////////, диаграмма 2 - /7p/7B///2pS1Sp/2P1s1P/1K1k1B, диаграмма 4 – k1K/p/1P/////.
Не смотря на обилие версий FEN, любая современная шахматная программа поддерживает стандартную запись. Поэтому, зная её, у вас не возникнет проблем при обсуждении с этими программами ваших задач и этюдов.
Ссылки:
1. FEN –
http://en.wikipedia.org/wiki/Forsyth–Edwards_Notation
2. Problemiste –
http://www.problemist.com
3. Mat Plus Forum –
http://matplus.net/start.php
Михаил Кройтор