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

6.6.1. Правило резолюции для простых предложений

Наиболее простой метод логического вывода использует только одно правило вывода, называемое резолюцией, которое применяют к логическим формулам вида:

факт: А

отрицание: 1 (А ... , Ап)

импликация: А В ... , Вт ,

где Ai (i = 1, n) и Bj (j = 1, m) - произвольные предикаты. Рассмотрим наиболее простую из форм резолюции для случая всего лишь двух правильно построенных формул S = { S1 , S2 } вида:

  1. (отрицание): 1 А

  2. (импликация): А В ,

в которых предикат А из S1 совпадает с предикатом А левой части S2. В результате одного шага вывода из S1 и S2 будет получена новая ППФ вида:

s (резольвента): 1 B

На этом шаге вывода правильно построенные формулы S1 и S2 назы­ваются родительскими предложениями, а S - резольвентой, которая полу­чается в результате применения резолюции к S1 и S2. Резолюция в этом простейшем случае соответствует правилу вывода modus tollens, которое записывается в виде:

1 A, A B

(*)

1 B

и соответствует следующему умозаключению:

Допуская, что: не А и А если В

Выводим: не В

В еще более простом случае, когда логическая формула S1 представля­ет собой отрицание, а логическая формула S2 - факт:

ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ 1

PROLOG - ЯЗЫК РАЗРАБОТКИ 1

ИНТЕЛЛЕКТУАЛЬНЫХ И ЭКСПЕРТНЫХ СИСТЕМ 1

Хабаров С.П. 2

СОДЕРЖАНИЕ 3

1. ИСТОРИЯ РАЗВИТИЯ И СОВРЕМЕННОЕ СОСТОЯНИЕ ЯЗЫКА PROLOG 5

1.1. Тенденции в истории развития языка Prolog 5

1.2. Области применения языка Prolog 8

1.3. Современные реализации языка Prolog 11

2. ОСНОВЫ РАЗРАБОТКИ PROLOG-ПРОГРАММ 18

2.1. Общие сведения о языке Prolog 18

2.2. Понятие факта, правила, запроса и процедуры 20

2.3. Механизм сопоставления и поиска с возвратом 21

2.4. Основные элементы языка Prolog 23

3. СРЕДА РАЗРАБОТКИ ПРОГРАММ PIE И СИСТЕМА SWI-PROLOG 27

3.1. Основы работы в консоли Prolog 29

3.2. Основы работы с программными файлами 33

3.3. Справка и помощь в среде SWI-Prolog 41

3.4. Основы трассировки и отладки в среде PIE и SWI- Prolog 44

3.5. Графические интерфейсы на базе SWI-Prolog/XPCE 48

3.6. Загрузка и запуск программ SWI-Prolog'a 55

3.6.1. Использование ярлыков для запуска программ 58

3.6.2. Использование командных и скриптовых сценариев 62

4. СРЕДА РАЗРАБОТКИ TURBO-PROLOG 68

4.1. Структура программы на Turbo Prolog'e 69

Секция domains 71

Секция predicates 73

Секция clauses 74

Секция goal 75

Секция database 76

4.2. Оболочка системы Turbo Prolog 77

Опция меню "Редактировать" (Ред) 79

Опция меню "Выполнить" (Вып) 80

Опция меню "Компилировать" (Компил) 80

Опция меню "Файлы” 80

Опция меню "Установки" (Устан) 81

4.3. Отладка и трассировка программ 81

4.4. Работа с простейшими программами в Turbo Prolog'e 84

Загрузка системы Turbo Prolog, ввод и запуск программ 84

Работа с программой в режиме диалога 85

Трассировка программ в среде системы Turbo Prolog'a 87

Работа с программами, содержащими внутреннюю цель 89

Простейшая программа ввода-вывода данных 91

Компиляция программ. 92

4.5. Работа с графикой в Turbo Prolog'e 94

5. СРЕДА РАЗРАБОТКИ VISUAL PROLOG 97

5.1. Интегрированная среда разработки 97

5.2. Разработка консольного проекта 98

Этап создания проекта 98

Дерево проекта (Project Tree) 100

Этап разработки программного кода проекта 101

Этап компиляции и запуска проекта 104

5.3. Разработка GUI проекта на Visual Prolog'e 106

Создание нового GUI проекта 107

Добавление формы в пустой проект 109

Настройка главного меню проекта 112

Разработка экранной формы 117

Организация вычислительных процедур проекта 119

6. PROLOG — ЯЗЫК ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 121

6.1. Системы основанные на знаниях 121

6.2. Логические модели и логическое программирование 122

6.3. Простейшие конструкции языка предикатов 122

6.4. Предикатные формулы 123

6.5. Определение правильно построенной формулы 125

6.6. Логический вывод 126

6.6.1. Правило резолюции для простых предложений 127

6.6.2. Правило резолюции для сложных предложений 132

6.6.3. Простая резолюция сверху вниз 133

6.6.4. Общая резолюция сверху вниз 133

6.6.5. Унификаторы и примеры унификации 135

6.7. Решение задач и извлечение ответа 135

ПРИЛОЖЕНИЕ 137

Приложение 1. Запуск Turbo-Prolog в ОС Windows 7 137

Запуск DOSBox 138

Подключение русского языка 141

Дополнительные настройки DOSBox 142

Приложение 2. Служебные предикаты Турбо-Пролога 144

2. Предикаты преобразования данных 145

3. Предикаты работы с окнами. 146

4. Предикаты работы с файлами. 146

5. Предикаты управления экраном. 148

6. Предикаты обработки строк. 148

7. Предикаты работы с графикой. 149

8. Разные предикаты. 150

9. Правила вычисление атрибутов экрана. 151

Приложение 3. Пример программы построения дерева синтаксического анализа 153

Запись грамматических правил 153

Реализация грамматических правил на языке Prolog 154

БИБЛИОГРАФИЧЕСКИЙ СПИСОК 158

ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ 159

PROLOG - ЯЗЫК РАЗРАБОТКИ 159

ИНТЕЛЛЕКТУАЛЬНЫХ И ЭКСПЕРТНЫХ СИСТЕМ 159

S : □ ,

которое означает противоречие. Этот шаг вывода может быть записан в следующем виде:

1 A, A

(**)

ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ 1

PROLOG - ЯЗЫК РАЗРАБОТКИ 1

ИНТЕЛЛЕКТУАЛЬНЫХ И ЭКСПЕРТНЫХ СИСТЕМ 1

Хабаров С.П. 2

СОДЕРЖАНИЕ 3

1. ИСТОРИЯ РАЗВИТИЯ И СОВРЕМЕННОЕ СОСТОЯНИЕ ЯЗЫКА PROLOG 5

1.1. Тенденции в истории развития языка Prolog 5

1.2. Области применения языка Prolog 8

1.3. Современные реализации языка Prolog 11

2. ОСНОВЫ РАЗРАБОТКИ PROLOG-ПРОГРАММ 18

2.1. Общие сведения о языке Prolog 18

2.2. Понятие факта, правила, запроса и процедуры 20

2.3. Механизм сопоставления и поиска с возвратом 21

2.4. Основные элементы языка Prolog 23

3. СРЕДА РАЗРАБОТКИ ПРОГРАММ PIE И СИСТЕМА SWI-PROLOG 27

3.1. Основы работы в консоли Prolog 29

3.2. Основы работы с программными файлами 33

3.3. Справка и помощь в среде SWI-Prolog 41

3.4. Основы трассировки и отладки в среде PIE и SWI- Prolog 44

3.5. Графические интерфейсы на базе SWI-Prolog/XPCE 48

3.6. Загрузка и запуск программ SWI-Prolog'a 55

3.6.1. Использование ярлыков для запуска программ 58

3.6.2. Использование командных и скриптовых сценариев 62

4. СРЕДА РАЗРАБОТКИ TURBO-PROLOG 68

4.1. Структура программы на Turbo Prolog'e 69

Секция domains 71

Секция predicates 73

Секция clauses 74

Секция goal 75

Секция database 76

4.2. Оболочка системы Turbo Prolog 77

Опция меню "Редактировать" (Ред) 79

Опция меню "Выполнить" (Вып) 80

Опция меню "Компилировать" (Компил) 80

Опция меню "Файлы” 80

Опция меню "Установки" (Устан) 81

4.3. Отладка и трассировка программ 81

4.4. Работа с простейшими программами в Turbo Prolog'e 84

Загрузка системы Turbo Prolog, ввод и запуск программ 84

Работа с программой в режиме диалога 85

Трассировка программ в среде системы Turbo Prolog'a 87

Работа с программами, содержащими внутреннюю цель 89

Простейшая программа ввода-вывода данных 91

Компиляция программ. 92

4.5. Работа с графикой в Turbo Prolog'e 94

5. СРЕДА РАЗРАБОТКИ VISUAL PROLOG 97

5.1. Интегрированная среда разработки 97

5.2. Разработка консольного проекта 98

Этап создания проекта 98

Дерево проекта (Project Tree) 100

Этап разработки программного кода проекта 101

Этап компиляции и запуска проекта 104

5.3. Разработка GUI проекта на Visual Prolog'e 106

Создание нового GUI проекта 107

Добавление формы в пустой проект 109

Настройка главного меню проекта 112

Разработка экранной формы 117

Организация вычислительных процедур проекта 119

6. PROLOG — ЯЗЫК ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ 121

6.1. Системы основанные на знаниях 121

6.2. Логические модели и логическое программирование 122

6.3. Простейшие конструкции языка предикатов 122

6.4. Предикатные формулы 123

6.5. Определение правильно построенной формулы 125

6.6. Логический вывод 126

6.6.1. Правило резолюции для простых предложений 127

6.6.2. Правило резолюции для сложных предложений 132

6.6.3. Простая резолюция сверху вниз 133

6.6.4. Общая резолюция сверху вниз 133

6.6.5. Унификаторы и примеры унификации 135

6.7. Решение задач и извлечение ответа 135

ПРИЛОЖЕНИЕ 137

Приложение 1. Запуск Turbo-Prolog в ОС Windows 7 137

Запуск DOSBox 138

Подключение русского языка 141

Дополнительные настройки DOSBox 142

Приложение 2. Служебные предикаты Турбо-Пролога 144

2. Предикаты преобразования данных 145

3. Предикаты работы с окнами. 146

4. Предикаты работы с файлами. 146

5. Предикаты управления экраном. 148

6. Предикаты обработки строк. 148

7. Предикаты работы с графикой. 149

8. Разные предикаты. 150

9. Правила вычисление атрибутов экрана. 151

Приложение 3. Пример программы построения дерева синтаксического анализа 153

Запись грамматических правил 153

Реализация грамматических правил на языке Prolog 154

БИБЛИОГРАФИЧЕСКИЙ СПИСОК 158

ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ 159

PROLOG - ЯЗЫК РАЗРАБОТКИ 159

ИНТЕЛЛЕКТУАЛЬНЫХ И ЭКСПЕРТНЫХ СИСТЕМ 159

Выводим противоречие.

Соседние файлы в папке Курсовой проект ПРОЛОГ