Это продолжение интервью с Александром Свириным.

Начало интервью можно прочитать здесь. Продолжаем увлекательную беседу об особенностях шашечного программирования.

Александр, всем известно, что виды шашек отличаются правилами игры, а также имеет особенную стратегию и тактику борьбы. Получается, что Aurora Borealis – это 12 программ, объединенных в одной! Насколько сложно учитывать особенности каждого из видов шашек при программировании?

В принципе, само по себе ничего сложного, с одной оговоркой — если оно было бы запланировано заранее. В программировании, вообще, как правило, лучше как в поговорке -  10 раз подумать и только потом садиться что-то делать.

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

Вообще я изначально планировал одно приложение на все виды. Хотя обычно программисты избирают путь разделения. Например, серия программ Plus Сергея Старцева, WinRuss/WinBraz и т.д. французско-бразильских авторов.

Да и многие другие программы, в которых после русской версии выходили отдельные бразильские или пул модификации, или после чекерса — итальянские.

Мне изначально казалось, что намного удобнее пользователям будет иметь всё в одной программе. Но конечно по мере добавления новых видов приходилось очень много переделывать, чтобы добиваться универсальности. Добавление новых досок — 10×10, 12×12, 8×10, специфические правила игры во фризийские или тайские шашки.

В принципе, сейчас при необходимости добавить новый вид будет проще, но большинство самых популярных в мире видов уже и так добавлены, и таких просьб уже практически не поступает.

Шашечное программирование делает успехи

Не просто сражаться с хорошей программой!

Признаюсь, что когда я понял для себя необходимость хорошей программы по шашкам, то долго раздумывал и выбирал. Затем приобрел у Вас Aurora Borealis (тогда еще 2-ой версии), быстро освоил и ни разу не пожалел о своем выборе, с удовольствием пользуюсь до сих пор.

Скажите, Вы еще до создания программы знали, какой она должна быть, чтобы стать полезной любому шашисту или окончательный вариант программы формировался в процессе работы над ней?

Я думаю, любой специалист в любой прикладной области, начиная работу представляет какой результат он хотел бы видеть, хотя бы приблизительно. У меня как шахматиста  перед глазами конечно были примеры шахматных программ, из которых я и старался взять все самое важное и полезное.

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

Что Вы считаете самым главным в любой шашечной программе?

Самое главное в любой программе — это то что нужно ее пользователям. А вот вкусы, предпочтения и требования у каждого уже свои. Кому то нужно одно, кому-то другое, и временами эти предпочтения взаимоисключающие.

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

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

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

Посоветуйте, пожалуйста, читателям сайта, как лучше всего использовать Aurora Borealis для того, чтобы лучше играть в шашки.

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

В принципе, с полными базами и на сильных компьютерах с программой не гнушаются поиграть и сильные мастера с гроссмейстерами, особенно в блиц, где компьютер традиционно обладает некоторой форой.

Затем анализ собственных партий — интерактивный с использованием движка и статистики базы для продвинутых пользователей и автоматический для начинающих.

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

(Узнайте подробнее о том, как можно купить, а также, как правильно установить программу Аврора)

Игра шашки многим кажется несерьезной. Насколько трудно создавать программу, которая могла бы хорошо играть в шашки?

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

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

Известно об уникальной программе Chinook, которая считается непобедимой при игре в английские шашки (чекерс).  Хотелось бы узнать Ваше мнение, как специалиста в этом вопросе, реально ли вообще создать программу, которую нельзя обыграть в шашки?

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

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

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

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

Такой вопрос задается очень часто, но мне кажется он несколько некорректен.  Давно, к примеру, придумали велосипеды и лодки, затем — автомобили и теплоходы. При этом люди ведь не перестают заниматься бегом, плаванием и при этом соревноваться, вплоть до олимпийских игр.

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

Ну и в завершении интервью хочется попросить Вас поделиться творческими планами и в частности планами по дальнейшему совершенствованию Aurora Borealis.

Планов которые хотелось бы осуществить очень много, даже загадывать страшно.

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

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

Также хотелось бы запустить игровой сервер, чтобы пользователи Авроры играли между собой по сети.

Еще кстати одно надеюсь интересное новшество — в новой Авроре параметры движка и оценочная функция выведены для редактирования пользователем. То есть сами пользователи смогут настраивать параметры программы в соответствии с собственными представлениями о правильной игре в шашки.

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

Очень хочется устроить конкурс, с разыгрыванием матч-турниров среди пользовательских движков. Надеюсь это будет и интересно и полезно, поскольку я далеко не шашист высокого уровня, вполне возможно что кто-то из пользователей сможет создать движок, который будет играть сильнее чем настройки по умолчанию. Победитель получит приз, а пользователи Авроры — более сильный движок.

Александр, большое спасибо за очень интересное интервью! Надеюсь читателям сайта оно понравилось. Всего Вам доброго и больших успехов в жизни и творчестве!

И Вам большое спасибо за интерес к программе и желаю успехов в развитии сайта!

(Интервью провел автор сайта “Шашки всем” Андрей.)

P.S. О новой версии программы (3.6), в которой Александр уже реализовал часть запланированных идей можно прочитать здесь: Программа Аврора 3.6 – еще лучше и сильнее!

Читать по теме:

От идеи до воплощения. Первая часть беседы с А.Свириным.

Где купить программу Аврора?