Факты и правила в Прологе

Семантическая сеть как важная модель предметной области, представленная в виде графа, вершинами которого являются понятия. Знакомство с принципами декларативного программирования. Общая характеристика логических основ программирования на Прологе-Д.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.