-
6
Янв
Это продолжение интервью с Александром Свириным.
Начало интервью можно прочитать здесь. Продолжаем увлекательную беседу об особенностях шашечного программирования.
Александр, всем известно, что виды шашек отличаются правилами игры, а также имеет особенную стратегию и тактику борьбы. Получается, что 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 – еще лучше и сильнее!
Читать по теме:
Оставить ответ