
- •Основні поняття
- •Характеристика зв'язків
- •Відділ а Співробітники в
- •Відділ а Дата звільнення в
- •Класифікація сутностей
- •Аналіз предметної області
- •Розробка універсального відношення
- •Розробка er-моделі предметної області
- •Книга має Твір
- •Книга належить Розділ
- •Ієрархічна (деревовидна) структура даних
- •Мережна структура даних
- •Реляційна модель даних
- •Поняття ключа, основні типи ключів
- •Студент-успішність
- •Основні поняття реляційної алгебри. Дії над таблицями.
- •Загальні відомості щодо нормалізації схем бд
- •Перша та друга нормальна форма
- •Третя нормальна форма та нфбк
- •Нормальна форма Бойса-Кодда
- •П'ята нормальна форма та послідовність етапів нормалізації
- •Об'єктно-орієнтовані субд
- •1 Зв'язок об'єктно-орієнтованих субд із загальними поняттями об'єктно-орієнтованого підходу
- •2 Об'єктно-орієнтовані моделі даних (оомд)
- •3 Мови програмування об'єктно-орієнтованих баз даних
- •4 Мови запитів об'єктно-орієнтованих баз даних
- •Мови реляційних баз даних
- •1. Загальна характеристика
- •2. Типова організація сучасної скбд
- •3. Мова foxpro
- •4. Мова sql
- •Загальні підходи
- •Спискові структури
- •Зв'язаний розподіл пам'яті
- •Нелінійні зв'язкові структури
- •Представлення рядкових даних
- •Індексні методи
- •Способи включення записів та організіція індексних файлів
- •Адресні методи
- •Табл 5.1 - Розрахунок адреси
- •Табл 5.2 - Розмiщення даних у пам'ятi
- •Порівняльні параметри
- •Інвертований метод
- •Поняття експертних систем
- •Подання знань в соз
- •Основні моделі знань та їх порівняльні характеристики
- •Представлення знань із використанням логіки предикатів
- •Найпростіші конструкції мови предикатів
- •Предикатні формули
- •Любить (х, у),
- •Визначення правильно побудованої формули
- •Правило резолюції для простих пропозицій
- •S1 (заперечення): ¬ а
- •Чи одержує студент стипендію.
- •S: ¬одержує (студент, стипендію)
- •Порядок розв'язування задачі
- •Семантичні мережі
- •Продукційні моделі
- •Якщо - то (явище - реакція)
- •Подання знань із застосуванням фреймів
- •Стратегії пошуку в соз
- •Нечіткі множини в системах баз знань
- •Визначення I класифiкацiя аіс
- •Автоматизованi БнД
- •Риcунок 1.4 - Схема взаємодiї колективу спецiалiстiв банку
- •Вимоги до БнД
- •Принципи побудови БнД
Стратегії пошуку в соз
СОЗ, в тому числі і експертні системи, мають специфічну організацію. Її сутьність полягає в тому, що СОЗ здійснюють пошук деякої мети (тобто кінцевого стану) на основі певних вихідних посилок і набору фактів (тобто початкового стану) (рис. 6.7) [18-20].
Рис. 6.7-Пошук в СОЗ
Пошук кінцевого стану виконується автоматично на основі реалізованої в СОЗ стратегії пошуку, що:
реалізує можливість вибору;
дозволяє виконувати кроки від початкового стану до нових станів, більш-менш близьких до мети.
Таким чином, реалізовані в СОЗ стратегії пошуку відшукують мету, крокуючи від одного стану системи до іншого. При цьому забезпечується розпізнавання ситуації, коли зазначені стратегії пошуку знаходять мету або потрапляють в тупик.
Більшість СОЗ працюють за такою схемою: на проміжних стадіях обчислюється деяке число (критерій), за допомогою якого програма пошуку оцінює свій хід і визначає подальший напрямок пошуку необхідного кінцевого стану. При цьому мета може бути одна або ж може бути деякий набір прийнятних цілей (кінцевих станів).
Рис. 6.8- Карта доріг
Для визначення кожного наступного кроку застосовується деяка проста механічна стратегія, що має два різновиди: пошук у глибину і пошук у ширину.
Пошук у глибину заснований на повному дослідженні одного варіанта до вивчення інших варіантів. Пошук виконується по нескладній методиці.
Наприклад, ЕОМ завжди першою досліджує невідому ліву гілку дерева. Коли процес пошуку заходить у тупик, він повертається вверх в останній пункт вибору, де є невивчені альтернативні варіанти руху, і потім здійснюється наступний варіант вибору (рис. 6.9).
Рис. 6.9- Пошук у глибину
У середньому пошук у глибину підходить для рішення проблеми, де всі шляхи пошуку від вершини дерева до його кінцевого стану(мети) мають однакову довжину.
Стратегія пошуку в ширину передбачає перехід у першу чергу до вершин, найближчих до стартової вершини (тобто таким, що відстають від неї на один зв'язок), потім до вершин, що відстають на два зв'язки, потім на трьох і т.д., поки не буде знайдена цільова вершина (рис. 6.10).
Програма пошуку просувається по дереву рішень зліва праворуч, розширяючи кожний із маршрутів, і відкидаючи ті з них, що є тупиковими.
Рис. 6.10- Пошук у ширину
Таким чином пошук у ширину придатний при рішенні проблем, де гілки пошуку в дереві (від вершини до кінцевої вершини) мають неоднакову довжину, і не існує вказівок на те, яка саме дорога приводить до мети. Обидві ці стратегії припускають послідовний перебір можливих варіантів.
Пошук буде більш ефективним, якщо деякий механізм у пунктах вибору сам зможе робити найбільш бажаний вибір. Це так звана евристика пошуку.Евристика - це емпіричне правило, за допомогою якого людина-експерт при відсутності формули або алгоритму намагається здійснити свої наміри.
Пошук у графах при вирішенні задач, як правило, неможливий без рішення проблеми комбінаторної складності, що виникає через швидкий ріст числа альтернатив. Ефективним засобом боротьби з цим є евристичний пошук.
Один із шляхів використання евристичної інформації про задачу - це одержання чисельних евристичних оцінок для вершин простору стану. Оцінка вершини вказує, наскільки дана вершина перспективна з погляду досягнення мети. Ідея перебуває в тому, щоб завжди продовжувати пошук, починаючи з найбільш перспективної вершини, обраної з усієї множини кандидатів.
Існує цілий ряд евристичних методів. Найпростіший з яких зветься підіймання на гору. Його принцип:
якщо є прийнятні варіанти вибору, вибирайте найкращий з них, використовуючи будь-який критерій міркувань;
якщо потрапили в тупик, повертайтесь в останнє місце, де є альтернативні варіанти вибору, і зробіть наступний найкращий вибір.
При цьому, ЕОМ створює дерево пошуку сама на основі запропонованих їй початкових знань, причому робить це поступово в процесі самого пошуку.
Процес рішення задачі, як правило, включає два етапи: подання задачі і реалізація стратегії пошуку. Повне подання задачі в просторі станів включає:
опис всіх або тільки початкових станів; завдання операторів, що відображують одні стани в інші;
завдання цільового стану.
Пошук рішення задачі в просторі станів зводиться до визначення послідовності операторів, що відображують початковий стан у цільовий. Таким чином, подання задачі в просторі станів визначається сукупністю трьох складових - трійкою
< S0, F, G>,
де S0 - множина початкових станів (може включати один елемент);
F - множина операторів, що відображують один стан в інший;
G - множина цільових станів.
Для опису станів можуть використовуватися вектори, матриці, графи, списки і т.д. Вибір тієї або іншої форми опису станів визначається застосуванням найпростішого оператора, що перетворить один стан в інший. При цьому оператори відображення (перетворення) часто подаються у вигляді набору правил, що задають можливість переходу з одного стану в інший (перетворення одних станів в інші).
Процедури пошуку рішень у просторі станів зручно розглядати, використовуючи граф станів, на якому будується дерево рішень.
Простір станів - це граф, вершини якого відповідають ситуаціям, що зустрічаються в задачі (проблемні ситуації), а рішення задачі зводиться до пошуку шляху в цьому графі. Процес рішення задачі містить у собі пошук у графі. При цьому виникає проблема, як обробляти альтернативні шляхи пошуку.
Природно, що для більш складних задач графічне подання простору станів не представляється можливим через його складність і велику розмірність.
Кожному дозволеному ходу або дії можна приписати його вартість. У тих випадках, коли кожний хід має вартість, ми зацікавлені в знаходженні рішення мінімальної вартості.
Вартість рішення - це сума вартостей дуг, з яких складається шлях із стартової вершини в цільову. І вона може бути іншою, ніж у випадку, коли вартості не задані. Навіть якщо вартості не задані, може виникнути оптимізаційна задача: знайти найкоротше рішення.