Общие сведения о языке Пролог |  |
Содержание
Введение
Начинаем рассматривать логическое программирование в узком смысле слова:
Пролог (Prolog) - это программирование на языке логики.
Этот язык используется для задач, которые сводятся к объектам
и отношениям между ними.
Пролог является реляционным языком.
Пользоваиель должен установить какие формальные отношения и
объекты существуют в решаемой задаче и установить какие
отношения справедливы для поиска решения.
Пролог - это декларативный язык. Он отличается от
процедурных (императивных) языков:
- императивный - как делать
- декларативный - что делать
Порядок выполнения Пролог программы определяется:
- семантикой языка
- новыми фактами, которые Пролог выводит из имеющихся
- отчасти той управляющей информацией, которую задает программист
Пролог - это логический язык, в котором реализована логика
предикатов 1-го порядка.
В самом языке предусмотрены элементы интеллектуальности:
- сопоставление с образцом
- поиск с возвратом
- недетерменизм
Ретроспектива создания Пролога и его версий
- 1971 г. в Марсельском университете А. Колмероэ создает язык, который работал с
естественными текстами (реализация интерпретатора на ФОРТРАНЕ П. Русселя).
- В Имперском колледже Р. Ковальский математически обосновал логическое программирование
и язык Пролог.
- "Эддинбургская" реализация Д. Уоррена для DEC-10, уже компилятор.
- В Венгрии Домелки создает "МПролог" (модульный Пролог).
- IC-пролог (МикроПролог) Кларка и Маккейб для микроЭВМ.
- Параллельный Пролог Шапиро
- Книга К. Хогера является "библией" логического программирования, как книга Д. Кнута
"Искусство программирования для ЭВМ" на фон-неймоновских машинах.
- LogLisp Робинсона - это слияния логических и функциональных языков.
- Язык проекта ЭВМ 5-го поколения.Протопип внутренних языков (KL-1, KL-2) машин логического вывода и их макроассемблеров ESP и MANDALA.
Модель вычислений
Этапы программирования на Прологе
- объявление фактов об объектах и отношениях
- определение правил
- формировки вопросов
Пример 1:
| Факты |
Объекты |
Отношение |
| "Иван - отец Алексея" |
"Иван","Алексей" |
отец |
| "Серебро - ценное" |
серебро |
ценное |
| "Петр дает книгу Ольге" |
"Петр",книга,"Ольга" |
дает |
Обычно в качестве отношений в естественных языках выступают
сказуемые или определения (прилагательное). Во фразе на
русском сказуемое может отсутствовать, чаще всего отсутствует
глагол "есть", "является".
Отношение:
отец("Иван","Алексей").
ценное(серебро).
дает("Петр","Ольга",книга).
? - отец("Иван",Y).
Y - переменная
Смотрите так же
Последняя модификация: 22.08.05 23:06 q Не проходите мимо! Оставьте Ваш комментарий в форуме! >>> Цитирование материалов моего сайта приветствуется! при условии видимой действующей! гиперссылки на мой сайт. [Ссылки] Если Вы нашли опечатку на этой странице, пожалуйста, выделите ее мышью и нажмите Ctrl+Enter. Сделаем язык чище! (c) Yuri Popoff, 2004 - 2008, popoff.donetsk.ua, style.donetsk.ua |
|