Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OРГАНІЗАЦІЯ БАЗ ДАНИХ І ЗНАНЬ-ЛЕКЦІЯ.doc
Скачиваний:
0
Добавлен:
06.01.2020
Размер:
815.1 Кб
Скачать

Стратегії пошуку в соз

СОЗ, в тому числі і експертні системи, мають специфічну організацію. Її сутьність полягає в тому, що СОЗ здійснюють пошук деякої мети (тобто кінцевого стану) на основі певних вихідних посилок і набору фактів (тобто початкового стану) (рис. 6.7) [18-20].

Рис. 6.7-Пошук в СОЗ

Пошук кінцевого стану виконується автоматично на основі реалізованої в СОЗ стратегії пошуку, що:

  • реалізує можливість вибору;

  • дозволяє виконувати кроки від початкового стану до нових станів, більш-менш близьких до мети.

Таким чином, реалізовані в СОЗ стратегії пошуку відшукують мету, крокуючи від одного стану системи до іншого. При цьому забезпечується розпізнавання ситуації, коли зазначені стратегії пошуку знаходять мету або потрапляють в тупик.

Більшість СОЗ працюють за такою схемою: на проміжних стадіях обчислюється деяке число (критерій), за допомогою якого програма пошуку оцінює свій хід і визначає подальший напрямок пошуку необхідного кінцевого стану. При цьому мета може бути одна або ж може бути деякий набір прийнятних цілей (кінцевих станів).

Рис. 6.8- Карта доріг

Для визначення кожного наступного кроку застосовується деяка проста механічна стратегія, що має два різновиди: пошук у глибину і пошук у ширину.

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

Наприклад, ЕОМ завжди першою досліджує невідому ліву гілку дерева. Коли процес пошуку заходить у тупик, він повертається вверх в останній пункт вибору, де є невивчені альтернативні варіанти руху, і потім здійснюється наступний варіант вибору (рис. 6.9).

Рис. 6.9- Пошук у глибину

У середньому пошук у глибину підходить для рішення проблеми, де всі шляхи пошуку від вершини дерева до його кінцевого стану(мети) мають однакову довжину.

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

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

Рис. 6.10- Пошук у ширину

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

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

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

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

Існує цілий ряд евристичних методів. Найпростіший з яких зветься підіймання на гору. Його принцип:

  • якщо є прийнятні варіанти вибору, вибирайте найкращий з них, використовуючи будь-який критерій міркувань;

  • якщо потрапили в тупик, повертайтесь в останнє місце, де є альтернативні варіанти вибору, і зробіть наступний найкращий вибір.

При цьому, ЕОМ створює дерево пошуку сама на основі запропонованих їй початкових знань, причому робить це поступово в процесі самого пошуку.

Процес рішення задачі, як правило, включає два етапи: подання задачі і реалізація стратегії пошуку. Повне подання задачі в просторі станів включає:

  • опис всіх або тільки початкових станів; завдання операторів, що відображують одні стани в інші;

  • завдання цільового стану.

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

< S0, F, G>,

де S0 - множина початкових станів (може включати один елемент);

  • F - множина операторів, що відображують один стан в інший;

  • G - множина цільових станів.

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

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]