Виртуальный шашечный клуб
Шашечная программа "Тундра"
Описание программы
Тундра (TUNDRA-The UNiversal DRAughts) - компьютерная программа, играющая в русские
шашки.
На данный момент существует версия Тундра 2.0.
Программа оснащена семифигурной базой эндшпилей, что позволяет ей идеально разыгрывать
окончания с общим количеством фигур не более семи и
значительно улучшает силу игры программы в эндшпилях с большим количеством фигур.
Общий размер базы окончаний, включая 7,6,5,4,3,2 фигурные
базы - порядка 2 Гб.
История создания программы.
Приблизительно лет 11-12 назад мы - авторы программы (я -
Виталий Камынин и Шевченко Антон) ходили в школу и занимались шашками (под руководством
замечательного тренера В.Г. Зимовца) и в то
же время Антон начал делать первые шаги в программировании. Периодически у нас
возникал разговор о том, что не плохо было бы заставить
компьютер играть в шашки и анализировать позиции. Однако так как мы так и не
смогли решить, как же заставить ЭВМ оценить позицию (лишь
позднее мы поняли, что это не единственная сложная проблема, возникающая при
разработке шашечной программы), то этот разговор заканчивался
одним и тем же - предложением придумать ответ на этот вопрос.
После школы мы разъехались по разным институтам и долго не общались на эту тему.
Жизнь повернулась так, что пару лет назад мы оба оказались
в Москве. В течение этого времени Антон стал сильным программистом, я тоже,
но не сильным :), но шашками не занимались в течении 7 лет оба.
И вот в декабре 2001 года я в Интернете случайно набрел на шашечную программу
Михаила Глизерина "Russian Tornado".
Поиграв с ней, я вспомнил о детской мечте, и снова загорелся идеей попробовать
свои силы в создании шашечной программы. Изучив немного
информации о шашечном программировании, я понял, что база эндшпилей является
очень важной частью программы. Мне показалось, что неплохо
было бы сгенерировать ее, используя "распределенные вычисления" - технологию,
которая позволила бы разделить эту задачу на множество
компьютеров в Сети, если бы, конечно, нашлись желающие и тем самым значительно
сократить время генерации базы окончаний. После чего,
планировалось выставить ее в Интернет для того, чтобы любители шашек могли сполна
пользоваться благами, которые может предоставить
компьютер: быстро, стопроцентно и точно получать оценку интересующего их эндшпиля
(Сейчас Вы это можете).
Этой идеей я поделился с Антоном, и так как мне удалось заинтересовать его, то
вскоре был разработан план действий, однако в процессе
обдумывания становилось ясно, что распараллеливание генерации базы в Сети идея
не совсем осуществима по техническим причинам.
Вдруг совершенно неожиданно я узнал о том, что 18-20 января в подмосковном Софрино
будет проводиться чемпионат России среди компьютерных
программ, играющих в русские шашки. Так же случайно мой друг Николай Степанюк
автор вместе с Александром Быковым замечательной шашечной
программы "Draughts Navigator" предложил мне быть оператором этой программы
на чемпионате. Я согласился, ибо это был замечательный способ
познакомиться с лучшими специалистами по шашечному программированию в России.
Этой новостью я поделился с Антоном, и было это 8 января.
Вскоре мне нужно было уехать на несколько дней, и когда я уже брался за чемоданы,
раздался телефонный звонок, звонил Антон и сказал, что он
начал писать шашечную программу, и она уже ходит! А после моего приезда 14 января,
оказалось, что за время моего отсутствия Антона посетила
Муза, и ему удалось разработать алгоритм, который сгенерировал 5 фигурную базу
(шашечное программирование) всего за сутки, притом, что другие авторы, насколько
мне известно, на этот процесс затрачивали месяцы!
Конечно, не было идеально: размер базы оставлял желать лучшего, маленькая глубина
просчета, интерфейс в текстовом режиме, который, к
сожалению, до сих пор не намного улучшился, полное отсутствие времени, но все
же после короткого разговора решено было попытаться
подготовить программу к участию в чемпионате. В течение ближайшей недели спать
нам приходилось редко, но к турниру программа кое-как была
готова. У программы даже появилось название: Тундра - Tundra - The UNiversal
DRAughts (Универсальные шашки). В последствии многие
отговаривали нас от этого названия, но нам кажется, что оно довольно оригинально,
колоритно и имеет право на существование. А вы как
думаете? Нам было бы очень интересно узнать Ваше мнение по этому поводу.Пишите:
vetalho***@m*****.ru.
Последние исправления вносились за час до выезда! Ясно, что она не могла ни на
что претендовать, как и получилось 6 место из 6, но ведь ей
было на день начала турнира всего 9 дней и для своего младенческого возраста
те 1.5 очка из 10, которые набрала программа, по нашему
мнению, уже очень неплохой успех. Смеха ради можно сказать, что после первых
двух туров Тундра лидировала!
Следующие 3 недели было время совершенствования существующего. Был модифицирован
алгоритм просчета - так из начальной позиции глубина
увеличилась от 10 полуходов до 15 за 1 мин. (Athlon 1Ггц 256 ОЗУ). Была создана
шестифигурная база окончаний (вторая в мире шестифигурная
база окончаний по русским шашкам!! первую создали Дмитрий и Александр Князевы
- оснастив ей лучшую на данный момент, программу играющую в
русские шашки, двухкратного чемпиона России среди компьютерных программ,
(Магистр3). Алгоритм генерации базы эндшпилей был ускорен примерно в 10 раз.
А также из творческих интересов была сгенерирована
ПЕРВАЯ в мире шестифигурная база окончаний по поддавкам.
Сейчас программа терпит полный "рерайт", то есть переписывается заново, ибо новые
идеи не помещаются в старые рамки. Создана первая в мире
семифигурная база окончаний по русским шашкам. Ускорен алгоритм просчета -
18 полуходов за 45 скнд из начальной позиции (Athlon XP 1600+)
Мы искренне надеемся, что история Тундры на этом не закончиться.
Цели и планы на будущее
При создании шашечной программы можно сразу же выделить ряд глобальных целей
(по убыванию сложности):
1. Решить игру шашки - то есть знать оптимальный ход в любой позиции.
2. Играть лучше чемпионов - людей.
3. Играть на гроссмейстерском уровне.
4. Играть лучше всех остальных программ. (Со временем этот пункт поднимется по
сложности выше, но в данный момент мы полагаем, что лучшая
компьютерная программа Магистр3 играет на уровне сильного мастера спорта).
5. Играть на уровне мастера спорта.
При создании нашей программы мы не преследуем слишком нереальную в данный момент
первую цель, но стремимся ко всем остальным.
Есть еще одна очень важная, но немного "из другой оперы" цель: сделать программу
"для людей", т.е. оснастить ее дружественным интерфейсом и
выложить в свободное пользование. Естественно, мы преследуем и эту цель, и если
хватит рук, то в скором времени вы сможете скачать
программу с этого сайта.
Если же поговорить о более приземленном - о технических аспектах, то в ближайшем
будущем планируется создание 8-ми фигурной базы эндшпилей.
Планируется увеличение глубины перебора за счет модификации и оптимизации используемых
алгоритмов. Также на нашем сайте Вы сможете
пользоваться базами эндшпилей созданными нами.
Из "общественной" деятельности планируется участие в следующем чемпионате среди
компьютерных программ, который, как мы надеемся, состоится,
также интересно участие в различных турнирах и матчах, как в Сети, так и в реальной
жизни. Тундра сейчас участвует в турнире по электронной
почте: Электронный полуфинал 6-го заочного мемориала А.П.Чехова по русским шашкам
МЧ6/еПФ, проводимый редакцией электронного шашечного
журнала
Выпуск листа #22
Членов клуба: 18 человек
Модератор Аргунов Артём:
argunov20***@r*****.ru
Архив Листа - http://subscribe.ru/archive/sport.others.checkers