Ознакомление с моделями знаний в форме семантических сетей. Программирование подобных моделей на языке Prolog

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

2 страницы (Word-файл)

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

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

Представление знаний в виде семантических сетей

Цель: Ознакомиться с моделями знаний в форме семантических сетей и приобрести навыки программирования подобных моделей на языке Prolog.

Семантической сетью является структура данных, имеющая определенный смысл как сеть. Узлы сети соответствуют понятиям и объектам, а дуги – отношениям между объектами. В виде семантической сети можно представить описание арки. “Арка – это перекладина опирающаяся на две опоры несоприкасающиеся между собой”. Узлами сети будут являться элементы конструкции арки, а дугами – отношения между ними.

Дуги показывают следующие отношения:

1 –  является частью;

2 – должны соприкасаться;

3 – не должны соприкасаться.

На формализованном языке рисунок можно описать следующим образом:

(арка  одну_часть_составляет  опора_1)

(арка  одну_часть_составляет  опора_2)

(арка  одну_часть_составляет  перекладина)

(перекладина  опирается_на  опору_1)

(перекладина  опирается_на  опору_2)

(опора_1  не_должна_касатся  опары_2)

(опора_2  не_должна_касатся  опары_1)

Пример

Составим семантическую сеть модели знания, в которой установим связь между радиоприёмником, телевизором, а также холодильником и их функциями, и при этом учтем про их общую взаимосвязь – электричество. Графическое представление сети показано на рисунке 1.

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

Например, можно составить предикат может, который  укажет взаимоотношение между функцией холодильника и самим холодильником:

может(холодильник, замораживать).

Предикат является устанавливает взаимосвязь между холодильником телевизором и приемником:

является(холодильник, бытовой_прибор).

является(телевизор, бытовой_прибор).

При программировании на Prolog’е сеть создаётся из подобных предикатов, устанавливающих отношения между элементами сети.

PREDICATES

   является(symbol, symbol)

   может(symbol,symbol)

   имеет(symbol, symbol) 

CLAUSES

   является(радио_приемник, бытовой_прибор).

   ………

   может(телевизор, показывать_изображение).

   ………

   может(Обьект, Свойство) :- имеет(Обьект, Свойство). 

%        это правило наследования 

  может(Наследник, Наследство) :- является(Наследник, Родитель),

                                                 может(Родитель, Наследство).

   имеет(бытовой_прибор, шнур_питания).

GOAL

   может(Кто, воспроизводить_звук).

Задание.

1. По заданному взаимоотношению или объекту составить модель знаний в виде семантической сети и изобразить ее графически. В семантической сети должно быть не менее 7-и элементов. Каждый элемент должен характеризоваться свойствами или функциями (3 и больше).

Например, при построении семантической сети арки рассматривать свойства колон (опора 1  сделана из кирпича, опора 2 – металл, перекладина деревянная). Тогда в разделе цели возможно определить материалы требуемые для построения арки.

2. Полученную модель знаний реализовать в виде программы на языке Prolog.

3.  Составить цели (не менее 4 шт.), которые можно достигнуть по вашей модели знаний. При реализации цели должно быть задействовано как можно большее количество связей сети.

Варианты:


1.  Транспортное средство – бензин

2.  Игра – спорт

3.  Растение – земля

4.  Книга – библиотека

5.  Аудитория 3315

6.  Лекционная аудитория №3

7.  Холл 3-го корпуса

8.  Холл 5-го корпуса

9.  Холл 1-го корпуса

10.  Актовый зал КузГТУ

11.  Письменный стол

12.  Системный блок ПК

13.  Продукт питания – магазин

14.  Врач – больница

15.  Банкноты – деньги

16.  Инструменты – железо

17.  Ученик – школа

18.  Студент – институт


Отчет.

1.  Графическое представление семантической сети;

2.  Листинг программы с комментариями и описанием правил;

3.  Описание целей и полученных результатов. 

Похожие материалы

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