- •Санкт-Петербургский национальный исследовательский университет
- •Редакторы знаний и функции системы kappa
- •Основные этапы разработки объектной модели
- •Пример. Окно Object Browser
- •Построение функциональной модели с использованием продукционных правил Цикл формирования цепи рассуждений в прямом направлении
- •If посылка then заключение.
- •Формирование цепи рассуждений в обратном направлении
- •Средства отладки базы знаний
- •Окно связи правил (Rule Relations)
- •Окно трассировки правил (Rule Trace)
- •Активная трассировка при прямом формировании цепочки рассуждений
- •Окно просмотра иерархии выводов (Inference Browser)
- •Средства создания интерфейса с пользователем. Окно сеанса (Session Window)
- •Средства объяснений оболочки kappa
- •Практическое задание
- •Разработка и программирование объектной модели предметной области
- •Разработка и программирование функциональной модели предметной области
- •Компьютерный практикум по нечетким системам
- •Аппроксимация функции одной переменной с использованием нечеткой системы
- •Варианты заданий
- •Построение элементарной нечеткой экспертной системы
- •Программирование нечеткой системы в среде matlab с использованием встроенных функций
- •Кластеризация с помощью алгоритма нечетких центров
- •Компьютерный практикум по нейронным сетям
- •Аппроксимация функции на основе нейронных сетей
- •Варианты заданий
- •Использование инструмента nnTool для построения нейронной сети
- •Кластеризация с помощью нейронных сетей
- •Рекуррентные нейронные сети Хопфилда и Хэмминга
- •Нейронные сети радиально-базисных функций. Вероятностные сети
- •Построение нейронечеткой модели с помощью anfis-редактора
- •Приложение 1. Функции пакета «Fuzzy Logic Toolbox» системы matlab для работы с системами нечеткой логики
- •Приложение 2. Функции пакета «Neural Network Toolbox» системы matlab для работы с нейронными сетями
Активная трассировка при прямом формировании цепочки рассуждений
Формирование прямой цепочки рассуждений можно выполнять в режиме активной трассировки (Active Trace Mode). При этом можно по Списку слотов (Agenda) и Списку Правил (Rule List) видеть процесс формирования цепочки. Кроме того, можно пройти весь процесс формирования цепочки по шагам.
Окно трассировки правил (The Rule Trace window) содержит три дочерних окна и одну кнопку: окно текста трассировки (Trace Text window), окно Списка слотов (Agenda list box, в нем перечисляются, все необходимые в процессе рассуждения пары объект: слот), список трассируемых правил (Rule list box) и кнопку Шаг (Step button). По умолчанию, видимым является только окно с текстом трассировки (когда режим активной трассировки выключен).
Если установлен режим активной трассировки (с помощью меню Options в окне Rule Trace), то станут видимыми и остальные дочерние окна. Кнопка Шага появляется, если выполняется прямое формирование цепочки по шагам. Чтобы установить пошаговый режима, необходимо прежде установить режим активной трассировки. Пошаговый режим автоматически вызывает функцию ForwardChain (формирования цепочки рассуждений в прямом направлении), появляется диалоговая панель с запросом аргументов этой функции.
Пример. Пусть в окне трассировки правил (Rule Trace) выбран режим активной трассировки (Active Trace в меню Options). Тогда поместим правило Empty в список выбранных правил (в меню Trace/Break, Rule Trace).
Аналогичным образом выберем слот [People]:NumberOfP (в меню Trace/Break, Slot Trace), поместим слот Lgotn;NumberOfP в Список слотов (Agenda) с помощью функции Assert(Lgotn:NumberOfP) из меню Control.
Выберем в меню Options пункт Step Mode... и заполним появившуюся панель (рис. 1.5).
Окно трассировки правил примет вид (рис. 1.6 а).
После нажатия экранной кнопкиSTEP или клавиши ввода очередной элемент Списка слотов удаляется, и в Список правил добавляются все правила, имеющие отношение к этому элементу (пара объект: слот):
Стрелка на кнопке STEP показывает направление действия следующего шага. Очередное нажатие этой кнопки удалит следующее правило в списке и добавит новые элементы в Список слотов (связанные с этим правилом). В нашем примере новых элементов в Agenda не появится:
Формирование цепочки вывода завершится (рис.1.7).
Окно просмотра иерархии выводов (Inference Browser)
Пример.
Так выглядитInferenceBrowserпосле прогона нашего примера (см. выше). Меню Optionsвыполняет те же функции, что и одноименный пункт в окнеObjectBrowser, отличие только одно - пункт меню StepMode..., который активизирует режим формирования цепочки рассуждений в обратном направлении. Кроме того, выбор левой кнопкой мыши правила в окне просмотра иерархии выводов влечет появление менюEdit/ShowRelations.Edit- вызывает редактор правил с текстом текущего правила.ShowRelations- активизирует окноRuleRelationsдля выбранного правила.
Средства создания интерфейса с пользователем. Окно сеанса (Session Window)
Интерфейс для решаемой прикладной задачи формируется пользователем в окне Session. Все элементы этого окна, включая и само окно, представлены в объектной модели в виде объектов соответствующих классов. Эти классы изначально предусмотрены (предопределены) в ЭОKappaи составляют инструментарий для разработки интерфейса. Так окноSessionпредставлено объектом Sessionв классеKSession, который, в свою очередь, является подклассом в классе KWindow. Слотами любого создаваемого объекта-окна являются его геометрия, цветовая гамма, меню и т.п. Все элементы интерфейса, размещаемые в окне сеанса (надписи, информационные окна, кнопки и т.п.), представляются объектами соответствующих подклассов классаImage. Так любая кнопка представляется объектом подклассаButton, статическая надпись – объектом подклассаTextи т.д. Таким образом, для создания нового интерфейсного окна необходимо создать объект в классеKSession, для создания новой кнопки – объект в классеButtonи т.д. Создавать и редактировать элементы интерфейса можно в окнах сеанса, просмотра объектов и интерпретатора. В последнем случае следует использовать функцииMakeImageиMakeInstance. Ниже рассматривается процедура проектирования интерфейса в окне сеанса, основанная на принципах визуального программирования, при которой проектировщик должен лишь встроить заготовку элемента интерфейса, а не разрабатывать ее.
Окно сеанса имеет два режима: Расположения (Layout) и Выполнения (Runtime). Первый - для манипулирования графическими образами, второй - для представления интерфейса конечному пользователю.
Состав меню окна виден на рисунке. Print - для распечатки определенного образа или целого экрана. Пункт Edit включает пять опций, которые доступны только в режиме Расположения:
редактирования образа (Edit Image),
переименования (Rename Image),
удаления (Delete Image),
свертывания (Hide Image) - образ удаляется из окна сеанса (в БЗ сохраняется),
показа скрытых образов (ShowHiddenImage...) в окне Session - предлагается список скрытых образов, надо выбрать тот, который Вы хотите сделать видимым.
Меню управления (Control) позволяет вызывать функции и получать объяснения рассуждений. Имеет три опции: Start, Call Function, Explain.
Пункт Опции (Options) позволяет выбирать режим окна сеанса и создавать новые образы. Имеет 4 опции: Tool Box (инструментарий) - выбор этой опции вызывает появление в окне сеанса панели с инструментами - доступно в режиме Layout, Image Adjuster (монтажник) - открывает в окне сессии панель регулировки размеров и расположения образа. Set Tab Stops (установка табулостопов) - упорядочивает активизацию образов при нажатии клавиши табуляции. Layout Mode - переключает режимы окна сеанса.
Меню Window содержит пункты New, Delete, Rename Object, Select, Hide, Unhide и Attributes. Рассматриваемая нами версия системы КАРРА (1.2) позволяет создавать несколько окон сеанса (с разными именами), но главным остается окно Session. Если мы установили режим Runtime, то доступными становятся только Hide и Unhide -скрыть и показать окно (соответственно). В зависимости от ситуации может быть предложен список окон сеанса. В режиме Layout в Session доступны еще New (можно создать новое окно) и Attributes (позволяет просмотреть и изменить основные атрибуты текущего окна), а если открыто еще какое-либо окно сеанса, то активизируется и Select, обеспечивающий возможность выбрать другое окно текущим. Кроме того, если текущим является не главное окно сеанса (Session) и выбран режим Layout, то доступными становятся все пункты меню Window (Delete – уничтожение,Rename Object - переименование текущего окна).
Меню Image позволяет создавать новые объекты предопределенных классов активных образов (ActiveImages classes), имеет 16 опций: Button, Text, Edit, Transcript, Bitmap, Drawing, State Box, Meter, Line Plot, Slider, Single List Box. Multiple List Box, Check Box Group, Radio Button Group, Check Box и Select Image, которые типичны для средств визуального проектирования интерфейсов в Windows и здесь не рассматриваются.