- •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
26 Язык представления знаний frl. Поддержка сети фреймов. Ако-связи. Поиск по образцу. Пример.
FRL-Frame Representation Language
1974 г. – Робертс, Голдштейн.
Язык работы со списками: LISP
Каждый фрейм представляет собой 5-ти уровневую конструкцию.
5 уровней представлений:
( имя фрейма
( имя 1-го слота
( имя 1-го аспекта
( 1-ое данное
( 1-ый комментарий - сообщение)
( 2-ый комментарий - сообщение)
…….
( L комментарий - сообщение))
( 2-ое данное
( 1-ый комментарий - сообщение)
…….
( m комментарий - сообщение))
………..
( j-ое данное))
( имя 2-го аспекта
…………)))
( имя 2-го слота
…………………))))
В этой структуре под аспектом понимаются правила работы с данными. Есть два аспекта (основных)
Value – значения могут быть добавлены, удалены, отредактированы
Default – значения по умолчанию, если слот имеет аспект Default, то означает, что значения в этом аспекте используется по умолчанию.
С каждым слотом связываются от 1 до 3 процедур.
If_Added - если добавлено
If_Needed – если необходимо
If_Deleted – если удалено
Основные функции в языке:
Создание фрейма FASSERT
FASSERT ( Иванов
( Имя ( ¤ VALUE ( Петр )))
( Адрес ( ¤ VALUE ( Общежитие 1 – к.71 )))
( Факультет ( ¤ VALUE ( 6 )))
( Группа ( ¤ VALUE ( 651 )))
( Хобби ( ¤ VALUE ( спорт ))) )
Одновременно создается прототип фрейма и заносится в базу знаний (БЗ).
Аспект характеризует контекст данного.
¤ - отделяет имя аспекта;
VALUE – прямое значение величины;
¤ DEFAULT – значение по умолчанию.
Добавление информации в фрейм FPUT
FPUT ( Иванов Хобби ¤ VALUE Музыка)
Иванов – имя фрейма;
Хобби – имя слота;
¤ VALUE – аспект;
Музыка – значение.
FPUT (Иванов Хобби ¤ Default не_занимается) – устанавливаем значение по умолчанию
Извлечение информации из фрейма FGET
FGET ( Иванов Хобби ¤ VALUE)
Спорт
Музыка
FGET ( Иванов Хобби ¤ VALUE Резьба_по_дереву)
не_занимается (если Default установлено).
Удаление информации
FREEMOVE () – может иметь несколько вариантов
FREEMOVE (F) – удаление фрейма, F – имя фрейма
FREEMOVE (Иванов) – будет удален весь фрейм Иванов
FREEMOVE (Иванов Хобби ¤ Value Музыка)
F S A Z
Вывод на печать
FPRINT (F1, F2, F3) –выводится на печать 3 фрейма
Язык FRL поддерживает сеть фреймов. Сеть поддерживается с помощью ссылок, вводится слот AKO (A Kind Of). Ссылка идет снизу вверх по иерархии.
Вышестоящие слоты могут быть организованы, как:
Агрегация (композиция)
Композиция – это агрегация, у которой нижний уровень не имеет значения и не может храниться самостоятельно.
Обобщение.
Связи используются типа ассоциации (экземпляр-экземпляр).
Пример:
Для создания этой конструкции в операторе FASSERT изменяется создание фрейма:
FASSERT (ПЕТРОВ
(ИМЯ) (@ VALUE (АЛЕКСЕЙ)))
(АДРЕС (@ VALUE (комната 72 (FINHERIT: CONTINUE))))
(AKO (@ VALUE (ГР 2) (АДР 2)))
FGET (ПЕТРОВ АДРЕС @ VALUE )к. 71 моск шоссе 34 самара
Поиск по образцу в языке FRL:
FQUERY(F,S,A,P) – поиск по образцу.
F – имя фрейма
S – имя слота
A – аспект
P – предикат (условие запроса)
Поиск по образцу с использованием предикатов. Использует функцию FQUERY
Три варианта использования FQUERY:
FQUERY(NIL S A P )
Nil-то что мы ищем. В ответ выдается список фреймов, содержащих в аспекте-А, слота – S хотя бы одно данное удовлетворяющее предикату P/
FQUERY(F NIL A P )
Выдает список имен слотов фрейма F, содержащих в аспекте хотя бы одно данное, удовлетворяющее предикату – P.
FQUERY(F S A P )
true
false
ответ true если в А содержит S, содержит в A хотя бы одно данное удовлетворяющее P
Функции:
AKO?(F) - цепочка фреймов вверх, начиная с F
INSTANCE?(F) – цыпочка фреймов вниз, начиная с F
Ответ булевского типа и функция выдает True, если во фрейме F есть слот S с аспектом А и предикатом P. (количество не важно).
FQUERY(NILL,S,A,P) – выдается список фреймов у которых в слоте S в аспекте А значение удовлетворяет предикату Р.
FMATCH (F1,F2,S1,S2,…Sm)
Функция проверки если данные в указанных слотах F1 и F2 совпадают, то true, иначе false.
TRUE ?(F S)
Проверка слота на пустоту, если true то слот не пустой, иначе false.
Пример: Пусть БД ЭС содержит следующие факты:
модули связи с объектом могут быть выполнены в стандарте IEEE
все АЦП являются модулями связи с объектами и преобразуют напряжение в код
ЦФК 710 – АЦП с диапазоном преобразования -1В … +1В.
Создадим сеть фреймов.
FASSERT ( Модули_связи_с_объектом
( Выполнение ( ¤ VALUE ( Стандарт_IEEE ))))
FASSERT ( АЦП
( Преобразование (¤ VALUE ( Напряжение_в_код )))
( АКО ( ¤ VALUE ( Модули_связи_с_объектом))))
FASSERT ( ЦФК_710
( Диапазон_преобразования ( ¤ VALUE ( -1В … +1В)))
( АКО ( ¤ VALUE (АЦП))))
Запросы:
Диапазон преобразования ЦФК -1В … +1В?
FQUERY ( ЦФК_710 Диапазон_преобразования ¤ VALUE -1В … +1В)
T
Что преобразует напряжение в код?
FQUERY ( NIL Преобразование ¤ VALUE Напряжение_в_код)
АЦП
Какой из модулей связи с объектами преобразует напряжение в код в диапазоне -1В … +1В?
FQUERY ( NIL AKO ¤ VALUE
(INSTANCE? (Модули_связи_с_объектом))
AND (( :SLOT = ‘Преобразование’ )
AND ( :VALUE = ‘Напряжение_в_код’))
AND (( :SLOT = ‘Диапазон_преобразования’ )
AND ( :VALUE = ‘-1В … +1В))