2.1. Фреймы
Фреймы предложены в 1975 году Марвином Минским [31].
Фрейм (рамка в переводе с англ.) - это единица представления знаний, запомненная в прошлом, детали которой могут быть изменены согласно текущей ситуации.
Фрейм представляет собой структуру данных, с помощью которых можно, например, описать обстановку в комнате или место встречи для проведения совещания. М.Минский предлагал эту модель для описания пространственных сцен. Однако с помощью фреймов можно описать ситуацию, сценарий, роль, структуру и т.д.
Фрейм отражает основные свойства объекта или явления. Структура фрейма записывается в виде списка свойств, называемых во фрейме слотами. Рассмотрим запись фрейма на языке FRL (Frame Representation Language) [32] - языке, похожем на LISP, но только внешне из-за наличия скобок.
Например, фрейм СТОЛ может быть записан в виде 3 слотов: слот НАЗНАЧЕНИЕ (purpose), слот ТИП (type) и слот ЦВЕТ (colour) следующим образом:
(frame СТОЛ
(purpose (value(размещение предметов для
деятельности рук)))
(type (value(письменный)))
(colour (value (коричневый))))
Во фрейме СТОЛ представлены только ДЕКЛАРАТИВНЫЕ средства для описания объекта, и такой фрейм носит название фрейм-образец. Однако существуют также фреймы-экземпляры, которые создаются для отображения фактических ситуаций на основе поступающих данных и ПРОЦЕДУРАЛЬНЫХ средств (демонов), например, следующих:
IF-DEFAULT - по умолчанию
IF-NEEDED - если необходимо
IF-ADDED - если добавлено
IF-REMOVED - если удалено
Слот IS-A или AKO (A Kind Of) определяет иерархию фреймов в сети фреймов. Такая связь обеспечивает наследование свойств. Слот isa указывает на фрейм более высокого уровня, откуда неявно наследуются свойства аналогичных слотов.
Рассмотрим фрагмент описания из "мира блоков" (рис. 2.1) в виде фреймов.
Рис. 2.1. "Мир блоков"
(frame (name (Cube))
(isa (Block World))
(length (NULL))
(width (IF-DEFAULT (use length)))
(height (IF-DEFAULT (use length))))
(frame (name (B1))
(isa (Cube))
(color (red))
(length (80)))
(frame (name (B2))
(isa (Cube))
(color (green))
(length (65))
(who_put (value (NULL))
(IF_NEEDED (askuser))))
Слот isa указывает на то, что объекты B1 и B2 являются подтипом объекта Cube и наследуют его свойства, а именно, length = width = height. Демон IF_NEEDED запускается автоматически, если понадобится узнать, кто поставил B2 на стол. Полученный ответ (Робби) будет подставлен в значение слота who_put. Аналогично работают демоны IF-ADDED и IF-REMOVED.
Допустим, однорукому роботу Робби дается приказ "Возьми желтый предмет, который поддерживает пирамиду". На языке представления знаний (ЯПЗ) вопрос записывается так:
(object ? X
(color (yellow))
(hold ? Y
(type (pyramid))))
Программа сопоставления с образцом находит в базе знаний описание объектов:
(frame (name (B3))
(type (block))
(color (yellow))
(size (20 20 20))
(coordinate (20 50 0))
(hold (P2)))
и
(frame (name (P2))
(type (pyramid))
...)
Ответ получен X = B3, Y = P2 и Робби выдается команда take(object=B3).
Таков общий механизм представления знаний в виде фреймов. Реализация этого механизма потребует решения других, более сложных проблем, например, автоматического ввода знаний для трехмерных объектов, работы с трехмерными быстродвижущимися объектами (своеобразный тест на реакцию) и т.д. Эти проблемы ждут своего эффективного решения.
- Интеллектуальные информационные системы
- 230201 - Информационные системы и технологии
- 080801 - Прикладная информатика в экономике
- Оглавление
- 1. Введение в интеллектуальные информационные системы
- 1.1. Предмет исследования искусственного интеллекта
- 1.2. Определение иис
- 1.3. Искусственный интеллект и интеллектуальное поведение
- 1.4. Определения, используемые в дисциплине иис
- 1.5. Исторический обзор работ в области ии
- Доказательство теорем.
- Распознавание изображений.
- Экспертные системы.
- Машинный перевод и понимание текстов на естественном языке.
- Игровые программы.
- Машинное творчество.
- 1.6. Кратко о развитии робототехники
- 1.7. Области коммерческого использования искусственного интеллекта
- 1.8. Иис других типов
- 1.9. Интеллектуальные агенты
- 1.10. Примеры иис
- 2. Системы представления знаний
- 2.1. Фреймы
- 2.2. Исчисления предикатов
- 2.3. Системы продукций
- 2.4. Семантические сети
- 2.5. Нечеткая логика
- 3. Методы поиска решений
- 3.1. Методы поиска решений в пространстве
- 3.2. Алгоритмы эвристического поиска
- Алгоритм наискорейшего спуска по дереву решений
- Алгоритм оценочных (штрафных) функций
- Алгоритм минимакса
- Альфа-бета-процедура
- 3.3. Методы поиска решений на основе исчисления предикатов
- 3.4. Задачи планирования последовательности действий
- 3.5. Поиск решений в системах продукций
- 4. Распознавание изображений
- 4.1. Общая характеристика задач распознавания образов и их типы.
- 4.2. Основы теории анализа и распознавания изображений.
- 4.2. Распознавание по методу аналогий.
- 4.3. Актуальные задачи распознавания
- 5. Общение с эвм на естественном языке. Системы речевого общения
- 5.1. Проблемы понимания естественного языка
- 5.2. Анализ текстов на естественном языке
- Морфологический анализ
- Синтаксический анализ
- Семантическая интерпретация
- Проблемный анализ
- 5.3. Системы речевого общения
- 6. Методология построения экспертных систем
- 6.1. Экспертные системы: Определения
- 6.2. Основные компоненты эс
- 6.3. Типы решаемых задач эс:
- 6.4. Ограничения и недостатки эс:
- 6.5. Обобщенная схема эс
- 6.6. Экспертные системы: классификация
- 6.7. Трудности при разработке экспертных систем
- 6.8. Методология построения экспертных систем
- 6.9. Примеры экспертных систем
- 7. Практическая разработка экспертных систем в среде clips
- 7.1 Постановка задачи
- 7.2. Основы программирования в системе clips
- 7.3. Программирование в clips экспертной системы управления технологическим процессом