основанные на правилах экспертные системы rule based expert

advertisement
«Ученые заметки ТОГУ» Том 5, № 4, 2014
ISSN 2079-8490
Электронное научное издание
«Ученые заметки ТОГУ»
2014, Том 5, № 4, С. 1249 – 1266
Свидетельство
Эл № ФС 77-39676 от 05.05.2010
http://pnu.edu.ru/ru/ejournal/about/
ejournal@pnu.edu.ru
УДК 004.891.2
© 2014 г. А. Абрахам
(MIR Labs, Оберн, США)
П. Н. Семченко, канд. техн. наук
(Тихоокеанский государственный университет, Хабаровск)
ОСНОВАННЫЕ НА ПРАВИЛАХ ЭКСПЕРТНЫЕ СИСТЕМЫ
В данной статье показано, как экспертные системы на основе правил могут
быть полезным для задач обработки сигнала. Представлены эвристические
решения проблем, сопровождаемые некоторыми фундаментальными аспектами обычных систем на основе правил и нечётких экспертных систем. Показана структура нечёткой экспертной системы для прогнозирования.
Ключевые слова: нечёткая логика, экспертная система, эвристика, прогнозирование, основанные на правилах системы.
A. Abraham, P. N. Semchenko
RULE BASED EXPERT SYSTEMS
In this article describes how rule based expert systems could be useful for signal
processing tasks. Heuristic problem solving is introduced which is followed by
some fundamental aspects of conventional rule based systems and fuzzy expert
systems. Design of a fuzzy expert system for a forecasting is also illustrated.
Keywords: fuzzy logic, expert system, heuristics, forecasting, rule based systems.
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1249
«Ученые заметки ТОГУ» Том 5, № 4, 2014
Решение проблем с помощью эвристики
Решением проблем является процесс поиска решения, когда путь, ведущий к решению, неочевиден. Даже если мы знакомы с несколькими методами решения проблем,
в реальном мире многие проблемы не могут быть решены методами, с которыми мы
знакомы. Удивительно, для некоторых сложных проблем никакая прямая техника решения не известна вообще. Для этих задач эвристические методы решения могут быть
единственной альтернативой. Эвристика может быть упрощена в качестве стратегии,
которая является мощной и общей, но не абсолютно гарантирующей обеспечение
наилучшего решения. Эвристические методы используются для решения конкретных
проблем. Предыдущий опыт и некоторые общие правила могли бы помочь легче найти
хорошие эвристические методы. Люди часто используют эвристические методы при решении задач. Конечно, если эвристический метод не позволяет решить задачу, необходимо выбрать другой эвристический метод, или знать, что целесообразно отказаться от
решения. Выбор случайных решений, использование «жадных алгоритмов», развитие
основного эвристического метода для того, чтобы найти лучший эвристический метод,
являются только некоторыми из популярных подходов, используемых в эвристическом
решении задач[17]. Эвристическое решение задачи состоит в нахождении набора правил
или процедуры, которые находят удовлетворительное решение конкретной задачи. Хорошим примером является нахождение пути через лабиринт. Чтобы пройти путь к конечной цели, необходимо пошаговое движение. Очень часто делаются ложные ходы, но
в большинстве случаев мы решаем задачу без особых затруднений. Для задачи лабиринта простое эвристическое правило может быть таим: "выбирать направление, в котором, по-видимому, можно добиться успеха".
Другим хорошим примером является задача календарного планирования, заключающаяся в том, чтобы составить график Jn независимых заданий n = {1,2,….N} с использованием Rm различных средств m = {1,2,….,M} с целью минимизации времени
выполнения всех заданий и эффективного использовании всех средств. Каждое Jп задание имеет технические условия в качестве Pj циклов и средство R м имеет скорость Si
циклов за единицу времени. Каждое задание Jn должно выполняться с использованием
средства Rm до своего завершения. Если Cj – это время, требущееся на завершение последнего задания j, тогда мы полагаем Cmax = max {Cj , j=1,…,N} как период выполнения задания и ΣCj как время выполнения всего объёма работ. Задача состоит в том,
чтобы найти оптимальное расписание, которое оптимизирует время выполнения всего
объёма работ и период выполнения задания. Несколько простых эвристических правил
для достижения этой цели - это планирование выполнения самых коротких зааний на
самых быстрых средствах (Shortest Job on the Fastest Resource – SJFR), которая сведет
к минимуму ΣCJ или планирование самого долгого задания на самых быстрых средствах (Longest Job on the Fastest Resource – LJFR), которая сведет к минимуму Cmax.
Минимизация ΣCJ порождает быстрое выполнение заданий средней продолжительности
за счёт выполнения долгих заданий, требующих много времени, тогда как сведение к
минимуму Cmax, порождает то, что никакая задача не занимает слишком много времени,
однако в целом выполнение большинства заданий занимает не самое короткое время.
Таким образом, минимизация Cmax приведёт к максимизации ΣCj, что делает задачу более интересной.
В отличие от эвристических методов, алгоритмы являются простыми процедурами, которые гарантированно работают каждый раз.
Например, некоторые ежедневные рутинные задачи могут быть сформулированы
в формате алгоритма (например, запуск автомобиля). Однако для "решателя задач",
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1250
«Ученые заметки ТОГУ» Том 5, № 4, 2014
чтобы он был более адаптивным, должны быть введены новые элементы или новые обстоятельства. Многие реальные проблемы в мире не могут быть сведены к алгоритмам,
что приводит нас к поискам более эффективных методов.
Cистемы, основанные на правилах
Обычные компьютерные программы для решения задач создаются с использованием хорошо стуктурированных алгоритмов, структур данных и чётких стратегий рассуждений для поиска решений. Для трудных проблем, с которыми связывают экспертные системы, более полезным является использование эвристики: стратегии, которые
часто приводят к правильному решению, но также иногда могут привести к неверному
результату. Обычные системы, основанные на правилах, используют экспертные знания
для решения реальных жизненных проблем, которые обычно требуют человеческого интеллекта. Экспертное знание часто представляется в виде правил или как данные в
компьютере. В зависимости от требований проблемы эти правила и данные могут повторно использоваться для решения проблем. Экспертные системы на основе правил
играют важную роль в современных интеллектуальных системах и их применении в
стратегическом целеполагании, планировании, проектировании, распределении средств
по задачам, контроле неисправностей, диагностике и так далее. С техническим прогрессом в последнее десятилетие сегодняшние пользователи могут выбрать из десятков
коммерческих пакетов программного обеспечения с дружественным графическим пользовательским интерфейсом[14].
Обычные компьютерные программы решают задачи, используя находящую решения логику, которая содержит очень небольшие знания помимо основного алгоритма
для решения данной конкретной проблемы. Базовые знания часто вкладывается как
часть программного кода, таким образом, программа должна быть перестроена при изменении знаний. Основанные на знаниях экспертные системы собирают небольшие
фрагменты человеческих ноу-хау в базу знаний, чтобы производить рассуждения по
проблеме, используя соответствующее знание.
Важным преимуществом является то, что в области одной базы знаний различные проблемы могут быть решены с помощью той же программы без затрат на перепрограммирование. Кроме того, экспертные системы могут раскрыть ход рассуждений
и хорошо справляются степенями достоверности и неопределенности, с которыми обычные алгоритмы не могут справиться[13]. Некоторыми важными преимуществами экспертных систем являются:
• Возможность фиксировать и сохранять незаменимый человеческий опыт;
• Возможность развивать систему более последовательно, чем людей-экспертов;
• Уменьшение необходимости экспертизы силами человека сразу в нескольких
местах (особенно в агрессивной среде, которая является опасной для здоровья человека);
• Решение может быть разработано быстрее, чем людьми-экспертами.
Основные компоненты экспертной системы изображены на рисунке 1. База знаний хранит всю соответствующую информацию, данные, правила, случаи, и отношения,
используемые экспертной системой.
База знаний может сочетать знания нескольких экспертов-людей. Правило – это
условный оператор, который связывает имеющиеся условия с действиями или результатами. Фрейм – это другой подход, используемый для фиксирования и сохранения знаний в базе знаний. Это связывает объект или элемент к различным фактам или значениям. Представление, основанное на фреймах, идеально подходит для объектноhttp://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1251
«Ученые заметки ТОГУ» Том 5, № 4, 2014
ориентированного представления. Экспертные системы с использованием фреймов для
хранения знаний называют также экспертными системами, основанными на фреймах.
Рис. 5. Архитектура простой экспертной системы
Цель механизма логического вывода – это получение информации и связей с базой знаний и предоставление ответов, прогнозов и предложений путём, который прошёл
бы человек-эксперт. Механизм логического вывода должен найти верные факты, интерпретации и правила и скомпоновать их правильно. Широко используются два метода
логического вывода. Обратный вывод представляет собой процесс, начинающийся с
имеющегося заключения, и работает он в обратном порядке, чтобы обнаружить входные факты. Прямой вывод начинает работу с фактами и работает в прямом направлении до вывода заключений. Средство разъяснения позволяет пользователю понять, как
экспертная система пришла к определённым результатам. Основной целью средства пополнения базы знаний объекта является предоставление удобных и эффективных
средств для сбора и хранения всех компонентов базы знаний.
Очень часто пользовательский интерфейс специализированного программного
обеспечения используется для разработки, обновления и использования экспертных систем. Целью пользовательского интерфейса являетсяоблегчение использования экспертной системы разработчиками, пользователями и администраторами.
Механизм вывода в системах, основанных на правилах
Основанная на правилах система состоит из правил ЕСЛИ-ТО, множества фактов, и некоторого интерпретатора, управляющего применением правил с учётом фактов. Эти выражения правил ЕСЛИ-ТО используются для разработки условных выражений, которые составляют полную базу знаний. Отдельное правило ЕСЛИ-ТО принимает вид «если x является A, то y является B», условная часть правила «если x является A» называется антецедентом, а часть правила, являющая собой следствие, «то y
является B», называется консеквентом или следствием. Существуют два основных вида
механизма логического вывода: системы прямого вывода и системы обратного вывода.
В системе прямого вывода начальные факты обрабатываются в первую очередь
и используются в правилах для того, чтобы сделать новые выводы с учётом этих фактов. В системе обратного вывода мы пытаемся обработать гипотезу (или решение/цель) первой и продолжаем поиски правил, которые позволили прийти к гипотезе.
В то время как происходит обработка, новые подцели также помечаются для
проверки корректности. Системы прямого вывода в первую очередь работают с данными, в то время как системы обратного вывода работают с целью. Рассмотрим пример с
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1252
«Ученые заметки ТОГУ» Том 5, № 4, 2014
следующим набором правил ЕСЛИ-ТО:
Правило 1: Если A и C, то Y
Правило 2: Если A и X, то Z
Правило 3: Если B, то X
Правило 4: Если Z, то D
Задача состоит в том, чтобы доказать, что D верно, учитывая, что A и B истинны. В соответствии с прямым выводом, начинаем с Правила 1 и идём вниз, пока не
найдётся правило, которое активируется. Правило 3 является единственным, которое
активировалось в первой итерации. После первой итерации, можно сделать вывод, что
A, B и X являются истиной. Вторая итерация использует эту полезную информацию.
После второй итерации активируется добавляющие Z в список истинных фактов Правило 2, в свою очередь помогающее активироваться Правилу 4, доказывающему, что D
– истинно. Стратегия прямого вывода особенно подходит в ситуациях, когда сбор данных является дорогим, но имеется несколько фактов. Однако, особое внимание должно
быть уделено тогда, когда эти правила создаются, с указанием предварительных условий как можно точнее, когда различные правила должны активироваться.
В методе обратного вывода обработка начинается с желаемой цели, а затем происходят попытки найти доказательства для подтверждения цели. Возвращаясь к тому
же примеру, задаче доказать, что D верно, в первую очередь будет инициализировано
правило, которое подтверждает D. Правило 4 также предоставляет подцель доказать,
что Z истинно. Теперь Правило 2 вступает в игру, и, так как уже известно, что A истинно, новой подцелью является доказательство того, что X верно. Правило 3 предоставляет следующую подцель доказать, что В верно. Но то, что B истинно, является
одним из входных утверждений. Поэтому можно сделать вывод, что X истинно, откуда
следует, что Z является истиной, что в свою очередь также означает, что D – это истина. Обратный вывод является полезным в ситуациях, когда количество данных является потенциально очень большим, и где некоторые конкретные характеристики рассматриваемой системы представляет интерес. Если нет достаточных знаний, позволяющих
прийти к заключению, или имеется некоторая определённая гипотеза для проверки на
корректность, системы прямого вывода могут быть неэффективными. В принципе мы
можем использовать тот же набор правил и для прямого, и для обратного вывода. В
случае обратного вывода, основная проблема состоит в соответствии заключения правила некоторой цели, которая должна быть доказана; часть правила "тогда" (консеквент)
обычно не выражается как действие для выполнения, но выражается просто в качестве
состояния, которое будет истиной, если условная часть (части) будет истиной[12].
Развитие экспертных систем
Шаги в процессе развития экспертных систем включают определение фактических потребностей, приобретения знаний, построения компонентов экспертной системы,
внедрение результатов и разработке процедур для технического обслуживания и анализа.
Приобретение знаний является наиболее важным элементом в развитии экспертной системы[19]. Знания могут быть получены путём опроса экспертам в этой области
и/или обучения на опыте. Очень часто люди выражают знания в естественном языке
(разговорный язык) или с помощью письма, или символических терминах. Есть несколько методов для извлечения человеческих знаний. Познавательный анализ работы
(Cognitive Work Analysis, CWA) и познавательный анализ задачи (Cognitive Task
Analysis, CTA) обеспечивают платформы для извлечения знаний. CWA – это технолоhttp://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1253
«Ученые заметки ТОГУ» Том 5, № 4, 2014
гия для анализа, разработки и оценки человеко-машинных интерактивных системы[22].
CTA является методом для выявления познавательных навыков, психологических требований и потребностей для выполнения задач квалификации[18]. CTA сосредоточен на
описании представления познавательных элементов, которые определяют целевую генерацию и принятие решений. CTA является надёжным методом для извлечения человеческих знаний, поскольку она основана на наблюдениях и интервью.
Большинство экспертных систем разрабатываются с использованием специализированных программных средств, называемых оболочками. Эти оболочки оснащены механизмом вывода (обратного вывода, прямого вывода, или тот и другой вместе), и требуют знаний, которые будут введены в соответствии с указанным форматом. Один из
самых популярных оболочек широко используется во всём правительстве, промышленности и научных кругах CLIPS[7, 25]. CLIPS – это средство разработки экспертных систем, которое предоставляет полную среду для конструирования правила и/или объектно ориентированных экспертных систем. CLIPS обеспечивает единый инструмент
для обработки широкого спектра знаний с поддержкой трёх различных парадигм программирования: основанной на правилах, объектно-ориентированный и процедурный
характер. CLIPS написан на C для мобильности и скорости, и был установлен на различных операционных системах без изменений в коде.
Популярной оболочкой, позволяющей описывать нечёткие экспертные системы,
является FuzzyCLIPS[1, 24]. Данная модификация дополняет возможности CLIPS,
предоставляя возможности нечёткой аргументации. Расширения для нечёткой логики
полностью интегрированы с фактами и предположениями ядра CLIPS, что даёт возможность представлять и манипулировать нечёткими фактами и правилами.
FuzzyCLIPS может иметь дело с чёткими, нечёткими и комбинированными аргументациями, что позволяет свободно смешивать нечёткие и нормальные условия в правилах и фактах экспертной системы. Система использует два понятия мягких вычислений: нечёткость и неопределённость. FuzzyCLIPS предоставляет полезную среду для
разработки приложений, использующих нечёткую логику в системах принятия решений.
Существующая на данный момент реализация FuzzyCLIPS версии 6.10d может
использоваться при разработке распределённых информационных систем поддержки
принятия решений, таких как клиент-серверная среда динамических экспертных систем.
Действительно, дополнения для нечёткой логики в системе FuzzyCLIPS хорошо документированы и существенно расширяют возможности инженеров по знаниям при разработке экспертных систем в различных предметных областях.
Учитывая всё вышесказанное, а также современные тенденции развития информационных технологий, можно прийти к выводу о том, что используеvые на практике
экспертные системы должны быть динамическими, многопользовательскими и даже
распределёнными[3]. В такой среде должно быть возможно едиными средствами и механизмами создавать и использовать экспертные системы для любой предметной области, используя при этом возможности CLIPS и FuzzyCLIPS. Реализация подобной среды возможна с помощью трёхзвенной архитектуры, подразумевающей использование
технологий баз данных – и это действительно удобно, перенести все правила, факты и
описания функций в реляционную базу данных, являющуюся единым источником для
ядра экспертной системы. Средства и технологии, используемые в реляционных базах
данных, позволят организовать хранение результатов работы экспертных систем[24].
Также реляционная база данных позволит организовать существование параллельно нескольких экспертных систем в одной среде. Это обосновывается единством используемых инструментальных средств для работы с экспертными системами по различным
предметным областям, единым подходом к обработке информации, что в конечном итоhttp://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1254
«Ученые заметки ТОГУ» Том 5, № 4, 2014
ге избавит пользователей от освоения большого количества аналогичных технологий.
Описанная сложная динамическая система является клиент-серверной средой динамических экспертных систем[2, 24]. На этапе численного моделирования, например, в
системе с графическим языком Mathcad[5] для этой системы можно пользоваться имеющейся математической моделью на основе марковских процессов с непрерывным временем и дискретными состояниями[4].
Нечёткие экспертные системы
Мир информации окружён неопределенностями и неточностями. Человеческий
процесс рассуждений может обрабатывать неточные, неопределённые и расплывчатые
концепции соответствующим образом. Как правило, человеческое мышление, рассуждения и процесс восприятия не могут быть выражены точно. Эти типы опыта редко могут
быть выражены или измерены с помощью статистических или вероятностных теорий.
Нечёткая логика обеспечивает основу для моделирования неопределенности, человеческого мышления, рассуждений и процесса восприятия. Нечёткие системы были впервые
представлены Лотфи Заде, профессором Калифорнийского университета в Беркли, в
его основополагающей работе, опубликованной в 1965[23].
Нечёткие экспертные системы – это просто экспертные системы, которые использует набор нечётких функций принадлежности и правил вместо булевой логики, для
рассуждения о данных[20]. Правила в нечёткой экспертной системе, как правило, находятся в форме, аналогичной следующей: «Если A низкое и B высокое, то X = среднее»,
где А и В являются входными переменными, а X является выходной переменной. Здесь
низкое, высокое, среднее являются нечёткими множествами, определённые на A, B и X
соответственно. Антецендент (условие правила) описывает, в какой степени применимо
правило, в то время как консеквент правила присваивает функции принадлежности к
одной или нескольким выходным переменным.
Пусть X – это пространство объектов, а x – это общий элемент пространства X.
Классическое множество A, A ⊆ X, определено как совокупность элементов или объектов x ∈ X, таких что x может либо принадлежать, либо не принадлежать A. Нечёткое
множество A на пространстве X определено как множество упорядоченных пар
A = {(x , μ A (x )) x ∈ X }
(1)
где μ A ( x ) называется функцией принадлежности (membership function, MF) на нечётком множестве A. Функция принадлежности ставит в соответствие каждый элемент
пространства X степени принадлежности (или значению принадлежности) между 0 и 1.
Очевидно, что выражение (1) является простым расширением определения классического множества, в котором характеристическая функция может иметь значения между
0 и 1.
Пересечением двух нечётких множеств A и B в общем определяется функцией T:
×
[0,1]
[0,1] → [0,1], которая объединяет в одно целое две степени принадлежности следующим образом:
μA ∩B (x ) = T (μA (x ), μB (x )) = μA (x ) ∗ μB (x )
(2)
где ∗ является бинарным оператором функции T. Этот класс нечётких операторов пересечения, как правило, называется операторами T-нормы[15]. Четыре наиболее часто
используемых оператора T-нормы следующие:
(3)
Минимум: Tmin (a, b) = min(a, b) = a ∧ b
Алгебраическое произведение: Tap (a, b) = ab
(4)
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1255
«Ученые заметки ТОГУ» Том 5, № 4, 2014
Ограниченное произведение: Tbp (a, b) = 0 ∨ (a + b − 1)
(5)
⎧a, if b = 1
⎪
(6)
Сильное произведение: Tdp (a, b) = ⎨b, if a = 1
⎪0, if a, b < 1
⎩
Как и пересечение, оператор нечёткого объединения в общем описывается функцией S: [0,1] × [0,1] → [0,1], которая объединяет в одно целое две степени принадлежности следующим образом:
μA ∪B (x ) = S (μA (x ), μB (x )) = μA (x ) + μB (x )
(7)
где + является бинарным оператором S. Этот класс нечётких операторов пересечения,
как правило, называется операторами T-конормы (или S-нормы)[15]. Четыре наиболее
часто используемых оператора T-конормы следующие:
Максимум: S max (a, b) = max(a, b) = a ∨ b
(8)
Алгебраическое объединение: Sas (a, b) = a + b − ab
(9)
Ограниченное объединение: Sbs (a, b) = 1 ∧ (a + b)
(10)
⎧a, if b = 0
⎪
(11)
Сильное объединение: Sds (a, b) = ⎨b, if a = 0
⎪1, if a, b > 0
⎩
И оператор пересечения, и оператор объединения сохраняют некоторые свойства
классических операций на множествах. В частности, они являются ассоциативными и
коммутативными.
Рис. 2. Базовая архитектура нечеткой экспертной системы.
Рисунок 2 иллюстрирует основную архитектуру нечёткой экспертной системы.
Основными компонентами являются интерфейс фаззификации, база нечётких правил
(база знаний), механизм логического вывода (логика принятия решений) и интерфейс
дефаззификации. Входные переменные преобразуются в нечёткие посредством функций
принадлежности, определённых на входных переменных и применяемых к фактическим
значениям входных переменных для установления степени принадлежности для каждого антецендента правила. Нечеткие правила если-то и нечеткие рассуждения являются
основой нечётких экспертных систем, которые является наиболее важными инструментами моделирования на основе теории нечётких множеств. База нечётких правил выражена в форме правил если-то, в которых антеценденты и консеквенты имеют лингвистические переменные. Совокупность этих нечётких правил формирует базу правил
для системы нечёткой логики. При спользовании подходящей процедуры логического
вывода вычисляется степень истинности для антецедента каждого правила, а затем
применяется к консеквенту каждого правила. Это приводит к получению одного нечёткого подмножества, которое будет присвоено каждой выходной переменной для каждоhttp://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1256
«Ученые заметки ТОГУ» Том 5, № 4, 2014
го правила. Кроме того, при использовании подходящей процедуры составления, все нечёткие подмножества, присвоенные каждой выходной переменной, объединяются вместе, чтобы сформировать единственное нечёткое подмножество для каждой выходной
переменной. Наконец, дефаззификация применяется для преобразования нечёткого вывода в чёткий вывод.
В сущности, механизм нечёткого логического вывода может принимать либо нечёткий, либо чёткий ввод, выходов, но на выход всегда выдаются нечёткие множества.
Задача дефаззификации – извлечение чёткого вывода, который наилучшим образом
представляет нечёткое множество. С чётким вводом и выводом, нечёткий механизм логического вывода осуществляет нелинейное сопоставление от своего входного пространства к выходному, используя множество нечётких правил если-то.
В дальнейшем следует описание двух наиболее распространённых в различных
приложениях популярных механизмов нечёткого логического вывода. Различия между
этими двумя механизмами нечёткого логического вывода находятся в консеквентах их
нечётких правил, и, таким образом, их объединяющие и дефаззифицирующие процедуры отличаются соответствующим образом.
Рис. 3. Система нечёткого вывода Мамдани с использованием min и max операторов
для T-нормы и Т-конормы.
В соответствии с механизмом нечёткого логического вывода Мамдани[16], антеценденты
и консеквенты правила определяются нечёткими множествами и имеют следующую
структуру:
if x is A
1
'
and y is B 1 then z = C
1
1
(12)
Существует несколько методов дефаззификации. Однако, наиболее широко используемый метод дефаззификации использует способ получения центра тяжести пространства
следующим образом:
Центр тяжести пространства ZCOA =
∫ μ (z ) z dz ,
∫ μ (z )dz
Z
Z
A
(13)
A
где μ A ( z ) является объединённым выводов функции принадлежности.
Такаги, Сугэно, и Канг[21] предлагают схему логического вывода, в которой заключение нечёткого правила состоит из взвешенной линейной комбинации чёткого ввода, а не
нечёткого множества Сущность механизма нечёткого логического вывода ТакагиСугэно изображена на рисунке 4, а правила имеют следующую структуру:
if x is A and y is B 1, then z 1 = p x + q y + r1
(14)
1
1
1
где p1, q1 и r1 являются линейными параметрами. Нечёткий контроллер Такаги-СугэноКанга (TSK) обычно нуждается в меньшем количестве правил, потому как их вывод
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1257
«Ученые заметки ТОГУ» Том 5, № 4, 2014
уже является линейной функцией от входа, а не неизменным нечётким множеством.
Рис. 4. Механизм нечёткого логического вывода Такаги-Сугэно с использованием
оператора минимального произведения в качестве T-нормы.
Моделирование нечётких экспертных систем
Моделирование нечётких экспертных систем может осуществляться с использованием следующих шагов.
• Выберите соответствующие входные и выходные переменные. Определите количество лингвистических термов, связанных с каждой входной/выходной переменной.
Также выберите соответствующее семейство функций принадлежности, нечётких операторов, механизм рассуждения и т.д.
• Выберите опредёленный тип системы нечёткого логического вывода (например,
Мамдани, Такаги-Сугэно и т.д.). В большинстве случаев механизм логического вывода
нечётких правил осуществляется с помощью операторов максимума и минимума для
нечёткого пересечения и объединения.
• Разработайте набор нечётких правил если-то (базу знаний). Чтобы сформулировать исходную базу правил, входное пространство разделяется на многомерные
участки, а затем назначаются действия на каждом из участков.
В большинстве приложений, разделение достигается с помощью одномерных
функций принадлежности с использованием нечёткого правила если-то, как показано
на рисунке 5. Консеквенты правила представляют действия, связанные с каждым
участком. Очевидно, что функции принадлежности и множество правил тесно связаны
с разделением на участки.
Рис. 5. Пример, показывающий организацию двумерных пространств, разделённых с
использованием трёх трапециевидных функций принадлежности на входное измерение
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1258
«Ученые заметки ТОГУ» Том 5, № 4, 2014
пространства. Простое правило если-то вводится как Если вход-1 – средний и вход-2 –
большой, тогда активируется правило R8
Пример разработки нечёткой экспертной системы
Этот раздел освещает разработку модели предсказания реактивной мощности с
использованием нечётких механизмов логического вывода Мамдани и Такаги-Сугэно в
экспертных системах.
Набор иструментов MatLab для нечёткой логики был использован для имитации
различных экспериментов[6]. Задачей является разработка нечёткой экспертной системы для прогнозирования реактивной мощности (Р) в момент времени t+1 при известных токе нагрузки (I) и напряжении (V) в момент времени t. Система эксперимента состоит из двух этапов: разработка нечткой экспертной системы и оценка эффективности
с использованием данных для испытаний.
Модель имеет две входных и выходных переменных (V и I) и одну выходную переменную (P). Обучающие и тестирующие наборы данных были извлечены случайно из
основного набора данных. 60% данных были использованы для обучения и оставшиеся
40% для испытаний[10].
Сначала были проанализированы (a) влияние формы и количества функций принадлежности, (b) операторов T-нормы и T-конормы, (c) методов дефаззификации и (d)
методов логиеческого вывода на разработку нечёткой экспертной системы. Эксперименты проводились с использованием четырёх различных параметров с помощью одной и
той же базы правил.
Эксперимент 1 (Для оценки влияния количества функций принадлежности).
Следующие параметры были использованы для разработки экспертной системы:
1. Две треугольных функций принадлежности для каждой входной переменной и
четыре треугольных функции принадлежности для выходной переменной (мощности). С
использованием метода разделения входного набора на многомерные пространства
(«разделение на ячейки») (рис. 5), были разработаны четыре правила если-то.
2. Три треугольных функции принадлежности для каждой входной переменной и
девять треугольных функции принадлежности для выходной переменной (мощности).
Базу правил составляют девять правил если-то.
В качестве операторов T-нормы и T-конормы были использованы операторы минимума и максимума, метод центра тяжести используется для дефаззификации в механизме логического вывода Мамдани, а метод среднего взвешенного для дефаззификации используется в механизме логического вывода Такаги-Сугэно. Разработанные системы нечёткого логического вывода с использованием моделей Мамдани и ТакагиСугэно представлены на рисунках 6 - 9.
Таблица 1 обобщает обучающее и испытательное значения среднеквадратичного
отклонения (Root Mean Squared Error, RMSE).
Таблица 1
Эмпирическое сравнение систем нечёткого логического вывода и количества функций
принадлежности
№ п/п функции принадлежности
2
3
Механизм нечёткого логичеМеханизм нечёткого логического вывода Мамдани
ского вывода Такаги-Сугэно
Среднеквадратичное отклонение
Обучение
Испытание
Обучение
Испытание
0.401
0.397
0.024
0.023
0.348
0.334
0.017
0.016
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1259
«Ученые заметки ТОГУ» Том 5, № 4, 2014
Рис. 6. Система нечёткого вывода Мамдани с использованием двух треугольных
функций принадлежности для входных переменных
Рис. 7. Система нечёткого вывода Такаги-Сугэно с использованием двух треугольных
функций принадлежности для входных переменных
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1260
«Ученые заметки ТОГУ» Том 5, № 4, 2014
Рис. 8. Система нечёткого вывода Мамдани с использованием трёх треугольных
функций принадлежности для входных переменных
Рис. 9. Система нечёткого вывода Такаги-Сугэно с использованием трёх треугольных
функций принадлежности для входных переменных
Эксперимент 2 (Для оценки влияния формы функций принадлежности).
Для системы логического вывода Мамдани использовались три гауссовских
функции принадлежности для каждой входной переменной и девять гауссовских функций принадлежности для выходной переменной. Базу правил составляют девять правил
если-то. В качестве операторов T-нормы и T-конормы были использованы операторы
минимума и максимума, метод центра тяжести используется для дефаззификации в
механизме логического вывода Мамдани, а метод среднего взвешенного для дефаззификации используется в механизме логического вывода Такаги-Сугэно. Разработанные
системы нечёткого логического вывода с использованием моделей Мамдани и ТакагиСугэно изображены на рисунках 10 и 11. Таблица 2 обобщает обучение и испытание
значений среднеквадратичного отклонения.
Таблица 2
Эмпирическое сравнение систем нечёткого логического вывода с использованием
гауссовских функций принадлежности
Механизм нечёткого логического выво- Механизм нечёткого логического вывода
да Мамдани
такаги-Сугэно
Среднеквадратичное отклонение
Обучение
Испытание
Обучение
Испытание
0.243
0.240
0.021
0.019
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1261
«Ученые заметки ТОГУ» Том 5, № 4, 2014
Рис. 10. Система нечёткого вывода Мамдани с использованием трех гауссовских функций принадлежности для входных переменных.
Рис. 11. Система нечёткого вывода Такаги-Сугэно с использованием трех гауссовских
функций принадлежности для входных переменных.
Эксперимент 3 (Для оценки влияния нечётких операторов).
Для системы логического вывода Мамдани использовались три гауссовских
функции принадлежности для каждой входной переменной и девять гауссовских функций принадлежности для выходной переменной. Базу правил составляют девять правил
если-то. В качестве операторов T-нормы и T-конормы были использованы операторы
пересечения и объединения, метод центра тяжести используется для дефаззификации в
механизме логического вывода Мамдани, а метод среднего взвешенного для дефаззификации используется в механизме логического вывода Такаги-Сугэно. Таблица 3
обобщает обучение и испытание значений среднеквадратичного отклонения.
Таблица 3
Эмпирическое сравнение систем нечёткого логического вывода для различных нечётких
операторов
Механизм нечёткого логического вывода Механизм нечёткого логического вывода
Мамдани
такаги-Сугэно
Среднеквадратичное отклонение
Обучение
Испытание
Обучение
Испытание
0.221
0.219
0.019
0.018
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1262
«Ученые заметки ТОГУ» Том 5, № 4, 2014
Эксперимент 4 (Для оценки влияния операторов дефаззификации).
Для системы логического вывода Мамдани использовались три гауссовских
функции принадлежности для каждой входной переменной и девять гауссовских функций принадлежности для выходной переменной. Базу правил составляют девять правил
если-то. В качестве операторов T-нормы и T-конормы были использованы операторы
пересечения и объединения, а следующие методы операторов дефаззификации были испытаны на системе логического вывода Мамдани:
• Центр тяжести.
• Биссектриса области (Bisector of Area, BOA).
• Средний из максимумов (Mean of Maximum, MOM).
• Наименьший из максимумов (Smallest of Maximum, SOM).
Для системы логического вывода Такаги-Сугэно были использованы методы дефаззификации взвешенной суммы и среднего взвешенного. Таблица 4 обобщает обучение и испытание значений среднеквадратичного отклонения.
Таблица 4
Эмпирическое сравнение систем нечёткого логического вывода для различных
операторов дефаззификации
Механизм нечёткого логического вывода
Мамдани
Дефаззификация
СКО
Обучение
Испытание
Центр тяжести
0.221
0.0219
MOM
0.230
0.232
BOA
0.218
0.216
SOM
0.229
0.232
Механизм нечёткого логического вывода
Такаги-Сугэно
Дефаззификация
СКО
Обучение
Испытание
Взвешенная сумма
0.019
0.018
Среднее взвешенное
0.085
0.084
Обсуждение результатов и решение задачи.
Как показано в таблице 1, когда число входных функций принадлежности было
увеличено с двух до трёх, значение среднеквадратичного отклонения уменьшается независимо от используемой системы логического вывода. Однако, когда форма функции
принадлежности была изменена на гауссовскую, значение среднеквадратичного отклонения для системы логического вывода Мамдани, но значения среднеквадратичного отклонения для системы логического вывода Такаги-Сугэно увеличилось (табл. 2). Использование гауссовских функций принадлежности, когда операторы T-нормы и Тконормы были изменены на "пересечение" и "объединение" (вместо "минимума" и
"максимума") привело к тому, что оба метода логического вывода сработали лучше
(табл. 3). Наконец, выбор идеального оператора дефаззификации также имеет прямое
влияние на производительность системы логического вывода, как показано в таблице 4.
Разработка базы правил (количество правил и то, как связан ввод и вывод) также очень важна для хорошей работы системы логического вывода. Роль весовых коэффициентов подчеркивает важность определённых правил, весовые коэффициенты также
несут важную роль для общей производительности. Когда измерений ввода/вывода
становится больше, ручная разработка становится утомительной, а иногда может даже
привести к плохому исполнению и реализации.
Адаптивность нечётких механизмов вывода
Экспертное знание зачастую является основным источником для разработки неhttp://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1263
«Ученые заметки ТОГУ» Том 5, № 4, 2014
чётких экспертных систем. Рисунок 12 показывает различные параметры и компоненты,
которые требуется адаптировать для управления процессом. С использованием измерения эффективности по решению задач в предметной области, функции принадлежности
базы правил и механизм логического вывода должны адаптироваться[8].
Рис. 12. Адаптация систем нечёткого вывода
Обучение с помощью нейронных сетей, самоорганизующиеся карты и методы
кластеризации могут быть ипользованы для создания правил. Градиентный спуск и его
варианты могут быть применены для тонкой настройки параметров параметризованного входа/выхода функций принадлежности и нечётких операторов[9]. Адаптация систем
нечеткого вывода с использованием эволюционных методов вычисления широко исследованы. Эволюционные вычисления (Evolutionary Computation, EC) являются основанным на поколениях адаптивным методом и могут быть использованы для решения задач оптимизации, основанных на генетическом развитии биологических организмов[17].
В течение многих поколений природные популяции развиваются в соответствии с принципами естественного отбора и "выживания наиболее приспособленных", о чём впервые
чётко заявил Чарльз Дарвин в работе "О происхождении видов". Имитируя этот процесс, эволюционные вычисления могут "совершенствовать решения реальных жизенных
проблем, если они были закодированы соответствующим образом (представление проблемы называется хромосомой). Автоматическая адаптация функций принадлежности
более известна как самоорганизация и хромосомное кодирование параметров трапециевидных, треугольных, логистических, гиперболически тангенциальных, гауссовских
функций принадлежности и т.д. Эволюционный поиск нечётких правил может быть
осуществлён с использованием трёх подходов. В первом методе (Мичиганский подход)
нечёткая база знаний адаптируется в результате антагонистических ролей в соревновании и совместной работе нечётких правил. Второй метод (Питтсбургский подход) совершенствует популяции баз знаний, а не отдельные нечёткие правил. Репродуктивные
операторы служат обеспечением новых комбинаций правил и новых правил. Третий
способ (итеративный подход к обучению правил) очень похож на первый метод, когда
каждая хромосома представляет одно правило, но в отличие от Мичиганского подхода,
только лучшие представители популяции выбираются для формирования части решения, отбрасывая остальные хромосомы в популяции. Эволюционный процесс обучения
создаёт полную базу правил на основе итерационного процесса обучения[11].
Заключение
Экспертные системы, основанные на правилах, находят применение в большом
количестве прикладных областей. Важным преимуществом нечёткой экспертной системы является то, что знания выражаются в лёгкой для понимания форме языковых праhttp://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1264
«Ученые заметки ТОГУ» Том 5, № 4, 2014
вил. Мы можем организовать извлечение данных нечёткой экспертной системы с помощью нейронной сети обучения, эволюционных вычислений или других методов адаптации. Мы можем предположить, что увидим значительный рост применения данных
технологий в будущем.
Список литературы
[1] Абрахам, А. Экспертные системы на основе правил / А. Абрахам, П.Н. Семченко //
Вестник Тихоокеанского государственного университета.- 2013.- № 3(30), Вып. 3(30).- С.
29–40.
[2] Воронин, В.В. Клиент-серверная технология как среда для динамических экспертных
систем / В.В. Воронин, П.Н. Семченко // Материалы секционных заседаний 50-й
студенческой научно-технической конференции ТОГУ.- Хабаровск : Изд-во Тихоокеан.
гос. ун-та, 2010.- С. 50–55.
[3] Воронин, В.В. Концепция клиент-серверной среды динамических экспертных систем /
В.В. Воронин, П.Н. Семченко // Информатика и системы управления.- 2010.- № 3(25),
Вып. 3(25).- С. 95–100.
[4] Воронин, В.В. Моделирование клиент-серверной среды динамических экспертных систем
/ В.В. Воронин, П.Н. Семченко, С.В. Шалобанов // Информатика и системы
управления.- 2012.- № 1(31), Вып. 1(31).- С. 48–55.
[5] Макаров, Е. Инженерные расчеты в MathCad 15. Учебный курс / Е. Макаров.- СПб. :
Питер, 2011.
[6] Поршнев, С.В. MATLAB 7. Основы работы и программирования. Учебник. / С.В.
Поршнев.- : ООО «Бином-Пресс», 2011.
[7] Частиков, А.П. Разработка экспертных систем. Среда CLIPS. Серия “Учебное пособие”. /
А.П. Частиков, Т.А. Гаврилова, Д.Л. Белов.- СПб. : БХВ-Петербург, 2003.
[8] Abraham, A. Intelligent Systems: Architectures and Perspectives, Recent Advances in
Intelligent Paradigms and Applications / A. Abraham // Studies in Fuzziness and Soft
Computing.- : Springer Verlag Germany, 2002.- P. 1–35.
[9] Abraham, A. Neuro-Fuzzy Systems: State-of-the-Art Modeling Techniques, Connectionist
Models of Neurons, Learning Processes, and Artificial Intelligence / A. Abraham // Lecture
Notes in Computer Science. Volume. 2084.- Spain : Springer Verlag Germany, 2001.- P. 269–
276.
[10] Abraham, A. Neuro-Fuzzy Paradigms for Intelligent Energy Management, Innovations in
Intelligent Systems: Design, Management and Applications / A. Abraham, M.R. Khan //
Studies in Fuzziness and Soft Computing.- : Springer Verlag Germany, 2003.- P. 285–314.
[11] Genetic Fuzzy Systems: Evolutionary Tuning and Learning of Fuzzy Knowledge Bases / O.
Cordón, F. Herrera, F. Hoffmann, L. Magdalena.- Singapore : World Scientific Publishing
Company, 2001.
[12] Donald, W.A. A Guide to Expert Systems / W.A. Donald.- Boston : Addison-Wesley, 1986.
[13] Giarratano, J. Expert Systems: Principles and Programming / J. Giarratano, G. Riley.Boston : PWS-Kent Publishing Co., 1989.
[14] Ignizio, J.P. Introduction to Expert Systems: The Development and Implementation of RuleBased Expert Systems / J.P. Ignizio.- New York : McGraw-Hill, Inc., 1991.
[15] Jang, J.S.R. Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and
Machine Intelligence / J.S.R. Jang, C.T. Sun, E. Mizutani.- USA : Prentice Hall Inc, 1997.
[16] Mamdani, E.H. An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller / E.H.
Mamdani, S. Assilian // International Journal of Man-Machine Studies.- 1975.- Vol. 7, No.1.P. 1–13.
[17] Michalewicz, Z. How to Solve It: Modern Heuristics / Z. Michalewicz, D.B. Fogel.- Germany :
Springer Verlag, 1999.
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1265
«Ученые заметки ТОГУ» Том 5, № 4, 2014
[18] Militallo, L.G. Applied Cognitive Task Analysis (ACTA): A Practitioner’s Toolkit for
Understanding Cognitive / L.G. Militallo, R.J.B. Hutton // Ergonomics.- 1998.- Vol. 41, No.
11.- P. 1618–1642.
[19] Niwa, K. An Experimental Comparison of Knowledge Representation Schemes / K. Niwa, K.
Sasaki, H. Ihara // Principles of Expert Systems ; ed. A. Gupta, E.B. Prasad.- New York :
IEEE Press, 1988.- P. 133–140.
[20] Fuzzy Expert System Tools / M. Schneider, G. Langholz, A. Kandel, G. Chew.- USA : John
Wiley & Sons, 1996.
[21] Takagi, T. Fuzzy idendfication of systems and its applications of modeling and control / T.
Takagi, M. Sugeno // IEEE Transactions of Systems, Man and Cybernetics.- 1985.- Vol. 15,
No. 1.- P. 116–132.
[22] Vicente, K.J. Cognitive Work Analysis: Towards Safe, Productive, and Healthy ComputerBased Work / K.J. Vicente.- USA : Lawrence Erlbaum Associates, Inc. Press, 1999.
[23] Zadeh, L.A. Fuzzy sets / L.A. Zadeh.- 1965.- P. 338–353.
[24] Воронин, В.В. Технология интеграции продукционных экспертных систем в клиентсерверное окружение / В.В. Воронин, П.Н. Семченко.- Хабаровск : Изд-во Тихоокеан.
гос. ун-та, 2014.
[25]
Riley
G.
What
is
CLIPS
[Электронный
ресурс].
URL:
http://clipsrules.sourceforge.net/WhatIsCLIPS.html (дата обращения: 30.11.2014).
http://pnu.edu.ru/media/ejournal/articles/2014/TGU_5_351.pdf
1266
Download