Использование фреймов для представления знаний
ЛАБОРАТОРНАЯ РАБОТА
«Использование
фреймов для представления знаний»
Теоретическая часть
Фреймы - один из распространенных формализмов представления знаний в ЭС.
Фрейм можно представить себе как структуру, состоящую из набора ячеек - слотов.
Каждый слот состоит из имени и ассоциируемых с ним значений. Значения могут
представлять собой данные, процедуры, ссылки на другие фреймы или быть пустыми.
Такое построение оказывается очень удобным для моделирования аналогий, описания
областей с родовидовыми связями понятий и т.п.
Любой фрейм состоит из некоторых
составляющих, имена и содержание которых описано ниже:
. Имя фрейма. Это идентификатор,
присваиваемый фрейму, фрейм должен иметь имя уникальное в данной фреймовой
системе.
. Имя слота. Это идентификатор,
присваиваемый слоту; слот должен иметь уникальное имя во фрейме, к которому он
принадлежит. Обычно имя слота не несет никакой смысловой нагрузки и является
лишь идентификатором данного слота.
. Указатели наследования. Эти
указатели касаются только фреймовых систем иерархического типа, основанные на
отношениях “абстрактное-конкретное”, они показывают, какую информацию об
атрибутах слотов во фрейме верхнего уровня наследуют слоты с такими же именами
во фрейме нижнего уровня. Типичные указатели наследования Unique (U: - уникальный), Same (S: такой же), Range (R: установление границ), Override (O: игнорировать) и т.п. U показывает, что фрейм может иметь
слоты с разными значениями: S - все слоты должны иметь одинаковые значения, R - значение слотов фрейма нижнего
уровня должны находиться в пределах, указанных значениями слотов фрейма
верхнего уровня, О - при отсутствии указания значение слота фрейма верхнего
уровня становится значением слота фрейма нижнего уровня, но в случае
определения нового значения слотов фреймов нижних уровней указываются в
качестве значений слотов.
. Указание типа данных. указывается,
что слот имеет численное значение, либо служит указателем другого фрейма. К
типам данных относятся:
FRAME (указатель), INTEGER (целый), REAL (действительный), BOOL (булев), LISP (присоединенная процедура), TEXT (текст), LIST (список), TABLE (таблица), EXPRESSION (выражение) и др.
. Значение слота. Пункт ввода
значения слота. Значение слота должно совпадать с указанным типом данных этого
слота, кроме того должно выполняться условие наследования.
. Демон. Здесь дается определение
демонов типа IF-NEEDED, IF-ADDED, IF-REMOVED и т.д. Демоном называется процедура, автоматически запускаемая
при выполнении некоторого условия. демоны запускаются при обращении к
соответствующему слоту. Кроме того, демон является разновидностью
присоединенной процедуры.
. Присоединенная процедура. В
качестве значения слота можно использовать программу процедурного типа. Когда
мы говорим, что в моделях представления знаний фреймами объединяются
процедурные и декларативные знания, то считаем демоны и присоединенные
процедуры процедурными знаниями.
Особенностью иерархической структуры
является то, что информация об атрибутах фрейма на верхнем уровне совместно
используется всеми фреймами нижних уровней, связанных с ним.
Например: Фреймовое представление
конференции.
Иерархические фреймовые структуры
базируются на отношениях IS - A между фреймами, описывающими некоторую конференцию. Все фреймы
должны содержать информацию о дате, месте, названии темы, докладчике. Таким
образом, на самом верхнем уровне определен фрейм КОНФЕРЕНЦИЯ.
Конференции разделяются на
коммерческие и по развитию. Они составляют дочерние фреймы. В них могут быть
добавлены слоты: объем торговли и бюджет.
Рис.3. Пример фреймовой модели
2.Фреймовая модель
Базовой фрейм
Название слота
|
Значение
|
Книга Тип книги Предмет Автор
|
|
Название слота
|
Значение
|
Книга Тип книги Предмет Автор
|
исследова научный гуманитар English
|
Название слота
|
Значение
|
Книга Тип книги Предмет Автор
|
публич Худож Роман С.Есенин
|
Название слотаЗначение
|
|
Книга Тип книги Предмет Автор язык
|
публич Худож Роман С.Есенин русский
|
Название слота
|
Значение
|
Книга Тип книги Предмет Автор Язык
|
публич Худож Роман С.Есенин английс
|
Название слотаЗначение
|
|
Книга Тип книги Предмет Автор Язык английский
|
публич Худож Роман С.Есенин Английский имеет
|
Название слота
|
Значение
|
Книга Тип книги Предмет Автор Язык русский
|
публич Худож Роман С.Есенин Русский имеет
|
3. Код программы Интерфейс
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>Фрайм -
книги</title>
<linkrel="stylesheet/less"
type="text/css" href="/less/main.less">
<scripttype="text/javascript"
src="/js/less.js"></script>
</head>
<body>
<div>
<div>
<div>
<a>
<span>
<span>
<span>
</a>
<a>
<div>
<ul>
<li>
</ul>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<h4>Критерии выбора
<small>выберите книгу</small></h4>
</div>
<h2>Поиск
<small>выберите книгу</small></h2>
<form id="yw0"
action="/index.php?r=site/seman"
method="post"><legend>Свойство #1 - тип</legend>
<div>
<label>
<div>
<select
id="select01">
<option>Художественный</option>
<option>Научный</option>
</select>
</div>
</div>
<legend>Свойство #2 -
сфера</legend>
<div>
<label>
<div>
<select
id="select01">
<option>Гуманитарный</option>
<option>математический</option>
<option>Естественно
научный</option>
</select>
</div>
</div>
<legend>Свойство #3 -
Предмет</legend>
<div>
<label>
<div>
<select
id="select01">
<option>Английский</option>
<option>Немецкий</option>
<option>Испанский</option>
</select>
</div>
</div>
<legend>Свойство #4 -
автор</legend>
<div>
<label>
<div>
<select
id="select01">
<option>Джон
Локк</option>
<option>Ж.Жалолов</option>
<option>С.Назаров</option>
</select>
</div>
</div>
<br>
<div>
<div>
<a href="frame2.html">
</div>
</div>
</form> </div>
</div>
</div>
<hr>
<footer>
<p>© 2013
Интеллектуальные системы </p>
<p> 223-10 КИф Кучимова
Санобар </p>
</footer>
</div>
</body>
</html>
1. Выбрать критерии
4. Окно результата
фрейм программный
формализм интерфейс
4. Программный код
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>Фрайм - книги</title>
<link
rel="stylesheet/less" type="text/css"
href="/less/main.less">
<script
type="text/javascript" src="/js/less.js"></script>
</head>
<body>
<div>
<div>
<div>
<a>
<span>
<span>
<span>
</a>
<a>Книги Сано!!!</a>
<div>
<ul>
<li>Главная</a></li>
</ul>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<h4>Результаты выбора</h4>
</div>
</div>
<div>
<div class="page-header">
<h4>Результаты <small>по
вашему выбору</small></h4>
</div>
<div>
<div>
<table>
<tbody>
<tr>
<td><b>тип</b></td>
<td>Научный</td>
</tr>
<tr>
<td><b>Премет</b></td>
<td>Гуманитар</td>
</tr>
<tr>
<td><b>сфера</b></td>
<td>английский</td>
</tr>
<tr>
<td><b>Автор
</b></td>
<td>джон локк</td>
</tr>
<tr>
<td><b>английский
язык</b></td>
<td>Имеет</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<hr>
<footer>
<p>© 2013
Интеллектуальные системы </p>
<p> 223-10КИф Кучимова
Санобар</p>
</footer>
</div>
</body
</html>