Компьютерные шахматы: мнения специалистов и создателей

Введение


На страницах нашего сайта уже появлялись статьи о шахматах. Но такого всеохватывающего обзора еще не было. Итак, мы начнем с рассмотрения компьютерного инструментария профессионального шахматиста. Неотъемлемой частью арсенала любого гроссмейстера, а сегодня, пожалуй, и мастера, является шахматная база данных. Она позволяет полностью подготовиться к сопернику в течение нескольких часов (это максимум) и освежить в своей памяти дебютные схемы и ключевые позиции. Мы рассмотрим два самых известных продукта, конкурентов которым в мире нет. Это отечественная разработка Chess Assistant и немецкая программа ChessBase.

На следующем этапе мы поговорим с известным гроссмейстером, которому часто приходится работать с компьютерами (он является обозревателем крупнейшего российского шахматного новостного портала - http://www.worldchessrating.ru). Выясним, какой программой предпочитает пользоваться этот профи, и вообще, каковы взгляды современных шахматистов на компьютерные технологии. Вдобавок, рассмотрим пару интересных случаев мошенничества людей с использованием шахматных программ и несколько очевидных позиций, в которых компьютер проявляет поразительную "тупость".

Но не только шахматные базы используют профессиональные шахматисты. Есть ведь еще и игровые программы! Ими, кстати, пользуются не только профи - поиграть с компьютером любят многие. Здесь нас, прежде всего, будет интересовать программа Fritz. Ее последнюю версию можно без обиняков назвать одной из самых сильных шахматных программ в мире. Именно с ней играл матч Гарри Каспаров.

Вот, кстати, последний рейтинг-лист шахматных программ:

Рейтинг-лист шахматных программ
 Место в рейтинг-листе Программа и конфигурация компьютера Рейтинг
 1 Shredder 7.04 UCI 256MB Athlon 1200 MHz  2812
 2 Junior 8.0 256MB Athlon 1200 MHz 2784
 3 Shredder 7.0 256MB Athlon 1200 MHz 2771
 4 Deep Fritz 7.0 256MB Athlon 1200 MHz 2760
 5 Fritz 8.0 256MB Athlon 1200 MHz 2753
 6 Deep Junior 8.0 256MB Athlon 1200 MHz 2748
 7 Hiarcs 9.0 256MB Athlon 1200 MHz 2746
 8 Fritz 7.0 Athlon 1200 MHz 2744
 9 Shredder 6.0 Pad UCI 256MB Athlon 1200 MHz 2724
 10 Shredder 6.0 256MB Athlon 1200 MHz  2723

Источник: http://w1.859.telia.com/u85924109/ssdf/

Ну и надо отдать должное нашим Linux-читателям. Им ведь тоже хочется играть в шахматы! Специально для них мы рассмотрим несколько программ, распространяющихся под лицензией GNU GPL. Должен признать, что эти программы играют тоже очень и очень сильно. Одна из них, Crafty, довольно популярна и под Windows тоже. Так как свободные программы поставляются в основном как движки (без интерфейса) мы рассмотрим еще и самый популярный интерфейс для движков под UNIX/Linux и Windows. Речь, конечно же, идет о XBoard/WinBoard.

Специально для тех, кто интересуется внутренним устройством шахматного интеллекта, алгоритмами, технологиями и методиками, зашитыми в шахматный движок, разработчики GNU Chess и Crafty поделятся всей этой подноготной.

Chess Assistant


Об известном российском продукте, компьютерной шахматной базе Chess Assistant, нам согласился рассказать Константин Кодинец, заместитель директора компании ChessAssistant.


Константин Кодинец, заместитель директора компании ChessAssistant, мастер России по шахматам

Алексей Доля: Кто и когда разработал Chess Assistant? Можете немного рассказать об истории этого продукта?

Константин Кодинец: Разработка Chess Assistant началась в конце 80-х годов группой программистов, выпускников МГУ. Первая версия вышла в 1990 году и включала всего 6 тысяч партий, собранных из шахматных бюллетеней, журналов и книг. Непосредственно шахматный отдел в 90-х годах составили выпускники МИФИ, мастера спорта.


Алексей Доля: Расскажите, пожалуйста, о возможностях последней версии Chess Assitant?

Константин Кодинец: Последней является версия 7.1. Вышла она в феврале 2003 года. Вот ее основные характеристики:

информационно-аналитическая поисковая система;
база 2 117 300 партий на 1.01.2003;
дебютная энциклопедия;
7 встроенных игровых программ (Tiger 15.0 и Ruffian 1.0 - гроссмейстерская сила игры);
интерфейс для игры в Интернете на ICC;
учебник по эндшпилю

Хочу отметить, что СА 7.1 - это многофункциональная система для работы с шахматными партиями, для анализа и игры. К ее основным функциям можно отнести:

Удобные ввод, редактирование, анализ и комментирование партий в одном режиме.
Быстрые поиски по заголовку партий (именам, годам, индексам и т.п.), по ЭЛО, по позиции или ее элементам, по соотношению материала, по комментариям, по маневру. Возможность найти любую партию по любому критерию или совокупности критериев.
Открытие любого количества баз партий, объединение и добавление партий.
Игра с программой гроссмейстерского уровня (Chess Tiger 15, рейтинг 2720 на Athlon1200/RAM 256, входит в четверку сильнейших игровых программ в мире) на любых контролях времени. Полноценная игровая программа с автоматической записью партии в базу.
Автоматический анализ позиций, партии и множества партий с использованием методов интерактивного и интеллектуального анализа. Автоматическое комментирование партии во всех стадиях. Одновременный анализ разными программами. Подключение большинства известных шахматных движков и сильнейшей программы Shredder 7.04 в качестве встроенного модуля. Турнир встроенных программ. Фоновый анализ. Подключение эндшпильных таблиц.
Шахматное дерево - мощнейший инструмент для работы над дебютом. Показывает в любой дебютной позиции статистику встречаемости и успеха, экспертную и компьютерную оценку. Позволяет в течение нескольких секунд выйти на интересующую позицию, увидеть ее статистику и оценку, а также перейти к партиям, в которой эта позиция встречалась.
Библиотека экспертных оценок: более 130 000 оцененных позиций и 150 000 ходов с оценками.
Встроенная дебютная энциклопедия на основе экспертных оценок по всем дебютам и индексам на 1.01.2003. Авторы: МГ А. Харитонов, ММ Я. Улько, ММ А. Митенков.
Удобный интерфейс для игры на известнейшем игровом сервере ICC.



Игра в шахматы в Интернете на сервере ICC через Chess Assistant

Учебник по эндшпилю на основе известной книги гроссмейстера А. Панченко.
Автоматическое построение и печать энциклопедических таблиц.
Автоматическая подготовка к сопернику с построением его дебютного репертуара.
Поиск новинки/новинок в партии/множестве партий.
Автоматический поиск партий-"двойников" внутри одной базы и при сравнении двух баз.
Возможности сортировки базы, архивирования, отправки по e-mail.
Автоматическое редактирование библиотек.
Получение статистики по любому критерию в множестве партий.
Печать партий в фигурной нотации с диаграммами на любой принтер или в файлы RTF (Word).
Вывод в динамический HTML с возможностью удобного разыгрывания партий и вариантов.
Поддержка различных форматов (CA DOS, CA Windows, PGN, ChessBase).
Автоматическое скачивание более 1000 партий крупнейших турниров еженедельно для пополнения большой базы (для подключенных к Интернету).
И многое, многое другое.


Алексей Доля: Что входит в комплект поставки Chess Assistant?

Константин Кодинец: В комплект входят: два CD в DVD коробке, два руководства пользователя (в сумме около 200 стр.), электронный ключ защиты HASP.


Выбор шахматного движка, с которым вы можете сразиться

Алексей Доля: Скажите, пожалуйста, а зачем в Chess Assistant входят несколько игровых программ? Одна - я понимаю: для игры и анализа. Две еще как-то тоже можно понять - может какая-то из них лучше считает позиции определенного типа. А зачем 7?

Константин Кодинец: Во-первых, программы играют в разную силу: кому-то может быть неприятно, что программа его всегда обыгрывает; во-вторых, разные программы могут по разному "трактовать" позицию, давать разные варианты в анализе. В первую очередь это касается Tiger Gambit, который "заряжен" на атаку и получение инициативы. Он быстрее находит различные комбинационные возможности в динамических позициях. В СА можно в одном окне запустить на анализ сразу несколько программ.


Главное - маневры...

Алексей Доля: Кого бы назвали своим основным конкурентом?

Константин Кодинец: В мире - ChessBase, но это только на Западе, в русскоязычных странах, я думаю, Chess Assistant - вне конкуренции.


Алексей Доля: Можете сравнить свою программу по набору функций и возможностей с этим ChessBase?

Константин Кодинец: По скорости обработки шахматной информации и ее получения Chess Assistant безусловно превосходит CB. Возможно, сам интерфейс CB кому-то и приятнее (к тому же, это дело привычки), но дополнительная функциональность ее (всякие мультимедийные довески и т.п.), мне кажется, доставляет больше эстетическое удовольствие и не является серьезным преимуществом для шахматистов, особенно практиков (на которых, впрочем, и рассчитаны такие системы).


Алексей Доля: Некоторые шахматисты практики говорят, что выбирают Chess Assistant из-за его удобного "дерева" (по их мнению, в ChessBase эта функция не так удобна). Расскажите, что это вообще такое, для чего нужно и действительно ли возможность просматривать варианты в виде дерева реализована в Chess Assistant лучше, чем в ChessBase?

Константин Кодинец: Любая шахматная база - это множество партий. Каждую партию можно рассматривать как набор позиций, связанных путями. Соответственно, базу партий можно рассматривать как множество позиций, соединенных различными путями.
Вполне возможно, что какая-либо позиция встречается в различных партиях, но пути, ведущие к ней - различны. Естественно, существует несколько различных путей из любой позиции (другими словами, можно сделать различные ходы в одной позиции).
Таким образом, любую базу можно считать множеством партий или же деревом, т.е. набором позиций, связанных, различными путями. CHESS ASSISTANT предлагает вам удобные возможности для работы с шахматными деревьями. В дереве в любой позиции (начиная с начальной) можно видеть все возможные ходы, а также полезную информацию о ходах: частоту встречаемости, процент успеха, в дебюте - экспертную и компьютерную оценки хода. Один из важнейших показателей при работе с деревом - скорость перехода от позиции к позиции. В СА есть два основных вида деревьев: дерево по текущей базе и "быстрое" дерево. Дерево по текущей базе содержит ВСЕ позиции данной базы, "быстрое" дерево содержит все позиции, которые встречаются в базе не менее двух раз, а оставшиеся позиции включаются в варианты-ссылки. Так вот, переход от позиции к позиции в быстром дереве осуществляется МГНОВЕННО! Таким образом, за несколько секунд можно выйти на интересующую вас позицию, например, в районе 20-го хода и увидеть необходимую информацию по ней, а также получить список партий, в которых встречалась данная позиция или просто посмотреть отдельные партии, не выходя из дерева. Этот режим уникален, и аналога ему нет.


Дерево в Chess Assistant. Шахматисты любят деревья

Алексей Доля: Как партии попадают в вашу базу? Ведь она все время пополняется, так?

Константин Кодинец: Около 90% партий сейчас попадают из Интернета. Остальные (в основном российские турниры различного уровня - главное отличие от сервисов подобного рода), попадают в еженедельную подписку непосредственно от организаторов, либо сразу в электронном виде, либо в печатном (тогда мы заводим партии сами). Одно из главных преимуществ не только обновлений, но и партий в формате CA, является жесткий стандарт заголовков, которые подробно "описывают" партию. Имена игроков соответствуют рейтинг-листу ФИДЕ (если он туда попадает), рядом с фамилией стоит соответствующая страна. Каждый игрок имеет свое уникальное имя, поэтому так легко найти партии конкретного шахматиста. Для каждой партии указывается место игры (город, страна), класс турнира (например, Ch World FIDE (final)(active) или It "Gran Canaria" (cat.16) и т.п.), дата проведения.
Большая база CA пополняется каждую неделю (!) приблизительно на 2-2.5 тысячи свежих партий, соответственно на 120 000 новых партий в год. Отмечу, что мы запустили в прошлом году проект автоматического интеллектуального анализа и комментирования новых партий. Комментируется дебют, находятся новинки, а интерактивный анализ Chess Tiger позволяет найти и прокомментировать все узловые моменты. В этом проекте постоянно задействовано 10-20 персональных компьютеров, что позволяет достигать хорошего качества анализа. Таким образом, анализируется и комментируется до 1000 гроссмейстерских партий в месяц.
Мы стараемся находить и добавлять партии прошлых лет, как из западных, так и из советских и российских соревнований. Помощь в этом нам оказывают и отдельные российские шахматисты.
Приведу статистику увеличения базы СА по годам:
1992 - 60 000
1994 - 380 000
1996 - 520 000
1998 - 865 000
2000 - 1 160 000
2001 - 1 500 000
2003 - 2 117 000


Алексей Доля: Как реализована возможность пополнения базы? Может ли Chess Asissstant, например, как любой антивирус, сам подсоединяться к серверу и скачивать свежие партии?

Константин Кодинец: В СА заложен простой и удобный режим автоматического скачивания свежих партий. Уточню, что у нас есть как платный сервис (около 2500 тысяч партий в неделю, из них около 200 комментированных), так и бесплатный - около 1000-1500 новых партий без комментариев.


Алексей Доля: Иногда в качестве недостатков базы Chess Assistant приводят довод, что в нее не входят партии слабых западных игроков. Например, если наш гроссмейстер приезжает играть в Испанию или Францию на международный турнир, то ему бы очень пригодилось знание "местного творчества". В таких турнирах обычно швейцарка и, например, до первого тура после жеребьевки обычно есть минут 30. Так как противник уже известен - хочется посмотреть его уровень игры, стиль предпочитаемых позиций и т.д. Конечно, о дебютной подготовке в данном случае речь не идет - за 30 минут очень сложно что-то сделать, но понять "что это за человек" очень важно. В швейцарке важно каждое очко. Так вот Chess Assistant приписывают отсутствие партий слабых западных шахматистов, а ChessBase наоборот - приписывают аккуратность в этом деле. Можете прокомментировать?

Константин Кодинец: Сейчас это уже не так, и в базе СА можно найти партии практически любого действующего игрока Европы и не только. Всего в большой базе СА 157 000 имен шахматистов, из них 35 000 входят в рейтинг-лист ФИДЕ. А аккуратность в идентификации игрока в СА уж никак не меньше.


Подготовка к сопернику. Chess Assistant знает весь его репертуар…

Алексей Доля: Скажите, а если взять базу партий ChessBase (тоже в районе 2 млн. партий) и сравнить его с базой Chess Assistant. Партии будут совпадать и на сколько?

Константин Кодинец: Конечно, в базы попадают все основные турниры, проходящие в мире. Это Всемирные Олимпиады, различные чемпионаты Мира, Европы, отдельных стран, причем в разных возрастах, опен-турниры и т.п. Поэтому, думаю, процентов на 80-90 базы совпадают. Основное отличие в базах, думаю, "национального" свойства: в нашей базе гораздо больше российских турниров и турниров стран бывшего СССР, а у них - немецких.


Алексей Доля: Chess Assistant "понимает" партии, записанные в формате ChessBase?

Константин Кодинец: Да, СА может использовать все основные форматы шахматных партий: CDP, CBF, CBH и, конечно, PGN и EPD.


Алексей Доля: А почему вы просто не возьмете все партии из базы ChessBase и не переконвертируете их в формат Chess Assistant? Если потом объединить стандартную базу ChessAssistant с этой переконвертированной, убить двойники - получится одна супербаза. Такой не будет ни у кого. Это не способ побороть конкурента?

Константин Кодинец: То, что вы предлагаете, в определенном смысле можно назвать пиратством. Исторически сложилось так, что базы пополняются другими методами.


Алексей Доля: Постоянно выходят новые версии Chess Assistant. Скажите, пожалуйста, имеют ли зарегистрированные пользователи льготы при обновлении своих продуктов? Стоит ли вообще обновлять саму программу пользователям? Ведь шахматистам главное - партии, а функциональность у программы и сейчас не слабая!

Константин Кодинец: Конечно, зарегистрированные пользователи могут поменять версию на новую за 20-30% стоимости полного пакета. Дополнительные льготы имеют подписчики на свежие партии - считается, что они оплачивают пополнение базы и старыми партиями, поэтому цена обмена для них минимальна. В каждую новую версию включается и новая версия Chess Tiger, который постоянно усиливается, а также другие аналитические программы (в СА 7.1 - Ruffian 1.0, играющая в силу гроссмейстера на хорошем ПК). Вводятся новые функции, которые могут пригодиться самым разным "слоям" шахматного сообщества: от любителей до профессионалов, тем, кто издает книги или занимается Интернетом. Каждый год обновляется дебютная энциклопедия, добавляются и корректируются как экспертные оценки, так и компьютерные - сейчас их около 12 000 000!


Алексей Доля: Кстати, о хороших ПК. Чтобы комфортно работать с Chess Assistant, какой ПК понадобится? Можно ли разместить Chess Assistant на ноутбуке и ездить по соревнованиям или мощности ноутбука не хватит?

Константин Кодинец: Современные ноутбуки, насколько известно, практически не уступают стационарным ПК. Конечно, многие режимы работы с большой базой партий (около 300Mb), такие как построение дерева, поиск копий и т.п., требуют значительных ресурсов. К тому же, всегда нужно учитывать, что чем мощнее компьютер, тем быстрее будет работать программа, качествеенне будет анализ и сильнее игра. Причем, большее значение, чем скорость процессора, имеет размер оперативной памяти. Минимальные требования к ПК: RAM 64Mb, 2 Gb свободного места на жестком диске. Рекомендуемые: процессор AMD Athlon 2200Мгц, RAM 256/512Mb, Windows XP.


В Chess Assistant есть учебник. А учиться, как известно, никогда не поздно

Алексей Доля: На ваш взгляд, современная программа типа Chess Assistant способна заменить все бумажные энциклопедии, учебники (по эндшпилю, миттельшпилю) да и самого тренера (ведь анализирует CA будь здоров!)? Или Chess Assistant на это не претендует?

Константин Кодинец: Одно из главных преимуществ СА - это не только попытка, но и возможность "объять необъятное", причем в сотни раз быстрее, чем это требовалось ранее. Это касается не только дебюта и подготовки к соперникам, но и эндшпиля. Возможность удобного сопряжения с эндшпильными таблицами позволяет со с 100% достоверностью оценить практически все учебные эндшпили до 5-и фигур и в любой позиции видеть лучший вариант (например, Ладья с Пешкой против Ладьи, Король с двумя пешками против Короля с пешкой и т.п.). Тот же Chess Tiger может использовать эти данные в игре и анализе.
Однако (пока?!) Chess Assistant не претендует на замену учебников и пособий (в этом направлении мы выпустили уже около пятнадцати обучающих программ для шахматистов различной квалификации по тактике, стратегии, миттельшпилю и эндшпилю). Хотя некоторые наметки на обучение появились и в СА. Например, режим Теста: вы открываете партию (или специально подобранную позицию с решением), но не видите нотации. Программа предлагает находить ходы за ту или иную сторону (или за обе), дает подсказки при ошибках, учитывает время решения и т.п.


Алексей Доля: Можно утверждать, что программы типа Chess Assistant хоронят использование бумажных дебютных энциклопедий (например, знаменитую Югославскую энциклопедию)?

Константин Кодинец: Югославская энциклопедия - очень качественный продукт, лучший в отношении шахматной теории, к тому же основанный на авторских материалах лучших гроссмейстеров мира, поэтому похоронить его сложно. Но работать с ней в условиях современного ритма шахматной жизни бывает не совсем "выгодно".


Алексей Доля: Расскажите, как "работается" с Chess Assistant. Например, я хочу получить анализ дебютной позиции после 15 хода какого-нибудь конкретного варианта защиты Грюнфельда. Как это сделать? Ведь в Chess Assistant входят и дебютные энциклопедии, и собственная база партий, и несколько программ для анализа. Как не запутаться во всем этом многообразии? Шахматисты-то в большинстве своем не обучены "ползать" по многочисленным подменю и выпадающим спискам.

Константин Кодинец: Путаницы никакой нет, и те, кто имеют некоторый опыт работы с СА, легко и быстро найдут ответы на вопросы такого рода. Как я говорил выше, в первую очередь в дереве в течение нескольких секунд вы получаете нужную позицию с полной статистикой и оценкой лучших ходов из нее. Таким образом, можно увидеть и наметить лучшие продолжения. Тут же можно запустить на анализ Тайгер и посмотреть, что он считает лучшим, ввести свои ходы-идеи и оценить их. Получить список партий, в которых встречалась данная позиция (можно отобрать при этом только партии определенного уровня, например, игроков с рейтингом более 2500). Посмотреть, как развиваются события в миттельшпиле и т.д. В данном случае можно просто нажимать на иконки Списка, Просмотра, Анализа и т.п. и вся информация мгновенно появится перед вами.


Chess Assistant анализирует позицию

Алексей Доля: Вы сказали, что в состав Chess Assistant входят эндшпильные таблицы. Что это такое и зачем они нужны?

Константин Кодинец: Непосредственно в пакет СА 7.1. они не входят, их можно приобрести отдельно, причем подключить не только к СА, но и к любой современной игровой программе. Эндшпильные таблицы Налимова представляют собой базу данных (7500Mb), включающую несколько сот файлов, содержащих полную информацию (точную оценку и сильнейшие варианты) о ВСЕХ возможных окончаниях с числом фигур до 5. Т.е., известна со 100% точностью оценка любого такого эндшпиля, например Король+Ладья+пешка против Короля и Ладьи и т.п. Таким образом, обсчитаны практически все теоретические эндшпили. При подключении ЭТ к СА встроенной игровой программе, встретившей такую позицию даже в вариантах расчета, не нужно ничего анализировать - она просто выдает точную оценку (+-, = или -+) и сильнейший ход (вариант).


Алексей Доля: Скажите, вот есть журнал "Шахматный листок". Он целиком и полностью создается с помощью Chess Assistant?

Константин Кодинец: "Шахматный листок" издает ЗАО "ИнформСистемы" (разработчик СА) с 1994 года. С каждым годом качество материалов в нем улучшается в первую очередь благодаря возможностям и новым функциям СА. Это относится и к упомянутым возможностям автокомментирования, и к издательским функциям СА, позволяющим легко и удобно печатать партии с вариантами и диаграммами. В журнале дается обзор современной теории (для часто играемых дебютов представляется вся предыстория и оценки лучших вариантов), комбинации (для быстрого "определения" их в новых партиях используется функция поиска ошибок и зевков), обзоры крупнейших турниров (автоанализ и автокомментирование), а также приводится 100-200 избранных партий из турниров, закончившихся в текущий период. Конечно, все материалы требуют редакторской правки, но она обычно незначительна и позволяет выпускать журнал оперативно и отражать современное состояние шахмат.


Алексей Доля: Можете дать какие-нибудь рекомендации по эффективному использованию Chess Assistant?

Константин Кодинец: Многие примеры и разъяснения по всем режимам даются в печатных руководствах (СА6, СА 7.1), прилагаемых к версии. Для подробных рекомендаций же по работе с СА нужно было бы написать объемную книгу, страниц на 300! :) К сожалению, пока на это не хватает времени…


Алексей Доля: Вы считаете Chess Assistant обязательным для каждого играющего шахматиста?

Константин Кодинец: Для любого шахматиста-практика, играющего в турнирах, Chess Assistant необходим! Огромную помощь СА оказывает и тренерам, и издателям, да и шахматистам любителям, которые хотят открыть для себя что-то новое в шахматах и просто "окунуться" в шахматную историю…


Алексей Доля: Что следует делать нашему читателю, если он захочет купить Chess Assistant? Сколько стоит пакет и где продается?

Константин Кодинец: Chess Assistant может купить любой, как непосредственно в нашем шахматном магазине в Москве, так и, заказав его по Интернету или по почте и оплатив его банковским или почтовым переводом. Цена полного пакета - 3800 рублей, пересылка по России - 50 рублей. Гарантируется полная техническая поддержка и качество, а также льготные обновления на новые версии.
Адрес магазина в Москве: МГУ, м. Университет, ул. Лебедева, 2-й учебный корпус, офис 133Б. Тел./факс (095) 939-17-12, 939-28-51. Адрес нашего сайта, на котором читатели найдут ВСЕ, что им нужно для шахмат: http://www.chessassistant.ru.


Алексей Доля: Константин, большое спасибо за беседу. Удачи вам лично и Chess Assistant!

ChessBase


О компании ChessBase и ее продуктах нам любезно согласился рассказать основатель и идеолог ChessBase - Фредерик Фридель.


На наши вопросы отвечает основатель компании ChessBase - Фредерик Фридель

Алексей Доля: Вы не могли бы рассказать немного о самой компании ChessBase?

Фредерик Фридель: ChessBase была основана в 1986 г. Ее первый продукт, программа ChessBase 1.0, появился в январе 1987 г. В действительности на все это нас побудил Гарри Каспаров. Он приехал в Гамбург, Германия, в 1985 г., чтобы сыграть матч с Робертом Хюбнером. Именно там мы с ним и познакомились. Он часто приходил ко мне в гости. Целыми вечерами мы обсуждали компьютеры. Гарри только начинал понимать, что собой представляют компьютеры. Но откуда-то уже тогда он знал, что компьютеры будут играть большую роль в будущем шахмат. Я рассказал ему все, что знал о компьютерных технологиях. Гарри сказал мне просто: "Ну так напиши эту… Как ты ее называешь, Фред? Chess database".


Гарри, Фред, компьютер. Июнь далекого 1985 года

К сожалению, я не был силен в программировании. Немного подумав, я решил найти какого-нибудь программиста или целую команду программистов, чтобы объединиться. К счастью я встретил молодого человека по имени Маттьяс Вюлленвебер (Matthias Wullenweber). Маттьяс в то время был студентом-физиком. Он проделал действительно титаническую работу, чтобы написать шахматную базу данных (chess database) для компьютера Atari ST.


Гарри Каспаров за компьютером Atari ST. 1988 г.

В 1986 г. в Швейцарии мы с Маттьясом показали свою программу Гарри. Новому чемпиону мира она очень понравилась. Гарри предложил нам сделать программу коммерческой. Так мы (я и Маттьяс) основали компанию ChessBase. В январе 1987 г. Гарри получил самый первый диск с ChessBase 1.0 в комнате отеля в Гамбурге. Чемпион сразу воспользовался программой, чтобы подготовиться для матч-реванша с командой профессионалов из Гамбургской Лиги. Годом раньше он проиграл матч этой команде со счетом 3.5 на 4.5. На этот раз он использовал компьютерную программу, чтобы изучить партии оппонентов. Матч-реванш Гарри выиграл со счетом 7:1. После этого мы помогали Гарри готовиться к матчам с национальными шахматными сборными (в течение нескольких дней с помощью ChessBase). Нам удалось сыграть с национальной сборной Швейцарии, дважды со сборной Франции, с молодежной сборной Германии и США, с олимпийской командой Германии и т.д. Я говорю нам, потому что я все время сопровождал Гарри и каждый раз он мне говорил, что если проиграет матч, то это будет моя вина. Поэтому я тоже могу пользоваться этими лаврами - Гарри выиграл каждый матч. Позже он продолжил свою серию, сыграв матчи против сборных Аргентины и Израиля. Такие высокие результаты объясняются очень хорошей подготовкой.


Слышно как скрипят мозги. Каспаров против команды Гамбургской Лиги. 1987 г.

Алексей Доля: Интересно, а кто сейчас разрабатывает ChessBase? Программисты или шахматисты?

Фредерик Фридель: Разработчики ChessBase это Маттьяс Вюлленвебер, Маттьяс Файст (Matthias Feist), Kenw Нэбе (Lutz Nebe), Жерон ван ден Бельт (Jeroen van den Belt) и некоторые другие. Первые два - сильные шахматисты-любители, которые действительно любят саму игру. Моя главная задача - контакты с внешним миром (я знаком со многими сильнейшими шахматистами планеты), к тому же я по профессии журналист. Я также присматриваю за web-порталом www.chessbase.com, который можно назвать самым крупным новостным шахматным порталом в мире. Сайт ChessBase намного популярнее других интернет-узлов, посвященных спорту. Английская, немецкая и испанская версии сайта привлекают в день более 70 тыс. посетителей.


Алексей Доля: Можете описать основные возможности ChessBase?

Фредерик Фридель: О, описывать надо слишком многое. Самое главное, ChessBase - эта система, позволяющая обрабатывать огромное количество партий. Сейчас у нас есть 2,5 млн. шахматных партий, поэтому очень важно, в каком виде информация о результатах поиска отображается на экране. Нескончаемые списки партий сегодня никому не нужны. ChessBase позволяет произвести кучу операций всего одним щелчком мыши. Например, "Get new games" заставит систему саму подсоединиться к Интернету и скачать новые партии за последнюю неделю (и предыдущие тоже, если программа обнаружит, что их у вас еще нет).
Функция "Player dossier" (буквально на русском - досье игрока) создает очень подробное описание конкретного игрока, с которым вам, возможно, придется завтра сразиться. За 90 секунд программа создаст отчет о любом из 120 тыс. турнирном игроке: возраст, национальность, динамика изменения рейтинга, крупные победы, очки против заданных игроков, полный репертуар, любимые и нелюбимые дебюты и т.д. Вот посмотрите, как выглядит досье русского шахматиста Руслана Пономарева: http://www.chessbase.com/support/report/pono.htm.
Еще один пример "Opening tree" (по-русски - дерево дебютов). Пользователь может получить полную информацию о любой позиции: как часто она возникает, какие есть ходы в ней, к каким результатам они приводят, как результат зависит от силы игры противника и т.д. Поиск может затрагивать и online-базу, которая содержит дополнительные партии и очень часто обновляется. В ней 2,9 млн. партий и 50 млн. позиций. Вместе с индексами это 11 Гб данных.
Есть функция "Openings report" (Отчет по дебюту). Один раз кликнув мышкой и подождав 60 секунд, пользователь может получить полный отчет о любой позиции в дебюте: как часто она встречалась в истории шахмат, когда впервые появилась, какие сильнейшие игроки ее предпочитают, к каким результатам она приводит, какие основные продолжения, какие идеи стоят за ними, каковы критические продолжения и т.д.
ChessBase меняет представление людей о том, как готовиться к партии. Вместо того чтобы тратить 80% времени на поиск необходимых материалов, можно тратить 80% (и более) времени на изучение материалов.


Снова Гарри Каспаров. На этот раз 1987 год

Алексей Доля: Может ли ChessBase работать с какими-нибудь игровыми шахматными программами?

Фредерик Фридель: Есть целый ряд шахматных движков, которые могут работать с ChessBase. То есть пользователи могут использовать компьютер, играющий в силу хорошего гроссмейстера, для анализа позиций. Наш главный движок - Fritz - появился в 1991 году. Сегодняшняя версия 8 играет в силу чемпионов, Fritz 8 в 2002 г. сыграл вничью с Крамником в матче из восьми партий. В 2003 году сыграла вничью с Каспаровым (2:2 после четырёх партий). Fritz также позволяет вам играть через Internet на сервере Playchess.com. Там играется около 100 тыс. партий каждый день, а число посетителей измеряется десятками тысяч. ВЫ также можете использовать Fritz, чтобы слушать мультимедиа-лекции. То есть вы будете видеть и слышать тренера.


Алексей Доля: У ChessBase есть конкуренты, на ваш взгляд?

Фредерик Фридель: На рынке шахматных баз данных российская программа Chess Assistant. Самые лучшие игровые шахматные программы продаются нашей компанией (Fritz, Shredder, Junior, Hiarcs, Tiger). В США есть популярная программа Chessmaster. Также нельзя забывать Internet Chess Club, который также позволяет вам играть в шахматы через Internet. В действительности Internet Chess Club больше Playchess.com. но наш ресурс образовался на 8 лет позже, так что мы собираемся обогнать ICC в будущем.


Гарри Каспаров, Фредерик Фридель и команда

Алексей Доля: ChessBase имеет очень большую базу партий. Где вы их берете?

Фредерик Фридель: В самом начале у нас было очень много людей, которые вводили партии в компьютер. Но сейчас партии турниров собираются в электронной форме, поэтому нам стало жить легче, да и ошибок в партиях почти нет. В любом случае вы можете получить свежие партии в течение дней или часов, а не недель как в до-компьютерную эпоху.


Разработчики ChessBase в наши дни

Алексей Доля: Сколько стоит CB? Где в России ее купить?

Фредерик Фридель: ChessBase стоит около 155 ЕВРО и еще за 350 ЕВРО вы можете приобрести мега-пакет, содержащий десятки тысяч прокомментированных партий и ежемесячные обновления (партии, анализы, тренинги, теория и видео). К сожалению, у нас не так много клиентов из России, но многие российские игроки пользуются ChessBase. Возможно, вас заинтересует информация, что для пользователей из России доступ к Playchess.com абсолютно бесплатен. Любой желающий может переписать клиентское ПО на http://www.playchess.com. Если он играет из России, сервер автоматически определит это и наделит пользователя необходимыми правами и привилегиями (даже если тот не купил подписку).


Алексей Доля: Большое спасибо, что согласились ответить на наши вопросы.

Интервью с гроссмейстером


На наши вопросы любезно согласился ответить известный гроссмейстер Сергей Шипов.


Гроссмейстер Сергей Шипов

Алексей Доля: Чем лично вы предпочитаете пользоваться: ChessBase или Chess Assistant?

Сергей Шипов: Раньше пользовался Ассистентом, последние годы предпочитаю Бейз.


Алексей Доля: Почему?

Сергей Шипов: Бейз бесплатен, можно качать Твики в Интернете и подливать к Мегабазе. И что очень важно для меня, как профессионального шахматного журналиста, в Чессбейзе очень удобно комментировать партии. (Надо заметить, что и к ChessAssistant можно скачивать партии бесплатно. Просто их специально не комментируют. Прим. автора)


Алексей Доля: По-моему, бесплатная версия ChessBase имеет существенные ограничения на размер Мегабазы. Разве нет?

Сергей Шипов: У меня большая Мегабаза, и ничего - работает нормально. Правда, у меня не бесплатная версия ChessBase. Люди с легальными версиями программ могут распространять их среди друзей.
Под термином "бесплатен" я подразумевал подливки - последние партии. Ассистант собирает за подписку деньги. Пусть и небольшие, но это раздражает изрядно. Продают то, что бесплатно есть в Интернете. Да, Ассистант поставляет "подливки" с большим количеством партий, нежели есть в свободном доступе в Интернете. Но за счет чего? Сотни партий из невероятно слабых швейцарок! Ценность этих партий близка к нулю. А между тем десятки, если не сотни тысяч хороших партий из советских турниров отсутствуют в базах. Вот чем надо заниматься. За эти партии можно было бы и заплатить.

От автора: Основное отличие платной и бесплатной подписки Chess Assistant - российские партии, партии некоторых стран бывшего СССР, которых нет в свободном доступе в Интернете. Разработчики уверяют, что работа по пополнению партиями старых годов, в том числе и советскими турнирами, ведется постоянно.


Алексей Доля: Вы не могли бы сравнить ChessBase и Chess Assistant, как шахматист? Что удобнее и приятнее? Конечно же, интересует ваша личная точка зрения.

Сергей Шипов: Признаться, я не изучал последние версии Ассистанта. Поэтому такое сопоставление некорректно. До недавнего времени игровые модули (Фриц, Джуниор и т.д.) не работали из Ассистанта. Для меня это шлагбаум - работать нельзя. Говорят, последняя версия Ассистанта поддерживает модули. Что ж, в этом случае им тоже можно пользоваться. Но от добра добра не ищут. Особенно, если это не касается собственного кармана.

От автора: Тут есть тонкость. В ChessBase входит только аналитический модуль программы Fritz, с которым нельзя играть. В Chess Assistant же входят несколько аналитическо-игровых программ, в том числе и гроссмейстерского уровня.


Алексей Доля: Это факт, что каждый гроссмейстер пользуется шахматной программой для подготовки к партиям и слежением за новинками?

Сергей Шипов: Да, конечно. Информацию по соперникам можно получить за пять минут. Нащупать слабые места в их дебютной подготовке, освежить в памяти нужные дебютные схемы, проанализировать ключевые позиции на выходе из дебюта. Все это без компьютера крайне трудно сделать.
Новинки можно выловить, просматривая последние партии. Это кропотливая работа, требующая большого времени и труда. Профи высокого уровня делают это непременно. Сами или их тренеры.


Алексей Доля: А как насчет Югославских Дебютных Энциклопедий? Они пользуются спросом или компьютер заменяет и их тоже?

Сергей Шипов: Книги как источник знаний постепенно сдают свои позиции. Энциклопедии быстро устаревают (теория быстро развивается), хотя, конечно, в качестве базы они всегда хороши. Туда можно изредка заглядывать, чтобы освежить знания. А можно и не заглядывать! Выставил позицию на компьютере, сделал поиск по большой базе и посмотрел, как в ней играли сильные шахматисты. Особенно хороши базы с комментированными партиями. Тогда надобность в энциклопедиях отпадает. В сложных положениях можно включить железного друга и довольно быстро разобраться в тактических осложнениях. Так что железо неизбежно съест бумагу. Я уж не говорю, что все книги можно иметь в электронном виде...


Алексей Доля: По поводу тактических осложнений: неужели здесь без компьютера никак?

Сергей Шипов: Нет, почему же, можно и без компьютера. Только придется затратить гораздо больше времени и сил. И никто не даст гарантии, что в вашем анализе нет явной дыры. Это все равно, что поднимать вручную то, что можно поднять на лифте. Бессмысленно. Был бы только лифт...


Алексей Доля: Кстати, о железных друзьях. Ресурсов ноутбука обычно хватает, чтобы сделать поиск по дереву или проанализировать сложную позицию? Я вроде знаю, что у ноутбуков процессоры пока послабее обычных ПКшных.

Сергей Шипов: Нет, сейчас с этим проблем нет. Современные ноутбуки сильнее вчерашних стационаров. На них можно выполнять любые задачи. Конечно, глубокий и сложный анализ лучше проводить с помощью максимально сильного компьютера. Между соревнованиями это можно делать дома, у своего родного стационара. А на соревнованиях работаем с ноутбуком. Утром перед партией в гостинице...


Алексей Доля: И последний вопрос о бумажных шахматных ресурсах. Есть ли смысл отслеживать новинки через New in Chess или это слишком слабо для уровня гроссмейстера?

Сергей Шипов: Надо разделять понятия. Бумажные издания, как правило, поставляют качественную информацию. Но с большим запозданием, и этот минус весьма весом. Для практиков это не годится. А вот через компьютер можно все отслеживать очень оперативно. Другое дело, что приходится отсеивать в море слабых партий стоящие идеи. Но на этот счет есть элементарные правила - смотри партии сильных шахматистов, которых сегодня сотни...


Алексей Доля: То есть New in Chess - это вчерашний день?

Сергей Шипов: Не хочу обижать уважаемое издание, но, скорее всего, так и есть.


Алексей Доля: Какие игровые шахматные программы являются лучшими сегодня, на ваш взгляд?

Сергей Шипов: Фриц и Джуниор. В целом они примерно равны по силам, у каждой - свои плюсы.


Алексей Доля: А недавний триумф программы Shredder? Судя по всему, она обыграла названые вами программы.

Сергей Шипов: Я попробовал Шреддер в анализе - не впечатляет. Есть у меня тестовые позиции...


Алексей Доля: Как вы считаете, когда шахматист играет с компьютером, он всегда делает "антикомпьютерные" ходы или играет, как с обычным человеком? Вообще, существует ли какая-нибудь "антикомпьютерная" стратегия в шахматах?

Сергей Шипов: Стратегия существует. Суши позицию, держи ее закрытой. Чем меньше тактики, тем выше шансы человека. Играть с компьютером как с обычным человеком легко. Вот только устоять трудно. А при быстром контроле и вовсе невозможно. В блице программы уже намного сильнее лучших людей планеты.


Алексей Доля: На вашем сайте есть несколько позиций, где даже самые маститые игровые программы не верно оценивают позицию. Вы сами нашли такие расстановки фигур? Каким образом, просто экспериментировали?

Сергей Шипов: Конечно, сами нашли. При нашем опыте работы с компьютером, это было легко. Когда анализируешь сыгранные партии, иногда сталкиваешься с глупостью программ. Поэтому понятно, где искать. Они имеют изъяны, в основном в окончаниях, и их надо знать, чтобы не попасть впросак. Уверен, эти изъяны вскоре будут исправлены…


Комментарии Сергея Шипова: "Оценки этой ничейной позиции даются такие: Junior-7: + 7.64 Fritz-7: + 7.47. Я напомню, что оценки даются в пешечном эквиваленте. Знак "плюс" перед числом говорит, что оценка в пользу белых, а знак "минус" - в пользу черных. Самое забавное, что даже если сбросить три пешки, программы продолжают считать позицию белых выигранной…"



Комментарии Сергея Шипова: "Оценка позиции. Junior-7: - 18.34, Fritz-7: -26.59. Главная прелесть этого примера в том, что разница в оценке позиции между Fritz’ем и Junior’ом достигает 8 пешек. Очевидно, Junior чует, что что-то неладно с чёрными слонами и оценивает их всего в 2 пешки каждого"



Комментарии Сергея Шипова: "Пока не пройдет 49 ходов, оценка Junior-7: - 6.54 Fritz-7: - 8.38"

Алексей Доля: Действительно они больше похожи на всякие граничные случаи, которые не учли инженеры и программисты. А вообще, как вы считаете, кто разрабатывает шахматные программы: компьютерщики или шахматисты? Известны ли случаи, чтобы какого-нибудь гроссмейстера приглашали для консультации?

Сергей Шипов: Не знаю, мне не приходилось общаться с разработчиками. Во всяком случае, это следовало бы сделать! Сильные компьютерщики должны сотрудничать с сильными шахматистами. Только тогда можно двигаться вперед не только за счет наращивания компьютерных мускулов, но и за счет учета тонких шахматных нюансов.


Алексей Доля: По каким критериям компьютер оценивает позицию? Хотя бы примерно. Ведь совершено непонятно, как машина может оценить перспективы развития атаки или ослабленность фланга.

Сергей Шипов: Нет, это как раз совершенно понятно. Перспективы развития - это количество развитых (или неразвитых фигур) в конце вариантов. С учетом их глубины это и есть перспектива. Ослабление фланга - тоже легко формализовать. Монолитность пешечных рядов, их подвижность и т.д. А базовая оценка, это, конечно, соотношение материала, плюс развитие, обладание центром, безопасность королей. Важно только правильно расставить веса. Что важнее? И в каких позициях? Создатели программ в этом и соревнуются.


Алексей Доля: О глубине счета шахматных программ: как далеко может считать самая сильная программа?

Сергей Шипов: Ответ условен. В простых позициях - хоть на 30-40 ходов вперед. В сложных, многофигурных машина будет всю ночь думать и с трудом дойдет до 20-ти. Но, естественно, в скорости, аккуратности счета и глубине - в совокупности - лучшие программы уже намного превосходят гроссмейстеров. Это факт.


Алексей Доля: Гроссмейстеры играют тренировочные партии с компьютерными программами? Или это плохой способ тренировки?

Сергей Шипов: Нет, это сейчас уже не принято. Играть с людьми на турнирах и с компьютером - совершенно разные вещи. Абсолютно разные стратегии. Для тренировки лучше зайти в Интернет и поиграть в игровых зонах с людьми. Или найти себе спарринг партнера в реале.


Алексей Доля: Скоро будет матч Каспарова с Fritz, как вы думаете, кто победит (вопрос задавался до матча - прим. редактора)?

Сергей Шипов: Ставлю на ничью. Силы примерно равны, к тому же ничья экономически выгодна - появляется надежда на следующую серию (как видите, Сергей оказался провидцем - прим. редактора)...


Алексей Доля: Часто после матча человек-компьютер ходят толки, что человеку заплатили, чтобы он сыграл вничью или проиграл. Как вы считаете, правда в этих слухах есть?

Сергей Шипов: Люди склонны упрощать, а также искать злой умысел. Матчи с компьютерами - заведомо выгодное дело. Гонорары "К" известны, зачем им еще и детскими хитростями заниматься? Другое дело, что они сами не возражают против ничейного исхода - интригу выгодно поддержать. В шахматах всегда есть возможность компромисса.


Алексей Доля: А бывали случаи, чтобы рядовые игроки консультировались с компьютером (незаконно) во время турнирных партий? Вроде бы именно поэтому запретили пользоваться мобильными телефонами, пейджерами и всем остальным в игровой зоне.

Сергей Шипов: Да, были. Один немецкий любитель 50-ти лет от роду неожиданно для всех выиграл сильную швейцарку и лишь по случайности попался. Наушник был в ухе. А один мусульманин прятал передатчик в складках своей национальной одежды. Где и находились почти все время его чуткие руки. Такие случаи, к сожалению, становятся регулярными. Слишком велик соблазн - резко усилить свою игру. Когда на кону стоят серьезные деньги...


Алексей Доля: Как вы смотрите на перспективы борьбы "человек-компьютер" вообще? Неужели это факт, что уже близко время, когда компьютер будет играть в шахматы сильнее всех на планете?

Сергей Шипов: Да, это факт. Никакой трагедии в этом я не вижу. Никого же не расстраивает тот факт, что автомобиль обгоняет бегуна, и что подъемный кран справляется с большим весом, чем штангист! Конечно, эти аналогии носят иллюстративный характер. Физические нагрузки и умственные - разные вещи. Более точные аналогии - арифметический счет, поиск оптимальной стратегии, автоматизированные системы управления и т.д. и т.п. Уверен, компьютерный мозг постепенно разберется в шахматах. И станет играть лучше наших белковых чемпионов.


Алексей Доля: Вы сами играете с кем-нибудь в шахматы on-line? Вообще, это популярно среди сильных игроков?

Сергей Шипов: Да, конечно. Я являюсь завсегдатаем нескольких игровых зон Интернета. И регулярно играю в шахматы, не видя соперника, не зная его настоящего имени и т.д. Благодаря всемирной паутине можно в любое время суток удовлетворить свой шахматный голод, попрактиковаться, отвести душу. Этим шахматы кардинально отличаются от всех остальных видов спорта! Они просто созданы для виртуальности.


Алексей Доля: Сергей, спасибо за потраченное на нас время. Удачи вам и всего хорошего!

Fritz


Об игровой программе Fritz нам удалось расспросить одного из ее разработчиков. На наши вопросы отвечает Франс Морш (Frans Morsch).


На наши вопросы отвечает Франс Морш. Именно его руками создан шахматный интеллект программы Fritz

Алексей Доля: Франс, какова ваша роль в судьбе программы Fritz?

Франс Морш: Я один из шести разработчиков, которые работают над программой. Я отвечаю за шахматный интеллект. Остальные специализируются на вводе/выводе, 3d-графике, дебютной базе данных, функциях базы данных, взаимодействии с Интернетом и т.д.


Алексей Доля: А сами вы играете в шахматы?

Франс Морш: Я очень люблю шахматы, но игрок я не блестящий :).


Fritz 8: Цветные маркеры иллюстрируют идеи

Алексей Доля: Я так понимаю, что вы - программист. Так?

Франс Морш: Да, я профессионально занимаюсь "шахматным" программированием с 18 лет. В прошлом я писал программы для таких компаний, как Mephisto, Fidelity и Saitek. Но сейчас я "программирую шахматы" только для ПК.


Алексей Доля: Если не секрет, на чем написан Fritz?

Франс Морш: Тайны нет: Fritz написан на ассемблере.


Алексей Доля: Вы считаете, Fritz - самая сильная программа сегодня?

Франс Морш: Да, так показывают наши тесты.


Алексей Доля: А как именно вы определяете, кто сильнее? Что за тесты?

Франс Морш: Мы заставляем программы играть друг с другом матчи. Для этого используется функция автоигры в Fritz. Тем не менее, нельзя полагаться на одни только матчи между программами. Например, если разработчики и одной программы и другой не реализовали (плохо реализовали) какую-то возможность, то программы не смогут наказать друг друга за слабую игру. Именно поэтому требуется играть с человеком. Мы очень рады что с нашей программой сразился Гарри Каспаров.


Fritz 8: в партии компьютер показывает свой последний ход стрелочкой

Алексей Доля: Некоторое время назад Shredder стал чемпионом. Он победил Fritz?

Франс Морш: Нынешний чемпион - Junior, не Shredder. Shredder не сильнее Fritz, просто ему удалось победить другие шахматные программы.


Алексей Доля: Shredder или Junior сейчас побеждают Fritz?

Франс Морш: Текущая версия Fritz сильнее Junior и Shredder, но вполне возможно, что разработчики Junior или Shredder уже разработали новые, более сильные версии. Сейчас все так быстро меняется.






Раз уж речь зашла о программе Shredder, то надо привести пару картинок. Да еще таких красивых…

Алексей Доля: Это сложно, научить компьютер сильно играть в шахматы?

Франс Морш: Нет, это не сложно. Скорость современных ПК позволяет достичь вполне удовлетворительной силы игры, но подняться выше - намного сложнее. Шахматы - это игра бесконечная по набору стратегий, шаблонов, комбинаций и т.д. Я добавляю новые возможности в программы уже 15 лет, но конца-края так и не видно.


Алексей Доля: Каковы основные возможности Fritz? Что бы вы выделили на фоне конкурентов?

Франс Морш: Fritz разрабатывался как инструмент анализа для очень сильных шахматистов. Мы постарались сделать программу, которая будет одинаково сильно играть во всех позициях. Перед матчами с Крамником и Каспаровым я много работал, чтобы повысить эффективность программы при игре именно с людьми. Компьютеры очень часто не понимают ничейность многих позиций. Это одна из областей, в которых Fritz сделал большой шаг вперед.


Fritz 8: та же партия, что и в предыдущий раз, и снова стрелочка

Алексей Доля: А как Fritz анализирует позицию?

Франс Морш: Fritz использует технику выборочного анализа под названием поиск с нулевым ходом. Частью такой технологии является то, что Fritz позволяет одной из сторон ходить дважды (другая сторона пропускает ход или делает нулевой ход). Это позволяет программе определить, содержит ли первый ход угрозу. Генераторы ходов, функции оценки позиции и шаблоны - все это смешивается таким образом, чтобы максимизировать эффективность поиска с нулевым ходом.


Алексей Доля: Как определяется, чья позиция лучше?

Франс Морш: Программа использует функцию оценки, которая учитывает все аспекты позиции: баланс материала, пешечную структуру, активность фигур, возможность атаки на короля и т.д. Результат функции оценки - это число. Это число можно рассматривать как вероятность победы.


Алексей Доля: Можете объяснить, что собой представляет шахматный интеллект?

Франс Морш: "Шахматное" программирование - это программирование искусственного интеллекта. Искусственный интеллект работает в основном с аспектами поведения: нужно заставить компьютер вести себя так, будто он сущность, наделенная интеллектом, но не просто функционировать, как человеческий интеллект. Шахматная программа может пройти тест Тьюринга только если ее поведение будет неотличимо от поведения человека. Современные шахматные программы к этому все ближе и ближе. Их игра мало, чем отличается от игры сильнейших гроссмейстеров.


Fritz 8: дерево вариантов в правом нижнем углу, красивая объемная доска в центре и снова сицилианская защита

Алексей Доля: Что именно вы оптимизируете, когда готовите Fritz к игре с компьютером или человеком?

Франс Морш: Против компьютеров очень важен быстрый и эффективный поиск. С человеком важно подготовить программу к игре в самых различных позициях, которые только бывают.


Алексей Доля: Как вы думаете, кто выиграет в матче Каспаров-Fritz (вопрос задавался до матча - прим. редактора)?

Франс Морш: Думаю, выиграет Fritz со счетом 2,5 на 1,5.


Алексей Доля: С вашей точки зрения, время, когда компьютеры будут играть сильнее всех на планете, близко?

Франс Морш: Я думаю, что оно уже наступило. Но по-прежнему будут находиться случаи, когда человек обнаружит слабое место программы и победит. То есть триумф интуиции над грубой силой. Шахматы это больше, чем расчет вариантов. Если бы это было не так - они бы не стали такой популярной игрой.


Алексей Доля: Спасибо, что согласились побеседовать с нами. Удачи вам и вашему продукту!

XBoard/WinBoard


Тим Манн (Tim Mann) является главным разработчиком популярной оболочки XBoard/WinBoard для шахматных движков. Думаю, наши Linux-читатели неоднократно встречали ее в списке пакетов, по умолчанию поставляемых вместе с дистрибутивами Linux.


Алексей Доля: Расскажите немного о себе.

Тим Манн: Я - Тим Манн, имею докторскую степень по вычислительной технике (computer science). В шахматы играю не сильно.


Тим Манн - "лицо" всех свободных шахматных движков :)

Алексей Доля: Я так понимаю, что XBoard/WinBoard - это GUI-оболочка для различных шахматных движков. Правильно?

Тим Манн: XBoard/WinBoard - это графический интерфейс для игры в шахматы. Обе программы отображают шахматную доску на экране, принимают от пользователя ходы, сделанные мышкой, а также загружают/сохраняют партии в формате Portable Game Notation (PGN). Фактически эти программы являются внешней оболочкой многих шахматных служб, включая:

Шахматные движки, которые запускаются на компьютере и играют с вами или помогают анализировать. Примерами являются GNU Chess, Crafty и другие.

Шахматные серверы, находящиеся в Интернете. Вы подсоединяетесь к такому серверу и играете с кем-нибудь из тех, кто там уже есть. Можно также смотреть на игру других людей или сидеть в чате.

XBoard и WinBoard являются абсолютно свободными. Авторские права на них принадлежат Free Software Foundation. Сами программы распространяются под лицензией GNU GPL.


XBoard позволяет играть в шахматы под UNIX/Linux. Естественно, при наличии движка

Алексей Доля: То есть сила игры программы не зависит от XBoard/WinBoard? Она зависит от силы игры шахматного движка, так?

Тим Манн: Абсолютно верно.


Алексей Доля: А какие движки могут работать с XBoard/WinBoard?

Тим Манн: Их более 200 штук. Где-то год назад я перестал вести список таких движков (тогда их было 175). Мой самый последний список доступен здесь http://www.tim-mann.org/engines.html. Если вас интересует лист, отсортированный по странам, зайдите на страницу http://wbec-ridderkerk.nl/ и кликните на "Country". Автор страницы насчитал 229 таких движков, 222 из которых полностью свободны, а 7 являются коммерческими.


Winboard собственной персоной

Алексей Доля: Вы работаете над новыми версиями XBoard/WinBoard?

Тим Манн: Я работаю над исправлением некоторых багов. В этом месяце планирую выпустить исправленный релиз. В последнее время я не занимаюсь разработкой непосредственно, лишь координирую ее. У нас есть новая страница по адресу https://savannah.gnu.org/projects/xboard. К нашему проекту присоединились Даниэль Мерманн (Daniel Mehrmann) и Марк Иоли (Mark Ioli). Мы всегда рады новым разработчикам :).


Алексей Доля: Когда именно появится новый релиз?

Тим Манн: Ближайший релиз - 4.2.7. Он появится в конце ноября 2003 года. Он не будет содержать новых возможностей, но около 20 несущественных багов будут исправлены.
Разработчики, участвующие в проекте, работают в основном над следующим основным релизом. Так как наш проект является free software, над ним работают в основном добровольцы в свое свободное время. Поэтому у нас нет предопределенного графика и мы не анонсируем выход новых версий. Хотя мы хотим сделать так, чтобы наша работа была доступна в репозитарии CVS на нашей странице Savannah (см. ссылку выше). Мы также хотим объединить все патчи, которые уже выпустили (см. здесь).


Алексей Доля: Спасибо, что согласились рассказать нам о своей программе. Всего доброго!

GNU Chess


О шахматном движке GNU Chess нам согласился рассказать основатель этого проекта, а ныне его главный разработчик. На наши вопросы отвечает Стюарт Кракрафт (Stuart Cracraft).


Алексей Доля: Стюарт, расскажите вкратце о себе. Вы ученый-программист или шахматист?

Стюарт Кракрафт: Я играю в шахматы и программирую их еще с 70-ых годов. Ко многим основным исследованиям я приложил руку. Я с удовольствием вспоминаю те времена, когда засиживался в библиотеке и читал труды действительно пионеров в этой области: Ричарда Гринблатта (Richard Greenblatt), Ганса Берлинера (Hans Berliner) , Дэна и Кита Шпраклена (Dan and Kathe Spracklen), Боба Хайатта (Bob Hyatt) и других.
Я прочел все, что тогда было известно по этому вопросу. Подумал немного и создал GNU Chess.


Создатель GNU Chess, Стюарт Кракрафт, отвечает на наши вопросы

Алексей Доля: Какова вообще ваша роль в этом проекте?

Стюарт Кракрафт: Я начал проект примерно в 1984 году. Перед этим мы посовещались с Ричардом Столлманом и решили, что первая версия GNU Chess будет хорошим талисманом для проекта GNU в целом. Ну, вы знаете, как у футбольной команды может быть талисманом собака или какое-нибудь другое животное.
Я довольно быстро понял, что развитие и поддержка проекта отнимают много времени. В этот момент частная программа Джона Стэнбэка (John Stanback), которая в будущем стала частной программой Zarkov, фактически заменила GNU Chess версии 2, 3 и 4. John любезно поделился некоторыми возможностями своей программы, в результате GNU Chess стала очень популярной за счет резко возросшей силы игры. Это вполне закономерно, ведь на тот момент когда Джон поделился своей программой, он разрабатывал ее уже 7 лет!
За годы исходный код GNU Chess стал очень запутанным. Связь между файлами проекта превратилась просто в дремучий лес. Я долго думал и решил заменить весь код на код такой же по силе игры или даже лучше, но более понятный и ясный. Так, собственно, и произошло.
В последнее время за проектом в основном следит Саймон Вотерс (Simon Waters). У меня два ребенка близнеца, так что свободного времени почти не остается. Саймон развивает проект дальше. Главное, что код проекта вполне понятен. Вы можете сами разобраться, что там и как происходит. А если надо - можете что-то поменять. Думаю, главное преимущество этого кода в том, что он использует современные структуры данных и современные алгоритмы для реализации компьютерных шахмат. За счет этого текст программ очень короткий.
Где вы еще найдете поиск, сортировку, хеширование, искусственный интеллект и стандартные структуры данных, реализованные в шахматной программе? Это отличный пример программирования вообще.


Алексей Доля: Насколько я понимаю, GNU Chess - это шахматный движок, в котором реализованы искусственный шахматный интеллект и основные правила шахматной логики. Так?

Стюарт Кракрафт: Именно так. Код, о котором вы спрашиваете, написал Конг-Сиан Чуа (Kong-Sian Chua) из Сингапурского Центра Суперкомпьютеров. Он запрограммировал генератор ходов, используя битовую доску. Я описал этот метод в журнале Компьютерной Шахматной Ассоциации много лет назад. Реализация получилась довольно чистой, сильной и хорошей - мне понравилось. В результате появился полностью новая версия GNU Chess 5. Помимо этого Чуа реализовал функции оценки позиции и поиска. Сейчас он занимается другими проектами.


Алексей Доля: Пожалуй, главный вопрос, который меня терзает. Можете описать, как думает шахматная программа?

Стюарт Кракрафт: Большинство шахматных программ состоит из нескольких частей:

Генератор ходов;
Функция оценки позиции;
Функция поиска;
Обработка ввода/вывода;
Дебютная база данных.

Функция оценки позиции должна "измерить" позицию, не двигая фигур и не считая вариантов. Когда вы добавляете к ней функцию поиска (она сканирует дерево вариантов), то получаете возможность оценить позицию точнее, приблизить оценку к реальности. Критической частью является генератор ходов. Он так важен потому, что от скорости его работы зависит быстродействие всей программы. Чтобы программа лучше играла в дебюте и не считала варианты впустую, используется дебютная база данных. С ее помощью программа выбирает лучшие продолжения с точки зрения теории.
Функция оценки позиции должна выставить числовую оценку. За каждое положительное свойство позиции к общей оценке прибавляется чуть-чуть, а за каждое отрицательное отнимается. Оценивать можно быстро и медленно. Если урезать дерево подвариантов, то можно сэкономить очень много времени.


Алексей Доля: А какие-нибудь уникальные технологии в GNU Chess есть?

Стюарт Кракрафт: Битовые доски были не очень популярны, когда появилась версия GNU Chess 5. Но разработчики других шахматных программ быстро сообразили выгоду их применения. Вообще битовые доски впервые подверглись тщательному изучению в России еще в 60-ых годах (Георгий Адельсон-Вельский и др.). Дэвид Стейт и Ларри Аткин (David Slate и Larry Atkin) в своей программе Chess 3.x/4.x расширили эту концепцию. Их известная программа Chess 4.5 была самой сильной в 70-ых годах. Сейчас битовые доски - стандартная практика. Они позволяют реализовать генератор ходов и функцию оценки позиции, используя стандартные структуры данных.
Схема использования дебютной базы данных, при которой программа просматривает все позиции в базе, сейчас не очень популярна. Я слышал лишь однажды об ее применении: Кен Томсон (Ken Thompson) реализовал такой подход и вместе с Бобом Хайатом (Bob Hyatt) воплотил его в Crafty и, скорее всего, в Cray Blitz годы спустя.
Понимаете, в то время, когда все создавали свои шахматные программы, было не принято говорить вслух об используемых методах и технологиях. В результате я даже не знаю, было ли то, что я воплотил в своей программе, новой технологией или ее уже использовали до этого. Сейчас, например, битовые доски и дебютные базы данных являются вполне обычными приемами. Но пока у людей нет доступа к исходному коду других хорошо написанных шахматных программ, невозможно сказать, что уникально, а что нет.


Алексей Доля: А в чем смысл битовых досок? Можете кратко пояснить?

Стюарт Кракрафт: Берется два 32-битных слова (или одно 64-битное). Информация о позиции представляется в виде 12-битной доски. Единицы стоят там, где стоят пешки. Также и для фигур. Потом применяется генератор ходов. Сами битовые доски используются для оценки позиции.


Алексей Доля: Как вы считаете, GNU Chess - сильная программа? Вы сами ее обыгрываете?

Стюарт Кракрафт: Думаю, сильная. Я не могу ее обыграть пока действительно не сконцентрируюсь на игре. Сегодня разработчику программы очень сложно обыграть свое детище - аппаратное обеспечение шагнуло так далеко, что... ну, сравните сами с 70-ми и 80-ми годами.
На Free Internet Chess Server (FICS) программа GNU Chess добивается хороших результатов, но, конечно, меньших, нежели коммерческие и частные программы.
Ни одна из существующих программ для ПК не играет так сильно и так быстро, как играл Deep Blue. Причина, по которой, сегодняшние программы сыграли вничью с Каспаровым и Крамником в том, что Гарри, однажды проиграв Deep Blue в 1997 году, не хочет больше рисковать. Он играет очень осторожно. В этом случае очень сложно выиграть, но и проиграть сложнее. Пример Каспарова напугал многих. Крамник играет тоже очень не спеша. Так будет продолжаться еще долгие годы. Пока какая-нибудь программа, играющая также сильно как Deep Blue, не появится на арене.
Я рекомендую всем и каждому почитать книгу Фенг-Хсиунг Хсу (Feng-Hsiung Hsu) "Behind Deep Blue". Когда я читаю эту книгу, то расслабляюсь полностью. Вес проблемы меня оставляют и просто отдыхаю. Отличная книга!


Алексей Доля: Стюарт, большое спасибо. Удачи вам и вашей программе!

Crafty


О программе Crafty (очень известном шахматном движке) нам согласился рассказать ее создатель и главный разработчик Роберт Хайат (Robert Hyatt).


Алексей Доля: Роберт, расскажите немного о себе.

Роберт Хайат: Я играю в шахматы примерно с десятилетнего возраста. Преподаю вычислительную технику (computer science) с 1970 года. С 1970 по 1985 годы я преподавал в Университете Южной Миссисипи. С 1985 года и по сей день я преподаю в Университете Алабамы в Бирмингеме (Birmingham).


Роберт Хайат - разработчик Crafty и основоположник многих компьютерно-шахматных технологий

Алексей Доля: Какова ваша роль в проекте Crafty?

Роберт Хайат: Я написал эту программу от и до.


Алексей Доля: Я так понимаю, что Crafty - это движок. В нем реализованы все проявления шахматного искусственного интеллекта. Так?

Роберт Хайат: Нет. "Все" - это слишком громко сказано. В нем реализованы лишь "некоторые" известные алгоритмы искусственного интеллекта: альфа/бета минимакс, транспонированные таблицы, расширения поиска (поиск переменной глубины) и т.д.


Алексей Доля: Вы не могли бы рассказать, как это все работает?

Роберт Хайат: Поиск хода, осуществляемый Crafty, состоит из трех частей.

Основной поиск. Программа просто двигает фигуры с места на место, следуя правилам шахмат. Естественно, фигуры противника тоже двигаются. Это делается до тех пор, пока не будет зафиксировано определенное количество ходов. Также ограничивается время поиска очередного хода.

Теперь мы переходим к неподвижному поиску. Здесь производится поиск только тех ходов, при которых происходит взятие фигуры или пешки. Это позволяет проверить, какие фигуры/пешки защищены, а какие "висят". После этого...

Финальная стадия поиска - это статическая оценка. Именно здесь "мозги" программы. Теперь, если у нас ничего не "висит" и не видно матовых угроз и т.п. (первые две фазы поиска заботятся о тактических угрозах), то можно перейти к оценки позиции: мы смотрим, где стоят фигуры и пешки, какая между ними координация. На основании этих факторов и выносится количественная оценка позиции. В начале мы считаем, у кого сколько пешек и фигур. То есть, проводим оценку материала. Затем нужно оценить безопасность короля, пешечную структуру, расположение фигур, форпосты, открытые линии, слабые пункты, и т.д. Результат - число, указывающее у кого позиция лучше и на сколько. Crafty выбирает тот ход, который ведет к позиции с максимальной оценкой.


Алексей Доля: Вы не могли бы рассказать об альфа/бета минимаксе? Что это?

Роберт Хайат: Это стратегия поиска, которая была изобретена примерно 50 лет назад. Основная идея минимаксного поиска в том, что в корень дерева мы хотим поместить максимальную числовую оценку. Но так как мы играем не одни - есть еще и противник - на следующей стадии мы хотим получить минимальную числовую оценку. Альфа/бета это алгоритм, который помогает получить минимаксный результат, не производя особенных усилий.


Алексей Доля: Что такое транспонированные таблицы?

Роберт Хайат: Это таблица, в которую заносятся результаты по мере поиска. Поэтому если я получу такую же позицию, которую только что обсчитал, но с перестановкой ходов, то заново ее оценивать не надо будет. Результат можно будет сразу взять из таблицы. Экономия времени.


Алексей Доля: Как программа производит саму оценку позиции? Как доводит этот параметр до числа?

Роберт Хайат: Идея не очень сложна. Для примера рассмотрим простой подход. Пусть пешка стоит 100 единиц, конь/слон - 300 единиц, ладья - 500, ферзь - 900.
В начале нужно посчитать, у кого сколько материала. Если материала поровну, то начальная оценка позиции равна нулю. Пусть у нас так и будет.
Мы замечаем, что на линии "е" нет пешек. Также мы видим, что на этой линии стоит белая ладья. А черная ладья линию не контролирует. Белые получают небольшое позиционное "преимущество", которое прибавляется к общей оценке позиции. То есть к нулю. Скажем, прибавляется 10 единиц (1/10 часть пешки).
Или, например, мы заметили, что белая ладья заняла 7-ую горизонталь. Прибавляем 20 единиц или более. Если у белых две ладьи на 7-ой горизонтали, прибавляем 40 (примерно). Это операция повторяется и повторяется...


Алексей Доля: А какие-нибудь ноу-хау в Crafty есть?

Роберт Хайат: Так как Crafty является программой "open source", в ней нет ничего уникального. Ведь все ее идеи моментально становятся известны общественности. Например, в Crafty впервые был реализован одновременный поиск на многопроцессорных машинах (здесь речь идет о микрокомпьютерах). Сегодня это умеет делать почти каждая программа.


Алексей Доля: Есть ли еще какие-нибудь алгоритмы или технологии, которые вы хотите реализовать в Crafty в будущем?

Роберт Хайат: Да, есть еще так много знаний... Можно, например, избегать блокированных позиций. Но для этого нужно научиться понимать, когда блокада - это хорошо для противника, а когда - для тебя. Но развитие Crafty сейчас идет очень медленно.


Алексей Доля: Вы - разработчик Crafty. Вы понимаете, как программа думает. Может быть вы знаете, какие-нибудь "анти-Crafty" ходы? Простые для человека, но сложные для машины.

Роберт Хайат: Очень сложно найти такие ходы. Во-первых, машина думает очень быстро, во-вторых, Crafty - отнюдь не глупая программа. Например, она знает много о пешечной структуре, расположении фигур, безопасности короля и т.д. Может, гроссмейстер и смог бы найти здесь дыры, но не я.


Алексей Доля: Как вы лично оцениваете силу игры Crafty?

Роберт Хайат: Действительно сильная программа. Думаю, человек не сможет ее победить при игре в блиц. Также с ней очень нелегко справиться на коротких контролях времени (например, 30 минут).
У меня нет абсолютно никаких шансов выиграть у этой программы. Я не гроссмейстер. Но и гроссмейстеры испытывают большие трудности при игре с ней.


Алексей Доля: Роберт, большое спасибо, что согласились поговорить с нами. Действительно было очень интересно и познавательно. Удачи вам и творческих успехов!

Заключение


Ну, вот наш обзор и подошел к концу. Хотелось бы добавить, что вопросы типа "Как вы думаете, кто победит: Каспаров или Fritz?" я задавал еще до самого матча. Так что у нас есть возможность проверить прогнозы интервьюируемых на практике. В заключение привожу список самых полезных шахматных ссылок:

http://www.worldchessrating.ru - новостной портал. Много хороших статей, свежие турнирные партии, оперативные новости.

http://www.chessassistant.ru - шахматный магазин. Здесь есть все: шахматы, книги, программы, базы...

http://www.bereg.ru/games/club/hall.shtml - шахматный клуб on-line. Здесь можно поиграть в шахматы абсолютно бесплатно и без дополнительного ПО. Браузер сам загрузит Java-апплет, в котором есть все необходимое.

http://www.shahmaty21.com - еще один шахматный клуб для игры в on-line. Более навороченный, чем предыдущий. Но эти "примочки" только затрудняют использование сайта. Единственный его плюс - много сильных игроков.

http://www.chessclub.com - международный шахматный клуб для игры on-line. Требует регистрации, потом вы можете неделю играть бесплатно. Дальше нужно платить. Самый главный плюс - там много очень сильных игроков (заметьте, в прошлый раз я говорил просто "сильных игроков" :)).

http://www.playchess.com - игровой сервер, о котором рассказывал основатель компании ChessBase. Главное достоинство, что для российских пользователей весь спектр услуг доступен бесплатно.

http://www.chessbase.com - официальный сайт компании ChessBase. Информация об их базе данных и игровых шахматных программах.

http://www.newinchess.com - сайт известного шахматного журнала. Есть доступ к on-line базе данных и возможность поиска по ней. Неплохой магазин англоязычной шахматной литературы.