Змагальний пошук – це пошук, під час якого ми досліджуємо проблему, яка виникає, коли ми намагаємось планувати на випередження, а інші агенти планують проти нас.
- У попередніх темах ми вивчали стратегії пошуку, пов’язані лише з одним агентом, який прагне знайти рішення, яке часто виражається у формі послідовності дій.
- Але можуть виникати ситуації, коли кілька агентів шукають рішення в одному просторі пошуку, і така ситуація зазвичай виникає під час гри.
- Середовище з більш ніж одним агентом називається як багатоагентне середовище , у якому кожен агент є суперником іншого агента та грає один проти одного. Кожен агент повинен враховувати дію іншого агента та вплив цієї дії на його ефективність.
- Так, Пошуки, під час яких два або більше гравців із суперечливими цілями намагаються дослідити той самий простір пошуку рішення, називаються змагальними пошуками, часто відомими як Ігри .
- Ігри моделюються як завдання пошуку та функція евристичної оцінки, і це два основні фактори, які допомагають моделювати та вирішувати ігри в ШІ.
Типи ігор в AI:
Детермінований | Шанс Ходи | |
---|---|---|
Ідеальна інформація | Шахи, Шашки, вперед, Отелло | Нарди, монополія |
Недосконала інформація | Броненосці, сліпий, хрестики-нулики | Міст, покер, скраббл, ядерна війна |
Приклад: нарди, монополія, покер тощо.
Примітка. У цій темі ми обговоримо детерміновані ігри, повністю спостережуване середовище, нульову суму та де кожен агент діє альтернативно.
Гра з нульовою сумою
- Ігри з нульовою сумою – це змагальний пошук, який передбачає чисту конкуренцію.
- У грі з нульовою сумою виграш або втрата корисності кожного агента точно врівноважується втратами або виграшами корисності іншого агента.
- Один гравець у грі намагається максимізувати одне значення, тоді як інший гравець намагається мінімізувати його.
- Кожен хід одного гравця в грі називається шаром.
- Шахи та хрестики-нулики є прикладами гри з нульовою сумою.
Гра з нульовою сумою: вбудоване мислення
Гра з нульовою сумою включала вбудоване мислення, у якому один агент або гравець намагався з’ясувати:
listnode
- Що робити.
- Як вирішити хід
- Треба думати і про суперника
- Суперник теж думає, що робити
Кожен з гравців намагається дізнатися реакцію суперника на їхні дії. Це вимагає вбудованого мислення або ретроспективних міркувань для вирішення проблем гри в ШІ.
Формалізація задачі:
Гру можна визначити як тип пошуку в ШІ, який можна формалізувати з таких елементів:
Дерево гри:
Дерево гри – це дерево, де вузли дерева – це стани гри, а ребра дерева – ходи гравців. Дерево гри містить початковий стан, функцію дій і функцію результату.
Приклад: дерево гри в хрестики-нулики:
статична функція в java
На наступному малюнку показано частину ігрового дерева для гри в хрестики-нулики. Ось кілька ключових моментів гри:
- Є два гравці MAX і MIN.
- Гравці мають альтернативний хід і починають з МАКС.
- MAX максимізує результат дерева гри
- MIN мінімізує результат.
Приклад пояснення:
- З початкового стану МАКС має 9 можливих ходів, оскільки він починає першим. MAX розміщує x і MIN розміщує o, і обидва гравці грають по черзі, доки ми не досягнемо листкового вузла, де один гравець має три в рядку або всі квадрати заповнені.
- Обидва гравці обчислять кожен вузол, мінімакс, мінімаксне значення, яке є найкращою досяжною корисністю проти оптимального супротивника.
- Припустимо, обидва гравці добре знають хрестики-нулики і грають найкращу партію. Кожен гравець робить усе можливе, щоб не дати іншому виграти. MIN діє проти Макса в грі.
- Тож у дереві гри ми маємо шар Max, шар MIN, і кожен шар називається as пластовий . Макс ставить x, потім MIN ставить o, щоб запобігти виграшу Макса, і ця гра продовжується до термінального вузла.
- У цьому випадку виграє або MIN, або MAX, або нічия. Це дерево гри — це весь простір пошуку можливостей, у які MIN і MAX грають у хрестики-нулики та по черзі.
Отже, змагальний пошук мінімаксної процедури працює наступним чином:
репозиторій maven
- Він спрямований на пошук оптимальної стратегії для MAX, щоб виграти гру.
- Він дотримується підходу пошуку в глибину.
- В ігровому дереві оптимальний листовий вузол може з’явитися на будь-якій глибині дерева.
- Поширюйте мінімаксні значення до дерева, доки не буде виявлено кінцевий вузол.
У заданому дереві гри оптимальну стратегію можна визначити за мінімаксним значенням кожного вузла, яке можна записати як MINIMAX(n). MAX віддає перевагу переходу до стану максимального значення, а MIN віддає перевагу переходу до стану мінімального значення, тоді: