Главная Обратная связь Поможем написать вашу работу!

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Изучение технологии разработки прикладной ЭС на основе технологии оболочки GURU



 

Построение ЭС с помощью GURU заключается в написании набора правил, содержащего знания эксперта для аргументированного решения конкретного типа задачи.

Приступая к разработке прикладной ЭС (приложения), инженер знаний должен определить алгоритмически формализуемые и слабоформализуемые части концептуальной модели проблемной области. Первые реализуются процедурно, вторые – в виде набора правил. Так, для проблемной области выбора поставщика часть дерева целей концептуальной модели, относящая к определению возможности контракта (см. рис. 3.1, дужкой помечена вершина типа «И», а отсутствием дужки – «ИЛИ»), может быть реализована как информационно-поисковая задача на интегрированной БД (см. приложение 1, листинги 1, 2). Для изделий производственной программы в цикле производится подбор спецификаций, причем фактор уверенности соответствия спецификаций задается как поле этого файла. Для каждой спецификаций выполняется проверка ограничений на сроки, фонды, объемы, которые задаются как условия отбора записей о поставщиках из соответствующего файла. Далее осуществляется обращение к соответствующему набору правил, оценивающему надежность выбранного поставщика, фактор уверенности которого затем умножается по правилу произведения на фактор уверенности целесообразности выбора поставщика, и результирующий фактор оценивается на заданный предел. Поскольку оценка результата выполняется вне набора правил, она программируется инженером знаний непосредственно.

Набор правил (собственно БЗ) – как совокупность независимых правил, описывающий оценку надежности, относится к слабоформализуемому знанию из-за нечеткости сведений о показателях объекта и нечеткости самих правил. Кроме того, для определения надежности поставщика заранее неизвестно, какие будут использоваться правила, и совсем не обязательно, чтобы были проверены все ветви дерева целей.

 
 

Рис. 3.1. Дерево целей

Для создания и изменения набора правил существует специальный модуль – администратор наборов правил. Синтаксически описание набора правил характеризуется множеством предложений, относящихся к правилам, а также содержит разделы начальных определений (целевой переменной, кодов доступа и т.д.), кроме того, правило можно прокомментировать и объяснить.



Описание правил представляет собой определение посылки (часть IF) как достаточно сложного логического выражения и заключения (часть THEN).

Посылка правилав GURU может по желанию пользователя быть простой или расширенной. Посылка может включать в себя поля БД, ячейки электронных таблиц, статистические переменные, элементы массива и обычные переменные. Над посылкой можно выполнять произвольные сложные числовые вычисления и все встроенные функции системы.

Заключением правила в GURU может быть любая последовательность любых команд GURU, которые поддерживаются любым из компонентов системы. Кроме посылки и заключения правилу можно назначить приоритет и стоимость.

Для аргументов посылки правила и заключения могут устанавливаться факторы уверенности, измеряемые в процентах от 0 до 100.

В правиле (RULE) могут быть определены параметры, настраивающие его использование, описаны предварительные действия (часть READY) для подготовки значений аргументов посылки и дан текст объяснения работы правил (часть REASON), который выдается пользователю при объяснении цепочки вывода.

В описании переменных (VAR) указываются параметры, определяющие режимы манипулирования, задается текст (часть LABEL), объясняющий смысл используемых элементов данных, который выдается при необходимости пользователю, также могут быть определены действия или процедуры по формированию значений переменных (часть FIND).



В разделе инициализации (INITIAL), как правило, формализуется начальный диалог с пользователем по вводу необходимых данных, осуществляется предварительный поиск по базе данных и первичная обработка информации, устанавливаются все необходимые режимы консультирования (значения системных переменных).

В разделе завершения (DO) организуется тестирование полученных данных и вывод их пользователю. Для тестирования сформированных значений переменных могут применяться процедуры обращения к другим экспертным системам.

В рассмотренном примере оценки надежности поставщика в разделе инициализации набора правил осуществляется выборка записей из файла «поставщики» по значению кода, которое определено во внешней процедуре. В случае автономного от внешней процедуры запуска набора правил необходимо предусмотреть ввод значения кода поставщика пользователем. Далее организуется формирование рабочих переменных из полей базы данных, что связано с необходимостью приписывания к значениям переменных факторов уверенности, которые определены в качестве полей БД.

Ввод данных со стороны пользователя можно организовать различными способами. Так, если правило использует уникальные переменные, имеет смысл вводить данные в части READY правила. Описание ввода данных в разделе переменных (часть FIND) позволяет опрашивать значения данных по мере необходимости, что делает диалог гибким. Задание всех исходных данных в разделе инициализации целесообразно в режиме прямого вывода.

В разделе инициализации набора правил задаются значения системных переменных (параметров), настраивающих механизм вывода на особенности предметной области. Так, в случае применения нечеткой логики может быть задан в процентах предел точности (порог), выше которого значение целевой или любой другой промежуточной переменной становится известным для вывода пользователю. Для этого используется системная переменная E.UNKN (по умолчанию E.UNKN=20). Далее устанавливается режим проверки конфликтующих правил для достижения результата с заданной степенью точности E.RIGR:



· М – минимальное число правил;

· С – все возможные правила (полный перебор);

· А – все правила, дающие минимально допустимый фактор уверенности плюс правила, увеличивающие достоверность результата (используется для нечетких переменных).

В случае режимов М и А необходимо установить критерии, по которым устанавливается очередность проверки правил, связанных дизъюнктивно на «И/ИЛИ» графе целей концептуальной модели. Эти критерии задаются системной переменной E.SORD со значениями:

· Р – по приоритету (по степени важности);

· С – по стоимости (относительный показатель в процентах, оценивающий степень трудоемкости);

· Н – по наибольшей достоверности результата;

· U – по наименьшему числу неизвестных переменных в посылке правила;

· R – произвольный порядок;

· F – последовательный порядок.

Можно использовать сочетание режимов, например E.SORD = «PHU». Критерий проверки наибольшей достоверности получаемого результата предполагает оценку фактора уверенности посылки правила и объединение с фактором уверенности применения самого правила. Выбор формулы объединения факторов уверенности (алгебры) определяется системными переменными E.CFJO для конъюнктивных зависимостей аргументов, E.CFCO – для дизъюнктивных зависимостей аргументов и E.CFVA – для объединения фактора уверенности левой и правой частей правил (см. табл. 3.2).

Таблица 3.2

E.CFVA=XX
CFJO = для AND Объединение факторов уверенности для левой и правой частей правила CFJO = для OR Объединение факторов уверенности, полученных по нескольким правилам для одной переменной
M: Min(a, b) M: Max(a, b)
P: (a * b) / 100 P: a + b – (a * b) / 100
A: (<M> + <P>) / 2 A: (<M> + <P>) / 2
B: Max(a, b) + Min(a, b) B: (1 - a / 100) * (1 – b / 100)

 

Для ввода факторов уверенности исходных данных и для оценки посылки правила необходимо задать значение системной переменной E.ICF = true. В дальнейшем пользователю в процессе диалога будет выдаваться подсказка на ввод факторов уверенности. Факторы уверенности правил должны быть установлены инженером знаний априорно. Для того чтобы спроектировать априорные значения факторов уверенности применения правил, необходимо предположить, что аргументы посылок правил принимают истинные значения с максимально допустимой уверенностью. Тогда факторы уверенности заключений с учетом их объединения по нескольким правилам должны превысить установленный E.UNKN предел. На рис. 3.2 приведены коэффициенты уверенности правил для оценки надежности поставщика.

Из примера, представленного в приложении 1 (листинг 1), видно, что:

· системная переменная E.CFVA = «pp», т.е. объединение факторов уверенности левой и правой частей правил производится по формуле (а * b) / 100, а объединение факторов уверенности результатов для целевой переменной «Надежность» – по формуле а + b – (a * b) / 100 (см.
табл. 3.2);

· финансовое состояние оценено как хорошее (фактор уверенности 60%) (cf = 60);

· при таком «Финансовом состоянии» можно сделать вывод, что «Надежность» = TRUE с фактором уверенности 90%; так как этот вывод сделан на основе показателя «Финансовое состояние», то общий фактор уверенности для этой ветви дерева целей (см. рис. 3.2) будет выглядеть: (60 * 90) / 100 = 54;

· аналогично оценивается «Надежность» по «Рекламациям» (отсутствуют) и «Статусу предприятия» («кооператив»);

· так как удаленность поставщика менее 1000 км, то переменной «Надежность» на этом этапе оценки будет присвоено значение TRUE с фактором уверенности 70.

Таким образом, фактор уверенности для целевой переменной «Надежность» вычисляется следующим образом:

cf true = (60 * 90) / 100 + /* Левая ветвь дерева знаний. Наивысший приоритет
правил (см. приложение 1, листинг 1) */

+ (60 * 80) / 100 – /* Вторая ветвь дерева. Следующий по важности приоритет. */

- (54 * 48) / 100 + /* Объединение факторов уверенности двух ветвей дерева (результатов для одной переменной). Далее аналогично. */

+ 50 – (76 * 50) / 100 +

+ 70 – (88 * 70) / 100 = 96

 
 

Таким образом, надежность поставщика оценивается как положительная с фактором уверенности 96%.

Рис. 3.2. Применение коэффициентов уверенности

Факторы уверенности применения правил косвенно отражают степень важности или приоритет правила в процессе вывода.

GURU позволяет создавать для переменной несколько возможных значений, каждое из которых характеризуется своим фактором уверенности. Такая переменная называется нечеткой (переменная набора). Ее применение оправдано в том случае, когда пользователь затрудняется точно определить одно конкретное значение переменной и вместо этого определяет несколько значений с различными факторами уверенности. Точно также и в заключениях правил могут фигурировать нечеткие переменные, когда вывод из посылки правила неоднозначен. Использование нечетких переменных в правилах приводит к многовариантности вывода с возможными противоречиями получаемых результатов, но, как правило, с различными при этом факторами уверенности. Все переменные, выводимые на основе нечеткой переменной, сами становятся нечеткими. Множества значений вводятся пользователем в переменную в соответствии с числом, установленной системной переменной Е.IFUZ = <число>. Факторы уверенности при объединении нескольких значений переменных вычисляются по формуле, определяемой системной переменной E.CFCO, а при удалении значения – по формуле, соответствующей E.CFJO. Рассмотрим в качестве примера правила, прогнозирующие изменение цен в зависимости от соотношения объемов производства и спроса, которые представляют собой нечеткие переменные ожидаемых в текущем году значений. Значения нечетких переменных вместе с факторами уверенности перечисляются в фигурных скобках:

Пусть «Объем производства» = {200 cf 90, 100 cf 30}, а «Объем спроса» = {150 cf 80, 50 cf 20}.

R1: IF ОБ.ПРОИЗВ. > ОБ.СПРОСА THEN ЦЕНЫ = «падают»

R2: IF ОБ.ПРОИЗВ. < ОБ.СПРОСА THEN ЦЕНЫ = «растут»

R3: IF ОБ.ПРОИЗВ. = ОБ.СПРОСА THEN ЦЕНЫ = «не изменяются»

Тогда фактор уверенности для выражения (ОБ.ПРОИЗВ. > ОБ.СПРОСА) = TRUE вычисляется следующим образом:

200 > 150 ® min (90, 80) = 80

200 > 50 ® min (90, 20) = 20

100 > 50 ® min (30, 20) = 20

Коэффициент уверенности = 80 + 20 – 16 + 20 – 17 = 87, а для выражения (ОБ.ПРОИЗВ. < ОБ.СПРОСА) = TRUE: 100 < 150 ® min (30, 80) = 30.

Следовательно, с уверенностью 87% можно сделать предположение, что цены в текущем году будут падать, и с уверенностью 30% – что цены возрастут. Со статистической точки зрения такой разнобой в оценках может показаться неприемлемым, но с практической точки зрения прогноз в пользу падения цен вполне оправдан. Далее на основе полученных вариантов может быть продолжено решение задачи, в частности, прогнозирование прибыли. Пример применения описанного набора правил приведен в приложении 1 (листинг 3).

Значение факторов уверенности нечеткой переменной могут изменяться под воздействием различных правил. Так, если в нечеткую переменную добавляются значения, которые уже есть в наборе, то их факторы объединяются, например, по правилу суммы, а если значения удаляются, то факторы уверенности объединяются по правилу произведения. Пусть имеется база знаний, описывающая виды денежных вкладов в зависимости от возраста, статуса и рода деятельности человека:

Al: IF ВОЗРАСТ < 20
THEN ВКЛАД += {«Образование» cf 40, «жилье» cf 10, «сбережения» cf 5}

А2: IF ВОЗРАСТ >= 20 AND ВОЗРАСТ < 30
THEN ВКЛАД += {«жилье» cf 20, «Образование» cf 20, «сбережения» cf 10}

Bl: IF СТАТУС = «одинокий»
THEN ВКЛАД += {«Образование» cf 30, «сбережения» cf 20,»жилье» cf 10}

B2: IF СТАТУС = «женат»
THEN ВКЛАД += {«жилье» cf 40, «сбережения» cf 20, «образование» cf 10}

Cl: IF РОД ДЕЯТ = «рабочий»
THEN ВКЛАД += {«сбережения» cf 20); ВКЛАД -= («образование» cf 60}

Определим виды вкладов при условии, что консультирующийся человек имеет возраст меньше 20 лет, женат и является рабочим. Табл. 3.3 поясняет определение суммарных значений коэффициентов уверенности.

Таблица 3.3.

  A1 B2 Сумма + C1 – Сумма
Образование  
Жилье    
Сбережения  

Заметим, что при удалении значения из нечеткой переменной факторы уверенности предшествующего значения перемножаются на отрицание фактора уверенности удаляемого значения (т. е. на фактор уверенности, что это значение остается).

Далее, пользуясь полученными значениями факторов уверенности вкладов, можно перейти к процентному распределению сумм вкладов, например, интерполировав исходные значения на 100% (получим соответственно 17.6%, 44.6%, 37.8%) или применив другие правила. Для манипулирования отдельными значениями нечеткой переменной и их факторами уверенности GURU предлагает специальные функции, такие как выборка отдельных значений переменной – VALN (переменная, номер), их факторов уверенности – CFN (переменная, номер), средневзвешенное значение переменной – WAVR (переменная) и т.д.

В процессе вывода значений нечеткой переменной можно ограничивать их число посредством его задания в системной переменной E.BEST.

Факторы уверенности переменных, получаемые в результате применения правил, косвенно отражают степень важности или приоритет правила в процессе вывода. Однако при их использовании в качестве основного критерия выбора из конфликтного набора придется вычислять коэффициенты уверенности по всему множеству конфликтующих правил. Проще задать и использовать в качестве критерия приоритет от 0 до 100 для группы родственных правил, соответствующих одной альтернативной ветке графа «И/ИЛИ», и внутри группы родственных правил пользоваться критериями оценки достоверности результата. Для примера с оценкой надежности поставщика принимаются приоритеты правил, связанных с финансовым состоянием – 100, с рекламациями – 90, статусом – 80, удаленностью – 70. Тогда первым будет оцениваться правило надежности поставщика в зависимости от финансового состояния и так далее по мере уменьшения приоритета. В группе правил, соответствующих статусу поставщика, можно их просматривать в порядке убывания фактора уверенности правила.

Другим важным критерием выбора правила для выполнения служит критерий трудоемкости, использование которого связано со стремлением достичь требуемого результата с минимальными усилиями. Трудоемкость вывода определяется глубиной цепочки аргументации (числом неизвестных промежуточных переменных), шириной посылки правила (числом аргументов), понятностью вывода для пользователя (используемых понятий, зависимостей), легкостью получения исходных данных.

Критерий выбора правил посредством системной переменной E.SORD = «U» (задает минимальное число неизвестных переменных посылки правил) определяет глубину цепочки только на один уровень, поэтому может служить критерием трудоемкости только в ограниченных рамках. Так, правило с тремя неизвестными переменными в посылке может быть менее трудоемким, чем правило с одной неизвестной переменной, если для последней применяется длинная цепочка вывода с большим числом неизвестных переменных на следующих уровнях иерархии. Поэтому для такого правила следует установить критерий стоимости E.SORD = «C» (от 0 до 100), меньший, чем для правила с одной неизвестной переменной.

Реальное влияние неизвестных переменных на оценку посылки правила можно уменьшить, используя различные режимы оценки, задаваемые системной переменной E.TRYP:

· S – проверка неизвестных переменных, пока значение какой-либо из них не будет получено;

· Е – проверка неизвестных переменных заканчивается, как только посылка правила принимает истинное значение;

· Р – проверка всех неизвестных переменных независимо от результата оценки посылки.

Первый режим S имеет смысл применять для конъюнктивных условий; как только один из аргументов приобретает ложное значение (фактор уверенности меньше заданного в E.UNKN предела), процесс проверки посылки правила прекращается. Поэтому в конъюнкции аргументов, как правило, на первое место ставятся легко проверяемые условия.

Для того чтобы избежать отрицательных последствий неизвестных значений конъюнкции условий, которые приводят, в конечном счете, к недостижению цели (результат остается неизвестным), необходимо предусмотреть правило с отрицанием в посылке позитивных значений. Например:

R1: IF рентабельность = ДА & незадолженность = ДА
THEN финансовое состояние = TRUE

R2: IF рентабельность = НЕТ
THEN финансовое состояние = FALSE

R3: IF незадолженность = НЕТ
THEN финансовое состояние = FALSE

При этом правила R2 и R3 должны приобрести меньшее значение относительного показателя стоимости, чем R1, поскольку вследствие их краткости они должны быть проверены в первую очередь.

Режимы оценки посылки правила Е и Р применяются только для дизъюнктивных условий правил. Причем, режим Е подразумевает получение минимально допустимого значения фактора уверенности посылки, а режим Р – максимального значения фактора уверенности (первый режим менее трудоемкий по сравнению со вторым).

Дизъюнктивно связанные аргументы следует соединять в посылку одного правила в том случае, когда они одинаково воздействуют на получение какого-либо заключения. В приведенном ранее примере это недопустимо, поскольку влияние финансового состояния, рекламаций, статуса и удаленности на надежность поставщика оценивается с разными факторами уверенности.

Для дизъюнктивных посылок правил, так же как и для конъюнктивных, в случае негативного результата оценки посылки необходимо предусмотреть альтернативные правила с отрицанием значений аргументов.

Если в процессе вывода значения каких-либо переменных окажутся неизвестными, а без них невозможен последующий вывод, то можно предусмотреть непосредственный ввод необходимых значений данных. Для этого в GURU предусмотрена системная переменная E.WHN со значениями параметров:

· F – ввод данных осуществляется перед оценкой посылки правила;

· N – ввод данных со стороны пользователя не предусматривается;

· L – после неудачного вывода запрещается ввод данных от пользователя.

Если пользователь не знает соответствующее значение, тогда система сама пытается осуществить вывод.

GURU обеспечивает гибкость задания различных режимов механизма вывода. Так, общая настройка системы на особенности предметной области осуществляется на основе использования значений системных переменных в разделе инициализации, специфические же режимы можно задавать при описании отдельных переменных:

· выбор алгебры объединения факторов уверенности – CFTYPE (соответствие E.CFVA);

· степени оценки точности результата – RIGOR (соответствие E.RICR);

· ввод необходимых данных – WHEN (соответствие E.WHN);

· число значений нечеткой переменной – LIMIT (соответствие E.NUMV);

· оценка посылки правил – TEST (соответствие E.TRYP) может быть задана непосредственно в правиле.

· Тестирование экспертной системы

Построенные ЭС оцениваются с позиции двух основных групп критериев – точности (правильности) работы и полезности. С точностью связаны такие характеристики, как правильность делаемых заключений, адекватность БЗ проблемной области, соответствие методов решения проблем экспертным. Поэтому конечные оценки системе ставят специалисты в проблемной области – эксперты.

Полезность ЭС характеризуется удовлетворением требований пользователей в части получения необходимых рекомендаций, легкости и естественности взаимодействия с системой, надежности, производительности и стоимостных затрат, способности объяснения решения и обучения, настройки на изменения потребностей. Полезность обычно оценивается пользователем-прикладником.

Тестирование ЭС проводится на всех этапах жизненного цикла ее создания. Причем, критерии оценки системы необходимо определить еще на этапе идентификации проблемной области.

Создание работающей версии ЭС рассматривается как итерационный процесс, в течение которого неоднократно осуществляется процесс решения тестовых примеров, оценка их со стороны экспертов, пробная эксплуатация заинтересованными пользователями и перестройка системы с учетом поступающих критических замечаний. Для качественного проведения испытаний очень важно подобрать тестовые примеры, которые бы представляли собой типично решаемые задачи и проверяли бы все возможные граничные значения получаемых результатов, а также работали в условиях нечеткости и неопределенности. Лучше всего в качестве таких примеров использовать задачи, которые раньше решались экспертами и по которым есть апробированные эталонные результаты. В этом случае, если по некоторым задачам такого накопленного опыта решений нет, то устанавливаемая степень точности экспертизы со стороны экспертов всегда будет иметь субъективный фактор. Чтобы преодолеть предвзятость отношений экспертов к автоматизированной системе, имеет смысл давать ее решения вместе с результатами, полученными другими специалистами.

После того, как ЭС начнет успешно справляться с определенным набором тестовых примеров, необходимо провести статистическое изучение экспертами функционирования системы на случайном наборе задач и определить степень точности экспертизы, т.е. отношения числа правильно полученных результатов к общему числу решенных задач.

Показатель точности имеет относительный характер и к его оценке нужно подходить реалистически. В случае неточности экспертизы приходится пересматривать проектные решения, детально анализировать работу механизмов вывода и сформированную базу знаний. Не менее важно организовывать статистическое исследование эксплуатации ЭС со стороны пользователей, оценку их удовлетворенности в интерфейсе системы, во времени реакции после того, как компетентность системы достигла необходимого уровня. В результате такого изучения могут возникнуть также потребности в перестройке архитектуры ЭС.

Следующий этап оценивания ЭС – опытная эксплуатация в массовом порядке без непосредственного контроля со стороны разработчика и переход от тестовых примеров к решению реальных задач. Важнейшими критериями оценки становятся соотношения стоимости системы и ее эффективности. Осуществляется сбор критических замечаний и внесение необходимых изменений. В результате оценивания может потребоваться разработка версий, учитывающих особенности конкретной проблемной области, использования разнообразных средств вычислительной техники.

Наконец, последняя стадия – это оформление экспертной системы в виде коммерческого товара, и тогда уже рынок, в конечном счете, определяет качество созданного продукта.

В случае некачественного выполнения необходимых функций ЭС необходимо анализировать ход решения задачи, для чего инженерам и экспертам предоставляется ряд сервисных средств (трассировка, семантический анализ и т.д.), к которым, в частности, относится ретроспективный (выдается цепочка выполненного вывода) режим объяснения.

Для этого в GURU используются в основном две команды: «HOW» (как?), описывающая полученный результат и применяемые к нему правила, и «WHY» (почему?), объясняющая причину выполнения правила, т.е. аргументы его посылки. Комбинируя эти команды, можно получить всю цепочку вывода от полученного значения целевой переменной до исходных данных.

Пример тестирования приведен в приложении 1 (листинг 2).

Последовательность объяснения применяемых правил можно представить в виде процедуры, в которой организуется цикл на число выполненных правил, зафиксированных в утилитной переменной #HCNT. При этом запрашивается объяснение, почему (WHY) выполнено каждое правило, номер которого хранится в списке, содержащемся в утилитной переменной #HOW. Недостаток этой процедуры заключается в том, что в случае неудачи экспертизы целевая переменная остается неизвестной (получает значение UNKNOWN), а утилитные переменные #HCNT и #HOW имеют пустые значения, т.е. объяснение становится невозможным.

Для преодоления этого недостатка GURU предоставляет средство трассировки, включаемое системной переменной E.TRAC = TRUE. B этом случае процесс вывода сопровождается сообщениями о рассмотренных (attempting) и выполненных (firing) правилах с указанием их имен. Однако никакие сообщения о причинах и результатах выполнения правил не приводятся, и разработчик вынужден самостоятельно заполнять этот пробел. С этой точки зрения GURU не обладает сильными средствами объяснения и трассировки. Нет также средств, обеспечивающих контрольные точки для прерываний. Сбор статистики, кроме запоминания в утилитной переменной #HOW списка номеров выполненных правил, отсутствует. Редактор ввода не обладает средствами семантического анализа проводимых корректировок на соответствие имеющейся базе знаний, и нет средств самообучения.

Процесс тестирования ЭС продолжается до тех пор, пока не будут исправлены все дефекты и пользователь не получит надежный инструмент, которому он полностью доверяет и который по уровню компетентности не уступает в рассматриваемой проблемной области эксперту.

· Запуск системы и работа в режиме меню

· Запуск системы

После запуска системы GURU из MS DOS на экране появится сообщение с предложением выбрать один из предыдущих сеансов (session) или создать новый.

Сеанс – область памяти, в которую записываются значения глобальных форм и макроопределений, состояний среды, вспомогательных переменных и т. д.

Каждый сеанс выводится в контекстный файл с расширением «ICF». Предложение об этом появляется на экране каждый раз, когда завершается работа с GURU. Для сохранения текущего сеанса в процессе работы можно использовать команду SAVE <параметры>.

После выбора сеанса система вводит пользователя в режим меню.

· Некоторые сведения о работе в режиме меню

1. Меню построено по иерархическому принципу. Перемещение по элементам меню одного уровня осуществляется при помощи клавиш-стрелок или клавиши «Пробел», переход в подменю – клавиши «Ввод», возврат в меню более высокого уровня – «Esc».

2. Для получения контекстно-зависимой подсказкинеобходимо нажать Ctrl‑L.

3. При выборе опции в режиме меню в левом нижнем углу экрана высвечивается ее текстовый эквивалент или информационное сообщение. Текстовый эквивалент команды можно использовать при работе в командном режиме и для ознакомления с системой команд GURU.

4. Как уже отмечалось, из режима меню можно запустить только обратный механизм вывода целевой переменной, остальные механизмы вывода запускаются только из командного режима.

5. Взаимодействие с системой в режиме меню главным образом ориентированно на новичков или случайных пользователей.

· Использование режима меню

Expert Systems – создание и редактирование ЕС, консультация с ЕС.

Natural Language –режим естественного языка. Для выхода из этого режима необходимо набрать «bye» в командной строке.

Information Manager – интегрированный набор инструментальных средств для разработки приложений. С помощью инструментальных средств этого набора можно создавать и редактировать таблицы баз данных, электронные таблицы, текстовые файлы, сложные графические диаграммы, а также организовывать сетевую связь с другими ЭВМ.

Change Environment –позволяет переключаться из режима меню в командный режим, изменять параметры среды, а также задавать макроопределения. Для выхода из командного режима необходимо набрать «bye» в командной строке.

Quit –завершение работы с системой GURU.

· Описание команд меню Expert Systems

Build an Expert System – создание ЭС (приложения).

Existing Rule Set – использование готового набора правил, файлы с набором правил, имеющие расширение «RSS», находятся в одной директории с GURU.

New Rule Set – создание нового набора правил.

Previous Menu – возврат в предыдущее подменю.

Выполнение команд Existing Rule Set или New Rule Set вводит пользователя в режим редактирования набора правил (GURU Rule Set Manager). Запустить режим редактирования набора правил можно также из командной строки GURU, набрав команду BUILD <имя файла с набором правил>.

· Режим редактирования набора правил (GURU Rule Set Manager)

Definition – базовые определения ЭС.

Goal –целевая переменная. Задается имя целевой переменной.

Access Code – код доступа к текущему набору правил. В качестве кода доступа может использоваться упорядоченная последовательность латинских букв от «а» до «р».

Window – задаются размеры и местоположение окна, в которое выводятся объяснения и трассировка в процессе консультации. Если окно не задано, то вывод сообщений будет производиться на весь экран построчно. Это окно полезно определять, если используются формы (forms) для вывода информации на экран.

Replace – выполняет глобальную замену одной строки на другую.

Show Diagram – диаграмма зависимости (дерево целей), графическое представление зависимостей между переменными набора правил.

Previous Menu – возврат в предыдущее подменю.

Initialization – создание или редактирование команд, которые выполняются перед применением набора правил экспертной системы.

Rules – обработка набора правил. Режим редактирования правил.

Browse – поочередный просмотр и/или редактирование всех правил в наборе. Возможен просмотр и/или редактирование только тех правил набора, которые содержат определенную последовательность символов (string pattern) (см. п. 3.5.6).

Lookup/Edit – выбор для редактирования конкретного правила набора (см. п. 3.5.6).

Create – создание нового правила. Пользователь должен ввести имя нового правила (см. п. 3.5.6),

Rename – переименование правила.

Delete – уничтожение правила с заданным именем из набора.

Previous Menu – возврат в предыдущее подменю.

Variables – обработка переменных. Режим редактирования переменных.

Browse – поочередный просмотр и/или редактирование всех переменных. Возможен просмотр и/или редактирование только тех переменных, которые содержат определенную последовательность символов (string pattern) (см. п. 3.5.7).

Lookup/Edit – выбор для редактирования конкретной переменной (см. п. 3.5.7).

Create – создание нового правила. Пользователь должен ввести имя новой переменной (см. п. 3.5.7).

Delete – уничтожение переменной с заданным именем.

Previous Menu – возврат в предыдущее подменю.

Completion – редактирование команд, которые выполняются по окончании консультации.

Print – распечатка набора правил.

Exit – завершение работы и выход из режима редактирования набора правил.

Save – сохранение набора правил в файле с заданным именем и расширением «RSS».

Compile – компиляция набора правил. Создается файл с двоичным кодом и расширением «RSC». В процессе компиляции формируются сообщения об ошибках и замечаниях, выявленных в тексте набора правил. Эти сообщения заносятся в файл с расширением «WRN».

Quit – выход из режима редактирования набора правил.

Previous Menu – возврат в предыдущее подменю.

· Режим редактирования правил

Часть EDIT – редактирование текущего правила (Edit), переход к следующему (Next), предыдущему (Prior) правилу и выход в основное меню режима редактирования набора правил.

В следующем окне описываются параметры текущего правила.

Rule – имя правила.

Priority – приоритет. Если для одной неизвестной переменной определено несколько правил, то в системной переменной E.SORD можно установить критерий, по которому очередность выполнения таких правил будет задаваться в разделе Priority. Приоритет должен быть числовым значением от 1 до 100, где 100 – это наивысший приоритет.

Cost – стоимость. Если для одной неизвестной переменной определено несколько правил, то в системной переменной E.SORD можно установить критерий, по которому очередность выполнения таких правил будет задаваться в разделе Cost. Стоимость – это относительное числовое значение скорости выполнения правил. Так как некоторые правила могут использовать удаленные ресурсы, доступ к которым требует времени, то иногда имеет смысл сначала проверить посылки тех правил, которые выполняются быстрее, а лишь затем, в случае неудачи, перейти к проверке правил с медленной скоростью выполнения. Стоимость должна иметь числовое значение от 1 до 100, где 100 – это наивысшее значение. По умолчанию устанавливается 50. Если переменная E.SORD принимает значение «с», то более «быстрые» правила будут выполняться в первую очередь.

Test – режим проверки посылки правила. Этот режим устанавливается глобально при помощи системной переменной E.TRYP, его можно также установить индивидуально для отдельного правила. Имеется три режима проверки посылки правила:

· S – проверка неизвестных переменных, пока значение какой-либо не будет закончено;

· Е – проверка неизвестных переменных заканчивается, как только посылка правила принимается истинное значение;

· Т – проверка неизвестных переменных независимо от результата оценки посылки.

Сар – вводится число, указывающее, сколько раз правило может быть проверено за одну консультацию. Это значение устанавливается глобально в системной переменной Е.САР или индивидуально – в разделе Сар любого правила.

Часть COMMENT – комментарии к правилу.

Часть READY – серия команд, которая выполняется до проверки части IF.

Часть IF – посылка правила. Может быть любым выражением.

Часть THEN – реакция правила в случае, если посылка верна.

Часть REASON – описание правила на естественном языке. Используется при отображении пользователю объяснений: HOW, WHY.

Часть NEEDS – описание переменных, которые используются в посылке (часть IF) правила. Это описание не обязательно и служит лишь для ускорения процесса компиляции.

Часть CHANGES – описание переменных, которые используются в реакции (часть THEN) правила. Это описание также не обязательно.

· Режим редактирования переменных

Часть EDIT – редактирование текущей переменной (Edit), переход к редактированию следующей (Next) или предыдущей (Prior) переменной и выход в основное меню режима редактирования переменных.

В следующем окне описываются параметры текущей переменной.

Variable – имя переменной.

CF Туре – тип фактора уверенности. Это значение переопределяет системную переменную E.CFVA, которая определяет способ объединения факторов уверенности:

· Р – по приоритету (по степени важности);

· С – по стоимости (относительный показатель в процентах, оценивающий степень трудоемкости);

· Н – по наибольшей достоверности результата;

· U – по наименьшему числу неизвестных переменных в посылке правила;

· R – произвольный порядок;

· F – последовательный порядок.

Limit – максимальное число значений нечеткой переменной. Должно быть меньше или равно значения системной переменной E.NUMV.

Rigor – режим проверки конфликтующих правил для достижения результата с заданной степенью точности. Переопределяет значение системной переменной E.RIGR:

· М – минимальное число правил;

· С – все возможные правила (полный перебор);

· А – все правила, дающие минимально допустимый фактор уверенности плюс правила, увеличивающие достоверность результата. Используется для нечетких переменных.

When – определяет момент выполнения команд в разделе FIND. Переопределяет значение системной переменной E.WHN:

· F – ввод данных пользователем осуществляется перед оценкой посылки правила;

· N – ввод данных со стороны пользователя не предусматривается;

· L – после неудачного вывода запрещается ввод данных от пользователя.

Mix – переопределяет значение системной переменной E.MIX.

Часть LABEL – описание переменной на естественном языке. Используется при отображении пользователю объяснений: HOW, WHY.

Часть FIND – набор команд, момент выполнения которых установлен в разделе When.

· Описание команд меню Information Manager

Data Management – создание, просмотр и редактирование таблиц баз данных.

Use or Finish Table – перед использованием таблицы БД ее необходимо сделать активной (use table). Одновременно могут быть активными несколько БД. Если БД больше не нужна, то пользователю необходимо сообщить об этом системе (finish table).

Table Structuring – манипуляции со структурой таблицы.

Build New Structure – определение структуры новой таблицы. При создании новой таблицы БД пользователь должен:

a) ввести имя новой таблицы (Enter new table name);

b) ввести имя первого поля таблицы длиною не более 8 символов (Name of the first field ...);

c) ввести описание поля на естественном языке длиною не более 25 символов (New field label ...);

d) задать тип поля: строка (STRING), десятичное число (DECIMAL NUMBER) или логическое значение (LOGICAL).

Далее, при необходимости пользователь имеет возможность либо ввести параметры нового поля, либо завершить работу по определению структуры новой таблицы.

Modify Structure – изменение структуры таблицы. Здесь пользователь имеет возможность добавить (Add Field), переименовать (Rename Field), изменить параметры (Modify Field) или уничтожить (Delete Field) поле таблицы. Перед внесением изменений в таблицу в разделе Table Selection выбрать таблицу, с которой будут производиться операции, а по окончании процедуры необходимо выполнить команду Now Perform Changes, чтобы зафиксировать изменения в таблице.

Show Structure – просмотр структуры таблицы.

Delete Table – уничтожение таблицы.

Previous Menu –возврат в предыдущее подменю.

Enter or Modify Data –ввод или изменение данных таблицы. Здесь имеется возможность создавать (Create Records), уничтожать (Delete Records), изменять (Modify Records) записи и редактировать поля (Edit Fields) таблицы. Перед тем, как выполнять любую из этих команд, необходимо выбрать таблицу, специфицировать поля или записи, над которыми будут производиться операции.

View Data –просмотр данных. Просмотр данных может быть групповой, комплексный или по индексу.

Statistics –генерация статистической информации о данных из таблицы или группы таблиц. Перед выполнением команды необходимо выбрать таблицу (Table Selection), специфицировать ее поля (Field Selection) и установить ограничения (Set Conditions). Статистический отчет будет сгенерирован после выполнения команды Execute.

Order Data –это меню позволяет сортировать (Sort) или индексировать (Index) записи таблицы. Для выполнения операции сортировки или индексирования необходимо выбрать таблицу (Table Selection), задать имя файла новой таблицы (Give Sort /Index/ Table Name), указать порядок сортировки(Order Specification) или индексирования (Index Specification). Новаятаблица будет сгенерирована после выполнения команды Execute.

Data Transfer –перевод табличных данных из внешних форматов в формат GURU и наоборот.

Previous Menu –возврат в предыдущее подменю.

Spreadsheet –возможность создания и редактирования электронных таблиц.

Use of Finish Table –перед использованием таблицы БД ее необходимо сделать активной (Use Table). Одновременно могут быть активными несколько БД. Если БД больше не нужна, то пользователю необходимо сообщить об этом системе (Finish Table).

New Spreadsheet –создание новой электронной таблицы.

Name Spreadsheet –задание базовых параметров новой электронной таблицы: имя файла на диске (Enter Name of Spreadsheet), число рядов (Enter number of rows...) и число колонок (Enter number of columns...).

Set Settings –установка оптимальных параметров: пересчет всех полей после каждого ввода (Immediately Recompute), числа значащих цифр после запятой (Number of Digits Past Decimal), цвета переднего (Foreground Color) и заднего планов (Background Color).

Work on it –редактирование данных новой электронной таблицы. Перемещение по меню электронной таблицы производится при помощи клавиши «Пробел».

Load Table Data –для перевода данных из таблицы БД в формат электронной таблицы. После выполнения операции первый ряд электронной таблицы будет содержать данные из полей первой записи таблицы БД, второй ряд – из полей второй записи и т.д.

Previous Menu –возврат в предыдущее подменю.

Existing Spreadsheet –редактирование электронной таблицы.

Recall One –загрузка электронной таблицы из файла. Если у вас имеется не закрытая электронная таблица, то сначала рекомендуется ее закрыть.

Work on it –редактирование данных электронной таблицы. Перемещение по меню электронной таблицы при помощи клавиши «Пробел».

Load Table Data –используется для перевода данных из таблицы БД в формат электронной таблицы. После выполнения операции первый ряд электронной таблицы будет содержать данные из полей первой записи таблицы БД, второй ряд – из полей второй записи и т.д.

Delete a Spreadsheet –уничтожение файла электронной таблицы.

Change Settings –изменение опциональных параметров электронной таблицы: пересчет всех полей после каждого ввода (Immediately Recompute), числа значащих цифр после запятой (Number of Digits Past Decimal), цвета переднего (Foreground Color) и заднего планов (Background Color).

Previous Menu –возврат в предыдущее подменю.

1-2-3 Spreadsheet –редактирование данных в программе Lotus 1-2-3. Эта команда работает только в том случае, если в вашей системе установлена программа Lotus 1-2-3.

Previous Menu –возврат в предыдущее подменю.

Graphics –генерирует графики на основе числовых значений электронных таблиц или таблиц БД.

Text –создание, просмотр и редактирование текстового файла.

Communications –организация сетевого взаимодействия с другой ЭВМ.

Layouts –разработка экранных форм для форматированного вывода данных на экран и шаблонных форм для генерирования отчетов в файл.

Forms –разработка экранных форм для форматированного вывода данных на экран. Вывод на экран производится в алфавитно-цифровой форме.

Здесь имеется возможность создания новой формы (New Form) или редактирования уже созданной (Existing Form). При работе над дизайном экранной формы пользователь имеет возможность:

· создавать рамку формы заданного размера и назначать ее цвет;

· назначать цвет экрана и его части;

· создавать постоянный символьный элемент в заданном месте экрана и назначать его цвет;

· сохранять созданную форму в файл с расширением «IFF».

Operations – здесь пользователь имеет возможность выполнять программу GURU, внешнюю программу, макроопределение, команду операционной системы, а также использовать калькулятор.

Previous Menu – возврат в предыдущее подменю.

 

Лабораторное занятие №7

 


Просмотров 466

Эта страница нарушает авторские права




allrefrs.ru - 2021 год. Все права принадлежат их авторам!