Влияние размера хэша на "сознание" движков

Тема в разделе "Машинное отделение", создана пользователем foreveryoung, 10 янв 2007.

  1. foreveryoung
    Оффлайн

    foreveryoung баннер

    Репутация:
    0
    Ещё одна непонятка. Я думал так: качественно движок - это алгоритм перебора + оценочная функция. Интерфейс иррелевантен, вопрос удобства пользователя (моё предположение, я только Чессбэйзом пользовался), железо и размер хэша - вопрос быстродействия. То есть, я считал, что один и тот же движок на глубине, допустим, 14, будет предлагать один и тот же ход с одной и той же оценкой что на новейшей многоядерной машине что на допотопном Пне-2 из чулана. Разница во времени будет в порядки, но это уже количественная разница.

    Что же получилось в реальности?! Решил опытным путём установить оптимальный размер хэша на моей машине для Рыбки 2.2. Каково же было моё удивление, когда выяснилось, что в зависимости от размеров хэша Рыба предлагает на одной и той же глубине когда разные ходы, когда один ход, но с разными (разница вплоть до 0.4) оценками.

    Ничего не понимаю. Не может же размер хэша влиять ни на алгоритм перебора, ни на оценочную функцию. Так в чём же дело???

    PS С Фрицем-9 всё аналогично.
     
  2. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Размер хеша в основном влияет на выбор хода, а не на силу.
    Соответственно при разных размерах хеша будет и разный лучший ход, и разный PV, и разная оценка.
    Удвоение размера хеша прибавляет около 7 пунктов эло (хотя в эндшпиле прибавка будет скорей всего больше)

    В некоторых движках добавлена рандомность - получишь и разную оценку и разный ход при двух разных запусках - даже с одинаковым размером хеша.
     
  3. krey
    Оффлайн

    krey Михаил Кройтор Команда форума Команда форума

    Репутация:
    1
    так и должно быть. чем больше хеш, тем больше позиций перебирает программа, тем точнее оценка.
     
  4. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Что значит "оптимальный"? Чем больше, тем лучше...
     
  5. foreveryoung
    Оффлайн

    foreveryoung баннер

    Репутация:
    0
    Позвольте, какая рандомность в игре с полной информацией? В один движок несколько оценочных функций заложено? Зачем это? У меня и рыба и фриц с одинаковым хэшем всегда приводят одинаковые варианты с одинаковыми оценками за одинаковое время. В смысле, рыба свои, а фриц свои. И других случаев "рандомности" не припоминаю. Начиная с самых первых фрицов и крафти.

    "Размер хеша в основном влияет на выбор хода" Это как-то программно реализовано? Опять же, зачем? Я в данном случае говорю не об игровом режиме, а о режиме анализа.

    И насчёт "так и должно быть. чем больше хеш, тем больше позиций перебирает программа, тем точнее оценка." Как я понимаю сущность хэша, программа не больше позиций перебирает, а имеет более быстрый доступ к уже просмотренным вариантам. Поправьте, плиз, если неправ.

    Ну и насчёт увеличения здесь уже, по-моему, обсуждали. Размер хэша позитивно влияет на силу программы до поры до времени. Если занять хэшем всю свободную оперативку, вроде это тоже нехорошо.
     
  6. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    одна оценочная функция. Рандомность достигается не обязательно при помощи ОФ.
    Рандомность нужна всегда - хотя бы для того чтоб в практических партиях с человеком не налетать на одни и те-же проигранные варианты.

    Размер Хеша влияет на то какие конкретно позиции с лучшими ходами и оценками будут захешированы.
    От этого зависит и оценка (захешированные оценки) и порядок рассмотрения ходов, и глубина вариантов после сделанного хода. Есно когда перебор идет в другое русло программа выдает другие ходы (в условиях нестабильного перебора - у всех сильнейших программ перебор нестабилен)

    Не имеет более быстрый доступ, а просто отсекает ветви, лучше упорядочивает ходы, и лучше делает продления (не делает сокращений) на хороших ходах.

    Размер Хеша увеличивают до тех пор пока не начнется своп, и еще нужно оставить место для самой Винды и других программ если они будут запущены. Любая нормальная оболочка при установке размеров Хеша пишет свободный размер памяти...