- •Міністерство освіти і науки України Дніпропетровський національний університет
- •Програмування мовою пролог
- •Дніпропетровськ
- •1. Основи мови програмування пролог
- •1.1. Основні поняття
- •1.2. Синтаксис мови пролог
- •1.3. Класифікація даних у пролозі
- •1.4. Приклад доказу в пролозі
- •1.5. Подання задачі у вигляді і-або дерева
- •1.6. Структура програми в системі tp
- •1.7. Убудовані типи даних мови tp
- •1.8. Висновки
- •2. Підстави логічного програмування
- •2.1. Принцип резолюцій
- •2.3. Способи застосування принципу резолюцій
- •2.4. Диз’юнкти хорhа
- •3. Три семантичні моделі пролог-програми
- •4. Подання знань
- •4.1. Процес подання знань
- •4.2. Способи подання бази знань
- •4.2.1. Представлення цілісних інформаційних елементів у вигляді фактів
- •4.2.2. Подання атрибутів у вигляді фактів
- •4.2.3. Представлення знань у вигляді списку структур
- •4.2.4. Подання у вигляді рекурсивних структур
- •4.2.5. Подання у вигляді двійкового дерева
- •4.2.6. Порівняння різних виглядів подання бази даних
- •4.2.7. Компонування даних у список
- •4.3. Використання складених об'єктів
- •4.4. Використання альтернативних доменів
- •4.5. Засоби документування програми
- •4.6. Типи й властивості відношень предметної області
- •4.6.1. Обмеження, що забезпечують цілсність відношень
- •4.6.2. Властивості відношень бази знань і їхня підтримка в програмі на tp симетрія і асиметрія
- •Рефлексивность і нерефлексивность
- •Транзитивність
- •Симетричність і транзитивність
- •Спроба 1
- •Спроба 2.
- •Запам'ятовування списку відвіданих місць
- •4.7. Списки
- •4.7.1. Подання й зображення списків
- •4.7.2. Використання списків
- •4.7.3. Метод поділу списку на голову і хвіст (псгх)
- •4.7.4. Списки списків
- •Методи програмування
- •5.1. Повторення і відкіт (пв)
- •5.2. Метод відкоту після невдачі (впн)
- •5.3. Метод відсікання та відкоту (вв)
- •5.4. Повторення та рекурсія (пр)
- •5.5. Метод узагальненого правила рекурсії (упр)
- •5.6. Побудова рекурсивних структур методом прогресуючої підстановки (пп)
- •5.7. Предикат відсікання
- •5.8. Організація багаторазово виконуваних інтерактивних програм (бвіп)
- •5.9. Метод аналізу станів (ас)
- •5.10. Метод організації висхідних рекурсивних обчислень (вро)
- •5.11. Комбінація спадних і висхідних рекурсивных обчислень (ксвро)
- •5.12. Предикат fail-if (not)
- •5.13. Предикат true
- •5.14. Модифікація бази даних (мбд)
- •5.15. Керування базою даних (кбд)
- •5.16. Глобальні змінні (гз)
- •5.17. Накопичування результатів у базі даних за допомогою вимушеного відкоту і глобальної змінної (нрввгз)
- •5.18. Метапрограмування (мп)
- •Список рекомендованої літератури
- •1. Основи мови програмування пролог 4
- •2. Підстави логічного програмування 14
- •3. Три семантичні моделі пролог-програми 20
- •4. Подання знань 23
- •Програмування мовою пролог
2. Підстави логічного програмування 14
2.1. ПРИНЦИП РЕЗОЛЮЦІЙ 16
2.3. СПОСОБИ ЗАСТОСУВАННЯ ПРИНЦИПУ РЕЗОЛЮЦІЙ 18
2.4. ДИЗ’ЮНКТИ ХОРHА 18
3. Три семантичні моделі пролог-програми 20
4. Подання знань 23
4.1. ПРОЦЕС ПОДАННЯ ЗНАНЬ 23
4.2. СПОСОБИ ПОДАННЯ БАЗИ ЗНАНЬ 24
4.2.1. ПРЕДСТАВЛЕННЯ ЦІЛІСНИХ ІНФОРМАЦІЙНИХ ЕЛЕМЕНТІВ У ВИГЛЯДІ ФАКТІВ 24
4.2.2. ПОДАННЯ АТРИБУТІВ У ВИГЛЯДІ ФАКТІВ 25
4.2.3. ПРЕДСТАВЛЕННЯ ЗНАНЬ У ВИГЛЯДІ СПИСКУ СТРУКТУР 26
4.2.4. ПОДАННЯ У ВИГЛЯДІ РЕКУРСИВНИХ СТРУКТУР 26
4.2.5. ПОДАННЯ У ВИГЛЯДІ ДВІЙКОВОГО ДЕРЕВА 27
4.2.6. ПОРІВНЯННЯ РІЗНИХ ВИГЛЯДІВ ПОДАННЯ БАЗИ ДАНИХ 28
4.2.7. КОМПОНУВАННЯ ДАНИХ У СПИСОК 29
4.3. ВИКОРИСТАННЯ СКЛАДЕНИХ ОБ'ЄКТІВ 29
4.4. ВИКОРИСТАННЯ АЛЬТЕРНАТИВНИХ ДОМЕНІВ 31
4.5. ЗАСОБИ ДОКУМЕНТУВАННЯ ПРОГРАМИ 33
4.6. ТИПИ Й ВЛАСТИВОСТІ ВІДНОШЕНЬ ПРЕДМЕТНОЇ ОБЛАСТІ 35
4.6.1. ОБМЕЖЕННЯ, ЩО ЗАБЕЗПЕЧУЮТЬ ЦІЛСНІСТЬ ВІДНОШЕНЬ 35
4.6.2. ВЛАСТИВОСТІ ВІДНОШЕНЬ БАЗИ ЗНАНЬ І ЇХНЯ ПІДТРИМКА В ПРОГРАМІ НА TP 36
СИМЕТРІЯ І АСИМЕТРІЯ 36
РЕФЛЕКСИВНОСТЬ І НЕРЕФЛЕКСИВНОСТЬ 37
ТРАНЗИТИВНІСТЬ 37
СИМЕТРИЧНІСТЬ І ТРАНЗИТИВНІСТЬ 39
СПРОБА 1 39
СПРОБА 2. 40
ЗАПАМ'ЯТОВУВАННЯ СПИСКУ ВІДВІДАНИХ МІСЦЬ 42
4.7. СПИСКИ 43
4.7.1. ПОДАННЯ Й ЗОБРАЖЕННЯ СПИСКІВ 43
4.7.2. ВИКОРИСТАННЯ СПИСКІВ 44
4.7.3. МЕТОД ПОДІЛУ СПИСКУ НА ГОЛОВУ І ХВІСТ (ПСГХ) 46
4.7.4. СПИСКИ СПИСКІВ 47
МЕТОДИ ПРОГРАМУВАННЯ 48
5.1. ПОВТОРЕННЯ І ВІДКІТ (ПВ) 49
5.2. МЕТОД ВІДКОТУ ПІСЛЯ НЕВДАЧІ (ВПН) 51
5.3. МЕТОД ВІДСІКАННЯ ТА ВІДКОТУ (ВВ) 53
5.4. ПОВТОРЕННЯ ТА РЕКУРСІЯ (ПР) 55
5.5. МЕТОД УЗАГАЛЬНЕНОГО ПРАВИЛА РЕКУРСІЇ (УПР) 56
5.6. ПОБУДОВА РЕКУРСИВНИХ СТРУКТУР МЕТОДОМ ПРОГРЕСУЮЧОЇ ПІДСТАНОВКИ (ПП) 58
5.7. ПРЕДИКАТ ВІДСІКАННЯ 60
5.8. ОРГАНІЗАЦІЯ БАГАТОРАЗОВО ВИКОНУВАНИХ ІНТЕРАКТИВНИХ ПРОГРАМ (БВІП) 65
5.9. МЕТОД АНАЛІЗУ СТАНІВ (АС) 68
5.10. МЕТОД ОРГАНІЗАЦІЇ ВИСХІДНИХ РЕКУРСИВНИХ ОБЧИСЛЕНЬ (ВРО) 76
5.11. КОМБІНАЦІЯ СПАДНИХ І ВИСХІДНИХ РЕКУРСИВНЫХ ОБЧИСЛЕНЬ (КСВРО) 79
5.12. ПРЕДИКАТ FAIL-IF (NOT) 83
5.13. ПРЕДИКАТ TRUE 84
5.14. МОДИФІКАЦІЯ БАЗИ ДАНИХ (МБД) 84
5.15. КЕРУВАННЯ БАЗОЮ ДАНИХ (КБД) 85
5.16. ГЛОБАЛЬНІ ЗМІННІ (ГЗ) 85
5.17. НАКОПИЧУВАННЯ РЕЗУЛЬТАТІВ У БАЗІ ДАНИХ ЗА ДОПОМОГОЮ ВИМУШЕНОГО ВІДКОТУ І ГЛОБАЛЬНОЇ ЗМІННОЇ (НРВВГЗ) 86
5.18. МЕТАПРОГРАМУВАННЯ (МП) 88
Темплан 2004, поз. 46
Навчальне видання
Віктор Миколайович Єфімов
Програмування мовою пролог
Навчальний посібник
Редактор М.Г. Матрос
Техредактор Л.П. Замятіна
Коректор Г.О. Стара
Підписано до друку 23.03.04. Формат 60х84/16. Папір друкарський. Друк плоский. Ум. друк. арк. 5,34. Ум. фарбо-відб. 5,34. Обл.-вид. арк. 6,43.
Тираж 100 пр. Зам. № .
РВВ ДНУ, вул. Наукова, 13, м. Дніпропетровськ, 49050.
Друкарня ДНУ, вул. Наукова, 5, м. Дніпропетровськ, 49050