- •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
12. Операторы, макроопределения и шаблоны в guru.
Макроопределение – это имя, которое пользователь может назначить в строке текста, чтобы использовать её многократно. В тексте можно использовать выражения, что позволяет уменьшить размер кода.
MACRO <имя><текст>
По умолчанию он глобальный
Локальный: LOCAL MACRO <имя><текст>
Пример1: таблицу определили SOTR
LAST NAME
F NAME
M ORL
MACRO LFM LAST NAME, F NAME, M ORL
SELECT LAST NAME, F NAME, M ORL, D
FROM SOTR (использование макроса)
SELECT FROM LFM, D FROM SOTR
Пример2: число пи с большой точностью
MACRO P1 3,141592853
MACRO COS SIN (P1/2-X)
MACRO TAN SIN (X)/COS
MACRO FSGN IF X-0 THEN SIN=0, ELSE SIN-X/ABS(X);
X=0, 1,-1
Макросы можно собрать в отдельном файле MACROS.IPF
PERFORM MACROS
Шаблоны – В командах ввода/ вывода можно использовать шаблоны
USING
Input x sfr using “a”
В шаблонах принята следующая кодировка:
A – любая буква
C – буква или цифра
D – цифра или знак +,-
U – любой символ ASCII
%10 – 10ти кратное повторение символа
“dddd.ddd” – 4цифры.3цифры
Операторы языка: IF <логич. выражение> THEN <набор операторов> ELSE <набор операторов> ENDIF Пример: IF Var1 < 17 THENVAR1=VAR1 + 1 ENDIF Цикл с условием продолжения WHILE <логич. выражение> DO <набор операторов> ENDWHILE Команда CONTINUE требует немедленной проверки условия для продолжения цикла. Например: WHILE i<10 DO IF ARRY(i)>123 THEN i=i +2; CONTINUE ENDIF TOT = ARRY(i) + TOT LET i=i+1 ENDWHILE
13. Работа с таблицами и записями в guru.
ЭС GURU поддерживает работу с электронными таблицами.
Не ограничивается количество таблиц, как созданных, так и открытых.
Мкс. длина записи – 16 кб, количество полей – 255.
Команды для работы с таблицами:
Создание таблицы - DEFINE <имя таблицы>
Добавление полей (в интерактивном режиме) – FIELD ? <имя поля> <тип>
Создание записи (в интерактивном и. программном режиме) CREATE [RECORD]
ENDDEF – завершение создания таблицы.
Открыть таблицу – USE <Имя таблицы>.
Активной может быть только 1 таблица, 1 запись 1-го поля.
Закрыть таблицу(ы) – FINISH <Имя таблицы>
FINISH ALL
Сортировка таблицы:
SORT <Имя таблицы> TO <Имя файла> BY <выражение для сортировки>
Направление сортировки: ASCENDING (сокр. AZ), DESCENDING (сокр. ZA).
ПРИМЕР:
SORT TO “S.ITB” BY AZ FIO
Создание индексного файла:
INDEX <Имя файла> FOR <Имя таблицы> [BY <выражение для сорт-ки>]
ПРИМЕР:
INDEX “S1.IND” FOR SOTR BY AZ SALARY
Команды для работы с записями:
Создание записи: CREATE [RECORD]
Методы поиска записи:
Последовательный
OBTAIN <позиция> [RECORD] FROM <Имя таблицы>
FIRST – первая
LAST – последняя
PRIOR <численное выр-е> - до <число>
NEXT <численное выр-е> - после <число>
ПРИМЕР:
OBTAIN PRIOR RECORD FROM SORT
Групповой поиск (фильтрация)
OBTAIN [RECORD] FROM <Имя таблицы> FOR <условие>
OBTAIN FROM SOTR FOR FIO =”Иванов” AND #MARK=FALSE
Меткой можно отметить к-либо запись. Она принимает значение true/false.
Отметить: MARK <имя таблицы> FOR <условие>
Снять метки: UNMARK <имя таблицы> FOR <условие>
Индексный поиск по ключу
Для вывода групп записей:
SELECT <выражение> FROM <имя таблицы> <область действия>
<область действия>:
CURRENT NEXT <число>
ALL PRIOR <число>
RANGE < число>
Управление выводом на экран с помощью переменных среды:
E.OCON = TRUE – подавить вывод на экран
E.ODSK = TRUE – вывод в файл
E.PAUS = TRUE – паузы при выводе на экран
Сортировка и индексирование таблицы
2 вида сортировки:
- физическая (связана с изменениями в исходной таблице)
- виртуальная (с использованием индексного файла)
Команда прямого доступа по ключу. Предварительно должен быть создан индексный файл и таблица должна быть открыта с индексным файлом командой USE.
PLUCK <выражение > FROM <Имя таблицы> USING <имя инд. файла>
ПРИМЕР
USE Sotr AS S // откр. Таблицу
INDEX “IS.IND” FOR S BY AZ FAM // созд. инд. Файл
FINISH S // закрываем таблицы
USE Sotr AS S WITH “IS.IND” // откр. Таблицу с индексом
PLUCK “Иванов” FROM S// доступ по ключу
Команды редактирования:
BROWSE <имя таблицы> - интерактивный просмотр и редактирование таблицы
CHANGE <имя поля> IN < имя таблицы > TO < выражение> <область действия>
<область действия> - Current, Next, PRIOR
Удаление записей: COMPRESS < имя таблицы >.
Предварительно записи должны быть отмечены командой MARK.
Удаление таблицы. DESTROY <имя таблицы>.