Математика

Физика

Химия

Биология

Техника и    технологии

Реляционный язык Пролог и его применение-М а л п а с Дж М.: Наука. Гл. ред. физ.-мат. лит., 1990. - 464с
М а л п а с Дж. Реляционный язык Пролог и его применение: Пер. с англ. /Под редакцией В.Н. Соболева. — М.: Наука. Гл. ред. физ.-мат. лит., 1990. - 464с. ISBN 5-02-014509-2.
Описывается реляционный язык программирования Пролог, рассматривается методика программирования и конкретные приложения. Содержит большое число удачно подобранных примеров, иллюстрирующих суть обсуждаемых явлений, подробный предметный указатель, глоссарий.
Для специалистов в области вычислительной техники и информатики.
Табл. 23. Ил 4? Кибпипгп 1 17 нячн
ОГЛАВЛЕНИЕ
Предисловие редактора перевода............................ . 6
Предисловие.......................................... 8
Введение............................................ 13
Глава 0. Логика, логическое программирование и Пролог............. 17
0.1. Знакомство с логическим программированием.............. 17
0.2. Традиционная логика............................... 19
0.3. Начальный период развития формальной логики.............. 24
0.4. Логика высказываний.............................. 29
0.5 Логика предикатов..........................:...... 37
0.6. От формальной логики — к логическому программированию...... 50
0.7. Развитие языка Пролог............................. 59
0.8. Синтаксис языка Пролог............................ 62
0.9. Фразы Хорна как средство представления знаний............. 64
0.10. Семантика Пролога................................ 66
0.11. Метаязык / объектный язык.......................... 68
0.12. Сферы применения языка Пролог....................... 72
Библиографические заметки............................. 73
Глава 1. Факты и правила.................................. 75
1.1. Использование языка Пролог.......................... 75
1.2. Факты........................................ 76
1.3. Запросы к базе данных. ............................. 78
1.4. Правила....................................... 82
1.5. Процедуры..................................... 87
1.6. Рекурсивные процедуры............................. 90
1.7. Типы отношений.................................. 95
Библиографические заметки............................. 101
Упражнения........................................ 102
Глава 2. Арифметика и структуры данных....................• • • 105
2.1. Арифметика.................................... 105
2.2. Структуры данных................................ 107
2.3. Списки....................................... 110
4 ОГЛАВЛЕНИЕ
2.4. Процедуры, выполняющие действия со списками............. 114
2.5. Способы представления базы данных..................... 120
Библиографические заметки............................. 126
Упражнения........................................ 126
Глава 3. Управление ходом выполнения программы................. 129
3.1 Как выполняется запрос в Прологе...................... 129
3.2. Предикат "сократить".............................. 141
3.3. Отрицание как Неудача запроса........................ 150
3.4. Встроенные предикаты, предназначенные для обеспечения нвода вывода........................................ 154
3.5. Встроенные предикаты, предназначенные для управления файлами 156
3.6. Проверка типа терма............................... 157
3.7. Действия с текущей программой....................... 159
3.8. Компараторы.................................... 164
3.9. Прочие встроенные предикаты......................... 164
3.10. Операции...................................... 168
3.11. Преобразование процедурного алгоритма в программу на языке Пролог........................................ 171
Библиографические заметки............................. 174
Упражнения....................................... . 175
Глава 4. Подходы к программированию на языке Пролог............. 178
Введение......................................... 178
4.1. Реляционный подход............................... 180
4.2. Взгляд на программу с точки зрения потока данных........... 190
4.3. Бихевиористический подход.......................... 200
Библиографические заметки............................. 203
Упражнения........,............................. . 203
Глава 5. Обработка текста................................. 206
Введение......................................... 206
5.1. Лексический анализатор............................. 207
5.2. Система нисходящего грамматического разбора.............. 211
5.3. Система восходящего грамматического разбора . ............. 217
5.4. Конвертер программ с DEC-10 Пролога на микро-Пролог........ 229
5.5. Язык запросов................................... 237
Библиографические заметки............................. 250
Упражнения........................................ 250
Глава 6. Представление знаний.............................. 252
6.1. Представление знаний при помощи Пролога................. 252
6.2. Семантические сети................................ 262
6.3. Фреймы....................................... 264
6.4. Объектно-ориентированное программирование.............. 268
6.5. Механизм наследования в Прологе...................... 271
6.6. Программа, выполняющая запросы к базе данных............. 282
6.7. Описание изменений базы данных....................... 291
Библиографические заметки............................. 298
Упражнения ....................................... 299
ОГЛАВЛЕНИЕ
i пава 7. Экспертные консультации............................ 302
7.1. Системы экспертных консультаций...................... 302
7.?. Запоминание пути вывода............................ 305
7.3. Видимый Пролог.................................. 310
7.4. Интерпретатор, обнаруживающий циклы................... 314
7.5. Заключение: стиль программирования на Прологе............ 318
Библиографические заметки............................. 326
Упражнения . . ...................................... 326
Приложения.......................................... 328
1. Основная терминология............................. 328
П. Полезные программы.............................. 333
Различные процедуры (333). Процедуры сбора множества ответов (333). Процедуры ввода-вывода низкого уровня (334). Программа "отобразить _ состояние" (335). Экранно-ориентированная программа, предназначенная для выполнения запросов к базе данных (336).
Hi. Показательный пример. Программа планирования работы завода 339
IV. Версии языка Пролог............................... 381
СиПролог (381). Квинтус Пролог(388).Система программирования на Прологе фирмы Сайлоджик (393). Пролог-2 (400). Эрити Пролог (407). УНСВ Пролог (412). Турбо Пролог (417).
V. Ответы к упражнениям............................. 426
.дополнение.......................•.....,.,,.,...... 441
1. Встроенные предикаты, предназначенные для работы с окнами .... 441
2. Перечень встроенных предикатов, предназначенных для работы
с графическим интерфейсом фирмы Борлэнд (BGI)........... 444
... 448
, писок литературы...................... ............... 459
Лредметиый указатель....................
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА
Вниманию читателя предлагается книга, посвященная современному языку программирования наивысшего уровня, широко используемому при решении многих актуальных проблем и оспаривающему в настоящее время право считаться основным языком вычислительных систем пятого поколения. Пролог представляет сейчас единственную приемлемую альтернативу Лиспу в качестве языкового средства при разработке систем искусственного интеллекта.
Название языка составлено из начальных частей двух слов: Программирование Логическое. Пролог освобождает пользователей от необходимости обдумывания правил вычисления значений и планирования действий, реализуемых в процессе выполнения программы, позволяя сосредоточить внимание на логической спецификации, описывающей решаемую задачу. Этот язык обеспечивает относительно простое осуществление сопоставления заданных объектов с эталонами. Он принципиально отличается от общепризнанных процедурных языков (Си, Паскаль, Модула-2, Ада, Фортран) и функционального языка Лисп. Программирование на нем носит несколько необычный характер. Пролог-программа представляет собой совокупность дескриптивных определений набора отношений с включением императивных компонентов. Она больше является описанием того, что нужно вычислить, чем того, как надо это сделать. Выполнение Пролог-программы заключается в использовании логических определений отношений (заданных в программе) для вычисления конкретных примеров этих отношений.
Несмотря на перспективность и высокие достоинства Пролога, он почти не нашел отражения в отечественной научно-технической литературе, что существенно сдерживает наших исследователей и разработчиков. Счастливым исключением является переводная книга К. Кларка, Ф. Маккей-ба и др. "Введение в логическое программирование на микро-Прологе", вышедшая в издательстве 'Тадио и связь" в 1987 году. Однако ее нельзя считать вводным курсом в Пролог, она посвящена его единственной версии со специфическим синтаксисом и представляет собой сборник статей
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА 7
по практическому применению микро-Пролога, написанных разными ав-
юрами.
Данная книга весьма полно описывает язык и методологию его применения. Она позволяет включиться в его изучение неподготовленному читателю и подняться до уровня практического программирования на Прологе. В ней достаточно полно отражена связь описываемого языка с логикой. Книга хорошо структурирована. В нее включено большое количество удачно подобранных примеров, иллюстрирующих суть обсуждаемых явлений. Стиль изложения характеризуется четкостью и доступностью для понимания широкой аудитории читателей. Подробный предметный указатель, глоссарий и многочисленные подзаголовки позволяют использовать данную книгу не только как учебник, но и как справочник. В приложении представлен обзор основных версий языка, что помогает сориентироваться в его возможностях и разнообразных реализациях.
В процессе работы на переводом мы старались наиболее точно отразить мысли автора. Чтобы программы и примеры были понятны читателю, не владеющему английским языком, почти все осмысленные идентификаторы заменены русскими эквивалентами. Неизменными остались ль-чь имена
встроенных предикатов.
Надеемся, что данная книга окажет существенную помощь тем, кто занимается проблемами искусственного интеллекта, реляционными базами данных, разработкой программного обеспечения, системами разбора естественного языка, представлениями знаний, экспертными системами.
" Ч Г'пКппо

Цена: 150руб.

Назад

Заказ

На главную страницу

Hosted by uCoz