Ответы в темах
-
АвторСообщения
-
NSУчастник
Выложу сегодня программу по расчету рейтингов и доверительных интервалов по формату .pdn
А то ситуация просто анекдотичная — вообще ни одной нормальной программы для расчета рейтингов.NSУчастникБренчинг Фактор в Skifi0.03
Depth= 1/ 1 Nodes= 10
Depth= 2/ 4 Nodes= 43
Depth= 3/ 6 Nodes= 185
Depth= 4/ 10 Nodes= 565
Depth= 5/ 11 Nodes= 1654
Depth= 6/ 13 Nodes= 2958
Depth= 7/ 13 Nodes= 6534
Depth= 8/ 14 Nodes= 9376
Depth= 9/ 15 Nodes= 15285
Depth= 10/ 18 Nodes= 23306
Depth= 11/ 21 Nodes= 60497
Depth= 12/ 21 Nodes= 90735
Depth= 13/ 21 Nodes= 176488
Depth= 14/ 23 Nodes= 327770
Depth= 15/ 23 Nodes= 405631
Depth= 16/ 25 Nodes= 520497
Depth= 17/ 26 Nodes= 706874
Depth= 18/ 28 Nodes= 1619492
Depth= 19/ 29 Nodes= 3185555
Depth= 20/ 30 Nodes= 4957882
Depth= 21/ 31 Nodes= 6833992
Depth= 22/ 33 Nodes= 10349354
Depth= 23/ 35 Nodes= 12573888
Depth= 24/ 36 Nodes= 18731800
Depth= 25/ 36 Nodes= 24547848Это в начальной позиции.
Разница между глубиной 25 и 15 в 60,5 раз.
Бренчинг фактор равен 60.5^0.1 = 1.51NSУчастникУ Игоря Бренчинг-Фактор примерно такой-же как у меня, и примерно такой-же как и у Дамиры.
Сокращения/отсечения в Каллисто используются — ProbCut и LMR.У меня также используются сокращения, и так-же LMR и аналог ProbCut (немного другой метод сокращения по плохой оценке)
Насчет Бренчинг-Фактора 2.2 — такой Бренчинг-Фактор получается без Хеша перекрестных позиций, с ним (с Хешем) лучше даже без сокращений. (если убрать все продления)
NSУчастникСилы тратятся на улучшение алгоритмов для наискорейшей сходимости +постоянно обдумываю какие параметры в ОФ нужно добавить + вдобавок к ОФ занимаюсь улучшением переборных алгоритмов.
То есть конечно полная автоматика, но каждое утро перед запуском провожу полную ревизию алгоритмов.
NSУчастник20 пунктов разницы по сотне партий ну никак достоверно не определить… Я не считаю что больше — я сейчас примерно так и думаю — удвоение дает около 20 пунктов.
Бренчинг Фактор в шашках (у меня) около 1.5, удвоение увеличивает глубину на 2 полухода.Но, если предположить что во всех программах достаточно хорошие переборные алгоритмы, то без учета близости ничейной смерти прибавка от удвоения должна быть у всех программ примерно одинакова. (такая ситуция сейчас в шахматах — практически одинаковые прибавки от удвоения у разных программ, и ранжирование с контролем 4/40 такое-же как и с контролем 40/40 либо 120/40)
Насчет ЭБ — я попробую алгоритмы сжатия, но после выхода версии 0.04, у меня все силы сейчас уходят на расчет ОФ.
NSУчастникПри использовании PVS в дереве перебора очень мало PV ветвей, поэтому считается что Удлинения в PV это всегда хорошо, и что они особо не увеличивают дерева, а всевозможные продления в PV ветвях являются практически стандартом для шахматного программирования при использовании PVS/Negascout.
Как это делается в шахматах — можно посмотреть в исходниках Тоги/Фрукта.
http://www.uciengines.de/UCI-Engines/TogaII/togaii.htmlТо есть используются и продления в конце PV вариантов (и более мощный ФВ в PV), в PV не делается отсечений, и в PV делается намного больше продлений на ветви.
NSУчастникУточненный PV…
Имеются в виду доп. продления в PV ветвях, и удлинения в PV на последних Ply и в ФВ?NSУчастникДве разные вещи — предложенный в 50-ых — 60-ых годах примерный способ подсчета рейтингов (Сам Эло считал, что при коэффициенте 10 она работает в турнирах до 20-ти партий каждого участника)
И современные точные методы расчета.Рейтинг ПО ГОДУ не считается никогда — идет пресчет после каждого турнира, если посчитать по году, и допустим каждый сыграл по 200 партий — то погрешность будет просто чудовищная.
В случае матча из 200 партий, при перевесе в 200 пунктов будет показан перевес в 1000 пунктов. То есть формула ошибется в 5 раз, и она никогда не будет сходтся к правильному результату.
Из более точных методов простейший — через набранный процент очков, но необходима корректировка на количество участников.
По этому методу без корректировки разница 265 пунктов, реальная разница (с корректирвкой) около 200.
Завтра смогу посчитать точно (методом максимального правдоподобия), с подсчетом доверительных интервалов.
NSУчастникПредложенная доктором Эло формула пересчета после каждой партии/турнира работает Только до определенного количества партий.
В случае Коэффициента пересчета 10 — не больше 50 партий каждого участника. И это не просто примерная формула — она ужасна, она не годна даже в качестве прикидки для первого приближения…NSУчастникЭто больше похоже на правду, но всё-равно значения разницы завышны. Разница между Каллисто3 и Skifi0.03 должна быть около 200 пунктов Эло. Нужно коэффициент еще уменьшить, а лучше пользоваться «правильными программами» считающими методом наибольшего правдоподобия. Тогда задается только средний рейтинг.
Пример такой программы —
http://kasparovchess.crestbook.com/viewtopic.php?id=1257NSУчастникТо есть простейший пример.
Личный матч двух программ Программа1 и Программа2.
Результат:
Программа1 75/100 75%
Программа2 25/100 25%
Система Эло говорит о том что разница в силе 200 пунктов Эло.Если считать через результат — То программа1 показала результат +200 пунктов, программа2 показала результат -200 пунктов. Разница 400 пунктов. Расчет через «средний рейтинг» ошибся в два раза, правильное значение 400/2 = 200 пунктов Эло.
При увеличении числа соперников в турнире — завышение разницы уменьшается.
NSУчастникЯ все-таки полагаю, что разницу в рейте по таблице следует удвоить.
Если в матч вступают две проги, с одинаковым начальным рейтом, при этом одна из прог набирает 64% очков, то ее рейт увеличивается на 100 пунктов, соответственно у другой проги набравшей 36% — на 100 пунктов падает. Т.е. налицо 200 пунктов разницы в силе.
Вот если они начнут играть второй матч то первой проге, чтобы подтвердить свой рейт уже нужно набирать >75% очков. Т.е. первая прога немного потеряет, вторая приобретет и т.д.Ничего удваивать не надо. Есть система Эло. Она говорит о том, что если в личном матче одна программа против другой набирает 75%, это значит что разница в силе между ними 200 пунктов Эло, а никак не 400. Как раз при расчете через средний рейтинг разница удвоится (в случае двух соперников), и для получения правильного значеия — её надо не удвоить, а поделить пополам.
NSУчастникДля расчетов рейтингов и доверительных интрвалов лучше пользоваться EloStat, BayesElo, либо моей программой — но они считают по формату .PGN
Для подсчета по шашечному формату — можно либо преобразовать заголовки в файле (соперники и результат партии), либо я могу написать отдельную программу подсчета.
NSУчастникПросто скачал программу для подсчета Эло.
Неправильно эта программа считает рейтинг
Разница в силе по реультатам этого турнира между Каллисто3 и Skifi 0.03 чуть больше 200 пунктов. Skifi набрал больше 32% (Слабее «среднего соперника» на 130 пунктов), а Каллисто3 показал результат чуть больше 68% — на 135 пунктов сильнее «среднего соперника»
Так что разница меньше 265 пунктов (при расчете через средний рейтинг разница завышается), а у вас получилась почти тысяча
NSУчастник200 пунктов прибавки с контролями 75мс. на ход.
(Значения прибавки по результатам нескольких тысяч партий с контрольной группой )
Плюс еще прибавка от использования ЭБ (её пока не тестировал)С такими суперкороткми контролями разница в силе между Kallisto3 и Skifi 0.03 больше 200 пунктов. Но точно её не померять — у меня пока нет инструмента для запуска Каллисто с такими суперкороткими контролями.
Разница в силе резко падает с увеличеним контроля.
Между Каллисто3 (ЭБ6) и Skifi 0.03(ЭБ0) разница в силе по 15минут на партию меньше 150 пунктов. Больше двухсот она становится с более короткими контролями. -
АвторСообщения