Главная > Лабораторная работа


Федеральное государственное образовательное учреждение высшего профессионального образования

«Пермская государственная сельскохозяйственная академия

имени академика. Д.Н. Прянишникова»

“УТВЕРЖДАЮ”

Заведующий кафедрой ИС

А. Козлов

“ ….. “ .......................... 200… г.

Для преподавателя

Дисциплина

интеллектуальные ИНФОРМАЦИОННЫЕ системы

Лабораторная работа №3

Тема: язык логического программирования «Пролог-Д»

Время: 4 часа.

Место: компьютерный класс

Учебные вопросы:

.

  1. Интерфейс и синтаксис логического языка программирования «Пролог-Д».

  2. Арифметика и сравнение в языке «Пролог – Д».

  3. Создание базы знаний.

Литература и материальное обеспечение:

  1. Методическая разработка по теме занятия.

  2. Класс ПЭВМ.

  3. Мультимедийный проектор, экран.

  4. Язык программирования «Пролог-Д».

Руководство к лабораторной работе №3
«Пролог-Д».

Система Пролог-Д для Windows. На дискете (в архиве, в рабочей директории) должны быть файлы:

  1. PROLOGW.EXE – транслятор (интерпретатор),

  2. PROLOGW.HLP - справка,

  3. BORLANDMM.DLL – системная библиотека,

  4. CP3245MT.DLL – системная библиотека.

1. Интерфейс и синтаксис логического языка программирования «Пролог-Д».

Интерфейс логического языка программирования «Пролог-Д» аналогичен интерфейсу и приемам работы в операционной системе WINDOWS.

Для начала работы с «Пролог-Д» необходимо зайти в папку под названием «Пролог-Д», расположение которой укажет преподаватель. Затем выбрать ярлык Пролога-Д или с помощью программ просмотра диска найти файл с программой prologw.exe и двойным нажатием левой клавиши мыши инициировать его исполнение. На экране появится заставка системы Пролог-Д Windows (рисунок 1.2.1).

Рисунок 1.2.1. Экран системы Пролог-Д в MS Windows.

Изображенный на рисунке 1.2.1. интерфейс является стандартным для систем, работающих в среде Windows. Управлять системой можно с помощью манипулятора мышь, или с помощью специальной клавиатуры Windows.

Падающее меню Файлы.

Система позволяет работать одновременно с нескольким файлами аналогично работе в ОС WINDOWS.

Элемент меню Исполнение.

Содержит элементы Исполнить, Прервать и Настройки. На рисунке 1.2.3 показана панель настроек.

Рисунок 1.2.3. Панель настроек режимов исполнения Пролог-программы.

Отмечая или снимая отметки в соответствующих квадратиках панели настроек можно включить и выключить трассировку, вывод вопроса, поручить системе сохранять текст программы при каждом отладочном запуске, а также выбрать, куда направлять вывод в ходе исполнения программы.

Элемент меню Окна.

При выборе этого элемента появляется падающее меню. Выбор элементов меню Каскад, Мозаика, Упорядочить и Свернуть все определяет взаимное расположение окон на экране.

Элемент меню Помощь

При выборе данного элемента меню пользователю предоставляется возможность выбор различных видов помощи, указываемых в падающем меню: помощь о программе и помощь по разделам. Все виды помощи построены по гипертекстовому принципу с использование стандартной подсистемы организации помощи MS Windows.

Синтаксис языка «Пролог-Д» подробно описан в файле помощи - кнопка или окно Помощь, Язык, Синтаксис. Откройте его и просмотрите.

База знаний.

Синтаксис: БазаЗнаний ::= {Предложение}*

Предложение::= Факт ¦ Правило ¦ Комментарий

Комментарий::= "{СимволASCII}*"

База знаний на Прологе-Д состоит из множества фактов и правил.

Факты.

Синтаксис:

Факт ::= Предикат.

Предикат ::= Имя(Аргумент{,Аргумент}*) ¦ Имя

Имя ::= БукваСимвол{Символ}* Константа::= Целое ¦ Словосочетание

В данной версии Пролога-Д длина имени предикатного символа не ограничена. Аргументом может быть любой терм. Аргументов может и не быть. Факты описывают объекты и отношения между ними. Декларативно Факт P0 означает, что P0 безусловно истинно. Процедурно означает, что факт P0 всегда выполнен.

Правила.

Синтаксис: Правило::= Предикат:-Цель{,Цель}*.

Цель ::= Предикат ¦ !

Правило описывает отношения между объектами. Предикат, стоящий слева от знака импликации :- называется головой, а предикаты, стоящие справа - целями или посылками. Правило может иметь любое число целей. (Правило без целей - это факт). Декларативно правило P0:-P1,..,Pn. читается так: P0 истинный, если P1, .. , Pn истинны. Процедурно это значит, что для удовлетворения P0 необходимо последовательно удовлетворить P1, .. , Pn.

Вопрос.

Синтаксис: Вопрос::= ?Цель{,Цель}*. Процедурно вопрос означает исполнение программы на Прологе-Д.

Примечания:

  1. При описании фактов и правил вместо символа “; - точка с запятой“ допускается использование символа “. - точка“.

  2. При описании правил вместо сочетания символов “<-“ допускается использование сочетания символов “:-“.

2. Арифметика и сравнение в языке Пролог.

В языке пролог имеются встроенные предикаты, в частности предикаты арифметики и сравнения. Их описание находится в файле помощи – кнопка или окно Помощь, Язык, Встроенные предикаты, Арифметика. Найдите, откройте и просмотрите его.

Для освоения принципов работы со встроенными арифметическими предикатами и встроенными предикатами сравнения рассмотрим следующие задачи.

Например, выражение Z = X*Y запишется на Прологе в следующем виде :

?УМНОЖЕНИЕ(X,Y,Z).

Задача 1. На Прологе-Д необходимо описать вычисление объема параллелепипеда высотой h, в основании которого прямоугольник, имеющий стороны длиной a и b.

Известна формула определения объема параллелепипеда:

Vпар=a*b*h.

Предикат, который будет выполнен, если будет вычислен объем параллелепипеда, должен иметь четыре аргумента - длины сторон a и b, высоту h и величину объема. Целесообразно, чтобы Имя предиката отражало его назначение - этому критерию удовлетворит имя объем. Данный предикат будет составным:

обьем(a,b,h,V):-УМНОЖЕНИЕ(a,b,S),УМНОЖЕНИЕ(S,h,V).

К базе знаний можно задать вопросы:

?обьем(10,20,5,V).

ответ системы Пролог-Д:

V=1000.

Как и прежде предикат объем обратим, это означает, что используя это описание можно вычислить не только объем по заданным сторонам и высоте, но и любую (одну) сторону или высоту по заданным высоте, стороне и объему.

Задайте вопрос: ?обьем(а,20,5,1000). Ответ : а = 10.

Задача2: Если необходимо вычислить число x=2*3+1, то для этого достаточно набрать на клавиатуре вопрос:

?УМНОЖЕНИЕ(2,3,1,x). (<Enter>)

ответ системы:

x=7

Реализация деления x=z/y.

ДЕЛЕНИЕ(z,y,x):-УМНОЖЕНИЕ(x,y,z).

Реализация вычитания x=y-z.

ВЫЧИТАНИЕ(y,z,x):-СЛОЖЕНИЕ(x,z,y).

В данных случаях во встроенных предикатах переменные как бы перевернуты на оборот.

Задание:

  1. Напишите правило и вопрос для вычисления площади круга.

  2. Вычислите выражение «x=8/2».

  3. Вычислите выражение «x=10 - 7».

  4. Вычислите выражение «x=5*2*3+2».

Примечание: используйте файл помощи – кнопка или окно Помощь, Язык, Встроенные предикаты, Арифметика , … .

Результат представить преподавателю.

А теперь несложный пример, иллюстрирующий применение БОЛЬШЕ и НЕ.

Задача: Опишите на языке Пролог-Д вычисление функции Хевисайда, определяемую формулой:

| 0, если x<0.

h(x)= | 0, если x=0.

| 1, если x>0.

База знаний должна содержать описание предиката меньше и равно, который выше уже был описаны, предикат, выполняющийся при вычислении функции Хевисайда, будет называться ХЕВИСАЙД. Этот предикат будет иметь два аргумента, первый это аргумент функции, а второй ее значение. Предикат ХЕВИСАЙД определяется через два альтернативных описания для всех значений X.

МИР(X,Y):-НЕ(БОЛЬШЕ(X,Y).

ХЕВИСАЙД(X,0):-МИР(X,0).

ХЕВИСАЙД(X,1):-БОЛЬШЕ(X,0).

К этой базе знаний можно задать различные вопросы.

?ХЕВИСАЙД(20,X).

ответ системы Пролог-Д:

X=1.

Задание: задать базе знаний вопросы для получения всех вариантов ответов для формулы Хевисайда.

Упражнение: Попробуйте набрать вопрос:

?УМНОЖЕНИЕ(x,3,1,7). (<Enter>).

Объясните результат и запишите исходный текст (задание) упражнения.

Результат представить преподавателю.

3. Графические возможности «Пролог-Д».

Они предназначены для выполнения вывода графики и других подобных операций. Встроенные предикаты, если они записаны в вопросе, должны выполняться одинаково, независимо от того, записана в память машины база знаний или нет, и какая это база знаний. В определенном смысле это напоминает непосредственный режим работы в языке БЕЙСИК. Например, если необходимо построить на экране отрезок, соединяющий две точки с координатами (10,10) и (200, 200), то достаточно задать вопрос:

?ЗАПИСЬ_В(“grp:”),ЛИНИЯ(10,10,100,100,1).<Enter>

Графические возможности «Пролог-Д» более подробно описаны в файле помощи – кнопка или окно Помощь, Язык, Встроенные предикаты, Графика .

Задание: введите вышеуказанное выражение и запустите его. Требуемый отрезок появится на экране. Дополнительно ниже начертите три параллельных линии разного цвета, а также нарисуйте крест (две пересеченные линии разного цвета).

Примечание: используйте файл помощи – кнопка или окно Помощь, Язык, Встроенные предикаты, Графика .

Упражнение: Попробуйте набрать вопрос:

?ЛИНИЯ(x, 10, 100, 100, 1). (<Enter>).

Объясните результат и запишите исходный текст (задание) упражнения.

Результат представить преподавателю.

Задача: построить изображения небольшого дома с окном.

3. Создание базы знаний

Задание:

Создать на языке пролог-Д базу знаний, описывающую семейное древо семьи. Составьте запросы к базе знаний, позволяющие выявить:

  1. Сына, задав имя отца;

  2. Всех братьев;

  3. Всех внуков и дедов;

  4. Всех племянников и дядей.

  5. Племянников, задав имя дяди.



Скачать документ

Похожие документы:

  1. Курс лекций по дисциплине «интеллектуальные информационные системы»

    Автореферат диссертации
    ... Гематудинова Эльвира Арифулаевна, ст. преподаватель кафедры «ПИ» Курс лекций ... дисциплины «Интеллектуальные информационные системы» предполагает обучение информационным технологиям, связанных с применением методов искусственного интеллекта для ...
  2. Рабочая программа курса интеллектуальные информационные системы

    Рабочая программа курса
    ... ст. преподаватель, КИВЭ, ... для обеспечения функциональных процессов; профессионально-ориентированные информационные системы, в том числе: в области экономики: информационные системы ... Статус дисциплины Дисциплина «Интеллектуальные информационные системы» ...
  3. Технологии анализа данных программа курса для направления 230200 68 «информационные системы программа базы знаний»

    Программа
    ... статистики. Курс также связан с дисциплиной «Интеллектуальные информационные системы». Изучение курса завершается итоговой экзаменационной ... преподавателю результаты. Преподаватель может задать студенту дополнительные вопросы по выполненной работе для ...
  4. Рабочая программа дисциплины «корпоративные информационные системы» рекомендуется для направления подготовки

    Документ
    ... ПРОГРАММА ДИСЦИПЛИНЫ «КОРПОРАТИВНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ» Рекомендуется для ... Перспективные информационные технологии и интеллектуальные системы: Электронный журнал: / Интеллектуальные информационные системы: / ... на усмотрение преподавателя, при этом ...
  5. Интелектуальные информационные системы

    Программа дисциплины
    ... составил (и) Серебрякова Т.А. Ст. преподаватель, кафедра «ЭК» Ф.И.О. автора ( ... дисциплин специальности. Дисциплина "Интеллектуальные информационные системы" является теоретическим и прикладным фундаментом для изучения дисциплин специальности ...

Другие похожие документы..