Тема Языки ии


Лекция 2. Работа в Прологе



жүктеу 258 Kb.
бет3/18
Дата21.01.2022
өлшемі258 Kb.
#34485
түріЛекция
1   2   3   4   5   6   7   8   9   ...   18
МУ-консп-лек-СИИ-рус

Лекция 2. Работа в Прологе.

Цель лекций. Ознакомление основными принципами работы на Прологе, разделы статические, динамические базы данных на Прологе.

Содержание лекций. Пролог это наиболее известный пример языка логического программирования. При выполнении программы интерпретатор постоянно реализует вывод на основе логических спецификаций. Идея использования возможностей представления теории предикатов первого порядка — это одно из основных преимуществ применения языка Пролог. В Прологе имена предикатов и связанных переменных представляют собой последовательности буквенно-цифровых символов, которые начинаются с буквы. Переменные представляются в виде строк буквенно-цифровых символов, которые начинаются с прописной буквы. Так, выражение likes (X, susie). или, еще лучше, likes (Everyone, susie) может представлять тот факт, что "каждый любит Сьюзи" или likes(george, Y), likes(susie, Y). представляет множество людей, которых любят Джордж и Сьюзи. Допустим, на языке PROLOG необходимо представить следующее отношение: "Джордж любит Кейт и Джордж любит Сьюзи". Его можно записать в виде likes(george, kate), likes(george, susie). Таким образом, "Джордж любит Кейт или Джордж любит Сьюзи" можно представить так: likes(george, kate); likes(george, susie). Программа на языке PROLOG это набор спецификаций из логики предикатов первого порядка, описывающих объекты и отношения между ними в предметной области задачи. Интерпретатор языка отвечает на вопросы, касающиеся этого набора спецификаций. Запросы к базе данных - это шаблоны, представленные в том же логическом синтаксисе, что и записи базы данных. Интерпретатор обрабатывает запросы, выполняя поиск в базе данных в глубину слева направо и определяя, является ли данный запрос логическим следствием спецификаций из базы данных. PROLOG также позволяет определять правила, описывающие взаимосвязи между фактами с использованием логической импликации : —. При создании правила на языке PROLOG слева от символа: — может располагаться только один предикат. Этот предикат должен быть положительным литералом т.е. не должен представлять. собой символ с отрицанием. Любая программа, написанная на Турбо-Прологе, состоит из пяти разделов. Ключевые слова: domains, database, predicates, goal, clauses отмечают начала соответствующих разделов. Большинство программ не содержит всех пяти названных разделов. Турбо-Пролог обеспечивает возможность включения в любом месте программы комментарий любой длины, которые обрамляются символами /* и */ [1,14]. При написании программ важно соблюдать следующие правила: имена всех отношений и объектов записываются со строчной буквы; сначала записывается имя отношения (предикат). Затем через запятую записываются имена объектов, а весь список имен объектов заключается в круглые скобки; каждый факт, цель должны заканчиваться (.) точкой [5]. Выполнение программы начинается, когда система встретит оператор цели. Цель – это формулировка задачи, которую данная программа должна решить. Турбо-Пролог использует как внутренние цели, которые содержатся в программе, так и внешние цели, которые вводятся с клавиатуры после запуска программы. В этом случае Турбо-Пролог выдает приглашение Goal (Цель). Турбо-Пролог пытается сопоставить цель с фактами и правилами программы. Принцип сопоставления, который необходимо твердо усвоить – сверху вниз и слева направо. Если цель является фактом, то Турбо-Пролог отвечает True (Истина) или False (Ложь) или No. Если цель содержит переменные, то Турбо-Пролог выдает либо те их значения, которые приводят к решению, если оно существует, либо сообщение No solutions (решений нет). БД на Прологе. Статические базы данных являются частью кода программы и не могут изменяться во время работы. Динамические базы данных можно дополнять новыми фактами или удалять из них некоторые утверждения. Другая особенность динамической базы состоит в том, что она может храниться в отдельном файле, записана на диск или считана с диска в ОП. Для описания предикатов динамической базы предназначен раздел программы database. Добавление латинской буквы d – обычный способ различать предикаты динамической и статической баз данных. В Турбо-Прологе имеется набор встроенных предикатов для изменения фактов динамической базы: asserta (X) - добавляет факт в начало базы данных; assertz(X) - добавляет факт в конец базы данных; retract(X) - удаляет из базы данных факт, сопоставимый с заданным фактом; consult(имя файла) - открывает файл для добавления фактов в базу данных, размещенную в оперативной памяти [6].


жүктеу 258 Kb.

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   18




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау