K-A-L-L-I-S-T-O

Графическая оболочка Kallisto (релиз 4) позволяет играть в шашки и анализировать позиции с помощью разных шашечных программ (движков).
Варианты шашек: русские, бразильские, пул, чекерс.

Архив включает несколько движков:

Kallisto

Каллисто 4 - серебрянный призер первого чемпионата мира.
Каллисто 3 - первый чемпион Европы среди программ.
Каллисто 2 - версия выигравшая турнир В. Санцевича.
Каллисто 1 - версия игравшая на первом кубке сайта "Шашки в России" (второе место).
Kallisto Brazil - бразильские шашки.
Kallisto Pool - пул.
Kallisto Losers - поддавки.
Kallisto Checkers - чекерс (слабый движок, т.к. ОФ совсем не подходящая для чекерса).
Kallisto Checkers Losers - чекерсные поддавки.

В каталогах ..\ED\Kallisto ...\ находятся генераторы эндшпильных баз для каждого из видов шашек. После запуска нужно ввести число шашек в базе. Максимально можно генерировать ЭБ-6. Для нормальной игры достаточно ЭБ-4.
Эти базы также используются Skifi и KestoG.


MiuMiu

Моя первая попытка сделать шашечный движок (2000 год). Играет в силу кандидата. Использует ЭБ-3. Имеет ошибку в генераторе ходов, которая может проявляться примерно в одной партии из 300.


Simple Draughts (SiDra)

Очень слабенький движок. Сделан в качестве демонстрации подключения движка к оболочке и основных приемов шашечного программирования. Практически отстутствуют какие-либо алгоритмы.
Распространяется вместе с исходниками!


Skifi


Skifi 0.39 - бронзовый призер чемпионата мира.
Skifi 0.35 - чуть более сильная версия с агрессивным стилем игры.
Автор Сергей Нефедов из Санкт-Петербурга:
Движок написан на Дельфи. Очень простая оценочная функция с элементами эндшпильных знаний.

# алгоритм перебора: fail soft PVS
# безранговые эндшпильные базы включительно до 6 шашек (поддерживаются оболочкой)
# таблица перестановок
# взятия и превращения рассматриваются и за горизонтом (depth <= 0)
# удлинение варианта в случае единственного хода
# селективный аналог multiProbCut
# LMR
# сортировка ходов:

  1. из таблицы перестановок
  2. превращение в дамку
  3. 2 киллера
  4. эвристика истории
# Оценочная функция:
Распространяется вместе с исходниками!


KestoG


6-ое место на первом чемпионате мира.
Автор Kestutis Gasaitis из Молетая (Литва):
Мой движок был написан под влиянием талантливого швейцарского программиста Мартина Фиерца, стоя на плечах у гиганта. Его простая чекерсная программа имеет быстрый генератор ходов. Этот генератор я переделал, чтобы генерить ходы для русских шашек. Одолев трудности генерации дамочных взятий, получил довольно быстрый генератор ходов уже для русских шашек. Осталось сделать функцию перебора и оценочную функцию. С функцией перебора проблем не возникло. В сущности, для поиска лучщего хода прога использует несколько улучшенный альфа-бета метод. Для поддержки конкурентоспособности игры против других программ я, конечно, добавил все усиления, какие только смог. В частности хеш-таблицу, сортировку ходов, удлинение в случае 1-2 ходов. В последней версии (1.3), за счет сокращений веток дерева перебора, удалось значительно увеличить глубину перебора. Оценочная функция остается слабым местом программы. В итоге получилась программа слабее элитных (Тундра, Каллисто и др.), хотя имеются отдельные победы и против них. Я лично против своего творения выиграть не могу, если Вы тоже не сможете, не отчаиваетесь, не забывайте, что это только игра.
Распространяется вместе с исходниками!


Мариночка

Автор Александр Быков из Екатеринбурга:
Шашечный движок Мариночка - это переделка моей более ранней программы Draughts Navigator. Navigator был написан в 1999 г. на Delphi, а идея генератора ходов была взята из чекерсной программы Мартина Фиерца. Позднее генератор был переписан на С. По сравнению с Navigatoro'м, Мариночка использует улучшенную функцию перебора, хэш-таблицу, сортировку ходов. Оценочная функция осталась почти неизменной - учитываются: материал, ценность полей и баланс шашек по флангам

Checkist

Автор Владимир Ильин из Новгорода:
Как то бесцельно лазая по порталу GameDev.ru я наткнулся на пост Дикой Кошки со ссылкой на этот сайт. Шашки я всегда любил, поэтому решил написать свою программу. Никакого опыта программирования логических игр у меня не было, поэтому для старта была взята "Сидра". И постепенно стал переделывать части этого движка на свои. Написал свой генератор ходов, затем ОФ, сделал хеш-таблицу. Собственно принципиальные отличия от "Сидры" на этом и заканчиваются. По большому счету функция поиска остается (пока) "сидровской". То есть это итеративные углубления и классический альфа-бета перебор с "полным окном". Нет никаких эвристик и сортировок. Конечно, игра Чекиста не идет ни в какое сравнение с монстрами, залегающими в этом же архиве, но я не унываю, ведь все с чего то начинали, и, например, у Skifi0.03 и у Skifi - призера Чемпионата мира - один автор. :)


Подключение своего движка к графической оболочке

Описание протокола подключения движков к оболочке можно найти в файле Main.cpp (SiDra). Благодаря такому подходу программистам не нужно отвлекаться на создание своей графики, а можно сосредоточиться на сути шашечной программы. С другой стороны такой подход позволяет проводить матчи разных движков в автоматическом режиме. Также можно сделать свою, красивую, оболочку и получить сразу несколько движков (например, Аврора).



Принимаются конструктивные предложения по усовершенствованию графики и пользовательского интерфейса.


Мыло.
Hosted by uCoz