Александр Свирин: От идеи до воплощения

Автор: admin от 2021-09-8 12:06:16
Александр Свирин: От идеи до воплощения

Александр Свирин известен в шашечных кругах в первую очередь как автор и разработчик популярной шашечной программы Aurora Borealis.
Здравствуйте, Александр! Большое спасибо, что согласились на интервью. Надеюсь, что любителям шашек очень интересно будет узнать подробнее о вас и программе, которую вы создали.
Здравствуйте, Андрей! Я не особенно пристально слежу за развитием шашек в интернете, но в свое время появление сайта «Шашки всем» не осталось мной незамеченным. На фоне постепенного угасания шашек как вида спорта радует, что продолжают появляться и, особенно, — активно развиваться новые проекты.
Не многим авторам в свое время хватило энтузиазма и усердия поддерживать многие популярные когда-то шашечные проекты. С удовольствием отвечу на ваши вопросы, надеюсь вам и вашим читателям будет интересно.

Александр, расскажите, пожалуйста, немного о себе.
Родился и живу в самом холодном городе мира, Якутске. Климат здесь очень веселый — годовой перепад температур около 85 градусов. Зато регион один из немногих в мире где шашки — действительно очень популярный вид спорта. Возможно, это и предопределило появление Авроры.
Учился в Москве на программиста, но три года назад компьютеры окончательно забросил, почти полностью переключившись на юношескую мечту — кинематограф. Здесь у нас все развито не так замечательно, как в шашках, с двумя чемпионами мира, но само наличие кинопроизводства в очень небольшом по численности регионе удивляет многих — в России вменяемое кино существует только в Москве, Питере и отчасти в Екатеринбурге.
Но по крайней мере пока интересно, получаю огромное удовольствие, из компьютерных проектов продолжаю немного поддерживать разве что Аврору. Жалко оставлять столько труда и многочисленных пользователей на произвол судьбы.

Как и когда у вас возникла идея о создании программы по шашкам?
Собственно, идея эта возникла даже не у меня. В свое время, сразу после окончания школы, меня пригласили поработать в якутский шашечно-шахматный центр, инструктором по шахматам. Я еще с 7 класса, когда у нас в школе появилась информатика, очень интересовался программированием, как раз поступил учиться заочно на программиста, ну и конечно решил написать собственную шахматную программу.
Когда она только начала делать первые ходы и уже вполне могла соперничать где-то с второразрядниками, наш тренер по шашкам, Алексей Бурнашев, заметил, что по шахматам-то собственно программ уже много, хороших и разных, а вот по шашкам — одна-две в поле зрения, и не лучше ли было бы мне направить свой творческий энтузиазм в эту сторону.
И действительно, на то время из шашечных программ широко известен был разве что Гроссмейстер Агафонов, а баз данных оказалось не было вовсе. (На самом деле позже выяснилось что уже существовала программа СПИРТ, но она была довольно малоизвестной и практически не развивалась.) Так что, к сожалению, идея шашечной программы возникла не у меня.
Всего пара недель понадобилась чтобы переделать шахматный движок под шашечный. Конечно тогда это были совсем элементарные алгоритмы, я и в программировании разбирался слабо, и в шашках, генератор ходов даже довольно долго не знал про правило турецкого удара, но тем не менее довольно быстро появилась программа, способная на равных сражаться со спортсменами уровня кандидата в мастера.
Уже через пару месяцев был готов первый элементарный функционал работы с базами. Проект в меру возможностей поддержала местная федерация шашек, исполнительным директором в то время был Иннокентий Андросов, подключились наши тренеры — Алексей Бурнашев, первый местный гроссмейстер Александр Азаров.
Потом программу заметил автор сайта «Шашки в России» Александр Кандауров, стал активно заниматься наполнением базы партий. И вот, постепенно, за 13 лет (сейчас страшно подумать, если честно — как бежит время) программа выросла в то что есть. Хотелось бы кстати сказать спасибо всем, благодаря кому в свое время Аврора родилась и стала развиваться, подозреваю что в одиночку я бы очень быстро забросил шашки.

Aurora Borealis принимала участие в различных шашечных соревнованиях, как среди программ, так и среди людей. Какие спортивные достижения Авроры вы считаете самыми значимыми?
К моему сожалению, Аврора никогда выдающимися спортивными достижениями не отличалась. В принципе это и ожидаемо — я и раньше, и сейчас, если и занимаюсь программой, то в основном уделяю время функциональности, чтобы программа была в первую очередь удобна для работы, а сила движка это уже как-то дело десятое.
Во второй версии благодаря подключению к интерфейсу Авроры самого сильного на то время движка «Каллисто» Игоря Коршунова даже на какое то время вообще перестал заниматься собственным движком. С людьми в турнирах играли как Аврора, так и Каллисто — довольно успешно, всегда занимая высокие места, минимум в шестерке, часто в тройке, и в блиц, и с долгим контролем, но к сожалению ни разу ни тот, ни другой движок победителем турнира не становился.
Против программ единственный хороший результат у Авроры был на Кубке сайта «Шашки в России» в 2007 году, который если не ошибаюсь имел статус официального чемпионата Европы под эгидой ФМЖД. Тогда судьбу распределения призовых мест решила одна результативная партия — Торнадо проиграла Каллисто, и Аврора заняла второе место между ними. Но это конечно был не показатель, в отсутствие многих других сильных программ.
Затем довольно приятной неожиданностью был результат первого круга неофициального турнира, проведенного польским энтузиастом шашек. Krzysztof Grzelak в начале 2012 года, видимо, устав ждать каких-либо более-менее официальных турниров, решил собрать все актуальные программы и провести собственный чемпионат. В первом из двух кругов Аврора заняла чистое первое место. К сожалению, во втором круге сыграв крайне неудачно спустилась во вторую половину таблицы. Так что пока в копилке программы только одно серебро.

С какими трудностями (техническими, организационными и т.п.) приходилось сталкиваться в процессе разработки и продвижения своего проекта?
Начать пришлось с того, что в шашки я совершенно ничего не понимал. То есть конечно знал как ходят шашки, и на бытовом уровне наверное обыграл бы большую часть знакомых, но как делать в программе шашечную часть в плане оценки позиций не представлял вообще.
Знакомые шахматисты (а из шашистов я тогда еще ни с кем не дружил) перерыли домашние библиотеки и притащили мне немного шашечных книг и журналов. Из них я понемногу набирался знаний по шашкам и параллельно вводил партии в базу. Одной из книг была «Радость творчества» Владимира Вигмана. Удивительно легкая книга даже для далекого от шашек человека. Лирические отступления между шашечными анализами читались запоем, не давая забросить книгу куда подальше, попутно помогая разбираться в тонкостях шашечных баталий.
Хотя уровень у меня был конечно не тот чтобы вменяемо относиться к шашечной составляющей тем не менее фактически она в первые месяцы была моей настольной книгой при работе с Авророй. В базу в числе первых перекочевали все партии с оценками, и я пытался по ним настраивать движок.
Конечно радости не было предела когда в результате движок выдавал мнение, совпадающее с оценками трехкратного чемпиона СССР. Очень много времени на начальном этапе отнимал ручной ввод — партий в базу, и оценок ходов в дебютную энциклопедию. Впоследствии я это забросил, партии стал собирать Александр Кандауров, Аврора с тех пор пользуется его базой, а дебютная строится на основе статистики базы партий.

Созданная вами программа для компьютера поддерживает 12 видов шашек. Какая из этих разновидностей шашечной игры привлекает больше всего лично вас?
Ближе конечно то, во что научился играть в детстве — классические русские шашки. А вот в плане развития программы сейчас все же больше интересуют стоклетки, как наиболее распространенная в международном масштабе разновидность игры в шашки. Да и теоретическая сложность этого вида выше чем 64-клеточных.
Вообще если говорить о видах мне кажется основная проблема шашек в их разобщенности. В каждой стране играют в свой вид шашек, так называемые чемпионаты мира по разновидностям 64 собирают весьма ограниченное число стран. Голландские стоклетки в принципе относительно широко распространены и популярны на международной арене но очень далеки от массовости за пределами самой Голландии, большинство на бытовом уровне все-таки привыкло к 64-клеточной доске.
На этом фоне очень интересно выглядит инициатива международной популяризации пула. Минимальные отличия от наиболее распространенных национальных видов — русских и бразильских, отсутствие в названии национального признака (для большинства словосочетания типа «чемпионат мира по русским шашкам» звучат все-таки бредово и смешно) позволило бы легко объединить под своим крылом виды с «длинноходящей» дамкой.
Региональным видам можно было бы оставить национальные первенства, в том числе открытые, а чемпионат мира объединить международной федерацией под одним видом, чтобы не распылять ресурсы. Правда вряд ли шашки на такое пойдут, к сожалению судя по всему всем гораздо интереснее перетягивать на себя одеяло.

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

Александр, всем известно, что виды шашек отличаются правилами игры, а также имеет особенную стратегию и тактику борьбы. Получается, что 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 бита движок уже перенесен, осталось в основном доделать многозадачность.
Также хотелось бы запустить игровой сервер, чтобы пользователи Авроры играли между собой по сети.
Еще кстати одно надеюсь интересное новшество — в новой Авроре параметры движка и оценочная функция выведены для редактирования пользователем. То есть сами пользователи смогут настраивать параметры программы в соответствии с собственными представлениями о правильной игре в шашки.
В принципе, все шашечные программы основываются на одних и тех же алгоритмах, различаясь только в деталях настройки параметров. Так что у пользователей фактически появилась возможность создать на основе Авроры свой собственный движок, не углубляясь в детали программирования.
Очень хочется устроить конкурс, с разыгрыванием матч-турниров среди пользовательских движков. Надеюсь это будет и интересно и полезно, поскольку я далеко не шашист высокого уровня, вполне возможно что кто-то из пользователей сможет создать движок, который будет играть сильнее чем настройки по умолчанию. Победитель получит приз, а пользователи Авроры — более сильный движок.

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

Комментарии:

Оставить комментарий