- •2. Формальні методи у системах штучного інтелекту 21
- •3. Зображення знань. Мова програмування Пролог 55
- •4. Задачі класифікації, експертні системи 99
- •5. Інтелектуальні пакети 110
- •1.1.Основні поняття та історія розвитку штучного інтелекту
- •1.2. Галузі застосування штучного інтелекту
- •Ведення ігор
- •Автоматичні міркування і доведення теорем
- •Експертні системи
- •Розуміння природних мов та семантичне моделювання
- •Моделювання роботи людського інтелекту
- •Планування та робототехніка
- •Мови та середовища ші
- •Машинне навчання
- •Альтернативні уявлення: нейронні мережі та генетичні алгоритми
- •Штучний інтелект і філософія
- •Контрольні питання
- •2. Формальні методи у системах штучного інтелекту
- •2.1. Основні поняття
- •2.2. Основні закони правильного мислення
- •2.3. Класифікація міркувань
- •Дедуктивні міркування. Основні ідеї та складні міркування
- •Безпосередні розумові висновки
- •2.4.Опосередковані висновки
- •Прості силогізми, складні розумові висновки
- •2.5. Індуктивні міркування та висновки за аналогією
- •2.6 Числення висловлювань
- •2.7. Нечіткі множини та нечітка логіка
- •2.8. Предикати. Формальні теорії
- •2.9. Процедура резолюції
- •2.10. Формальні граматики. Теорія алгоритмів
- •2.11. Продукції як алгоритмічна система. Ігри та рішення
- •2.12. Задачі та методи дискретної оптимізації
- •Динамічне програмування
- •Метод віток та меж
- •2.13. Багатокритеріальні задачі
- •2.14. Контрольні запитання
- •3. Зображення знань. Мова програмування Пролог
- •3.1. Ціль та методи зображення знань
- •3.2. Декларативне та процедурне зображення знань. Семантичні мережі
- •3.3. Фрейми та продукційні системи
- •3.4. Програмування мовою Пролог
- •Вступ до прологу. Загальна характеристика та основні поняття
- •Структура програми, домени, предикати та твердження
- •3.5. Управління обчисленнями у мові Пролог Зіставлення та повернення
- •Відтинання
- •Рекурсивні обчислення, обчислення факторіалу, знаходження квадратного кореня методом ітерацій
- •Списки у мові Пролог, бінарні дерева
- •3.6. Застосування Прологу, практична робота з використанням мови Пролог Застосування Прологу у програмуванні, системах ші, базах даних, у математиці
- •Практична робота на мові Пролог, основні інструменти та методика роботи
- •3.7. Контрольні запитання
- •4. Задачі класифікації, експертні системи
- •4.1. Особливості експертних систем, приклади та їх розробка
- •4.2. Розробка ес, мови та оболонки, набуття знань та приклад сценарію
- •4.3. Контрольні питання
- •5. Інтелектуальні пакети
- •5.1. Обчислювальні моделі, задачі та синтез програм
- •5.2. Загальна характеристика та меню системи тк Solver. Зображення обчислювальної моделі
- •5.3.Мова специфікації обчислювальних задач. Обчислювальна модель в tks
- •5.4. Складання обчислювальних моделей і задач, практична робота в tks
- •5.5. Завдання для самостійної роботи
- •5.6. Контрольні запитання
- •Додатки Додаток 1 Операції над нечіткими числами на основі принципу узагальнення. Використання в теорії штучного інтелекту
- •Література
Планування та робототехніка
Дослідження в галузі планування було розпочато з намагання сконструювати роботи, які б виконували свої задачі з певним ступенем гнучкості і здатності реагувати на навколишній світ. Планування передбачає, що робот повинен уміти виконувати деякі елементарні дії, намагатися розв’язати більш складну задачу. Планування з ряду причин є складною проблемою. Важливу роль у його здійсненні відіграє розмір простору можливих послідовностей кроків. Навіть простий робот здатний породити велику кількість різних комбінацій елементарних рухів. Одним із методів, які застосовуються людськими істотами при плануванні, є ієрархічна декомпозиція задачі. Кожна із задач може сама бути розбита на підзадачі. Такий підхід ефективно обмежує розмір простору пошуку, дає змогу зберігати часто використовувані маршрути для подальшого застосування.
Робот, що сліпо виконує послідовності дій, не реагуючи на зміни у своєму оточенні, не здатний виявляти чи виправляти помилки у своєму власному плані, навряд чи може вважатися розумним. Часто від нього вимагають сформулювати план, який базується на недостатній інформації, та відкоригувати свою поведінку мірою його виконання. Робот може не мати адекватних сенсорів для виявлення усіх перепон на проектованому шляху. Він повинен розпочати рух мірою виявлення інших перепон. Організація планів, яка дає змогу реагувати на зміну умов навколишнього середовища, – основна проблема планування.
Робототехніка була одним з напрямів дослідження ШІ, що започаткував множину концепцій, які лежать в основі об’єктно-орієнтованого прийняття рішень. Невдача під час розв’язання проблем великих просторів зображень та під час розробки алгоритмів пошуку для традиційного планування, спонукала до переформулювання задачі у термінах взаємодії напівавтономних агентів. Кожний агент відповідає за свою частину завдання. Загальний розв’язок виникає внаслідок скоординованих дій всіх агентів. Дослідження в галузі планування нині вийшли за межі робототехніки і включають також координацію будь-яких складних систем задач і цілей. Сучасне планування застосовується в агентських середовищах та для управління прискорювачами.
Мови та середовища ші
Важливим побічним продуктом досліджень ШІ є досягнення у сфері мов програмування у середовищах розробки програмного забезпечення. З багатьох причин, включаючи розміри багатьох прикладних проблем ШІ, важливість методології „створення прототипів”, тенденцію алгоритмів пошуків породжувати надмірно великі простори та складнощі у передбаченні поведінки евристичних програм, програмістам ШІ довелося розробляти потужну систему методологій програмування та каркаси експертних систем. Високорівневі мови (LISP, PROLOG), які забезпечують модульну розробку, допомагають управитися з розмірами та складністю програм. Пакети засобів трасування дають змогу програмістам реконструювати виконання складного алгоритму і розібратися у складних структурах евристичного перебору. Без таких інструментів та методик навряд чи вдалося побудувати багато відомих систем ШІ. Інші, такі як об’єктно-орієнтоване програмування, мають значний теоретичний і практичний інтерес. Нині багато алгоритмів ШІ реалізуються на традиційних для обчислювальних мовах, наприклад С++, Java.
