- •К.Є. Золотько, д.В. Красношапка
- •1. Теоретичні основи створення систем штучного інтелекту
- •1.1. Методи розв’язання задач
- •Розв’язання задач методом пошуку в просторі станів
- •Загальна схема алгоритму Харта, Нільсона і Рафаеля
- •Розв’язання задач методом редукції
- •Розв’язання задач дедуктивного вибору
- •Розв’язання задач, що використовують немонотонну логіку, імовірнісну логіку
- •1.2. Експертні системи
- •Експертні системи, засновані на правилах (пряме виведення – forward chaining)
- •Експертні системи, що ґрунтуються на логіці (зворотне виведення – backward chaining)
- •Модуль (компонент) пояснення
- •Модуль (компонент) набуття знань
- •Етапи проектування експертної системи
- •Відмінність експертних систем від традиційних програм
- •2. Основи програмування мовою Visual Prolog
- •2.1. Загальний огляд мови Пролог
- •2.2. Основні теоретичні відомості Основні визначення мови Visual Prolog
- •2.3. Структура програми, складеної мовою Visual Prolog
- •2.4. Предикати введення – виведення
- •2.5. Об’єкти даних
- •Завдання 1
- •2.6. Вбудовані механізми мови Пролог. Керування бектрекінгом
- •2.7. Організація циклів. Рекурсія
- •2.8. Використання динамічної бази даних
- •2.9. Рекомендації щодо створення програм мовою Пролог
- •Завдання 2
- •2.10. Рекурсивні структури даних
- •Структура даних типу дерево
- •Обходи дерева
- •Бінарний пошук на дереві
- •Сортування за деревом
- •Лексикографічне впорядкування
- •2.11. Списки
- •Info("Шевченко о.В.", ["Інформатика", "Чисельні методи"]).
- •Info("Нікольський а.С.", ["Комп’ютерна графіка"]).
- •Info("Рябчук м.В.", ["Фізика", "Хімія", "Астрономія"]).
- •Info("Рябчук м.В.", X), write (X), nl.
- •Ігри двох осіб із повною інформацією
- •Мінімаксний принцип
- •Реалізація деяких методів пошуку в просторі станів у мові Пролог
- •Завдання 3
- •Засоби програмування інтерфейсів у Visual Prolog 5.2
- •3.1. Створення найпростішого додатка
- •Додавання пункту меню
- •Додавання речення для реагування на вибір пункту меню
- •Використання діалогових вікон, створених користувачем
- •Завдання 4
- •Варіанти завдань
- •Тема 1. Консультативна інтерактивна експертна система з визначення оптимальної конфігурації пеом
- •Тема 2. Діагностична інтерактивна експертна система пошуку причини й усунення несправності кольорового телевізора lg cf-20f60k
- •Порядок пошуку причини й усунення несправності телевізора lg cf-20f60k
- •Тема 3. Консультативна експертна система для вибору породи собаки
- •Тема 4. Медична консультативна експертна система щодо вибору лікарських трав
- •Тема 5. Експертна система для визначення мінерального добрива
- •Тема 6. Консультативна інтерактивна експертна система, яка допомагає директору фірми в процесі прийняття кандидата на роботу
- •Тема 7. Консультативна експертна система прогнозу повені та необхідності евакуації населення міста
- •Тема 8. Діагностична медична експертна система
- •Список рекомендованої літератури
- •Посібник до вивчення курсу
Експертні системи, засновані на правилах (пряме виведення – forward chaining)
В усіх ЕС існує залежність між вхідним потоком даних і даними в БЗ. Під час консультації вхідні дані зіставляються з даними в БЗ. Результат зіставлення – негативна чи позитивна відповідь. У системі, що ґрунтується на правилах, стверджувальний результат становить наслідок дії одного з продукційних правил. Ці продукційні правила визначені вхідними даними. ЕС також містить інтерпретатор у механізмі виведення, що вибирає й активує різні модулі системи. Роботу цього інтерпретатора можна описати послідовністю трьох кроків:
1. Інтерпретатор зіставляє зразок правила з елементами даних у БЗ.
2. Якщо можна викликати більше одного правила, то інтерпретатор застосовує механізм вирішення конфлікту для вибору правила.
3. Інтерпретатор застосовує обране правило, щоб знайти відповідь на запитання.
Цей процес інтерпретації є циклічний, його називають циклом „розпізнавання–дія”.
У системі, що ґрунтується на правилах, кількість продукційних правил визначає розмір БЗ. Деякі найбільш складні системи мають БЗ, що містять більше ніж 5 000 продукційних правил. У процесі розробки таких ЕС необхідно:
використовувати мінімально достатню множину умов у ході визначення продукційного правила;
уникати суперечних продукційних правил;
конструювати правила, спираючись на структуру певної предметної галузі.
Експертні системи, що ґрунтуються на логіці (зворотне виведення – backward chaining)
В ЕС, заснованих на логіці, БЗ складається з тверджень у вигляді речень логіки предикатів. Так само як і система, що ґрунтується на правилах, ЕС, побудована на основі логіки, має множину правил, які вона може викликати за допомогою даних із вхідного потоку. Система має інтерпретатор, який може вибирати й активувати модулі, що включаються в роботу системи.
Інтерпретатор виконує різні функції всередині системи на основі такої схеми:
1. Система має речення в БЗ, що керують пошуком і зіставленням. Інтерпретатор зіставляє ці речення з елементами даних у БД.
2. Якщо можливий виклик більше одного правила, то система використовує засоби для вирішення конфлікту. Отже, користувачу не потрібно розглядати потенційно можливі конфлікти.
3. Система одержує результати уніфікаційного процесу автоматично, тому його можна спрямувати на потрібний пристрій виведення інформації.
Так само як і в системі, що ґрунтується на правилах, зазначений циклічний процес є процесом „розпізнавання–дія”.
Найбільш важливий аспект для БЗ в системі, заснованій на логіці, – це проектування БЗ, її тверджень і їх структури. БЗ повинна мати недвозначну логічну організацію й містити мінімум надлишкової інформації. Так само як і в системі, що ґрунтується на правилах, мінімально достатня кількість даних утворює найбільш ефективну систему.
У роботі ЕС як основні можна виділити режими набуття (накопичення) знань і розв’язання задачі (режим консультації або режим використання). У режимі набуття знань спілкування з ЕС здійснює експерт (за допомогою інженера знань).
Використовуючи компонент набуття знань, експерт описує проблемну сферу у вигляді сукупності фактів і правил. За традиційного підходу програмування цьому процесу відповідають етапи алгоритмізації, програмування і настроювання, виконувані програмістом. У випадку ЕС програми розробляє не програміст, а експерт, який не володіє програмуванням.
У режимі консультацій спілкування з ЕС здійснює кінцевий користувач, якого цікавить результат і/чи спосіб його одержання. Залежно від призначення ЕС користувач може:
не бути фахівцем у певній предметній галузі; у цьому випадку він звертається до ЕС за результатом, який не вміє одержати сам;
бути фахівцем; у цьому випадку він звертається до ЕС із метою прискорити одержання результату, покладаючи на ЕС рутинну роботу.
На відміну від традиційних програм ЕС, розв’язуючи задачу, не тільки виконує запропоновану алгоритмом послідовність операцій, але й сама попередньо формує її.
Раціонально побудована ЕС може самонавчатися на виконуваних завданнях, поповнюючи автоматично свою БЗ отриманими висновками й рішеннями.