Переборные алгоритмы...

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

  1. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    По первым результатам (65 партий, контроль 1+1) Греке расширяемое окнов в корне... Не дает ничего!!!
    Чистая Альфа-Бета показывает чуть лучший результат!!!

    По моим прикидкам, при увеличении контроля и глубины чистая Альфа-Бета должна вести себя еще лучше.
  2. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    А Анечку проверял?
  3. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У Греки окно слишком широкое.
    Кроме того, я думаю, что в корне по-любому надо PVS делать.
  4. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    До этого проводил тесты - с PVS расширяемое окно в корне практически ничего не дает - осталось сравнить с чистой Альфа-Бетой. Чистую Альфа-Бету пока еще на Анечке не тестировал.
    Попробую сделать несколько тестовых версий и проверить, но для Чистой Альфа-Беты нужно несколько поменять схему хеширования, и больше внимания обратить на сортировки...
  5. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    А зачем? Окно [ЛучшаяОценка,+inf] точно даст худшие результаты?
    В ответ, например, возможен пустой ход с тем-же нулевым окном что и в PVS (по лучшей оценке)
  6. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Используя чистую Альфа-Бету избегаем повторных проходов, не налетаем на нестабильность и т.д.
  7. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Нужно попробовать.
  8. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Можно в корне так-же использовать LMR - это-же полный Аналог PVS :)
    На всех ходах кроме нескольких первых - нулевое окно с сокращением глубины.
  9. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Мне это не очень нравится.
  10. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Так то-же самое LMR=PVS :)
    у LMR допустим два параметра - количество несокращаемых ходов, и LMR_Reduction

    КоличествоХодов=1, LMR_Reduction=0 - вот и получился из LMR PVS....
  11. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Как это?
    Вообще пустое место, никак ни на что не влияющее, получилось.
    LMR окно никак не сокращает.
  12. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Стандартная схема LMR с верификацией запускается с нулевым окном, так как с другим окном она не имеет смысла!
    Окно не сокращают при PVS - так как оно и так нулевое в не PV ветвях!!!
  13. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Как это не на что не влияющее? У нас получился вместо LMR обыкновенный PVS.
    Вместо полного окна - запуск с нулевым окном с верификацией. А это и есть PVS.
  14. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    А если без верификации?
    Смысл иммется даже, если с верификацией окно не менять.

    Вряд ли здесь будет особая польза от нулевого окна. Хотя попробовать можно.
  15. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    По моим тестам LMR без верификации Хуже, а с верификацией (тогда имеет смысл только нулевое окно) он может полностью заменять PVS.

    Какой смысл не менять окно с верификацией? Впустую увеличить дерево? Нам нужно только чтоб оценка была больше Альфы, и после этого в любом случае будет повторный проход - зачем зазря увеличивать окно?
  16. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Greko

    Рейтинг Имя Gre Gre Gre Очки S-B %
    1 GreKo 5.0.2 IK X 25.0 31.5 56.5 / 104 2809.25 54.33%
    2 GreKo 5.0.3 IK 27.0 X 23.0 50.0 / 104 2664.00 48.08%
    3 GreKo 5.0.1 IK 20.5 29.0 X 49.5 / 104 2608.25 47.60%


    Это текущее положение.
    Контроль 1+1 игра идет по Opening базе начальных позиций.

    5.0.1 - оригинальная версия с окном в пешку шириной
    5.0.2 - с откл. пустым ходом при матовой бете
    5.0.3 - с бесконечным окном


    При увеличении контроля разница между версией с окном и без должна уменьшаться, но нужно дождаться завершения этого турнира - а то пока достоверность никакая...
  17. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Только сейчас понял никакой это не LMR!
    Это LMP! - Late Moves Pruning

    или даже так: Late Moves History Pruning (LMHP)

    Запутала меня эта путаница в терминах :)
  18. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    в Тоге это называется History Pruning, на самом деле деле это что-то среднее между Прунинг и Редукшн - так как сначала идет сокращение глубины (Редукшн), а потом в случае отсечки по Альфе идет отсечение (Прунинг)
    Хотя в NullMove тоже самое, а его правильней называть Редукшн.
  19. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    А прунингом называть можно только Футилити, Разоринг, всякие отсечения в ФВ и т.д.
    А вот например сокращение глубины по текущей оценке - тоже Редукшн (Ребель редукшн)
  20. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Прунинг - это отрезание ветки.
    Редукшн - это сокращение глубины ветки.

    Если мы сокращаем ветку, чтобы ее потом отрезать, то это прунинг.

    Т.е. LMR без верификации - это редукшн. А с верификацей - это прунинг.
  21. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Как хитро :)
    А NullMove Редукшн это прунинг? :)
    Форвард прунинг :)

    Так не долго и запутаться... Проще уж считать обрыв сразу Прунингом (например отсечение по матовой оценке), а сокращение глубины независимо от того что будет дальше - Редукшн...
  22. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Конечно, все это прунинг.

    Сокращение глубины - редукшн, только если это самоцель.
    А если ради того, чтобы сделать обрезание, то это прунинг.
  23. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Так не пойдет, тогда выходит что у меня в программе нет Редукшнов, а всё называть одним словом как-то нехорошо.
    И редукшн тогда остается только один. Сокращение глубины исходя из параметров хода/Истории/порядка ходов/текущей оценки.
  24. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Чистые редукшны в шахматах не катят (только в шашках).
  25. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    А в шашках точно лучше сокращать без верификации?
    Если отсечки не произошло, значит ход хороший, и наверно лучше его посмотреть на полную глубину (Даже если мы сократили согласно оценке - значит мы просто ошиблись в статичной оценке)
  26. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Верификация в моей шашечной программе ничего не дает.
  27. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Хотя может я верификацию не так делал :)
    Может еще раз попробую.
  28. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Результат турнира с контролем 1+1
    Все отклонения в пределах доверительных интервалов

    Greko

    Рейтинг Имя Gre Gre Gre Очки S-B %
    1 GreKo 5.0.2 IK X 47.5 56.5 104.0 / 200 10183.00 52.00%
    2 GreKo 5.0.3 IK 52.5 X 46.5 99.0 / 200 9970.50 49.50%
    3 GreKo 5.0.1 IK 43.5 53.5 X 97.0 / 200 9820.50 48.50%


    Program Elo + - Games Score Av.Op. Draws

    1 GreKo 5.0.2 IK : 2209 42 42 200 52.0 % 2195 24.0 %
    2 GreKo 5.0.3 IK : 2198 41 41 200 49.5 % 2201 27.0 %
    3 GreKo 5.0.1 IK : 2193 41 41 200 48.5 % 2203 28.0 %
  29. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    А у меня бесконечное окно проиграло 24 : 26 (1 + 1).
    Буду проверять на 4 + 2.
  30. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Сейчас поставлю турнир пяти версий с контролем 4+2
  31. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня при 4 + 2 пока версия без окон иргает лучше.
    Нулевое окно LMR дает пока не очень хорошие результаты.
  32. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    У меня пока ровно идут, кроме версии 5.0.0 (полный PVS) - она немного отстает, но в пределах доверительных интервалов.
  33. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня нестабильность большая, поэтому окна только мешают.
  34. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Окна - когда помогают, то немного, а когда пакостят - то по полной.
    А насчет LMR нужно подумать, варианта понятно что два - нулевое окно с верификацией либо полное окно без верификации. Надо подумать когда какой способ лучше...
  35. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Нулевое окно с верификацией наверно лучше когда сокращения достаточно четкие, и верификация требуется редко. Если сокращаем всё подряд - тогда наверно лучше без верификации.

Поделиться этой страницей