- •Розділ 2. Способи подання інтелектуальної задачі та методи пошуку рішень
- •2.1. Способи подання інтелектуальної задачі
- •2.2. Пошук рішень інтелектуальної задачі у просторі станів. Методи сліпого та евристичного пошуків
- •2.2.1. Пошук рішень інтелектуальної задачі у просторі станів.
- •2.2.2. Методи сліпого пошуку
- •2.2.3. Метод евристичного пошуку
- •2.3. Методи пошуку рішень інтелектуальної задачі у разі зведення задач до підзадач
- •2.6. Теми рефератів
- •2.7. Основні терміни та поняття
- •2.4. Заключні зауваження
- •2.5. Контрольні запитання
2.2. Пошук рішень інтелектуальної задачі у просторі станів. Методи сліпого та евристичного пошуків
2.2.1. Пошук рішень інтелектуальної задачі у просторі станів.
Від обраного методу пошуку, тобто стратегії виведення, залежатиме порядок застосування та спрацювання правил. Процедура вибору зводиться до визначення напрямку пошуку і способу його здійснення.[3]
При розробці стратегії управління виводу важливо відповісти на два питання. Перше питання: яку точку в просторі станів прийняти в якості вихідної? Від вибору цієї точки залежить і метод здійснення пошуку - в прямому або зворотному напрямку. Другий - якими методами можна підвищити ефективність пошуку рішення? Ці методи визначаються вибраною стратегією перебору - глибину, в ширину, за підзадач чи інакше. Розглянемо основні методи здійснення пошуку.
При зворотному порядку виведення спочатку висувається певна гіпотеза, а потім механізм виводу як би повертається назад, переходячи до фактів, намагаючись знайти ті, які підтверджують гіпотезу. Якщо вона виявилася правильною, то вибирається наступна гіпотеза, що деталізує першу і є по відношенню до неї підціллю. Далі відшукуються факти, що підтверджують істинність підпорядкованої гіпотези. Виведення такого типу називається керованим цілями. Зворотний пошук застосовується в тих випадках, коли цілі відомі і їх порівняно небагато. [3]
В системах з прямим виведенням по відомим фактам відшукується висновок, який із цих фактів слідує. Якщо такий висновок вдається знайти, то він заноситься в робочу пам'ять. Пряме виведення називають виведенням, керованим даними, або виведенням, керованим антецедентами.
Існують системи, в яких виведення ґрунтується на поєднанні згаданих вище методів - зворотного і обмеженого прямого. Такий комбінований метод отримав назву циклічного.
Розглянемо основні принципи алгоритмів пошуку рішень або стратегії виведення.
При пошуку в глибину як чергова підцілі вибирається та, яка відповідає наступному, більш детальному рівню опису завдання. При пошуку в ширину, навпаки, система спочатку проаналізує всі вершини, що знаходяться на одному рівні простору станів, навіть якщо вони належать до різних гілок дерева, і лише потім перейде до вершин наступного рівня детальності. Алгоритм пошуку в ширину відшукує рішення, шлях до якого на графі - найкоротший. Алгоритм пошуку в глибину може швидше знайти рішення, особливо якщо при його виконанні використовується евристика для вибору чергової гілки. Але цей алгоритм може ніколи не закінчитися, якщо простір станів нескінченний.
Розбиття на підзадачі - передбачає виділення підзадач, вирішення яких розглядається як досягнення проміжних цілей на шляху до кінцевої мети. Прикладом, що підтверджує ефективність розбиття на підзадачі, є пошук несправностей в комп'ютері - спочатку виявляється підсистема, яка відмовила, (живлення, пам'ять і т. д.), що значно звужує простір пошуку. Якщо вдається правильно зрозуміти сутність завдання і оптимально розбити її на систему ієрархічно пов'язаних цілей-підцілей, то можна домогтися того, що шлях до її вирішення в просторі пошуку буде мінімальний.
Альфа-бета алгоритм дозволяє зменшити простір станів шляхом видалення гілок, неперспективних для успішного пошуку. Тому переглядаються тільки ті вершини, в які можна потрапити в результаті наступного кроку, після чого неперспективні напрями виключаються. Альфа-бета алгоритм знайшов широке застосування в основному в системах, орієнтованих на різні ігри, наприклад в шахових програмах.
Пошук рішення має ітеративний характер, при чому кількість ітерацій залежить від порядку, у якому розглядаються вершини.
Рис. 2.2.Пошук рішення у просторі станів
Пошук рішень у просторі станів зводиться до визначення послідовності операторів, що відображають початкові стани в цілому.
Причому якщо така послідовність не одна і заданий критерій оптимальності, то пошук зводиться до пошуку оптимальної послідовності.
Р
озглянемо
процедуру побудови графа станів на
прикладі обрання маршруту. Необхідно
вийти з вершини А, обійти пункти B, C, D і
повернутися у пункт А.Заборонено
відвідувати B, C, D більше, ніж один раз.
С
Рис.
2.3.
Обрання маршруту
Початковим буде стан А, а цільовими будуть слова, що починаються і закінчуються літерою А і включають по одному разу найменування усіх пунктів.
Стани, які описуються словами, що містять повторювані букви, є недопустимими.
Оператори відповідають обранню того чи іншого маршруту.
На графі станів початковою вершиною є А.
На дугах показані відстані, які проходить робот при переході з одного стану в інший.
Рис. 2.4. Відстані при переході з одного стану в інший
Пошук рішення має ітеративний характер, при чому число ітерацій залежить від порядку, в якому розкривалися вершини. Порядок розкриття називають стратегією пошуку. Можна виділити два основних типи стратегій пошуку:
сліпий перебір;
упорядкований перебір.
Стратегії пошуку відрізняються правилами розміщення вершин у переліки.
