- •4. Прямая цепочка рассуждений и алгоритм ее реализации.
- •Вопрос 6. Система guru. Основные характеристики и назначение системы. Функциональные возможности системы
- •Основные функциональные возможности guru
- •Вопрос 7. Основной интерфейс пользователя с системой guru. Понятие сеанса. Принципы построения меню Меню эксперта и пользователя. Вход в систему
- •Создание и редактирование набора правил в guru, используя команды меню
- •Выражения в системе guru
- •9. Синтаксис набора правил в guru и работа с правилами.
- •1. Работа с правилами в guru.
- •Приоитет и стоимость
- •2. Синтаксис набора правил
- •10 Функции системы guru
- •11. Команды ввода/вывода в guru. Создание форм. Работа с процедурами.
- •12. Операторы, макроопределения и шаблоны в guru.
- •13. Работа с таблицами и записями в guru.
- •14 Построение программы эс в guru.Объяснение полученного решения.
- •15. Нечеткая логика и ее применение в эс. Понятие степени принадлежности. Пример.
- •16. Методы работы с нечёткими правилами с использованием степени принадлежности
- •17. Работа с нечёткой логикой в guru.Оценка достоверности выражений и вывода.
- •18 Инструментальные средства создания продукционных экспертных систем.
- •19. Представление знаний с использованием семантических сетей. Определение сети. Структурообразующие операции. Классификация сетей.
- •Классификация сетей.
- •20. Семантические сети. Шкалы оценки семантической близости. Семантические группы понятий. Представление семантических групп в базе данных. Словарь системы.
- •Оценка близости сг в шкалах Осгуда.
- •21. Метод семантических групп. Представление связей. Вывод результата в семант. Сети.
- •Формализация сг. Логический вывод
- •22. Построение семантической сети, релевантной запросу. Вопросно-ответные системы. Языковые уровни. Проблемы организации естественно-языкового интерфейса.
- •Общая структура обработки вопроса
- •Структура сложных вопросов
- •Тезаурус. Принцип построения словаря.
- •Проблема формального представления смыслового содержания вопроса
- •23. Фреймовые модели представления знаний. Понятие фрейма и его структура. Примеры.
- •24. Реализация фреймовых систем. Связь с объектно-ориентированным программированием. Язык описания фреймов rll.
- •26 Язык представления знаний frl. Поддержка сети фреймов. Ако-связи. Поиск по образцу. Пример.
- •27. Динамические эс. Общая структура. Система g2. Общая характеристика. Состав подсистем. Технология разработки приложений.
- •33. Планировщик. Scheduler
23. Фреймовые модели представления знаний. Понятие фрейма и его структура. Примеры.
Фреймом называется структура для описания стереотипной ситуации, состоящая из характеристик этой ситуации и их значений.
Характеристики называются слотами, а значения – заполнителями слотов. Слот может содержать не только конкретное значение, но и имя процедуры, позволяющей вычислить его по заданному алгоритму, а также одно или несколько правил, с помощью которых это значение можно найти. В слот может входить не одно, а несколько значений. Иногда слот включает компонент называемый фасетом, который задает диапазон или перечень его возможных значений.
Рисунок 1 - Структура фрейма
С каждым слотом можно связать любое число процедур. Три типа процедур, чаще всего связывающиеся со слотами: 1. IF – ADDED: процедура ЕСЛИ – ДОБАВЛЕНО. Выполняется, когда новая информация помещается в слот.
2. IF – DELETED: процедура ЕСЛИ –УДАЛЕНО. Выполняется, когда информация удаляется из слота.
3. IF – NEEDED: процедура ЕСЛИ – НУЖНО. Выполняется, когда запрашивается информация из слота, а он пустой.
Эти процедуры могут следить за приписыванием информации к данному узлу и проверять, что при изменении значения производятся соответствующие действия. Как ясно из их структуры, системы, основанные на фреймах, хороши в тех предметных областях, где ожидания относительно формы и содержания данных играют важную роль, например, интерпретация визуальной информации или понимание речи.
Чтобы проиллюстрировать, как работает система, основанная на фреймах, на рис. 2 представляется иерархия отчета, структура которого показана на рис. 3, на этот раз со всеми слотами, их значениями и процедурами.
Пример: Предметная область “Составление расписания приёма” предполагает построение фреймовой модели. Необходимо три фрейма-прототипа: больной, участок и врач.
Фрейм “Больной” состоит из следующих слотов:
ФИО больного.
Дата и время приёма больного.
Состояние здоровья.
Номер участка (слот АКО).
Фрейм “Участок” состоит из следующих слотов:
Номер участка.
Адрес (слот АКО).
Фрейм “Врач” состоит из следующих слотов:
ФИО.
Специальность.
Номер врача.
Закреплённый участок(слот АКО).
Длительность смены.
Визуальное представление сети фреймов-прототипов на рисунке 1. На рисунке 2 представлен пример сети фреймов-экземпляров.
Рисунок 2 – Сеть фреймов-прототипов
Рисунок 3 – Пример сети фреймов-экземпляров
24. Реализация фреймовых систем. Связь с объектно-ориентированным программированием. Язык описания фреймов rll.
f=<S1 V1, S2 V2, …, Si Vi, …, Sn Vn> - общая структура фрейма, где Si –имя i-го слоя, Vi – его значение
Впервые реализован на LISP.
Фрейм может быть представлен как контейнер класса, а слот представлен классом. Слоты кроме имени имеют методы (от 1 до 3). Хранение экземпляров фреймов осуществляется в текстовом формате.
Язык RLL (Representation Language Language) разработан в 1980 г. Ленот
Вводятся базовые конструкции в виде RLL элемента – фрейм прототип, содержащий несколько слотов (зависит от предметной области). Вводится ряд системных слотов, которые являются обязательными:
is_a – слот, задает родовидовые отношения
examples - примеры
to_compute - вычисления
generalization - обобщение
description – описание
В качестве примера рассмотрим описание предметных областей
Пример 1 Водопроводная сеть города
М6-3 Is_a : люк К_нему: М6-2 Распол.ход: (Улица А ориентир 1)
|
Люк Is_a: Set(множество физ. объектов) Generalization: (физический объект,…) Examples: M6-2, M6-3,… Description:Предназначен для…. Prototype: Типовой люк NewSlots: (К нему, от него, расположен под) |
М6-2 Is_a : люк От_него: М6-7 Распол.ход: (Улица А ориентир 6)
| |
К_нему Is_a: Slot Description: втекающий поток Inverse: от него … To_compute (Lambda(m)(one…)…) |
Фреймовые системы. Язык представления знаний FRL. Структура описания фрейма. Типы данных и процедур. Операторы создания и модификации фрейма. Примеры.
FRL (Frame Representation Language). Разработан в 1974. В 1987 создан компиляторLISP.
Фрейм – 5-ти уровневая конструкция следующего вида:
...
Аспект – правило работы с данными. Всего 2 основных:
¤Value– данные используются в обычном понимании значения (м.б. добавлены, удалены, отредактированы)
¤Default– значения аспектов используются по умолчанию.
Каждый слот одновременно может иметь несколько аспектов. С каждым слотом связанно от 1 до 3-х процедур:
if_added
if_needed
if_deleted
Структура описания фрейма:
(Имя фрейма
[имя 1-го слота
(имя 1-го аспекта
(1-е данное
(1-й комментарий)
…
(l-й комментарий))
(2-е данное
(1-й комментарий)
…
(m-й комментарий))
(j-е данное
(…)
…
(…)))
(имя 2-го аспекта
(…)
…
(…))]
[имя 2-го слота
…])
Основные функции FRL:
FASSERT– создание фрейма
fassert(иванов
(имя(¤Value(Петр)))
(адрес(¤Value(Общага7)))
(группа(¤Value(651)))
(хобби(¤Value(спорт))))
FPUT(F S A Z)– добавление информации во фрейм, гдеF– имя фрейма,S– имя слота,A– имя аспекта,Z– имя значения.
FPUT(Иванов хобби ¤Valueмузыка)=>(хобби(¤Value(спорт)
(музыка))))…
FGET(F S A)– извлечение информации из фрейма
FGET(Иванов хобби ¤Value)=>(спорт)(музыка)
FREMOVE(F[S[A[Z]]])– удаление информации
FPRINT(F1,F2,F3)– вывод на печать
FPUT(Иванов хобби ¤Default не занимается)– добавление значения по умолчанию.