Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_SHI.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.11 Mб
Скачать

С. В. Зікратий

Х. В. Паньків

СИСТЕМИ ШТУЧНОГО ІНТЕЛЕКТУ

ЛАБОРАТОРНИЙ ПРАКТИКУМ

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Івано-Франківський національний технічний університет

нафти і газу

Кафедра комп’ютерних технологій в системах управління та автоматики

С. В. Зікратий

Х. В. Паньків

СИСТЕМИ ШТУЧНОГО ІНТЕЛЕКТУ

ЛАБОРАТОРНИЙ ПРАКТИКУМ

Івано-Франківськ

2015

УДК 681.5

ББК 32.965

З-12

Рецензент:

Николайчук М. Я. кандидат технічних наук, доцент кафедри комп’ютерних технологій в системах управління та автоматики Івано-Франківського національного технічного університету нафти і газу

Рекомендовано методичною радою університету

(протокол № 5 від 17.04.2014 р.)

Зікратий С. В., Паньків Х. В.

З-12 Системи штучного інтелекту: лабораторний практикум – Івано-Франківськ: ІФНТУНГ, 2015. – 91 с.

МВ 02070855-9024-2014

Лабораторний рактикум містить короткі теоретичні відомості та завдання до лабораторних робіт з дисципліни “Системи штучного інтелекту”. Розроблений відповідно до робочої програми даної навчальної дисципліни. Призначено для підготовки бакалаврів денної та заочної форм навчання за напрямом підготовки 6.050201 “Системна інженерія”.

УДК 681.5

ББК 32.965

М В 02070855-9024-2014 © Зікратий С. В.

Паньків Х.В.

© ІФНТУНГ, 2015

УДК 681.5

ББК 32.965

З-12

Рецензент:

Николайчук М. Я. кандидат технічних наук, доцент кафедри комп’ютерних технологій в системах управління та автоматики Івано-Франківського національного технічного університету нафти і газу

Рекомендовано методичною радою університету

(протокол № 5 від 17.04.2014 р.)

Зікратий С. В., Паньків Х. В.

З-12 Системи штучного інтелекту: лабораторний практикум – Івано-Франківськ: ІФНТУНГ, 2015. – 91 с.

МВ 02070855-9024-2014

Лабораторний рактикум містить короткі теоретичні відомості та завдання до лабораторних робіт з дисципліни “Системи штучного інтелекту”. Розроблений відповідно до робочої програми даної навчальної дисципліни. Призначено для підготовки бакалаврів денної та заочної форм навчання за напрямом підготовки 6.050201 “Системна інженерія”.

УДК 681.5

ББК 32.965

МВ 02070855-9024-2014 © Зікратий С. В.

Паньків Х.В.

© ІФНТУНГ, 2015

Відповідальний за випуск,

завідувач кафедри комп’ютерних

технологій в системах управління та автоматики Л. М. Заміховський

Член експертно-рецензійної комісії університету М. Й. Федорів

Нормоконтролер Г. Я. Онуфрик

Інженер І категорії НТБ Л. З. Костюк

ЗМІСТ

с.

ЗМІСТ 5

ВСТУП 6

ЛАБОРАТОРНЕ ЗАНЯТТЯ № 1 Ознайомлення з мовою програмування Пролог 7

ЛАБОРАТОРНА РОБОТА № 2 Керування ходом виконання програм у системі Пролог 16

ЛАБОРАТОРНА РОБОТА № 3 Рекурсія і рекурсивні процедури в Пролозі 28

ЛАБОРАТОРНА РОБОТА № 4 Списки і процедури їх обробки 33

ЛАБОРАТОРНА РОБОТА № 5 Способи представлення баз даних у Пролог-програмах 40

ЛАБОРАТОРНА РОБОТА № 6 Динамічні бази даних 47

ЛАБОРАТОРНА РОБОТА № 7 СТВОРЕННЯ ПРОСТОЇ ЕКСПЕРТНОЇ СИСТЕМИ 58

ЛАБОРАТОРНА РОБОТА № 8 РОЗРОБКА НЕЧІТКИХ СИСТЕМ КЕРУВАННЯ З ВИКОРИСТАННЯМ FUZZY LOGIC TOOLBOX МАТЕМАТИЧНОГО ПАКЕТА MATLAB 68

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 80

ДОДАТОК А Службові предикати Пролога для роботи з файлами 81

ДОДАТОК Б Індивідуальні завдання До лабораторних робіт № 1, 2, 4 82

ДОДАТОК В Індивідуальні завдання До лабораторної роботи № 3 84

Додаток Г Індивідуальні завдання до лабораторної роботи № 5 85

ВСТУП

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

Назву "Пролог" отримано від словосполучення "Програмування за допомогою логіки" (PROgramming in Logic). Пролог був розроблений і вперше реалізований у 1973 р. Алэном Колмероэ й іншими членами "групи штучного інтелекту" Марсельського університету (Франція). Головним завданням групи було створення системи для обробки природної мови.

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

Основним засобом досліджень у перших шести роботах вибрано Visual Prolog 5.2 та в останніх двох – Exsys CORVID v.3.х і 4.х.

Лабораторне заняття № 1 Ознайомлення з мовою програмування Пролог

Мета роботи: ознайомитися з основними відомостями про мову програмування Пролог, структурою Пролог-програм та оболонкою Прологу.

1.1 Загальні відомості про мову Пролог

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

На відміну від Паскаля, Бейсика й інших традиційних процедурних мов програмування, де програміст повинний описати процедуру рішення крок за кроком, наказуючи комп'ютерові, як вирішувати проблему, при використанні Прологу програмістові досить описати задачу й основні правила її рішення, а Пролог сам визначить, як прийти до рішення. Прологові властивий ряд властивостей, якими не володіють процедурні мови програмування, що робить його могутнім засобом логічного програмування. До таких властивостей відносяться:

1) механізм висновку з пошуком і поверненням,

2) убудований механізм зіставлення зі зразком,

3) проста, але виразна структура даних з можливістю її зміни.

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

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

1) імена і структури об'єктів, використовуваних у задачі;

2) імена відношень (предикатів), що існують між об'єктами;

3) основну мету (задачу), розв'язувану даною програмою;

4) факти і правила, що описують відношення між об'єктами.

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

Іван любить Марію

Петро любить пиво

або у формі правил, наприклад,

Іван любить X, якщо Петро любить Х

(Іван любить те, що любить Петро).

На основі наявних правил і фактів Пролог робить висновки. Маючи два вищенаведені факти й одне правило, Пролог прийде до висновку, що

Іван любить пиво.

А якщо задати Прологові задачу, Наприклад,

Знайти усіх, хто любить пиво ,

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

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

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