- •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
Создание и редактирование набора правил в guru, используя команды меню
Для создания нового набора правил выберем “Build an Expert System”.
При выборе существующего или нового набора правил открывается окно процессора работы с правилами.
Инициализация: устанавливает настройки среды, начальное присваивание выполняет начальные процедуры.
Вопрос 8. Язык GURU. Константы и переменные в системе GURU. Выражения.
Язык GURU
В GURU с версии 6.0 до версии 8.0 – язык KGL (Knowledge Language) – процедурный язык, включающий в себя язык манипулирования данными и язык описания данных. GURU поддерживает работу с СУБД реляционного типа.
Язык интерпретируемый, каждое выражение записывается в отдельной строке. Для переноса выражения на следующую строку используется символ “\”. Если несколько операторов в одной строке, то их разделяют символом “;”.
Константы в GURU.
Константы в GURU бывают следующих типов: строковые, числовые, логические, неизвестные.
Примеры:
Строковые: “Строка”, “Это черта \\”, “3,000000”, “\119”= “W”, “\070”=“\70”=“F” (черта и код ASCII означают символ с соотв. кодом). Длина строковой константы до 254 символов.
Числовая константа – числа целые и с точкой: 27, 972.3672, -0.5, +.098. Максимальная длина числа 14 знаков, включая точку и знак.
Логические константы: true и false.
Неизвестная константа: UNKNOWN.
Переменные в GURU
5 типов переменных:
строковые (STR)
числовые вещественные (NUM)
числовые целые (INT)
логическое (LOG)
неизвестные (UNKNOWN)
Система GURU не является строго типизированной, тип переменной может меняться. Все переменные по умолчанию считаются глобальными.
Различают 4 класса переменных
рабочая переменная
переменная полей
переменная ячейки
предопределенная переменная (переменная среды или утилитная переменная)
Рабочие переменные – обычные нестроготипизированные переменные, используемые в программе для хранения промежуточных результатов. Тип определяется операцией присваивания. Имена переменных должны быть не более 8 символов, начинаться с буквы и содержать буквы и цифры.
Переменные поля – строго типизированные, переменные поля в таблице БД. Обращение к переменной поля: <имя_таблицы>.<имя_поля>, например sotrudnik.fio. (если таблица открыта и активна, то ее можно не указывать)
Переменные ячейки – нестроготипизированные переменные, связанные с электронной таблицей. Обращение к переменной ячейки: #А1 (А – столбец, 1 – строка).
Предопределенные переменные:
Переменные среды – строго типизированные, позволяют задать настройки системы, начинаются с E.
Утилитные переменные – начинаются с #, например #GOAL
Наиболее важные переменные среды для работы с четкой логикой:
Имя |
Смысл |
Тип |
Знач. по умолчанию |
E.BACG |
5 символов, определяющих цвет фона. 1 символ – электронной таблицы 2 символ – графики 3 символ – текста 4 символ – меню 5 символ – команд |
STR |
UUUUA (A – black, G – green, C – cyan, R – red, M – magenta, O – brown, U – blue, W – white) |
E.COMP |
Построчное вычисление переменных электронных таблиц (не по столбцам) |
LOG |
True |
E.DECI |
Количество цифр справа от десятичной точки |
INT |
2 |
E.DTYP |
Формат даты: M – месяц, день, год D – день, месяц, год Y – год, месяц, день |
STR |
M |
E.FORG |
Цвет основного текста, аналогично E.BACG |
STR |
WWWWO |
E.ICAS |
Игнорировать регистр букв в строках |
LOG |
True |
E.STEP |
Пошаговое выполнение команд |
LOG |
False |
E.SUPD |
Подавить вывод полученной записи при работе с таблицами |
LOG |
False |
E.SUPH |
Подавить заголовки столбцов в командах STAT и SELECT при обработке записей в таблицах |
LOG |
False |
E.TRAC |
Тип трассировки во время консультации N – ничего F – выполнение правил |
STR |
N |
E.TRYP |
Стратегия тестирования посылок S – строгая стратегия (пока не встретится неизвестная переменная) P – терпеливая стратегия (посылка проверяется после определения всех неизвестных переменных) E – крайне добросовестная (тестируется каждый раз) |
STR |
S |
E.LNUM |
Максимальная длина числа |
INT |
14 |
E.LSTR |
Максимальная длина строк |
INT |
15 |
E.SORD |
Стратегия работы с правилами C – по минимальной стоимости F – в порядке записи H – по максимальному фактору уверенности Р – по максимальному приоритету R – произвольный порядок U – по минимальному количеству неизвестных переменных посылки |
STR |
F |
Наиболее важные утилитные переменные:
Имя |
Смысл |
Тип |
Знач. по умолчанию |
#DEFAULT |
Имя таблицы по умолчанию |
STR |
- |
#DSKOUT |
Имя файла, в который осуществляется вывод |
STR |
- |
#FOUND |
Сигнализирует об успехе или неуспехе поиска |
STR |
- |
#GOAL |
Текущее значение переменной цели |
STR |
UNKNOWN |
#HOW |
Массив с именами выполненных правил |
STR |
- |