Математика | ||||
Введение в язык МПролог-Иванова Г. С М.: Изд-во МГТУ, 1990. — 152 с., ил. | ||||
Иванова Г. С., Тихонов Ю. В.
21 Введение в язык МПролог: Практическое пособие для программистов. — М.: Изд-во МГТУ, 1990. — 152 с., ил. ISBN 5-7038-0105-2 МПролог •— язык компьютеров пятого поколения, используемый для решения задач искусственного интеллекта: создания систем обработки знаний, экспертных систем для различных прикладных областей и т. д. МПролог — одна из наиболее развитых версий языка, реализованная для ЭВМ различных типов: ЕС ЭВМ, СМ ЭВМ и персональных ЭВМ, совместимых с IBM PC. Дано описание теоретических основ логического программирования, в том числе классификация основных задач искусственного интеллекта, приведены основные положения математической логики, а также основные критерии, по которым отличают различные версии языка Пролог, в том числе МПролог. Подробно описаны основные положения языка МПролог, рассмотрены наиболее характерные приемы программирования на МПро-логе, приведено много примеров. Может быть использовано как учебное пособие, а также для профессиональных программистов и специалистов по вычислительной технике. Ил. 42. Табл. 13. Библиогр. 18 назв. ОГЛАВЛЕНИЕ Предисловие . . 5 . . 7 . . 7 Глава 1. Теоретические основы логического программирования . § 1. Задачи искусственного интеллекта ....... § 2. Основы математической логики. Логика высказываний . . .10 § 3. Логика предикатов первого порядка.......16 § 4. Метод резолюций.............23 § 5. Логическое программирование.........33 § 6. Язык Пролог..............35 лава 2. Основы программирования на языке МПролог . ... 49 § 1. Основные понятия языка...........^9 § 2. Описание синтаксиса языка..........51 § 3. Механизм выполнения программы........55 § 4. Разработка простейшей программы........59 § 5. Структуры данных............65 § 6. Списки...............67 § 7. Рекурсия...............71 § 8. Рекурсивная обработка списков ......... 78 лава 3. Программирование с использованием встроенных предикатов МПролога..............86 § 1. Система встроенных предикатов.........86 § 2. Программирование арифметических операций.....87 § 3. Организация ввода — вывода..........93 § 4. Встроенные предикаты обработки данных......102 лава 4. Управление процессом выполнения программы .... 108 § 1. Встроенные предикаты системы МПролог......108 § 2. Отсечение альтернатив............109 § 3. Программирование отрицания.........114 § 4. Предотвращение зацикливания процесса поиска решений . .115 § 5. Организация циклических процессов........119 лава 5. Более сложные элементы языка МПролог......125 § 1. Динамическое программирование........125 § 2. Модульное программирование.........132 Приложение 1. Система поддержки разработки программ PDSS на языке МПролог. Ее основные функции .... 139 Приложение 2. Описание встроенных предикатов системы МПролог............. . 144 Рекомендуемая литература..........151 ПРЕДИСЛОВИЕ Эта книга предназначена всем, кто хочет научиться составлять Ярограммы на языке логического программирования МПролог, и написана с таким расчетом, что не требует знания других языков программирования. Пособие написано на основе курса лекций, читаемых с 1988 г. в МГТУ им. Н. Э. Баумана студентам шестого курса факультета информатики и систем управления, а также слушателям Межотраслевого института повышения квалификации при МГТУ им. Н. Э. Баумана. Задачи взяты из лабораторных _работ по курсу «Логическое программирование». В настоящее время имеется всего одна книга на русском языке, в которой подробно описаны язык логического программирования МПролог и система МПролог. Поэтому авторы данной книги ставили перед собой задачу восполнить существующий в литературе пробел. Авторы ставили перед собой следующие цели: создать пособие по языку МПролог для широкого круга читателей: студентов, аспирантов, слушателей факультетов повышения квалификации, инженеров, специалистов по вычислительной технике и программированию, а также для всех желающих освоить программирование на языке МПролог; обсудить наиболее характерные приемы программирования на язык* МПролог; предоставить программистау подробную информацию по системе МПролог Материал книги распределен следующим образом. Во введении сделан! попытка показать, что МПролог — одна- из наиболее перспективных вереи! языков логического программирования. В главе 1 изложены теоретические основы логического программирована рассмотрены задачи искусственного интеллекта, дано краткое введение в ма тематическую логику, приведены основные принципы логического программи рования, описан язык Пролог. Главы 2... 5 посвящены основам программирования на языке МПроло] Изложение сопровождается большим числом примеров программ, написании на языке МПролог. Большое внимание уделено вопросам организации рекур сии, реализации самоизменяющихся программ, так называемому динамическом программированию, модульному программированию, программированию арий метических вычислений, организации ввода/вывода, использованию предик: тов отсечения, позволяющих эффективно влиять на ход вычислительного npi цесса. В приложении приведен полный список встроенных предикатов язы! МПролог, описаны функции системы поддержки разработки программ, нео1 ходимых для ввода и выполнения приведенных в книге программ, а така| для ввода, редактирования, отладки и выполнения программ, разработан™ читателями самостоятельно. 1 Авторы выражают глубокую благодарность доценту кафедры алгоритм ческих языков факультета вычислительной математики и кибернетики Мои ского государственного университета канд. физ.-мат. наук В. Н. Пильщик за ценные замечания, сделанные им при рецензировании рукописи. Если после прочтения настоящей книги у Вас возникло желание на1 работу с системой логического программирования МПролог, Вы можете о циально получить систему через Институт проблем информатики АН С( (117900, Москва, В-334, Вавилова ул., 30/6, тел. 930-06-16, 135-98-14 Ti нов Ю. В.). Особенности программирования на языке МПролог и тонкости работ: системой МПролог Вам помогут освоить опытные преподава МГТУ им. Н. Э. Баумана (107005, Москва, 2-я Бауманская ул., 5, 263-63-88, Петренко Е. О.). Все отзывы, замечания и пожелания по этой книге просим направлят) адресу: 107005, Москва, 2-я Бауманская ул., 5, Издательство МГТУ. § ВВЕДЕНИЕ Пролог — язык логического программирования, предназначенный для решения широкого класса задач: создания систем обработки знаний и интеллектуальных баз данных; разработки инструментальных средств построения экспертных систем; создания экспертных систем для различных прикладных областей, включая медицину, химию, биологию; разработки и использования систем автоматизации проектирования, компиляторов и т. п. Название языка Пролог образовано из слов ПРОграммирова-ние Логического, или Программирование в терминах ЛОГики (PRO-LOG—Programming in LOGic). Пролог принципиально отличается от традиционных языков программирования тем, что в ием требуется описывать логическую модель предметной области в терминах объектов и отношений между ними без подробного описания алгоритма решения задачи. Программа на языке Пролог состоит из множества утверждений, каждое из которых является либо фактом из заданной предметной области, либо правилом, указывающим, как решение связано с заданными фактами или каким образом его можно получить из заданных фактов. Теоретической основой Пролога стали идеи логического программирования, предложенные Р. Ковальским. Первый интерпретатор Пролога был создан в начале 70-х гг. В течение 70-х гг. этим языком интересовались специалисты довольно узкого круга. После опубликования в 1981 г. японского проекта компьютеров пятого поколения, где Пролог был выбран в качестве базового языка, этот язык получил очень широкое распространение. Этому способствовали и, другие причины: 1) появились экспертные системы, в которых основная работа состоит в выполнении логического вывода на основании фактов и правил, относящихся к области данной задачи. Пролог, будучи языком, основанным на логике, считается для этого наиболее подходящим; 2) компьютеры все чаще используют для решения неарифметических задач, для которых операции и структуры управления существенно отличаются от операций и структур, созданных главным образом для реализации численных алгоритмов; Цена: 150руб. |
||||