Влияние эндшпильных баз на силу игры

Главная Форумы Шашечные программы Шашечные программы Влияние эндшпильных баз на силу игры

Просмотр 15 сообщений - с 31 по 45 (из 48 всего)
  • Автор
    Сообщения
  • #364547
    NS
    Участник

    Еще идеи по сжатию — перед RLE применить MTF преобразование (продвинутое, основанное на предсказании очередного исхода по предыдущим), а после — статичный Арифметик (правда он не очень быстр)

    #364548
    Kallisto
    Участник

    Еще идеи по сжатию — перед RLE применить MTF преобразование (продвинутое, основанное на предсказании очередного исхода по предыдущим), а после — статичный Арифметик (правда он не очень быстр)

    Главное скорость разжатия. Время сжатия будет все равно существенно меньше времени генерации базы.

    #364549
    NS
    Участник

    Еще идеи по сжатию — перед RLE применить MTF преобразование (продвинутое, основанное на предсказании очередного исхода по предыдущим), а после — статичный Арифметик (правда он не очень быстр)

    Главное скорость разжатия. Время сжатия будет все равно существенно меньше времени генерации базы.

    Я конечно это понимаю :)
    Арифметик не очень быстр при расжатии (то есть какое-то замедление он даст, и замедлит сильнее чем MTF преобразование — которое практически бесплатно по времени)

    #364550
    Kallisto
    Участник

    Тогда не надо его использовать. Вряд ли он существенно улучшит сжатие.

    #364551
    NS
    Участник

    После RLE он очень сильно улучшает сжатие…
    Но чтоб сказать точно — достаточно привести статистику по разной длине повторяющихся последовательностей — по ней легко считается на сколько сожмет статичный арифметик (по Формуле Шеннона)
    Если вероятности разной длины последоветельности отличаются сильно — то Арифметик даст весьма много.
    По статьям который я прочитал выходит что Энтропийные методы на выходе RLE являются стандартом «де факто»

    #364552
    Onix
    Участник

    Почитал дискуссию о сжатии данных…
    NS, мы с вам одной задачей занимаемся, поэтому хочу из своего опыта посоветовать вам не тратить время на то как выжать еще лишний мегабайт, а луче подумать, как можно преобразовать сами данные под сжатие: что-то удалить, где-то перегруппировать… для творчества простор!

    А почему у тебя один бит на позицию в безранговых? Вроде два должно быть.

    #364553
    AlexanderS
    Участник

    Но чтоб сказать точно…

    Чтоб сказать точно — нужно сгенерить 7-ку и 8-ку, сжать и посмотреть что получится. Доступ к несжатой шестерке практически мгновенный, наверное в сотню раз быстрее чем вызов приличной оценочной функции. Если доступ к сжатой семерке будет производиться очень медленно то использование ее в расчете становится практически бессмысленным. Имхо сжатая семерка должна помещаться в 300-500 мегов памяти и иметь при этом скорость доступа хотя бы в сотню тысяч позиций в секунду.

    #364554
    NS
    Участник

    Почитал дискуссию о сжатии данных…
    NS, мы с вам одной задачей занимаемся, поэтому хочу из своего опыта посоветовать вам не тратить время на то как выжать еще лишний мегабайт, а луче подумать, как можно преобразовать сами данные под сжатие: что-то удалить, где-то перегруппировать… для творчества простор!

    А почему у тебя один бит на позицию в безранговых? Вроде два должно быть.

    Преобразование данных под сжатие — хорошо описано в статье о ЭБ в Чинуке.
    //
    На самом деле 5 позиций в байте для ЭБ на три результата (с удаленными позциями с возможным взятием), и 8 позиций в байте для классов ЭБ на два результата (Два результата после удаления позиций с возможным взятием)

    На хороших алгоритмах сжатия выигрывается не мегабайт, а сжимается в разы!
    У Чинука хранится от 20 до 80 и больше позиций в Байте (и это практически полные ЭБ, исключены только некоторые классы позиций), при Этом их Сжатые ЭБ еще вдобавок сжимаются RAR-ом в пару раз.
    100 000 доступов в секунду скорей всего достижимо (скорей всего можно получить бОльшую скорость доступа к сжатым ЭБ в памяти), но нужно проводить тесты.

    #364555
    NS
    Участник

    Но чтоб сказать точно…

    Чтоб сказать точно — нужно сгенерить 7-ку и 8-ку, сжать и посмотреть что получится. Доступ к несжатой шестерке практически мгновенный, наверное в сотню раз быстрее чем вызов приличной оценочной функции. Если доступ к сжатой семерке будет производиться очень медленно то использование ее в расчете становится практически бессмысленным. Имхо сжатая семерка должна помещаться в 300-500 мегов памяти и иметь при этом скорость доступа хотя бы в сотню тысяч позиций в секунду.

    Сжатая семерка влезет в такие объемы даже при использовании простого RLE :) Можно спросить у Коршунова (если он посчитал семерку), сколько с его алгоритмом сжатия она занимает места.

    #364556
    Onix
    Участник

    Преобразование данных под сжатие — хорошо описано в статье о ЭБ в Чинуке.

    А можешь дать ссылку на статью?

    #364557
    NS
    Участник
    #364558
    sancoder
    Участник

    Вот, решил подкинуть данные.
    Не слишком у многих есть 10-ка Тундры, но те, кто имеет — могут видеть такую картину:
    ЭБ5(+4+…) — 2МБ,
    ЭБ6 — 29МБ,
    ЭБ7 — 328МБ,
    ЭБ8 — эээ… ну, можно посчитать кому интересно.

    То, что после дроби — это «полная» версия сжатой базы; то, что до дроби — это то, что используется (по дефолту).

    #364559
    Kvadrat
    Участник

    Я думаю стоит выложить результаты сюда.

    Можно сделать вывод, что играя против слабого соперника, у которого нет ЭБ, ЭБ не нужны. А возможно даже и вредны, т.к. программа начинает видеть ничьи там, где их не видит соперник.

    Любопытно, как будет играть программа обладающая 24-х фигурной базой. 😯

    #364560
    Kallisto
    Участник

    Если не придумывать никаких новых алгоритмов, то будет играть как попало.
    И вряд ли будет способна выигрывать. Разве что у самых слабых.

    #364561
    NS
    Участник

    Напоролся на теже грабли — программа не выигрывает у слабых движков. (перестала выигрывать).
    Только похоже виновата в этом не ЭБ, а случайное перемешивание ходов в корне. Ход из Хеша надо наверх вытягивать…

    Если программа досчиталась до ничьи по ЭБ, то ход из Хеша — это ход который давал перевес при меньшей глубине обдумывания.

    проверил, версия 0.06 теперь устраивает погром KestoG1.2 и KestoG1.3
    Правда кроме продвижения хода из Хеша вперед в корне я еще исправил несколько ошибок внесенных ночью.

    ЗЫ. Нельзя по ночам программы писать :)
    ЗЫЗЫ. Запустил матч с Каллисто 3.23, надеюсь что исправленная версия не проиграет этот матч.
    ЗЫЗЫЗЫ — все предыдущие матчи давали искаженный результат, так как оказалось что на Двух Гигах памяти в матче с Каллисто2 с ЭБ6 начинался своп, причем у Каллисто2 всё нормально, а у Scfi — падение NPS в десятки раз когда в переборе встречается много позиций из ЭБ.
    В итоге — зевки.

Просмотр 15 сообщений - с 31 по 45 (из 48 всего)
  • Для ответа в этой теме необходимо авторизоваться.