Ответы в темах
-
АвторСообщения
-
booot
УчастникПоделюсь и я
. Дамира использует битборды для хранения позиции. Преимущества: скорость работы (процессор оперирует с «родными» целочисленными 32-разрядными числами в «родных» логических операциях), удобство и скорость работы со структурами шашек на доске, используя маски битов, нет необходимости в дополнительных массивах. Из недостатков разве что вижу некоторую сложность в отладке и вообще понимании этой структуры.
Начинать советую с генератора ходов. В шахматах для проверки корректности работы генератора используется специальный перебор всех абсолютно вариантов без отсечений и тому подобного на конечную глубину. Количество перебранных позиций строго детерминировано и должно у всех совпадать.booot
УчастникДаже если будет много продолжений хорошая оценочная функция поможет проге не заблудится в них.
В большинстве случаев, наверное, так. В случае если в процессе перебора возможно двинуть простые сильнейшей стороны или поставить новую дамку, то этим ходам естественно будет приоритет. Но если в течении 10-15 ходов идет борьба дамками «туда-сюда», то сложно сказать как оценочная функция поможет — иногда для выигрыша нужно дамки увести с большака чтоб разместить их черт знает где (и это единственный путь к кратчайшему выигрышу)
.booot
УчастникВ принципе я согласен с Kallisto что сделать контроль «до конца партии» имея «время на ход» не так уж сложно. Думаю я сделаю такой контроль в скором времени, но потребуется немного времени на тестирование.
booot
Участник«Не знаю, какое лучше поставить время — 5 или 10 минут на партию? Будут ли результативные партии при контроле 10 минут? Полчаса уже точно ставить бессмысленно. Да и не потяну я столько.»
Дамира, к сожалению, пока понимает только контроль N секунд на ход.
booot
Участникт.о. надо в проигрышной позиции как это ни абсурдно
звучит, НЕ затруднять задачу программе, оставляя ей
единственное продолжение на выигрыш, а наоборот предоставить
несколько продолжений, где она и заблудится.В принципе так и есть. Особенно неприятны в этом случае для программы позиции, где много ходов ведут к выигрышу, но только 1-2 из них — кратчайшим путем. В этом случае программа может ошибиться и «попетлять» по позициям еще ходов 10-15, чтоб снова прийти к той же самой позиции откуда ошиблась
. В многофигурных позициях ей будет тем сложнее, чем больше дамок с обеих сторон появится. В этом случае выбор будет из большого количества выигрывающих дамочных ходов, большинство которых приводят к повторению через 5-10 ходов. Самый простой пример: три дамки против одной. Там вообще ВСЕ (ну или почти все) ходы сильнейшей стороны выигрывают, но толку от использования безранговых баз крайне мало, так как программе все равно придется использовать перебор на полную катушку.booot
УчастникЕсли у Вас Тундра (или любая иная программа) имеет размерность баз меньше 6, то она не выиграет эту позицию ни при каком временном контроле (до ближайшего размена десятки и десятки ходов, которые перебором не беруться, а «из общих соображений на глаз» программы вряд ли ее осилят).
Морозов Алексей.
booot
УчастникИли ключевое слово в фразе А.Морозова «со всеми доступными базами»??
Прошу прощения — это не моя фраза!
, а Kvadrat64. Лично у меня в доступе нит ни баз Тундры, ни баз Plus600.Причем по пути им нужно сделать такое количество единственно-выигрывающих ходов (причем в эндшпиле где у
обеих сторон по 2 дамки их так сложно найти!), что автор (А.Морозов) практически уверен, что НИКТО из людей ее у Дамиры не выиграетСправедливости ради надо сказать, что не я автор этой позиции (не додумался бы), а компьютер. Причем найдена эта позиция была задолго до появления Дамиры Князевыми (авторами программы Магистр). Да и вообще: генерирование эндшпильных баз есть строго детерминированная процедура и при отсутствии в алгоритме ошибок должна давать одинаковые результаты у всех авторов хотя бы на уровне безранговых баз.
booot
УчастникА в партии Damira-Tundra (0-1), до 24-го хода чистая ничья была, потом Damira в ничейной 8-ми фигурной позиции не туда пошла (24. g5-f6, вместо ничейного e3-f4)… Кстати, непонятно, почему Damira не видела проигрышности этого хода — там все форсировано, и чтобы выбрать Ef4 базы окончаний совсем не нужны.
На самом деле все гораздо смешнее: пользователю была отправлена самая первая версия 4-х фигурной эндшпильной базы. На момент написания ее генератора я за всю жизнь сыграл порядка десятка-двух партий (преимущественно в 12-летнем возрасте на первенстве пионерлагеря). Поэтому я совершенно забыл (не зная), что простая в момент боя, оказывается, сразу же дамкой становится
. Дамира полностью доверяет своей эндшпильной базе, а та , наверное, была просто в шоке, когда простая черных с a3, побив на b2 «вдруг» настигла «неуловимую» шашку e3. И ничья почему-то не достиглась (как должна была при черной шашке на с1 и ходе белых
).
С нормальной же базой в этой партии Дамира выносит вердикт «не проиграю благодаря эндшпильным базам» где-то с 12 хода.Наверное, как говорит Kvadrat64 сказывается плохая оценочная функция — шучу, шучу!
Тут решительно головотяпство и невежество программиста виноваты
. Хотя даже и с ними прога с обоими чемпионами России разных лет в целом сносный баланс показывает (по крайней мере у пользователя Kvadrat)
. Шучу 
booot
УчастникОшибка исправлена и обновлнение выложено на сайте.
Большое спасибо Квадрату (подробное письмо я Вам написал, но уйдет оно только утром — у моего провайдера ремонт) — ошибка была достаточна тяжела в обнаружении, диагностировании и фиксации.Вот и начали появляться первые свидетельства о пользе подобных легких турниров! Когда программы соревнуются между собой они играют как бы в режиме повышенной сложности, где быстрее всего себя могут проявить баги или несовершенства алгоритма.
Алексей.
booot
Участникпока на данной глубине расчет не закончится, его результаты нельзя никак использовать
Какие то на редкость злые у вас особенности переборного алгоритма.
booot
Участник«Chotel by uznat ili budjet brazilijska versja — DAMIRY.
A kak tjagelo peredelat takoj program na brazilijsku versju ?. «Пока программа сыровата даже для русских (основное наше направление). Хотя после ее отладки есть идеи написания и других вариантов шашек (включая поддавки). Разве что много времени может занять сбор информации о теории игры и накопление мало-мальски толковой дебютной библиотеки.
Алексей.booot
Участник«Если авторы «Дамиры» согласны предоставить мне версию программы, то, думаю, турнир получился бы очень интересный.»
Для целей тестирования мы вполне можем предоставить саму свежую версию нашей программы. Но так как она находится в стадии отладки предупреждаю, что еще возможны мелкие глюки интерфейса, подобные описанным пользователем Kvadrat64. Вопрос только как именно вам ее передать. На данный момент Дамира использует уже 7-ми фигурную (правда пока еще не совсем полную) эндшпильную базу, которая занимает прилично места, чтоб ее скачать и слишком требовательна к ресурсам компьютера, чтоб ее самому сгенерить.
booot
Участник«Алексей, жду от Вас обновленную версию программы, только не трогайте оценочную функцию, она у вас кажется отлажена лучше всего. «
На самом деле, просматривая партии гроссмейстеров на своей программе трудно удержаться от улыбки, когда голая оценочная функция проги пишет нечто вроде «у белых тут золотые горы!», а комментатор партии (коему верится больше) пишет «теперь неворуженным взглядом видно, что черные выигрывают»
.«Если 6-ти фигурка большая то может имеет смысл выслать ее генератор?»
Генератор писался на скорую руку, посему крайне неоптимален. Готовая 6-фигурка занимает что-то около 350-400 МБ на диске, тогда как для ее производства генератор жрет 8Гб на винте и 1ГБ ОЗУ (причем параллельно работать на компе в это время мягко говоря нельзя). Время работы на моем компе (Athlon XP 3200+) что-то около 8 часов. Если требования не смущают — в принципе могу выслать и генератор.booot
Участник«Po russki eto nazivaetsya: «Bez menya menya zhenili». Kak mozhno bilo provodit takoye sorevnovaniya bez uchastiys avtorov ??? A potom eshe vivodi delat .. «
В сообществе шахматного программирования под протокол Winboard (Программисты чекерса, кстати, сделали нечто подобное — ChekerBoard) эта практика , кстати, в порядке вещей! Есть с десяток сайтов, где проводятся подобные регулярные турниры (включающие до 300 движков!) с различным контролем времени и конфигурации железа. Так же принято вышедшую новую версию обкатывать всем сообществом в различных тестовых группах с различным количеством партий и различным контролем времени. За неделю до 1-2 тысяч тестовых партий может так распределенно сыграться
. Крепко кстати помогает как в отладке багов, так и в выяснении на каком железе какой движок себя лучше чувствует. В целом скорее сильно помогает, чем мешает программистам. Разве что там практически все движки — бесплатные…booot
Участник«Пытается запуститься, висят песочные часы
секунды три, потом пропадают и все, как будто ничего и не было.
Кстати, на терминальном сервере не запускается и Taskman, запускается
только с консоли сервера.»Интересная проблема — буду смотреть. Вполне похоже на несовместимость.
«В планах проведение турнира Tundra Version 2.3 Krepki PROFESSIONAL,
Plus600 Version 6.32k Professional + Damira 1.12 from 28.11.2005
с регламентом 3 мин на ход и затем 5 мин на ход. «Не ну так не честно — старую рабочую версию Дамиры с 4-х фигурной ЭБ под полные коммерческие версии кидать
. -
АвторСообщения