Інформація та теорія
Пошук за деревом Монте-Карло (MCTS) будує дерево пошуку поступово, повторюючи чотири фази, використовуючи рандомізовані симуляції замість вручну створеної функції оцінювання.
Чотири фази
- Вибір — починаючи з кореня, спускаємося деревом, обираючи дочірній вузол, що максимізує UCB1, доки не досягнемо вузла з невипробуваними ходами або без дочірніх вузлів.
- Розширення — додаємо один новий дочірній вузол для невипробуваного ходу.
- Розіграш (симуляція) — граємо рівномірно випадкові допустимі ходи з нового вузла до кінця гри.
- Зворотне поширення — повертаємося до кореня, оновлюючи лічильники відвідувань і перемог на кожному вузлі вздовж шляху.
UCB1: баланс дослідження та використання
Верхня довірча межа, застосована до дерев, обирає дочірній
вузол, що максимізує
winRate + C·√(ln(parentVisits) / childVisits).
Перший доданок надає перевагу ходам, які часто перемагали
(використання); другий доданок зростає для рідко відвіданих
дочірніх вузлів (дослідження), тож пошук продовжує
перевіряти перспективні, але недостатньо досліджені гілки,
замість того щоб зациклюватися на ранніх результатах.
C = √2 ≈ 1,41 — теоретично обґрунтована
константа для винагород у діапазоні [0,1].
Не потрібна евристична оцінка
На відміну від мінімаксу, якому потрібна вручну створена функція оцінювання для оцінки нетермінальних позицій, MCTS оцінює цінність позиції виключно за результатами випадкових розіграшів. Це робить його придатним для ігор, де хороші евристики важко розробити.
Збіжність і застосування в реальному світі
Зі зростанням кількості симуляцій лічильники відвідувань концентруються на найсильніших ходах, а оцінки частки перемог сходяться до справжніх значень гри. MCTS добре масштабується за великих коефіцієнтів розгалуження, тому саме він живив AlphaGo і AlphaZero, де його поєднали з глибокими нейронними мережами, що замінили випадкові розіграші навченими оцінками цінності та стратегії.