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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

Лабораторная работа №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.  Описание целей и полученных результатов. 

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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.