Ответы в темах
-
АвторСообщения
-
NSУчастник
Конечно интересно.
Кстати, выкладываю старенький рейтинг программ, что Владимир Шулюпов сделал. Может он время найдет его обновить ? Добавить Кубки сайта и матчи Тундры с ПЛЮСОМ и Каллисто.Это не рейтинг, а издевательство над здравым смыслом.
Кто-же так считает рейтинги программ?NSУчастникКаллисто скорей всего не видит выигрыш пешки. Пешка складывается из суммы позиционных признаков.
Игорь, ты можешь вывести полный PV в этой позиции?NSУчастникВсё верно, и у чекерсных программ она есть, да и у всех других наверное тоже. Просто роль этого фактора или подхода либо сильно неодооценивается программистами (всеми), либо очень трудно запрограммировать и формализовать.
Мобильность не может недооцениваться шахматными программистами так как в каждой уважающей себя шахматной программе она есть.
И судя по NPS — у Игоря очень быстрый расчет мобильности, а судя по описанию он делит мобильность по типам.
Игорь наверно хочет узнать еще какие-нибудь признаки.
NSУчастникМобильность (а в Каллисто она есть) это только один из признаков.
Вот описание того что есть в ОФ Каллисто:
http://www.igorkorshunov.narod.ru/Draughts/KallistoInside.htmlNSУчастникВчера произошел переворот среди шахматных программ.
На постсоветском пространстве появилась программа играющая заметно сильнее всех остальных…
Под старый протокол, недоработана, но играет очень сильно.Сейчас будут проверять клон это или нет — но похоже что всё-таки не клон.
Программа пока не коммерческая.NSУчастникС потерей инфы по половине позиций, а если сжать с потерей инфы по 90% позиций? Что лучше — потерять в скорости доступа в 1000 раз, или сделать неполные ЭБ с десятипроцентным наполнением?
Это не утверждение, это вопросNSУчастникУ Чинука полная 8-ка несколько Гигов, но не факт что они хорошо сжали, и можно использовать неполные ЭБ.
NSУчастникпредположим, что мы уже сгенрили 8-ку и 9-ку
Сгенерили безранговую восьмерку и сжали. После этого считаем влезает ли сжатая восьмерка в память, и получаем что да, влезает
NSУчастникЖил замечательный человек Каск, коллекционер миттельшпильных позиций. У него выработалась своя краткая система записи — такая идея.
Разобъем доску на 8 горизонталей (можно вертикалей). Пронумеруем четыре клетки через степени двойки, 1, 2,4,8, . Тогда их сумма покажет, на каких полях стоят шашки (Разбивать можно по 4, тогда степеней 2 будет 8 ). В случае a1, a7/ b8, c7 = 0, 1, 0, 0, 0, 0,0,0, 1 /1, 2, 0,0,0,0,0,0,0 (16,0, 0, 16/ 33,0,0,0). Дамки записывать через более высокие степени, наверное.
Это подходит для представления ЛЮБОЙ позиции (вычисления уникального ключа позиции), но никак не подходит для ЭБ.
Сколько памяти займет массив на 10^25 элементов? А именно такой массив получается при вычислении адреса по этой методике.мой вопрос был в том, что огромное число позиций =, если их выкинуть, то вес ЭБ значительно уменьшиться. Так понимаю, этого нельзя сделать технически, или возможно, но по другой методе?
Я не понимаю вопроса. Как можно выкинуть адреса из массива?
По другой методике можно — если есть перекос по результату, либо обычно позиции стоящие в массиве рядом имеют одинаковые оценки — можно сжать.
Сжимаются ЭБ очень сильно (до сотен позиций в байте), но сжатие очень замедляет доступ к ЭБ, так как для доступа мы должны провести обратную к сжатию процедуру.NSУчастникДа, ранг лишняя информация, в принципе для практической партии она не нужна.
По базе позиций из ЭБ программа не плавает, так-ж как и обычно просто строится дерево перебора. В случае ранговых ЭБ на один полуход, в случае выигранных позиций и безранговых ЭБ — до получения выигранной по ЭБ позиции с улучшением оценки и положительным сдвигом в реализации.
По любой пзиции из ЭБ на доске — мы всегда можем получить её адрес в ЭБ, и соответственно тип позиции — выиграно, проиграно или ничья.
Малошашечные позиции практически все возможны, так что исключать практически нечего, да и без потери скорости никак. Все варианты «выкидывания» ненужных позиции происходят через сжатие. Так как просто выкинуть индекс из массива невозможно.NSУчастникЕсли ЭБ безранговые, то
По позиции вычисляется адрес в массиве, а уже по этому адресу хранится один из трех результатов.
Если Ранговые, то для результативных позиций хранится ранг — число ходов необходимых для перехода в младший выигранный эндшпиль (либо число ходов до полной победы)
Нет никаких деревьев.NSУчастникИ где, спрашиваецца, польза от большой ЭБ?
В анализе. В практической партии как правило или раньше всё решается, либо программа справляется без ЭБ.
Никакие ЭБ не помогли бы Тундре в последней партии матча.
я пока только её успел посмотретьNSУчастникУпрощенно говоря ЭБ это массив. Ничего выкинуть из него не получится.
Несжатые ЭБ — 5 позиций в байте.
1.6 бита на позицию.
Сами позиции в ЭБ не хранятся!NSУчастникКоммунизм явная утопия, а тут вполне реальное дело, причем сроки четкие и достаточно близкие (9 мая, возможно чуть позже из-за согласования протокола общения с общей ЭБ). И даже уже заявлена примерная сила игры.
NSУчастникПочему это не имеет? Для лучшего сжатия близкие (похожие) позиции размещаются рядом, и должны иметь близкий индекс. Плюс, при неполных базах, например в базах с одинаковым числом шашек у обеих сторон, если храним позиции только с очередью хода стороны с наиболее продвинутой шашкой — вычисление индекса так-же меняется.
И вместо выигрыша в скорости от обращения по индексу получаем падение скорости на пересчет индекса в оболочке.
Или другой пример — в Чинуке таблицы разбивались по степени продвинутости наиболее продвинутой простой — так-же другой расчет индекса.
-
АвторСообщения