Скачиваний:
0
Добавлен:
27.11.2024
Размер:
257.65 Кб
Скачать

ПРАКТИЧЕСКАЯ РАБОТА №5

РАЗРАБОТКА ПРОЛОГ-ПРОГРАММ

С ПРИМЕНЕНИЕМ СОБСТВЕННОЙ СИСТЕМЫ ПРАВИЛ

Цель практической работы: освоение процессов разработки теории заданной области знаний и Пролог-программы, содержащей систему собственных правил и обеспечивающей формирование ответов на запросы.

Задание на практическую работу

Основное содержание задания:

- провести анализ заданной области знаний (определить элементы, имею-

щие существенное значение для решения поставленной задачи; атомарные высказывания и отношения между вышеопределенными элементами),

- составить Пролог-программу, содержащую факты и правила, характери-

зующие установленные отношения,

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

Порядок выполнения работы

1. Ознакомиться с рекомендациями по составлению теории заданной обла-

сти знаний.

2. Разработать теорию области знаний в соответствии с заданным вариан-

том.

3.Ознакомиться с рекомендуемой для поставленной задачи структурой Пролог-программы.

4.Составить Пролог-программу и проверить ее функционирование. Тре-

бование к программе - минимум предикатов и количества их переменных

при условии описания всех требуемых отношений.

5. Составить отчет.

1

Рекомендации по разработке теории заданной области знаний

Для разработки теории определенной области знаний (предметной обла-

сти) необходимо:

4.1.Выполнить анализ области знаний:

определить множество существенных факторов или элементов, кото-

рые составят область интерпретации;

определить атомарные высказывания (свойства, бинарные отношения

ит.п.), действующие в данной области;

определить отношения, действующие между атомарными высказыва-

ниями в данной области.

Например:

множество существенных факторов области такой области знаний как семья составляют члены семьи и ближайшие родственники, прини-

маемые во внимание;

атомарные высказывания могут характеризовать такие свойства как

«быть родителем», «женат» и др.;

отношения между атомарными высказываниями: «двоюродные», «об-

щий бюджет» и др.

4.2.Выбрать обозначения для констант (элементов области интерпретации),

предикатов.

4.3. Составить предикаты, характеризующие данную область знаний, на ос-

нове установленных отношений. Рекомендуется использовать переменные для определения отношений с целью сокращения объема описания предмет-

ной области.

Пример структуры Пролог-программы

2

В разделе predicates определяются предикаты (отношения). Каждый преди-

кат определяется своим именем и своими аргументами (параметрами).

Правило состоит из заголовка и тела правила; заголовок - это предикат,

тело правила состоит из термов, которые могут быть связаны словами OR

или AND. Между заголовком и телом правила стоит слово IF. Правило оканчивается точкой. Имена переменных должны начинаться с прописной буквы и могут содержать только буквы, цифры и знак подчеркивания - "_".

Одиночный знак "_" - это анонимная переменная, которая указывает, что значение данного аргумента не имеет значения при достижении цели.

/* Program lab7 */

domains

person, str = symbol predicates

student(person,str,integer,symbol,symbol)

sosed(person,person)

college(person,person) clauses

фамилия

улица

номер дома

профессия

место работы

student(ivanov,udarnaja,2,mathem,vem).

student(petrov,proletar,5,progr,vem).

student(kuznetzov,udarnaja,2,progr,vem).

student(majorov,ternovskogo,2,mathem,niimm).

student(krasnov,udarnaja,10,electr,niimm).

3

student(golovin,udarnaja,20,electr,niimm).

sosed(X,Y) if student(X,_,U,H,_) and student(Y,_,U,H,_). college(A,B) if student(A,_,_,S,R) and student(B,_,_,S,R).

Правило (предикат) sosed: - X и Y соседи, если проживают в одном доме.

Правило (предикат) college: - A и B коллеги, если имеют одну профессию и работают на одном предприятии.

Другие примеры:

а) prem(Otdel,Spec,Proc,Sum,X) if student(X,Otdel,_,S,Spec) and Sum=Proc*S/100.

- премия Х, работающему в отделе Otdel по профессии Spec с зарплатой

S;

б) poezdka(X,Y,G) if marshrut(X,_,U,H1,_) and marshrut(Y,_,U,H2,_) and (H2+H1)<G.

- поездка между пунктами X и Y через пункт U приемлема, если общая стоимость проезда меньше G.

Содержание отчета

1. Титульный лист, цель работы, листинг программы – стр.3 (копия экрана с запросами: 5-6 шт.).

2.Индивидуальное задание по курсовой работе:

постановка задачи

результаты анализа области знаний (определение области интертпре-

тации, атомарных высказываний и отношений),

обозначения элементов области интерпретации, текст программы на

Прологе,

пример результатов работы (варианты запросов и ответов програм-

мы).

4

Варианты заданий

Индивидуальные задания соответствуют заданиям на курсовую работу.

5

Соседние файлы в папке С ИОС