Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВОПРОСЫ ГОСУДАРСТВЕННОГО ЭКЗАМЕНА.docx
Скачиваний:
319
Добавлен:
12.04.2015
Размер:
5.76 Mб
Скачать

3. Экспертные системы

Структура статической экспертной системы.

Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.5):

  • решателя (интерпретатора);

  • рабочей памяти (РП), называемой также базой данных (БД);

  • базы знаний (БЗ);

  • компонентов приобретения знаний;

  • объяснительного компонента;

  • диалогового компонента.

 База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи.

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

Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.

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

Рис. 1.5 Структура статической ЭС

В разработке ЭС участвуют представители следующих специальностей:

  • эксперт в проблемной области, задачи которой будет решать ЭС;

  • инженер по знаниям - специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);

  • программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.

Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.

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

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

Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.

Примеры задач, решаемых экспертными системами.

 Перечень типовых задач, решаемых экспертными системами, включает:

  • извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);

  • диагностика неисправностей (как в технических системах, так и в человеческом организме);

  • структурный анализ сложных объектов (например, химических соединений);

  • выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);

  • планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).

Технология разработки экспертной системы.

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

Рис. 1.7 Этапы разработки ЭС.

Этап идентификации

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

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

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

Этап концептуализации

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

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

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

Этап формализации

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

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

Этап выполнения

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

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

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

Этап тестирования

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

Различают следующие источники неудач в работе системы: тестовые примеры, ввод-вывод, правила вывода, управляющие стратегии.

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

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

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

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

Нередко к ошибкам в работе ЭС приводят применяемые управляющие стратегии. Недостатки в управляющих стратегиях могут привести к чрезмерно сложным заключениям и объяснениям ЭС.

Этап опытной эксплуатации

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

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

Системы с нечеткой логикой.

Нечеткая логика (fuzzy logic) является обобщением привычной булевой логики, оперирующей с двоичными числами, которые соответствуют понятиям истина и ложь. В нечеткой логике эти понятия обобщаются и на все промежуточные между истиной и ложью состояния. В соответствии с этим нечеткая логика оперирует числами из интервала [0,1], которые отражают степень истинности высказывания. Впервые теория нечетких множеств была сформулирована профессором Калифорнийского университета Заде.

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

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

Рассмотрим пример такого обобщения. Пусть имеются нечеткие числа a и b. Суммой двух нечетких чисел называется нечеткое число, совпадающее с максимальным операндом: c = a + b = max(a,b). Произведением двух нечетких чисел называется нечеткое число, равное минимальному операнду: c = a * b = min(a,b). В соответствии с введенными определениями множество нечетких чисел является замкнутым относительно данных операций.

Одним из важных применений нечеткой логики выступают нечеткие экспертные системы (НЭС), в которых логические правила вывода оперируют с нечеткими операциями. Для знакомства с НЭС и другими приложениями нечеткой логики можно порекомендовать книгу японских авторов Т.Тэрано, К.Асаи и М.Сугэно.

В этой части книги мы остановимся на формулировке нейросетевых моделей на языке нечеткой логики. В модели Хопфилда с обучением сети по правилу Хэбба все вычисления основаны на операциях сложения и умножения. Если описывать значения весов и активности нейронов нечеткими числами, то правило Хэбба может быть сформулировано на языке нечетких операций. Вклад в матрицу связей от образа x(k) принимает вид:

Полная матрица связей получается нечетким суммированием отдельных вкладов:

Вычисление активности нейронов производится на с использованием скалярного произведения:

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

Для умножения чисел отверстия следует наложить друг на друга, при этом пропускание света будет ограничено минимальным отверстием, которое и дает требуемое произведение. При сложении следует фокусировать на одну плоскость два параллельных луча света, каждый из которых пропущен независимо через одно из отверстий. Полученное световое пятно будет соответствовать максимальному отверстию. Соответствующая оптическая схема сети Хопфилда была предложена и опубликована в журнале Optics Letters.

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

Литература: [1], [5].