Задать вопрос
@ffff567

Как лучше всего обрезать дерево поиска в игре реверси?

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

Проблема в том, что программа работает на маленькой глубине 4-6 на финише до 12 может доходить при этом на глубине 6 программа иногда потребляет всю оперативную память компьютера 16 гигабайт.

Вопрос, как лучше всего обрезать дерево поиска?

Есть несколько идей:
Первая идея
Перебрать все комбинации на глубину 4 оценить минимаксом все ходы
начинаем обрезать.

На 1 глубине выбрать 5 лучших продолжений остальные удалить
перестроить дерево удлив первый ход и и оценить снова ходы
На 2 глубине то же выбрать 5 лучших продолжений остальные удалить
Итого мы удалили большую часть дерева.
Начинаем перебирать все комбинации дальше +2 глубины и снова обрезка дерева.

Вторая идея
Перебрать все комбинации на глубину 4.
Построить дерево оценить минимаксом.
Запомнить лучшее продолжение и удалить его из дерева.
Снова оценить минимаксом запомнить лучшее продолжение и удалить его из дерева.
И так повторить раз 1000 раз, чтобы 1000 лучших продолжений запомнить чтобы дальше их анализировать на большую глубину. Из 50000 вариантов останется 1000 .

Может у вас есть какая-нибудь идея как обрезать лучше всего дерево поиска?

67bb6124081ec556477293.jpeg
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы