МО РФ
НГТУ
Лабораторная работа №4
На тему: Методы представления знаний на семантических сетях
По курсу “Искусственный интеллект”
Вариант 7
Факультет: ПМИ
Группа: ПМ-12
Студенты: Тимченко О.С.
Юн А.Г.
Преподаватель: Ванюкевич О.Н.
Новосибирск 2005
1. Цель работы
Освоение основных принципов при моделировании предметных областей с помощью семантических сетей. Представление семантических сетей в реляционных языках.
2. Задание
Сущности:
1) общие: персона, мужчина, женщина, год;
2) частные: Петров, Николаева, 1960 и т.д.
Отношения:
1) базовые:
o является видом - транзитивно, несимметрично, нерефлексивно
o является представителем – нетранзитивно, несимметрично, нерефлексивно
2) специальные:
o имеет год рождения – нетранзитивно, несимметрично, нерефлексивно
o супруг - нетранзитивно, симметрично, нерефлексивно
3. Текст программы.
domains
str = symbol
predicates
relation(str,str,str)
goal
relation("married",X,Y),
relation("not elder",X,"1950"),
relation("not elder",Y,"1950"),
write("suprugi "),write(X," & "),write(Y),nl,fail.
clauses
relation("vid","man","person").
relation("vid","woman","person").
relation("born","person","year").
relation("eto","Petrov","man").
relation("eto","Nikolaeva","woman").
relation("eto","Ivanov","man").
relation("eto","Ivanova","woman").
relation("eto","1960","Year").
relation("eto","1961","Year").
relation("eto","1956","Year").
relation("eto","1959","Year").
relation("born","Ivanov","1956").
relation("born","Ivanova","1959").
relation("born","Petrov","1961").
relation("born", "Nikolaeva","1961").
relation("married","Petrov","Nikolaeva").
relation("married","Ivanov","Ivanova").
relation("married","Ivanova","Ivanov").
relation("not elder",Z,Year):-Year1=Year,
relation("born",Z,Y),
Y>=Year1.
Рассмотрим в качестве предметной области нашу бригаду. Семантическая сеть должна включать знания о персональном составе бригад и конкретные сведения по персонам. Запрос должен иметь вид "какая бригада уже защитила лабораторную работу №1".
Текст программы.
domains
str=string
predicates
relation(str,str,integer)
goal
relation("brigada",X,P),
relation("brigada",Y,P),
X<Y,
relation("zashitil",X,1),
relation("zashitil",Y,1),
relation("kod",Y,KY),
relation("kod",X,KX),
write("brigada ",P," - ",X, " (" ,KX, ")",", ",Y, " (" ,KY, ")"),nl,fail.
clauses
relation("brigada","Timchenko O",1).
relation("brigada","Yun A",1).
relation("brigada","Kolesnikova L",2).
relation("brigada","Arjanova E",2).
relation("brigada","Kazanzeva M",3).
relation("brigada","Bikbulatova O",3).
relation("brigada","Borzova A",4).
relation("brigada","Dyagileva A",4).
relation("brigada","Karmanov V",5).
relation("brigada","Fedyanina S",5).
relation("zashitil","Timchenko O",1).
relation("zashitil","Yun A",1).
relation("zashitil","Kolesnikova L",1).
relation("zashitil","Arjanova E",4).
relation("zashitil","Kazanzeva M",4).
relation("zashitil","Bikbulatova O",2).
relation("zashitil","Karmanov V",1).
relation("zashitil","Fedyanina S",1).
relation("kod","Timchenko O",1518).
relation("kod","Yun A",1521).
relation("kod","Kolesnikova L",1507).
relation("kod","Arjanova E",1503).
relation("kod","Kazanzeva M",1508).
relation("kod","Bikbulatova O",1504).
relation("kod","Borzova A",1505).
relation("kod","Dyagileva A",1506).
relation("kod","Karmanov V",1509).
relation("kod","Fedyanina S",1520).
Тесты
brigada 1 - Timchenko O (1518), Yun A (1521)
brigada 5 - Fedyanina S (1520), Karmanov V (1509)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.