Главная › Форумы › Шашечные программы › Шашечные программы › Турнир среди шашечных программ
- В этой теме 567 ответов, 20 участников, последнее обновление 16 лет, 10 месяцев назад сделано NS.
-
АвторСообщения
-
23.02.2007 в 16:09 #362147KallistoУчастник
Вот если Игорь сделал бы в шашки такой же интерфейс как и в шахматы, где можно один движок сразу с несколькими сравнить, то это было бы интереснее — как какие-то изменения отражаются не только на игре с более сильным соперником, но и с более слабыми.
Хорошо
Сделаешь Аврору под наш протокол, будет версия с возможностью организации турниров (гаунтлеты и круговики).
А то мне пока это делать тоже особого интереса нет.23.02.2007 в 16:23 #362148KallistoУчастникИнтересный вопрос: выгружать ли движки между партиями?
Из=за загрузки ЭБ это может оказаться медленным. Хотя если память есть, операционка должна все закешировать.
Держать все движки все время в памяти тоже не вариантНужно сделать какую-то общую библиотеку для доступа к ЭБ. Тогда проблем с выгрузкой/загрузкой не будет. Да и все движки получат легкую возможность получить ЭБ.
Лично я не очень заинтересован в создании хорошей ЭБ, поэтому мои базу для этих целей не годятся. Может кто-нибудь возьмется за это хорошее дело?
23.02.2007 в 16:24 #362149NSУчастникПри использовании PVS в дереве перебора очень мало PV ветвей, поэтому считается что Удлинения в PV это всегда хорошо, и что они особо не увеличивают дерева, а всевозможные продления в PV ветвях являются практически стандартом для шахматного программирования при использовании PVS/Negascout.
Как это делается в шахматах — можно посмотреть в исходниках Тоги/Фрукта.
http://www.uciengines.de/UCI-Engines/TogaII/togaii.htmlТо есть используются и продления в конце PV вариантов (и более мощный ФВ в PV), в PV не делается отсечений, и в PV делается намного больше продлений на ветви.
23.02.2007 в 16:34 #362150KvadratУчастникИнтересный вопрос: выгружать ли движки между партиями?
Из=за загрузки ЭБ это может оказаться медленным. Хотя если память есть, операционка должна все закешировать.
Держать все движки все время в памяти тоже не вариантНужно сделать какую-то общую библиотеку для доступа к ЭБ. Тогда проблем с выгрузкой/загрузкой не будет. Да и все движки получат легкую возможность получить ЭБ.
Лично я не очень заинтересован в создании хорошей ЭБ, поэтому мои базу для этих целей не годятся. Может кто-нибудь возьмется за это хорошее дело?
Речь о матче м/у двумя движками? Желательно сделать так, чтобы оба движка пользовались одной копией ЭБ в памяти. Если движок пользуется своей ЭБ, и памяти хватает только на один экземпляр баз — разумеется базы должны поменяться местами.
23.02.2007 в 16:42 #362151KvadratУчастникДальше — давно хотел сравнить результаты разницы в скорости, для этого запустил матчи где у Авроры было больше времени чем у Каллисто 3 (вариант уточненного PV как лучшего алгоритма из используемых):
1:1 40,5% (+3-22=75)
2:1 39,5% (+2-23=75)
4:1 40% (+4-24=72)
8:1 42% (+5-21=74)То есть при увеличении времени (скорости) в 2 и даже 4 раза клинически значимого результата в моем случае не получено.
Клинически значимым (ИМХО) он станет при небольших контролях.
Какой у Вас был контроль?23.02.2007 в 16:52 #362152KallistoУчастникРечь о матче м/у двумя движками?
Речь о турнире движков, но и для матча картина, в принципе, та же.
23.02.2007 в 17:55 #362153AlexanderSУчастникКлинически значимым (ИМХО) он станет при небольших контролях.
Какой у Вас был контроль?Контроль указан перед результатом в минутах. Т.е. минимум 1 против 1 (куда уж меньше-то, хотя я перед турниром проводил матчи и по 30 сек, и по 10 для быстрого получения результатов), максимум 8 мин против 1 мин. Проц A64-3800+ (одно ядро)
Я думаю результат обусловлен тем, что поскольку PV удлиняется на 7 п/х, плюс уточняются последние ходы варианта, а увеличение скорости в 8 раз дает прирост всего 3 п/х то во второстепенных вариантах за эту глубину заметного усиления не находится, учитывая еще и слабую ОФ.
Игорь конечно прав что 100 партий недостаточно точно, но даже если бы удвоение скорости давало бы 20 пунктов то 8:1 результат уже должен быть бы заметным и на 100 партиях. А NS вроде высказывал мнение что удвоение должно бы приносить и больше.
Надо будет попробовать на других модификациях алгоритма.
Игорь — добавь раздельную установку времени для движков посмотрим что Каллисто покажет.Движки держать все время по-моему вполне нормальный вариант. Кроме случаев нескольких копий Каллисто с ЭБ6 Зато переключение будет шустрым.
Что касается ЭБ ждем что NS скажет Я готов присоединиться.
Какие-нибудь результаты по хорошему сжатию есть?
В крайнем случае можно обнаглеть и попросить Эда Гилберта модифицировать его код под русские — у него чекерс и итальянские есть, с открытой библиотекой доступа. Вот и будет универсальная библиотека для шашек-6423.02.2007 в 18:39 #362154NSУчастник20 пунктов разницы по сотне партий ну никак достоверно не определить… Я не считаю что больше — я сейчас примерно так и думаю — удвоение дает около 20 пунктов.
Бренчинг Фактор в шашках (у меня) около 1.5, удвоение увеличивает глубину на 2 полухода.Но, если предположить что во всех программах достаточно хорошие переборные алгоритмы, то без учета близости ничейной смерти прибавка от удвоения должна быть у всех программ примерно одинакова. (такая ситуция сейчас в шахматах — практически одинаковые прибавки от удвоения у разных программ, и ранжирование с контролем 4/40 такое-же как и с контролем 40/40 либо 120/40)
Насчет ЭБ — я попробую алгоритмы сжатия, но после выхода версии 0.04, у меня все силы сейчас уходят на расчет ОФ.
23.02.2007 в 19:16 #362155AlexanderSУчастникБренчинг Фактор в шашках (у меня) около 1.5, удвоение увеличивает глубину на 2 полухода.
Насчет ЭБ — я попробую алгоритмы сжатия, но после выхода версии 0.04, у меня все силы сейчас уходят на расчет ОФ.
А какие силы? Там же автоматика Я сейчас закончу переделку и как на месяц запущу считаться, и буду дальше спать
Ну у тебя и фактор… Игорь, а у тебя какая цифра?
Теоретически он должен быть 2.2, у меня пока хэш не заполнится что-то около 1.8, дальше — 2.2. Если отсечения не используешь откуда 1.5 берешь?23.02.2007 в 19:18 #362156NSУчастникСилы тратятся на улучшение алгоритмов для наискорейшей сходимости +постоянно обдумываю какие параметры в ОФ нужно добавить + вдобавок к ОФ занимаюсь улучшением переборных алгоритмов.
То есть конечно полная автоматика, но каждое утро перед запуском провожу полную ревизию алгоритмов.
23.02.2007 в 19:21 #362157NSУчастникУ Игоря Бренчинг-Фактор примерно такой-же как у меня, и примерно такой-же как и у Дамиры.
Сокращения/отсечения в Каллисто используются — ProbCut и LMR.У меня также используются сокращения, и так-же LMR и аналог ProbCut (немного другой метод сокращения по плохой оценке)
Насчет Бренчинг-Фактора 2.2 — такой Бренчинг-Фактор получается без Хеша перекрестных позиций, с ним (с Хешем) лучше даже без сокращений. (если убрать все продления)
23.02.2007 в 21:03 #362158KallistoУчастникНу у тебя и фактор… Игорь, а у тебя какая цифра?
Меня теория мало интересует.
24.02.2007 в 05:42 #362159KvadratУчастникРечь о матче м/у двумя движками?
Речь о турнире движков, но и для матча картина, в принципе, та же.
Если это круговой турнир, то в памяти надо держать первого участника, а остальных подгружать при необходимости. Когда первый отыграет, его место занимает второй и т.д.
24.02.2007 в 06:46 #362160KallistoУчастникМожно делать так. Но тогда не будет промежуточных результатов турнира, т.е. будет не так интересно.
24.02.2007 в 07:07 #362161KvadratУчастникЯ на работе вообще могу организовать Шевенингенскую систему, тогда турнир может в 2 раза быстрее играться.
А почему такая система неинтересная? Вообще можно начать с аутсайдеров или наоборот, с фаворитов. -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.