Семантические сети

Страницы работы

Содержание работы

МО РФ

НГТУ

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

На тему: Методы представления знаний на семантических сетях

По курсу “Искусственный интеллект”

Вариант 7

Факультет: ПМИ

Группа: ПМ-12            

Студенты:  Тимченко О.С.

                     Юн А.Г.

Преподаватель: Ванюкевич О.Н.

Новосибирск 2005

1. Цель работы

Освоение основных принципов при моделировании предметных областей с помощью семантических сетей. Представление семантических сетей в реляционных языках.

2. Задание

  1. Выделенные сущности и отношения

Сущности:

1)  общие: персона, мужчина, женщина, год;

2)  частные: Петров, Николаева, 1960 и т.д.

Отношения:

1)  базовые:

o  является видом - транзитивно, несимметрично, нерефлексивно

o  является представителем – нетранзитивно, несимметрично, нерефлексивно

2)  специальные:

o   имеет год рождения –  нетранзитивно, несимметрично, нерефлексивно

o  супруг - нетранзитивно, симметрично, нерефлексивно

  1. Семантическая сеть.

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)

Информация о работе