TD-нарди

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

TD-нарди — це комп'ютерна програма для гри в нарди, розроблена в 1992 р. Джеральдом Тезауро в дослідницькому центрі Томаса Дж. Ватсона[en] IBM. Назва програми походить від того факту, що це штучна нейронна мережа, навчена за допомогою методу часових різниць, а саме методу TD-лямбда створеного Річардом Саттоном.

TD-нарди досягла рівня гри трохи нижче, ніж у найкращих гравців у нарди того часу. В ній були досліджені стратегії, які не використовувалися людьми, і було досягнуто успіхів у теорії правильної гри в нарди.

Алгоритм гри та навчання

[ред. | ред. код]

Під час гри TD-нарди перевіряє на кожному ходу всі можливі допустимі ходи та всі їхні можливі відповіді (двошаровий перегляд вперед), передає кожну результуючу позицію на дошці в свою оцінювальну функцію та обирає хід, що призводить до позиції на дошці, яка отримала найбільшу кількість очок. Щодо цього відношення TD-нарди нічим не відрізняються від майже будь-якої іншої комп'ютерної програми для настільних ігор. Інновація TD-нардів полягала у тому, як вона навчилася своєї функцію оцінки.

Алгоритм навчання TD-нардів полягає в оновленні ваги в її нейронній мережі після кожного ходу, щоб зменшити різницю між оцінкою позицій дошки в попередніх ходах і оцінкою позиції дошки в поточному ходу — звідси і «метод часових різниць». Рахунок будь-якої позиції на дошці — це набір із чотирьох чисел, що відображають оцінку програмою ймовірності кожного можливого результату гри: білі зазвичай перемагають, чорні зазвичай перемагають, білі виграють гру, чорні виграють гру. Для остаточного становища дошки у грі алгоритм порівнює з фактичним результатом гри, а не з власною оцінкою положення дошки.[1]

Алгоритм навчання оновлює кожну вагу після кожного ходу в нейронній мережі відповідно до цього правила:

де:

це сума зміни ваги, порівняно з його значенням на попередньому ходу.
це різниця між оцінками дошки поточного та попереднього ходу.
це параметр «темп навчання».
це параметр, який впливає на те, наскільки існуюча різниця в оцінці поточного стану дошки має відповідати попереднім оцінкам. змушує програму коригувати лише оцінку попереднього ходу; робить спробу програми скоригувати оцінки на всіх попередніх ходах; та значення від 0 до 1 вказує різні швидкості, з якими важливість старих оцінок має з часом «зменшуватися».
це градієнт результату нейронної мережі по відношенню до ваги: тобто, наскільки зміна ваги впливає на результат[1]

Експерименти та етапи навчання

[ред. | ред. код]

На відміну від попередніх нейромережевих програм гри в нарди, таких як Neurogammon[en] (також написана Тезауро), де експерт навчав програму, надаючи «правильну» оцінку кожної позиції, TD-нарди спочатку була запрограмована «без знань».[1] У ранніх експериментах, використовуючи лише кодування дошки без будь-яких функцій, розроблених людиною (програма самостійно давала оцінку кожному стану), TD-нарди досягла рівня гри, порівнянного з Neurogammon: рівня гри в нарди середнього рівня.

Незважаючи на те, що TD-Gammon виявила цікаві закономірності самостійно, Тезауро ставив питання, чи можна покращити його гру, використовуючи розроблені вручну функції, такі як Neurogammon. Справді, TD-нарди, що самонавчались, з функціями, розробленими експертами, незабаром перевершила усі попередні комп'ютерні програми для нард. Програма перестала покращуватися приблизно після 1 500 000 ігор (самостійних ігор) із використанням 80 прихованих вузлів нейронної мережі.[2]

Успіхи теорії нард

[ред. | ред. код]

Ексклюзивне навчання TD-нардів за допомогою гри зі самим собою дозволило їй вивчити стратегії, які раніше люди не розглядали або виключали помилково. Її успіх у використанні нестандартних стратегій вплинув на спільноту любителів нард.[1]

Наприклад, у дебютній грі прийнято вважати, що при кидку 2-1, 4-1 або 5-1 білі повинні перемістити одну шашку з точки 6 до точки 5. Це називається «прорізування». Техніка балансує ризиком на можливість розвинути агресивну позицію. TD-нарди виявила, що більш консервативна гра 24-23 — краще. Турнірні гравці почали експериментувати та застосовувати тактику TD-нардів і досягли успіху. За кілька років техніка прорізування зникла з турнірів. (Тим не менш, вона іноді з'являється при кидку 2-1.[3])

Експерт з нардів Кіт Вулсі[en] виявив, що оцінювання позицій дошки TD-нардів, особливо її зважування між ризиком та безпечною грою, було кращим за його власне або будь-якої людини.[1]

Чудова позиційна гра TD-нардів псується іноді невдалою грою в ендшпілі. Ендшпіль вимагає більш аналітичного підходу, іноді з детальним прогнозом. Використання двошарового підходу TD-нардів створює обмеження щодо того, чого вона може досягти у цій частині гри. Сильні та слабкі сторони TD-нардів були протилежні програмам символьного штучного інтелекту[en] та більшості комп'ютерних програм загалом: програма добре розв'язувала питання, які вимагають інтуїтивного «відчуття», але погано справлялася із систематичним аналізом.

Посилання

[ред. | ред. код]
  1. а б в г д Tesauro, Gerald (March 1995). Temporal Difference Learning and TD-Gammon. Communications of the ACM. 38 (3). doi:10.1145/203330.203343. Архів оригіналу за 9 лютого 2010. Процитовано 1 листопада 2013.
  2. Sutton, Richard S.; Andrew G. Barto (1998). Reinforcement Learning: An Introduction. MIT Press. с. Table 11.1. Архів оригіналу за 15 травня 2021. Процитовано 23 грудня 2021.
  3. Backgammon: How to Play the Opening Rolls. Архів оригіналу за 27 жовтня 2021. Процитовано 23 грудня 2021.