Интервью Юрия Осипова, автора успевшей стать знаменитой "Стрелки".

1. Юрий, наверное, Вы не ожидали такого приема Вашего движка. Повторяемые как заклинания слова “клон, клон, клон” не содержат каких-либо серьезных фактов и аргументов и фактически являются голословными. Причем первые скрипки в этом хоре играют, пожалуй, наши соотечественники.
Не кажется ли Вам, что одной из причин, по которой  это произошло, стала слишком скупая характеристика Вашего движка, о котором Вы сказали, что он  обычный альфа-бета, который и реализовался в виде шахматного движка Strelka, ничего оригинального там нет, все уже было тысячу раз реализовано и рассказано другими - даже и добавить нечего, алгоритм совершенно стандартный.  


Я действительно не ожидал такого приема, и от этого чувствую себя сегодня не очень комфортно. Что касается краткого описания алгоритма, то алгоритм в самом деле совершенно обычный. Я готов встретиться с любым человеком, кто разбирается в шахматных алгоритмах, принести исходные тексты – мы их вместе посмотрим, откомпилируем и проверим на тестах. Я уверен, что любой специалист, посмотрев на исходники, скажет: ну и что в них такого?
Если говорить подробнее об алгоритме Стрелки, то в ней сделан существенный упор на тактику. Алгоритм отлаживался на наборе тестовых позиций, в которых есть нетривиальное тактическое решение. Чтобы добиться нахождения таких решений, пришлось внести в программу довольно смелые эвристики увеличения глубины перебора или обрезания неперспективных вариантов. Кроме этого, использовались простые, но довольно эффективные методы оптимизации параметров оценочной функции. Чтобы рассказать об этом подробнее, нужно очень много места и времени, поэтому давайте оставим это на потом.

 
2. Не могли бы Вы в связи с этим более подробно рассказать любителям шахмат об истории создания Стрелки, а также Вашем увлечении шахматным программированием? Насколько я понимаю, Стрелка – это первая публичная реализация Ваших идей в программировании и, наверное, закономерный результат большой работы, которая была проделана Вами в этой области и не получила, на Ваш взгляд, полноценной реализации в этой версии Стрелки? Главные домашние заготовки остались за бортом?
 
Историю создания Стрелки можно начать издалека. Примерно в 1986 году я впервые заинтересовался игровыми алгоритмами. Никаких особых идей не было, просто хотелось попробовать сделать играющую программу. Я выбрал для начала простые крестики-нолики (пять в ряд), и на этой игре впервые опробовал основные принципы минимакса и альфа-бета. Через четыре года я решил замахнуться на шахматы, и для начала написал что-то совсем простое. Эта программа играла очень плохо – скорее имитировала игру. Постепенно игра программы совершенствовалась, но затем я ее забросил.
А потом, уже в 1996 году случился очередной всплеск интереса к компьютерным шахматам. Скромный Фритц, написанный для PC,  на очередном чемпионате мира неожиданно для всех стал чемпионом, оставив позади такого монстра, как Deep Blue. Я понял, что наступило время, когда практически любой квалифицированный программист на довольно скромной технике может добиться значительных успехов.
Но мне больше не хотелось возвращаться к довольно скучному альфа-бета алгоритму. Возникла идея реализовать нечто совершенно оригинальное, и постепенно сложился соответствующий алгоритм. Идея алгоритма довольно проста – мы сводим шахматную задачу к задаче поиска экстремума функции, заданной на множестве точек, и вместо перебора пытаемся искать этот экстремум в наиболее перспективном направлении (что-то типа метода спуска). Беда оказалась (как и для всех таких алгоритмов), в постоянном сваливании в локальные экстремумы, из которых я так и не смог выбраться.
Я предпринимал многочисленные попытки что-то исправить, но так ничего и не вышло.
И тогда я решил вернуться к старому доброму альфа-бета алгоритму и довести его до ума. К этому времени накопилось очень большое количество разнообразной информации об этом в Интернете, в том числе и открытые исходные тексты. Изучив все это, я обнаружил, насколько усовершенствовался за последние годы альфа-бета. И я сел писать, используя по сути то, что было известно всем. В итоге родилась Стрелка, которая совершенно неожиданно для меня оказалась довольно сильной, хотя и очень несовершенной.

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

 
4.  Ваши дальнейшие планы? Планируете ли Вы развивать Стрелку, дополнять ее новыми функциями и сделать поддержку  UCI протокола? Может быть, в Ваших планах, сделать Стрелку коммерческим проектом?
 
О своих дальнейших планах пока не думал. Для начала необходимо осознать ту новую ситуацию, в которой я неожиданно для себя оказался. Могу только сказать, что мой интерес к альфа-бета алгоритму на сегодня удовлетворен, и я больше не хочу к нему возвращаться. Меня вполне бы устроило, если бы нашелся энтузиаст (или несколько энтузиастов), которым это до сих пор интересно, и которым я мог бы передать сделанную мной работу.
К коммерции отношусь с большим сомнением – я не думаю, что на шахматах можно заработать что-то существенное.

 
5. Еще один вопрос связан с Вашим публичным появлением под псевдонимом. Это нежелание стать публичным в мире шахматного программирования и Ваша внутренняя склонность к “криптографии”?
 
Этот вопрос я хотел бы оставить без комментариев. Псевдоним имеет реального прототипа, и я бы не хотел ничего об этом говорить.
 
6. За последние годы в мире шахматного программирования многое изменилось. Если раньше на протяжении целого десятилетия наблюдалось абсолютное доминирование продуктов ChessBase (Fritz, Junior, Hiarcs), то сегодня мы имеем несколько иную картину. Доминируют движки созданные талантливыми авторами, которые не имеют отношение к ChessBase. Я не буду называть имена  программ, они и без того хорошо известны любителям шахмат. Считаете ли Вы, что будущее за талантливыми или даже гениальными одиночками или сегодня в период всеобщей глобализации даже “гений” должен будет либо создавать стою команду (организационную, финансовую и профессиональную) или идти на поклон к крупным производителям  шахматных продуктов?
 
Очень трудно пытаться предсказывать будущее. Я думаю, будущее за теми, кому по счастливой случайности придут в голову интересные мысли. И совершенно неважно, работает ли он на Chessbase или просто сидит дома.
А вот что делать потом - создавать команду или идти на поклон к крупным производителям - зависит от самого человека. Если есть желание заработать на своих идеях - бросай программировать и начинай заниматься организацией, если же деньги тебя мало интересуют - продолжай работать.
 
7. Осенью этого года наш сайт планирует проведение очередного четвертого чемпионата СНГ. В это раз мы хотели бы изменить регламент этого турнира и в целях большей прозрачности предложить авторам выслать нам исходные файлы своих движков, которые будет анализировать независимый авторитетный эксперт(-ы). Готовы ли Вы участвовать в нашем чемпионате на таких условиях?
 
Я обеими руками за полную прозрачность. И буду первым, кто вышлет исходные тексты своей программы на чемпионат. Боюсь только, что я буду не только первым, но и единственным, кто это сделает.
 
8. Нет ли у Вас  планов принять участие в очередном чемпионате мира среди шахматных программ или в каком-либо другом авторитетном международном соревновании?
 
Я уже говорил, что о дальнейших планах еще не думал. Однако считаю, что в международных соревнованиях участвовать нужно. И дело не только в амбициях или престиже. Только так можно развиваться и двигаться вперед.
 
Большое спасибо,  за интересное интервью. Желаем Вам новых успехов в шахматном программировании! Всего Вам самого доброго, до новых встреч.

 
Вернуться на главную страницу


Последнее обновление 11.05.07 15-00