Руководство к лабораторным работам для языка логического программирования пролог



Скачать 43.39 Kb.
Дата08.10.2012
Размер43.39 Kb.
ТипРуководство

УДК 681.3

Д.А. Мохирев, А.В. Сукрушев, И.А. Шипигузов

Email: tyurinsergfeo@rambler.ru
Пермская государственная сельскохозяйственная академия им. Д.Н. Прянишникова
Руководитель - Заслуженный изобретатель РФ, доктор технических наук, профессор, профессор кафедры информационных технологий и
автоматизированного проектирования
Тюрин Сергей Феофентович
Руководство к лабораторным работам для языка логического программирования ПРОЛОГ

Аннотация: Слово "пролог" является аббревиатурой. Оно получено из фразы ПРОграммирование в ЛОГике.

Связь между логикой и программированием впервые проявилась в процессе формализации математики. Оказалось, что между вычислениями и доказательствами существует взаимодействие, состоящее в том, что всякое доказательство задает построение или вычисление того объекта, существование которого доказывается. С другой стороны, развитие самого программирования и усложнение реальных программ привели к необходимости формально выразить и доказать их свойства. Для этого используется математическая логика. Концепция логического программирования является следствием сближения логики и программирования. Свое практическое воплощение она получила в языке ПРОЛОГ.

Интерфейс программы «Пролог-Д»
png" align=bottom width=536 height=383 border=0>

Рисунок 1 Экран системы Пролог-Д в MS Windows.
Интерфейс, изображенный на рисунке 1, является стандартным для систем, работающих в среде Windows.

Управлять системой можно с помощью манипулятора мышь, или с помощью специальной клавиатуры Windows. В первом случае к нужному месту на экране подводится курсор мыши и нажимая левую клавишу мыши вызывается необходимое действие.
Пример программы «Родство»
Записать и инициировать выполнение программы «Родство», построить в тетради модифицированное дерево опровержения.


отец(Иван,Сидор).

Факты, описывающие родственные связи.

отец(Иван,Яков).

отец(Сидор,Макар).

отец(Яков,Платон).

Правила

брат(Х,У):-отец(З,Х),отец(З,У),НЕ(РАВНО(Х,У)).

дядя(Х,У):-отец(З,У),брат(Х,З).

Вопросы

?брат(Сидор,Х).

?дядя(У,Х).

Первый шаг в направлении построения базы знаний состоит в выявлении объектов и соотношений между ними, отвечающих на вопрос: "Что дано?". Такую информацию целесообразно представлять в виде совокупности фактов. В данном примере «отец» - это имя факта, оно определяет информацию, записываемую в нем. Имена являются аргументами, определяющими соответствие между отцом и сыном. Например отец(Иван,Сидор)., означает, что Иван – отец Сидора.

Если возможно задать некоторые связи и отношения между объектами, то удается сократить число фактов, и тем самым сделать базу знаний более лаконичной. Связи и отношения между объектами задаются правилами. При построении правил выделяется совокупность отношений, отвечающих на вопрос "Что известно?". В данном примере нам известно, что есть братья и дяди. Запишем для их нахождения правила. Например брат(Х,У):-отец(З,Х),отец(З,У),НЕ(РАВНО(Х,У)). означает, что Сидор - брат Якова, если Иван – отец Сидору и Иван – отец Якову, и Сидор и Яков не один и тот же человек. Так же записывается и правило для определения дяди.

К данной базе знаний можно уже задавать вопросы. Например ?брат(Сидор,Х). выведет нам, после нажатия на клавишу F9, брата Сидора. А вопрос ?дядя(У,Х). выведет всех дядей.

Запишите текст программы и нажмите F9, откроется вкладка с результатами, на которой будут показаны ответы на поставленные вопросы.
Строится дерево
О(и,с),О(и,я),О(с,м),О(я,п),

{(u,z)(c,x)}


{я,y}


{я,w}

Б(с,я)
ДА
О(и,с),О(и,я),О(с,м),О(я,п),

{(u,z)(c,x)}


{я,y}


{я,w}

Б(с,я)



Нет
Строится модифицированное дерево

О(и,с),О(и,я),О(с,м),О(я,п),

{(u,z)(c,x)}


{я,y}


{я,w}

Б(с,я)
Б(с,я)
Модифицированное дерево строится вручную. Оно отображает нам то, как работает программа ПРОЛОГ. Выписывается множество дизъюнктов, а к выводу добавляется его отрицание. В итоге получим ответ на задаваемый вопрос, а именно Яков – брат Сидора.

Список литературы


  1. Конспекты лекций по математической логике и их электронный вариант. (Тюрин С.Ф.)

  2. Аляев Ю.А., Тюрин С.Ф. "Дискретная математика и математическая логика": учебник –М."Финансы и статистика", 2006.-368 с


Сукрушев А.В. 89026481654

Шипигузов И.А. 89026387479

Мохирев Д.А. 89026387391

Похожие:

Руководство к лабораторным работам для языка логического программирования пролог iconОбоснование перспектив развития логического вывода на занятиях по математической логике
Основой логического программирования в настоящее время является метод резолюций [1-2]. Логический вывод на основе этого метода для...
Руководство к лабораторным работам для языка логического программирования пролог icon3. Логическое программирование 2 Язык Пролог 2
Пролог является декларативным языком логического программирования. Он основывается на языке исчисления предикатов первого порядка...
Руководство к лабораторным работам для языка логического программирования пролог iconМетодическое пособие по программированию в системе Пролог для вычислительных машин типа ibm pc, работающих в операционной системе ms-dos или ms windows95/NT
...
Руководство к лабораторным работам для языка логического программирования пролог iconМетодические указания к лабораторным работам по дисциплине "Информатика" для студентов специальности 230102
Лабораторная работа №1 "Интегрированная среда программирования Borland C++. Простые программы "
Руководство к лабораторным работам для языка логического программирования пролог iconМетодические указания к лабораторным работам
Дискретная математика: Методические указания к лабораторным работам / Рязанская государственная радиотехническая академия; Сост....
Руководство к лабораторным работам для языка логического программирования пролог iconРабочая программа, руководство к лабораторным работам 1 и 2 и задание на контрольную работу

Руководство к лабораторным работам для языка логического программирования пролог iconМетодические указания к лабораторным работам «спектрофотометрический анализ»
Методические указания к лабораторным работам «спектрофотометрический анализ» по спецкурсу «оптические методы анализа» для студентов...
Руководство к лабораторным работам для языка логического программирования пролог iconМеханика методические указания к лабораторным работам по физике для бакалавров Челябинск 2007 Методические указания к лабораторным работам по механике предназначены для бакалавров, обучающихся на втором курсе
Методические указания к лабораторным работам по механике предназначены для бакалавров, обучающихся на втором курсе
Руководство к лабораторным работам для языка логического программирования пролог icon3 Язык логического программирования Пролог
Задача (массовая проблема) некоторый общий вопрос, на который должен быть дан ответ
Руководство к лабораторным работам для языка логического программирования пролог iconМетодические указания к лабораторным работам для студентов Казань 2004 Составители: М. Г. Габидуллин, Д. С. Смирнов удк 691: 620
Проектирование составов и испытания тяжелых бетонов и строительных растворов. Методические указания к лабораторным работам по курсу...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org