Факты и правила в Прологе
Семантическая сеть как важная модель предметной области, представленная в виде графа, вершинами которого являются понятия. Знакомство с принципами декларативного программирования. Общая характеристика логических основ программирования на Прологе-Д.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 03.06.2017 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1.Теоретическая часть
семантический декларативный программирование
Правила позволяют вам вывести один факт из других фактов. Другими словами, можно сказать, что правило - это заключение, для которого известно, что оно истинно, если одно или несколько других найденных заключений или фактов являются истинными.
В Прологе отношение между объектами называется фактом (fact). В естественном языке отношение устанавливается в предложении. В логике предикатов, используемой Прологом, отношение соответствует простой фразе (факту), состоящей из имени отношения и объекта или объектов, заключенных в круглые скобки. Как и предложение, факт завершается точкой.
Логика первого порядка позволяет производить квантификацию по отдельным элементам. Логика первого порядка означает, что кванторы ставятся по переменным, а не по более сложным структурам. Квантификация - это указание количественного выражения. Квантор - это общее название для логических операций, которые по предикату P(x) строят высказывание, характеризующее область истинности предиката P(x).
База знаний - семантическая модель, описывающая предметную область и позволяющая отвечать на такие вопросы из этой предметной области, ответы на которые в явном виде не присутствуют в базе. Семантическая сеть - модель предметной области, представленная в виде графа, вершинами которого являются понятия, а дуги (ребра) - отношения между ними. Предметная область - это набор объектов, представляющих интерес для актуальных или предполагаемых пользователей, когда реальный мир отображается совокупностью конкретных и абстрактных понятий, между которыми фиксируется определенные связи.
1.1 Опишите на языке логики первого порядка свойства отношения равенство
В программу Пролог - Д задается текс программы, в нашем случае мы рассматриваем равенство.
Отношение равенство запишем как РАВНО(X,Y). Это отношение принимает значение ИСТИНА, если X равен Y, и значение ЛОЖЬ если X и Y не равны между собой. Отношение равенство обладает следующими свойствами:
- переменная равна сама себе (рефлексивность);
- если X=Y, то Y=X (симметричность);
- если X=Z и Z=Y, то X=Z (транзитивность).
Рассмотрим текст программы и результат ее выполнения.
Текст программы:
РАВНО(X,X).
РАВНО(X,Y)<-РАВНО(Y,X).
РАВНО(X,Y)<-РАВНО(X,Z),РАВНО(Z,Y).
?РАВНО(12,12).
Рис.1
Результаты работы программы:
Рисунок 2. Результат запроса ?РАВНО(12,12)
Рисунок 3. Результат запроса ?РАВНО(12,10)
1.2 Опишите на языке Пролог-Д состав своей семьи
Для записи фактов будут использованы три предиката: родитель(X,Y), женщина (X), мужчина (X). Факт, записанный с помощью предиката родитель (X,Y), имеет место в программе, если X является родителем Y. Факты женщина(X) и мужчина(X) записаны в программе, если их аргументы являются женщиной и мужчиной соответственно.
В задаче о построении родственных отношений могут использоваться правила, описывающие следующие утверждения:
- X является мамой Y, если X - женщина и X является родителем Y;
- X является папой Y, если X - мужчина и X является родителем Y;
- X является дочерью Y, если X - женщина и Н является родителем X;
- X является сыном Y, если X - мужчина и Н является родителем X;
- X является бабушкой Y, если X является мамой родителя Y;
- X является дедушкой Y, если X является папой родителя Y;
- X является сестрой Y, если X - женщина и X,Y имеют общую маму;
- X является братом Y, если X - мужчина и X,Y имеют общую маму;
В последних двух правилах учитывается то, что X и Y не являются одним человеком с помощью двух стандартных предикатов РАВНО(Арг1,Арг2) и НЕ(Арг1). Предикат РАВНО имеет два аргумента Арг1 и Арг2. Этот предикат истинен, если успешна унификация Арг1 и Арг2. Аргументом встроенного предиката НЕ является предикат, если этот предикат-аргумент ложен, то предикат НЕ истинный, и наоборот.
Текст программы.
родитель(Ирина, Екатерина).
родитель(Андрей, Екатерина).
мужчина(Андрей).
женщина(Ирина).
женщина(Екатерина).
ребенок(X,Y):-родитель(Y,X).
мать(X,Y):-родитель(X,Y),женщина(X).
отец(X,Y):-родитель(X,Y),мужчина(X).
дочь(X,Y):-ребенок(X,Y),мужчина(X).
?отец(X, Екатерина).
Результаты работы программы.
Рисунок 4. Результат запроса ? отец (Х, Екатерина)
Рисунок 5. Результат запроса ?мать(Х, Екатерина)
Заключение
семантический декларативный программирование
Для изучения принципов декларативного программирования и получения практических навыков в ходе работы были изучены литературные источники и выполнен ряд практических задач.
В работе были рассмотрены такие аспекты логического программирования как:
- логические основы программирования на Прологе - Д;
- построение баз знаний;
- использование арифметических и других встроенных предикатов;
- применение рекурсивных алгоритмов;
- графические возможности системы;
- работа со списками.
Пролог может использоваться при разработке экспертных систем, а также для следующих задач:
- доказательства теорем и вывода решений в задачах;
- разработки упрощенных версий систем ИИ;
- создания естественно - языковых интерфейсов для существующих программ;
- перевода текстов с одного языка на другой, в том числе - с одного языка программирования на другой.
Список использованных источников
1. Абдикеев Н.М. Проектирование интеллектуальных систем в экономике. Учебник / М.: Экзамен, 2004 - 526с.
2. Алексеев М.Н., Бешенков С.А., Гейн А.Г., Григорьев С.Г. Информатика и информационные технологии: практические работы / Миасс, 2000 - 42 с.
3. Бешенков С.А., Гейн А.Г., Григорьев С.Г. Информатика и информационные технологии. Екатеринбург: Уральский рабочий, 1995 - 134с.
4. Бешенков С.А. Школьная информатика: новый взгляд, новый курс// Педагогическая информатика. N2. 1993 с. 5-10
5. Гаврилова Т.А., Хорошевский В.Ф., Базы знаний интеллектуальных систем. Учебник/ Санкт-Петербург:Питер, 2000- 382 с.
6. Григорьев С.Г., Морозова Е.В. Информатика и информационные технологии: Сборник задач / ЛБЛ-Балтика. Санкт-Петербург, 1996 - 32 с.
7. Маковик В. Стандарт интерфейса пользователя // Компьютер пресс.- N 1 1993- c. 33-37.
8. Мендельсон Э. Введение в математическую логику: Пер. с англ./ Под ред. С.И. Адяна.- 3-е изд.- М.: Наука, Главная редакция физико-математической литературы, 1984- 320 c.
9. Романов В.П. Интеллектуальные информационные системы в экономике. Учебник / М.: Экзамен, 2003 - 494с.
Размещено на Allbest.ru
Подобные документы
Семантическая сеть - совокупность объектов предметной области, отношений между ними. Причинно-следственные связи между двумя объектами в семантической сети. Представление знаний путем использования фреймов, при помощи логики предикатов. Правила продукций.
реферат [46,1 K], добавлен 01.12.2010Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.
курсовая работа [3,6 M], добавлен 23.12.2014Знакомство с наиболее известными технологиями программирования. Особенности разработки программ для вычисления интеграла по формуле средних прямоугольников. Общая характеристика методов структурного программирования. Рассмотрение формулы Симпсона.
курсовая работа [1,3 M], добавлен 03.03.2015Обзор образовательных стандартов педагогического образования в области искусственного интеллекта. Построение модели предметной области в виде семантических сетей. Характеристика проблемного обучения. Основные средства языка программирования Пролог.
дипломная работа [387,8 K], добавлен 01.10.2013Основные теоретические положения объектно–ориентированной технологии программирования. Характеристика языка и словарь моделирования UML. Представление управления моделью. Построение диаграммы классов и описание функционирования предметной области.
курсовая работа [859,4 K], добавлен 11.05.2015Понятия языка программирования, разновидности и характеристика языков. Исторический обзор их создания и применения. Классификация, примеры использования. Характеристики языков программирования с точки зрения элементов объектной модели, их популярность.
реферат [463,6 K], добавлен 07.09.2009Типология свойств объекта, его связей и моделей представления информации. Изображение предметной области в виде логических и физических моделей. Требования к системам баз данных. Достоинства трехуровневой архитектуры. Процесс идентификации объектов.
лекция [60,0 K], добавлен 19.08.2013Общая характеристика программной модели процессора Intel x86. Анализ особенностей регистров общего назначения. Назначение команд безусловной передачи управления, рассмотрение функций. Знакомство с проблемами программирования на языке Ассемблера.
курсовая работа [1,6 M], добавлен 04.02.2014Языки программирования низкого и высокого уровней и среды реализации. Особенности процедурных, логических, объектно-ориентированных языков. Состав системы программирования: трансляторы, библиотеки и отладчик программ, компоновщик, средства редактирования.
презентация [11,9 K], добавлен 23.10.2013Определение предметной области базы данных ("Сеть ресторанов"), виды ее моделирования. Первоначальный набор сущностей и атрибутов предметной области. Процесс смыслового наполнения базы данных. Атрибуты в концептуальной модели. Характеристика видов связей.
контрольная работа [510,9 K], добавлен 03.12.2014