
- •Дисциплина математическая логика и теория алгоритмов
- •Краткие сведения из теории
- •Описание системы программирования «Пролог-д».
- •1. Интерфейс и синтаксис логического языка программирования «Пролог-д».
- •Пример построения дерева опровержения
- •П1. Арифметика в языке Пролог-д.
- •П2. Графические возможности «Пролог-д».
Дисциплина математическая логика и теория алгоритмов
Лабораторная работа №1
ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ-Д
Время: 2 часа.
Место: компьютерный класс
Учебные вопросы:
.
Изучение интерфейса и синтаксиса языка логического программирования «Пролог-Д».
Создание базы знаний.
Литература и материальное обеспечение:
Методическая разработка по теме занятия.
Класс ПЭВМ.
Конспект лекций по дисциплине «Математическая логика и теория алгоритмов».
Программное обеспечение «Пролог-Д».
Аляев Ю.А. Тюрин С.Ф. Дискретная математика и математическая логика. – М.: Финансы и статистика, 2006. –357 с.
С.Ф.Тюрин. Аляев Ю.А. Практическая дискретная математика и математическая логика – М.: Финансы и статистика, 2010. – 384 с.
Краткие сведения из теории
Языки типа Бейсик – императивные, в них команды определяют действия, которые необходимо выполнить исполнителю алгоритма [Кларк К., Маккейб Ф. Введение в логическое программирование на микро - Прологе.- М. Радио и связь, 1987.-312 с.] Дескриптивные (декларативные) языки определяют набор отношений или функций, которые должны быть выполнены.
В логическом программировании программист не только не занимается управлением памятью, но и не управляет вычислениями. (Для логической программы, например, нельзя нарисовать блок-схему).
Логическое программирование не является программированием в традиционном понимании этого слова, поскольку программист в данном случае пишет не программу-алгоритм, а логическую модель. Как правило, такая модель может быть использована для решения не одной, а ряда задач, определенного моделью круга.
Математической основой логического программирования является метод резолюций.
Язык Пролог (ПРОграммирование с помощью ЛОГики) создан А. Колмеройером в 1970 году во Франции, распространен в Венгрии, Англии, Японии.
Рассмотрим одну из модификаций Пролога – русифицированный Пролог-Д.
Программа на Прологе представляет из себя базу знаний, представленных в виде не содержащих свободных переменных дизъюнктов. Дизъюнкты делятся на факты, правила и вопросы.
В Прологе используются только хорновские дизъюнкты, то есть дизъюнкты, в которых не больше одного не инверсного предиката. В Прологе их называют обычно предложениями или клаузами (дизъюнктами, элементами КНФ).
Правила могут
иметь в общем случае вид
,
где
-
предикаты,
что при
переводе в дизъюнкты будет
В Прологе это записывается наоборот:
,
где
-
называются целями, причём запятая
обозначает конъюнкцию, а в конце ставится
точка.
Дизъюнкт, состоящий только из инверсных предикатов – вопрос, то есть, это - импликация в 0 :
В Прологе
это записывается так:
В конце – точка.
А дизъюнкт, состоящий лишь из одно не инверсного предиката – факт, то есть это импликация из 0:
В Прологе это записывается так:
В конце – точка.
Описание системы программирования «Пролог-д».
Система Пролог-Д для Windows. На дискете (в архиве, в рабочей директории) должны быть файлы:
PROLOGW.EXE – транслятор (интерпретатор),
PROLOGW.HLP - справка,
BORLANDMM.DLL – системная библиотека,
CP3245MT.DLL – системная библиотека.