Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка до КП.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
434.18 Кб
Скачать

2.3.2 Обмеження глибини перебору

Звичайним підходом є обмеження глибини перебору, тобто реа­лізація мінімаксної процедури.

Позначимо максимальну глибину перебору (далі — просто глибину пе­ребору) через d. Горизонтом для даної позиції називається множина пози­цій, відстань від яких до кореня дерева аналізу піддерева точно дорівнює глибині перебору. Таким чином, аналіз варіанта повинен завершуватися при досягненні горизонту, тобто глибини d.

Але не всі позиції, завершальні для скороченого дерева, лежать на го­ризонті. Це пов'язано з тим, що варіант може обірватися раніше. З іншого боку, позиції, які лежать точно на горизонті, як правило, не є завершальними для повного дерева аналізу, але можуть виявитися такими.

У зв'язку з цим видається доцільним ввести поняття абсолютно завершальних і відносно завершальних позицій.

Абсолютно завершальними називатимемо позиції, завершальні для повного дерева аналізу.

Відносно завершальними називатимемо позиції, які є завершальними для скороченого дерева гри, але не для повного дерева.

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

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

Часто використовуються лінійні статичні оціночні функції, які обчис­люються за формулою:

n

S(P) = ∑ aixi,

i=1

де xi, i =1, …, n — числові значення факторів, що впливають на оцінку по­зиції, ai, i = 1, …, n — вагові коефіцієнти, що визначають міру важливості того чи іншого фактора.

Визначення статичної оціночної функції, що було раніше, є простим і інтуїтивно зрозумілим. Але воно не зовсім чітке, оскільки і мінімаксна оцінка позиції врешті-решт однозначно визначається цією позицією. Справа в тому, що статичні оцінки, на відміну від мінімаксних, не враховують ди­наміки позиції, тобто можливостей її зміни; саме тому вони й називаються статичними.

Тепер можна сформулювати визначення мінімаксної та статичної оці­ночних функцій.

Мінімаксною оціночною функцією називатимемо функцію f: M> R, яка визначена для будь-якої позиції та обчислюється на основі описаної раніше мінімаксної процедури; значення цієї функції є мінімаксними оцінками.

Статичною оціночною функцією називатимемо функцію g: S -> R, яка визначена для будь-якої позиції та обчислюється на основі власних факторів цієї позиції; значення цієї функції є статичними оцінками.

Тепер можна переформулювати мінімаксну процедуру, якщо вводять­ся обмеження на глибину перебору.

  1. Мінімаксна оцінка абсолютно завершальних позицій дорівнює функ­ції виграшу; мінімаксна оцінка умовно завершальних позицій дорівнює статичній оцінці.

  2. Мінімаксна оцінка альфа-вершини дорівнює максимуму мінімаксних оцінок безпосередніх наступників; відповідно до цього найкращий хід з альфа-вершини веде до позиції-наступника з максимальною оцінкою.

  3. Мінімаксна оцінка бета-вершини дорівнює мінімуму мінімаксних оці­нок безпосередніх наступників; відповідно до цього найкращий хід з бета-вершини веде до позиції-наступника з мінімальною оцінкою.

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

Відтинанням у деякій вершині називається припинення аналізу цієї вершини разом з усіма її наступниками.

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

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

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

Тепер можна сформулювати правила відтинань для альфа-бета-процедури.

  1. Відтинання у альфа-вершині відбувається, коли попередня оцінка цієї вершини стає не меншою, ніж попередня оцінка будь-якого бета-попередника цієї вершини.

  2. Відтинання у бетa-вершині відбувається, коли попередня оцінка цієї вершини стає не більшою, ніж попередня оцінка будь-якого альфа-попередника цієї вершини.

Інколи ці правила формулюються інакше: попередні оцінки альфа (бета)-вершини порівнюються з попередніми оцінками не будь-якого бета (відповідно альфа)-попередника, а лише батька. Цей варіант є менш опти­мальним у тому розумінні, що він розкриває трохи більше вершин.

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

Нехай d— глибина перебору, a b — коефіцієнт розгалуження. Нагадаємо, що при повному переборі доводиться переглядати bd завершальних позицій. 1)Кількість завершальних позицій, які доводиться переглядати при максимальних альфа-бета-відтинаннях, дорівнює

2bd/2 - 1 — для парного d;

b(d+1)/2+b(d-1)/2-1 ― для непарного d.

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

На цьому етапі потрібно здійснити обмеження глибини перебору за допомогою мінімаксної процедури.