Математика | ||||
Реляционный язык Пролог и его применение-М а л п а с Дж М.: Наука. Гл. ред. физ.-мат. лит., 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руб. |
||||