
- •Лекція 4.20.
- •Двох осіб з повною інформацією
- •4. Мінімаксні ігрові програми: удосконалення і обмеження
- •5. Типові знання й механізм "порад"
- •5.1. Цілі й обмеження на ходи
- •5. 2. Виконуємість поради
- •5. 3. Правила й таблиці порад
- •6. Програма на мові al0 для гри в шаховому ендшпілі
- •6.1. Мініатюрний інтерпретатор al0
- •6.2. Програма на мові порад для ендшпіля "король і тура проти короля"
5. Типові знання й механізм "порад"
5.1. Цілі й обмеження на ходи
Метод подання знань про конкретну гру визначає:
які ідеї слід випробувати в тих або інших типових ситуаціях.
Ідеї формулюються в термінах цілей і засобів досягнення цих цілей.
Після цього інтерпретатор мови порад (Advice Languages) визначає за допомогою пошуку, яка ідея фактично спрацьовує у даній ситуації.
Основне поняття в мовах Advice Languages - елементарна порада (pіece-of-advіce), яка підказує, що слід робити (або намагатись робити) у деякій типовій ситуації.
Порада виражається в термінах цілей, які необхідно досягти, і засобів, які слід застосовувати для цього.
Два учасники гри іменуються свій гравець і чужий гравець; порада завжди стосується до свого гравця. Кожна елементарна порада має чотири складові:
Краща ціль (better-goal) - ціль, яку треба досягти,
Консервативна ціль (holdіng-goal) – та, яку не можна упустити в боротьбі за досягнення кращої цілі.
Обмеження свого ходу (us-move-constraіnts) - предикат визначення ходів, найперспективніших щодо досягнення зазначених цілей.
Обмеження чужого ходу (them-move-constraіnts) - предикат вибору ходів чужого гравця, здатних перешкоджати досягненню цілей свого гравця.
Наприклад, у шаховому ендшпілі типу "король і пішак проти короля" застосовна очевидна ідея: провести пішак у ферзя, просуваючи його вперед без додаткових пересторог. У формі поради це виражається так:
Краща ціль - перетворення пішака у ферзя.
Консервативна ціль – запобігти втраті пішака.
Обмеження свого ходу - хід пішаком.
Обмеження чужого ходу - наближення короля до пішака.
5. 2. Виконуємість поради
Вважається, що елементарна порада виконуєма в даній позиції, якщо свій гравець може форсувати досягнення кращої цілі, зазначеної в пораді, за наступних умов.
(1) Ніколи не порушується вимога досягнення консервативної цілі.
(2) Усі ходи свого гравця задовольняють обмеженням свого ходу.
(3) Чужому гравцю дозволено робити лише ті ходи, які задовольняють обмеженням чужого ходу.
Форсуюче дерево задає детальну стратегію, яка гарантує досягнення кращої цілі при виконанні всіх обмежень, заданих в елементарній пораді.
Формально, форсуюче дерево Т для заданої позиції Р і елементарної поради А є таке піддерево дерева гри, що:
кореневим вузлом дерева Т є позиція Р;
усі позиції з Т задовольняють консервативній цілі;
усі термінальні вузли Т задовольняють кращій цілі, а жоден внутрішній вузол в Т не задовольняє кращій цілі;
для кожної внутрішньої позиції свого гравця в дереві Т є точно один хід свого гравця, який задовольняє обмеженням свого хода;
в кожній не заключній позиції чужого ходу Т містить всі ходи чужого гравця, які задовольняють обмеженням чужого ходу.
Кожну елементарну пораду можна вважати визначенням невеликої гри за наступними особливими правилами.
Учасникам гри дозволено ходити в межах обмежень, накладених на їхні ходи; позиція, що не задовольняє консервативній цілі, є виграшною для чужого гравця, а позиція, яка задовольняє консервативній цілі і кращій цілі, - виграшною для свого гравця.
Нетермінальна позиція є виграшною для свого гравця, якщо в ній може бути виконана елементарна порада.
Таким чином, свій гравець виграє, виконуючи в ході гри ходи з форсуючого дерева.