
3к6с Интеллектуальные системы и технологии / С ИОС / МУ ПР5
.pdfПРАКТИЧЕСКАЯ РАБОТА №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