Повна версія

Головна arrow Природознавство arrow ІНТЕЛЕКТУАЛЬНІ СИСТЕМИ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

ПРИКЛАД ЗАСТОСУВАННЯ АЛГОРИТМУ А *

Розглянемо гру «Вісім», для якої випливає з початкового стану S 0 перейти в кінцевий стан S, (рис. 9). Кожен хід в цій грі можна інтерпретувати як рух порожньої клітки - цифри 0 в відповідних матрицях.

Мал. 9

Метою цієї гри є пошук найкоротшої послідовності рухів 0, що переводить стан S 0 в кінцевий стан S r Поточний стан, отримане після декількох ходів, позначимо S.

Визначимо оціночну функцію f (S) = g (S) + h (S ), поклавши # ^ рівним фактичному числу ходів, що призвели до стану S зі стану S 0 , а евристичну функцію h (S) покладемо рівною кількістю фішок, розташованих не на своїх місцях в стані S в порівнянні з цільовим станом S r з умови задачі і визначення функції h (S) слід нерівність h (S) <h * (S) для всіх нецільових вершин. Дерево пошуку, отримане за допомогою алгоритму А*, Наведено на рис. 10. На ньому близько кожного стану справа внизу в квадратних дужках через кому представлені відповідні значення g (S) і h (S). Оптимальний вирішальний шлях виділений масними лініями. При цьому початковому стані S 0 буде потрібно щонайменше п'ять рухів порожній клітини-цифри 0 для отримання цільового стану S ,.

Мал. 10

Зауважимо, що алгоритм А * з тієї ж оціночної функцією для двох інших початкових станів (див. Рис. 11) побудує оптимальні вирішальні шляхи відповідно в 4 і 18 ходів.

Мал. 11

 
<<   ЗМІСТ   >>