Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
72
Добавлен:
04.01.2020
Размер:
1.9 Mб
Скачать

Лекция №6

Представление знаний фреймами

План лекции

Фреймовая модель (продолжение)

Фреймовая модель задачи Эйнштейна

Системы фреймов

Фрейм - визуальный образ

Фрейм - сценарий

Подытожим особенности фреймовой модели представления знаний

знание организовано в виде совокупности взаимосвязанных описаний – классов данной предметной области;

формальная структура для такого описания названа фреймом. Это дает возможность упаковать знания в структуры, организованные подходящим образом, сохраняя их обозримость на всех уровнях;

фреймы организуются в иерархии по уровню абстракции; конкретным объектам соответствуют экземпляры фреймов; свойства общих понятий наследуются конкретным понятием в иерархии. Наследование представляет собой особый вид дедукции, что дает выигрыш в эффективности и, что более важно, облегчает построение системы фреймов – базы знаний. Такие описания выглядят гораздо более близкими к мыслительным структурам человека, чем формализмы типа исчисления предикатов;

структурное описание предполагает содержание ссылок на другие фреймы, что позволяет описывать различные отношения между понятиями данной предметной области. Указанные ссылки могут иметь вид фрейма – прототипа со значениями его свойств-слотов. Сопоставление с прототипом также является механизмом, частично заменяющим обычную дедукцию, и, в то же время, более адекватным механизму мышления человека;

с фреймами связываются процедуры, описывающие те или иные специализированные для данной предметной области процессы (проблемно- логический подход, поддержка целостности базы знаний, учет взаимосвязей экземпляров различных понятий и т.п.). Таким образом, фрейм представляет собой

декларативно-процедурный модуль, включающий собственно предметную область, а также дополнительную информацию о способе его интерпретации.

Еще один пример иерархии фреймов

Свойством сети фреймов, заимствованным из семантических сетей, является наличие AKO-связей («A-Kind-Of»), которые связывают фреймы с фреймами, находящимися на уровень выше в иерархии, откуда неявно наследуются (переносятся) значения слотов. Каждый фрейм имеет уникальное имя (идентификатор) в пределах системы фреймов.

В данном случае представлено одно звено иерархии (ЧЕЛОВЕК- ЛЕКТОР). Фрейм «ЧЕЛОВЕК» является обобщающим для фрейма «ЛЕКТОР». Таким образом, фрейм «ЛЕКТОР» наследует от фрейма «ЧЕЛОВЕК» значение слота «УМЕЕТ». Цепочка наследования может быть продолжена вплоть до, например, фрейма «ЖИВОЕ СУЩЕСТВО».

Реализация фреймовой модели представления знаний на примере решения задачи Эйнштейна

Условия задачи следующие:

1.Есть пять домов, каждый разного цвета.

2.В каждом доме живет один человек, отличающийся от соседнего по национальности: немец, англичанин, швед, датчанин, норвежец.

3.Каждый пьет только один напиток, выращивает определенное растение и держит определенное животное.

4.Никто из 5 человек не пьет одинаковые с другими

напитки, не выращивает одинаковое растение и не держит одинаковое животное.

Задание : определить, кому принадлежит рыба?

Реализация фреймовой модели представления знаний на примере решения задачи Эйнштейна

При этом дополнительные условия включают следующее:

1.Англичанин живет в красном доме.

2.Швед держит собаку.

3.Датчанин пьет чай.

4.Зеленый дом стоит непосредственно слева от белого.

5.Жилец зеленого дома пьет кофе.

6.Человек, который выращивает ячмень, держит птицу.

7.Жилец из среднего дома пьет молоко.

8.Жилец из желтого дома выращивает томаты.

9.Норвежец живет в первом доме.

10.Тот, кто держит кошку, живет около того, кто выращивает свеклу.

11.Человек, который содержит лошадь, живет около того, кто выращивает томаты.

12.Тот, кто выращивает пшеницу, пьет сок.

13.Норвежец живет около голубого дома.

14.Немец выращивает капусту.

15.Тот, кто выращивает свеклу, живет по соседству с человеком, который пьет воду.

Фреймовые диаграммы классов «Дом» и «Человек».

В условии фигурируют объекты 5 классов: «дом», «человек», «напиток», «растение», «животное». Каждому классу принадлежит 5 объектов. Наиболее логичным решением в данном случае будет создание для каждого класса абстрактного фрейма, описывающего этот класс, а для каждого объекта, принадлежащего классу, создание конкретного фрейма, наследуемого от абстрактного и описывающего этот объект. Фреймы классов «Напиток», «Растение» и «Животное» достаточно тривиальны (не содержат ни одного слота).

Фреймовые диаграммы классов «Дом» и «Человек».

Диаграмма показывает, что фреймы, представляющие конкретные объекты, наследуют слоты абстрактных фреймов, определяя значения для некоторых из них. Таким образом, часть информации, содержащейся в условии задачи, задается с помощью значений слотов. Данная информация носит декларативный характер, поскольку задается на этапе построения модели и не требует дополнительных проверок.

Фреймовые диаграммы классов «Дом» и «Человек».

Другая часть информации может быть заложена в модель с помощью процедур, задаваемых для фрейма и вызываемых при изменении значения его слотов.

Эта информация носит характер проверяемых условий. Например, условие «жилец желтого дома выращивает томаты» может быть проверено процедурой, вызываемой при изменении значения слота «РАСТЕНИЕ» фрейма «ЧЕЛОВЕК», который ссылается на фрейм «ЖЕЛТЫЙ ДОМ».

Реализация задачи Эйнштейна в модели ООП

Фреймовая модель очень удобна с точки зрения программной реализации, поскольку она напрямую соответствует парадигме объектно-ориентированного программирования (ООП).

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

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

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

Горизонтальные связи реализуются путем добавления в класс ссылок на объекты других классов, с которыми планируется взаимодействие.