Користувач:Yuriy znovyak/Диплом

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

Тема: побудова конгнітивних моделей на прикладі самонавчаючихся шахів

Вступ

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

Метою дипломної роботи є побудова інтелектуальних систем, які мають характеристики живих когнітивних систем. Так як тема штучного інтелекту дуже велика, то в цій роботі досліджено тільки кілька аспектів когнітивних систем. Для демонстрації практичності розроблених методик було написано демонстраційну програму, яка грає шахи і навчається зі свого досвіду.

Шахи є однією із найрозповсюдженіших ігор сучасності, що поєднує в собі елементи мистецтва, майстерності і спорту. На тему шахів є дуже багато робіт у сферах математики, кібернетики, педагогіки і психології. Так як шахи є однією із небагатьох ігор, для якої дуже детально досліджено аспект майстерності, то шахи часто називають дроздофілою когнітивної психології і штучного інтелекту [1]. Саме це робить шахи ідеальним інструментом для дослідження практичності реалізованих алгоритмів.

В роботі розглянуто кілька різних підходів, проблемні моменти навчання, сильні і слабкі сторони отриманого підходу. Також в роботі розглянуто наступні питання:

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


Огляд наявних робіт

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

Deep Blue

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

Огляд був би не повним без короткого опису Deep Blue, комп'ютера який в травні 1997 року виграв у тогочасного чемпіона світу Гаррі Каспарова.

Компанія IBM розробила суперкомп'ютер Deep Blue, який в 1996 році вперше виграв партію (але не матч) у діючого чемпіона світу -- на той час Гаррі Каспарова. Проте ігровий матч, що складається з 6 ігор все-таки виграв Каспаров з рахунком 4-2 (1 поразка, 2 нічиї і 3 виграші). Після цього Deep Blue було значно дороблено і в матчі-реванші 1997 року Deep Blue виграв з рахунком 3.5-2.5.

Оціночна функція Deep Blue була записана в узагальненій формі, де більшість параметрів (наприклад наскільки важливим є безпека короля у порівнянні з контролем центральних клітин). Вибір оптимального значиння цих параметрів було надано самій системі. Оціночна функція складалась із 8000 частин, багато з яких було заточено під позиції спеціального типу. Треніровочний набір Deep Blue складався з 4000 дебютів і 700000 іграми гросмейстерів. Еміричну перевірку якості обраних параметрів допомагав здійснювати гросмейстр Джоель Бенджамін. Бібліотеку дебютів помагали створювати гросмейстри Мігель Ільєскас, Джон Федорович і Нік де Фірміан.

Deep Blue був в змозі обробляти 200 мільйонів позицій за секунду, що досі є рекордом.

NeuroChess

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

У роботі [6] розроблено програму NeuroChess, яка обирає ходи за допомогою штучної нейронної мережі. В цій роботі застосовано ідеї індуктивного навчання нейронних мереж і навчання на основі пояснень.

В основі механізму самоначання NeuroChess є нейронна мережа на основі пояснень (explanation-based neural network), описаного в роботах [7] і [8].

На жаль, якість гри NeuroChess всерівно гірша за GNU Chess, яка побудована на основі простих перебірних алгоритмів. Проте в цій роботі досліджено дуже багато методів побудови ефективних когнітивних систем.

Нейронна мережа на основі пояснень

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

В шахах дуже важко побудувати повністю індуктивну самонавчаючуся систему таку як нейронну мережу з зворотнім поширенням. Такі системи будуть абсолютно непрактичними через величезний об'єм необхідного навчання. В тій же роботі [6] приведено приклад шахової виделки в якій кінь нападає на короля і ферзя. В цій позиції для того, щоб врятувати короля необхідно пожертвувати ферзем. Для того щоб класична нейронна мережа вивчила наскільки поганою є така виделка, їй потрібно вивчити, що деякі особливості теперішньої конфігурації (в даному випадку взаємне розташування короля, ферзя і коня) є дуже важливими в той час як інші не є важливими (позиції слабких пішаків). Чисто індуктивні системи самонавчання вміють здобувають свої знання спостерігаючи кореляцію між індивідуальними ознаками і результатами партій. Таким чином системі необхідно буде проаналізувати дуже багато тренувальних наборів.

В роботах [7] і [8] описано неронні мережі на основі пояснень. Такі системи використовують специфічні для конкретної області постулати, які вони застосовують для більш ефективного навчання. На прикладі попередньої ситуації з виделкою з ферзем і королем така система може опиратись на те, що позиція ферзя є важливою а позиція слабких пішаків -- ні.

В роботі [6] потрібні знання зберігались в додатковій нейронній мережі, яка була натренована на великій базі ігор між гроссмейстрами.

Основні ідеї

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

??? PROFIT!

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

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

Проблеми самонавчання

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

Постараємось коротко вказати основні проблеми самонавчаючишся систем.

Вибірка

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

Переважна більшість шахових позицій є, грубо кажучи, не цікавими. Якщо один із гравцій має перевагу на ферзя і туру, то він майже гарантовано виграє. Без правильної вибірки учень потратить дуже багато часу вивчаючи нецікаві приклади.

Для того, щоб подолати цю проблему було застосовано той же самий прийом, що і в NeuroChess -- чергування самостійної граи і ігор експертів. Зокрема, після подання випадкового числа кроків з гройсмейстерської гри піддослідна програма закінчує гру самостійно. Цей механізм вибірки виявився придатним для побудови хорошої самонавчающоїся функції за прийнятний проміжок часу.

Нерухомий пошук

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

Гладкість

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

Архітектура

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

Результати

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