- •К.Є. Золотько, д.В. Красношапка
- •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. Діагностична медична експертна система
- •Список рекомендованої літератури
- •Посібник до вивчення курсу
Завдання 3
А. Розв’язати задачу про комівояжера, застосовуючи нижчевказані методи пошуку.
Б. Розв’язати задачу про туриста, застосовуючи зазначені нижче методи пошуку.
Метод перебору.
Метод пошуку в глиб.
Метод пошуку в шир.
Метод найкоротшого шляху.
Метод Мура.
Метод Дейкстри.
Метод гілок і меж.
Метод Нільсона.
Засоби програмування інтерфейсів у Visual Prolog 5.2
Однією з переваг потужності й простоти мови Visual Prolog є бібліотека підтримки програмування інтерфейсів користувача (Visual Programming Interface – VPI). Із використанням VPI створюють додатки, керовані подіями (event-driven applications). VPI – основа для програмування інтерфейсів користувача, спеціально передбачена як засіб програмування графічних інтерфейсів користувача (GUI) для Прологу. Нині VPI підтримують платформи Windows NT і OS/2.
3.1. Створення найпростішого додатка
Розглянемо застосувавання VPI на прикладі створення найпростішого додатка з використанням стандартного діалогового вікна. Додаток буде мати меню, під час вибору відповідного пункту меню з’являтиметься стандартне діалогове вікно з повідомленням „Hello World!”.
Для створення нового проекту скористаємося експертом додатків, виконавши у вікні інтегровного середовища розробки команду Project | New Project. У вікні Application Expert на вкладці General введемо назву проекту, наприклад, „Hello World!”. Можна вибрати також і основний каталог для проекту або погодитись із запропонованим за замовчуванням. Усі опції на інших вкладках вікна залишимо без змін і натиснемо кнопку Create. З’явиться вікно проекту, у якому будуть відображені два вихідні модулі – Hello_World.pro i VPITools.pro. Після створення проекту, натиснувши кнопку Run, скомпілюємо, скомпонуємо і виконаємо проект. Повинне з’явитися вікно проекту з назвою Hello_World, у якому є меню, панель інструментів і вікно Messages. Цей створений за замовчуванням проект – каркас для формування нашого власного додатка. Для його формування виконаємо три етапи:
- додамо новий пункт меню;
- додамо речення для реагування на вибір цього пункту меню;
- у цьому реченні вставимо предикат dlg_Note, який виводить на екран вікно MessageBox (реакція на вибір пункту меню).
Додавання пункту меню
У вікні проекту натиснемо кнопку Menu в лівій панелі інструментів (рис.14). Щоб активізувати редактор меню, двічі клацнемо мишею по рядку Task Menu.
Виділимо пункт меню Edit і додамо новий пункт меню верхнього рівня з ім’ям Test, натиснувши кнопку New (рис.15). Константа id_test додасться автоматично. За потреби визначити акселератор перед ім'ям пункту меню можна ввести символ & і вибрати будь-яку клавішу в полі Accelerator, а також поставити прапорець перед Shift, Ctrl або Alt.
Тепер створимо підменю пункту меню Test. Для цього виділимо пункт меню Test і натиснемо кнопку Submenu. Далі у вікні, що з'явилося, натиснемо кнопку New. У полі Text уведемо „Hello World”, а в полі Constant уведемо свою константу id_hello і натиснемо ОК (рис. 16).
Рис.14. Вікно проекту
Рис.15. Додавання пункту меню Test
Перевіримо створене меню, для чого натиснемо кнопку Test. Потім знову натиснемо Test і закриємо редактор меню, натиснувши кнопку Close.
Рис.16. Додавання підменю Hello World у пункт меню Test