УДК 004.82
ИДЕНТИФИКАЦИЯ НЕЧЕТКИХ СИСТЕМ: МЕТНДЫ И АЛГОРИТМЫ1
И.А. Ходашинский
Рассмотрены основные этапы построения нечетких моделей: экспертное оценивание, идентификация структуры, идентификация параметров. Отмечено, что экспертное оценивание включает в себя определение типа нечеткой модели, выбор г-нормальных функций для задания нечетких логических операций, выбор способов нечеткого вывода. Для идентификации структуры предложено применять два метода: нечеткий кластерный анализ и алгоритм перебора. Для идентификации параметров выбраны следующие алгоритмы: генетический, муравьиной колонии, роящихся частиц, имитации отжига. Приведены результаты имитационного эксперимента.
Ключевые слова: идентификация нечетких моделей, метаэвристики, имитация отжига, генетический алгоритм, алгоритм муравьиной колонии, алгоритм роящихся частиц.
ВВЕДЕНИЕ. ПОСТАНОВКА ЗАДАЧИ
Идентификация систем, в том числе и нечетких, играет принципиальную роль в теории управления. Нечеткая система может быть построена либо на основе знаний эксперта, либо на основе наблюдаемых данных, либо на совместном использовании знаний и данных. Идентификация рассматривается в настоящей работе как процесс построения модели, связанный с установлением закономерностей между входными и выходными переменными объекта.
Нечеткая модель определена как система с п входными переменными X = {Х1, Х2, ..., Хп}, определенными на входной области рассуждений БХ = БХ1 х ВХ2 х ... х БХп, и одной выходной переменной У, определенный на выходной области рассуждений БУ. Четкое значение, которое принимает входная переменная X, обозначается как х. и как у для выходной переменной У [1, 2].
Нечеткая область определения /-й входной переменной X, обозначена как ИХ1 = {ЬХ, 1, ..., ЬХ, р.}, где р/ — число лингвистических термов (нечетких значений), на которых определена входная переменная, ЬХ} к задает функцию принадлежности и имя к-го лингвистического терма. Аналогично, ¥У = {ЬУ1, ..., ЬУ^ — нечеткая область определе-
1 Работа выполнена при финансовой поддержке РФФИ
(проект № 06-08-00248).
ния выходной переменной, q — число нечетких значений, LYj — функция принадлежности и имя выходного лингвистического терма.
База правил в нечеткой системе типа Мамдани представляет собой множество нечетких правил вида
R.: LX1 , AND ... AND LXn , ^ LY.. (1)
J 1J1 nJn J 4 '
Нечеткое j-е правило в системе типа синглтон имеет вид
Jl
n >Jn
(2)
где rj — действительное число, которым оценивается выход у.
Нечеткое j-е правило в модели типа Такаги— Сугено имеет вид
R: LX-, ; AND ... AND LXn , ^
Jl
n,Jn
^ г0] + гцх1 + Г2Ух2 + ... + гщхп,
здесь выход у оценивается линейной функцией.
Таким образом, нечеткая система осуществляет отображение И: ^п ^ ^. Важную роль в этом отображении играют функции принадлежности К£ж/хг), указывающие степень принадлежности четкой переменной х. нечеткому понятию ЬХ...
. у
Каждая функция принадлежности задается своим набором параметров, например, треугольная — тройкой параметров, трапециевидная — четверкой, гауссова и параболическая — двойкой.
Обучение системы ведется на основе таблиц наблюдений или тестовых функций /(х). Необходимо так построить базу правил, чтобы ошибка вывода, определяемая как
1 M 1 M 2 M Х^ - F(xi)1, или М.Ц(/(xi)-F(xi)) , І = l
Mi
V i
или max/fa.) - F(xi)|,
І є M
(З)
была минимальной, где М — число наблюдений.
В общем случае построение нечеткой системы состоит из следующих основных этапов [3]:
— экспертное оценивание — задание типа нечеткой системы и сопутствующих ему параметров;
— идентификация структуры — выбор переменных (X, БХ, У, БУ, р/, #) и нечетких правил Я.;
— идентификация параметров — поиск оптимальных значений всех параметров, задействованных в нечеткой системе, т. е. нахождение значений консеквента (ТО-части правила) и параметров функций принадлежности в антецеденте (ЕСЛИ-час-ти) каждого правила (ЕХ., ЕУ) на основе заданных критериев качества и метода оптимизации выбранного критерия;
— проверка правильности модели.
Цель работы состоит в описании и сравнении методов, алгоритмов и эвристик реализации перечисленных этапов построения нечетких систем.
1.ЭКСПЕРТНОЕ ОЦЕНИВАНИЕ
Идентификация нечетких систем базируется на данных наблюдений, однако пока не представляется возможным исключить в этом процессе участие эксперта, который решает следующие задачи: определение типа нечеткой системы (синглтон, Мамдани или Такаги—Сугено); выбор Анормальных функций для задания нечетких логических операций; выбор способов нечеткого вывода (для системы типа Мамдани: аппроксимация Мамдани либо формальнологический вывод). В связи с изложенным, в процесс построения нечеткой системы нами включен рассматриваемый этап.
Выбор типа системы определяется решаемой задачей. Если решается задача интерполяции или аппроксимации, причем точность является определяющим фактором, то выбор должен быть сделан в пользу нечеткой системы типа Такаги—Сугено.
Если решается задача извлечения знаний из данных (в виде лингвистических правил) или поиск ассоциативных связей во множестве данных, то для этих целей необходимо использовать нечеткую систему типа Мамдани. Несомненное достоинство таких моделей заключается в их понятности и интерпретируемости. Недостаток — в высо-
ких вычислительных затратах ведения нечеткого вывода.
Система типа синглтон может быть использована как для решения задач аппроксимации, так и извлечения знаний.
Нечеткая модель типа синглтон, задаваемая правилами (2), осуществляет отображение Д: Жп ^ Ж, заменяя оператор нечеткой конъюнкции произведением, а оператор агрегации нечетких правил — сложением. Отображение Д определяется следующей формулой:
т
X ^Х1 і(хі) №іХ1і(х1)... №іХпі(Хп) гі Д(х) = і-=і-----------------------------,
т
X ^Х1 і(хі) У-ІХІі(Х1)... №іХпі(хп) і = 1
где х = [х1, ..., хп]Т є Жп, т — число правил нечеткой модели, п — число входных переменных в модели, ^ЬХу — функции принадлежности.
Отображение Д для модели типа Такаги—Сугено определяется формулой:
Дх) =
т
Е ^ЬХ1 і(хі)^ЬХ2і (х2)••• ^ЬХпі(хп)(г0і + г1іх1 + г2іх2 + ••• + гпіхп)
= і=1_____________________________________________
т
Е ^ІХ1і (хі )^ЬХ2і( х2) ■■■^ЬХп1( хп) і = 1
Для описания отображения входного вектора X в выходное значение у в нечетких системах типа Мамдани применяются методы нечеткой логики, например, аппроксимация Мамдани или метод, основанный на формальном логическом доказательстве [4, 5], при этом эксперт должен задать тип оператора импликации.
2. ИДЕНТИФИКАЦИЯ СТРУКТУРЫ
Идентификация структуры — определение структурных характеристик нечеткой системы, таких как число нечетких правил, число лингвистических термов, на которое разбиты входные переменные. Такая идентификация выполняется с помощью нечеткого кластерного анализа либо метода перебора.
Применение алгоритмов кластерного анализа направлено на разделение общей генеральной совокупности на кластеры так, чтобы в каждом из них находились наиболее близкие по свойствам объекты. Нечеткая кластеризация является одним из наиболее интересных методов выявления возможных групп и проверки гипотез о структуре данных. Методы нечеткой кластеризации позволяют одному и тому же объекту принадлежать одновременно нескольким кластерам, но с различной степенью принадлежности. Обычно каждый кластер
характеризуется некоторым прообразом (прототипом), который описывается центром кластера и некоторой дополнительной информацией, например, размером и формой кластера. Существует множество методик кластеризации. В данной работе рассмотрен алгоритм нечетких с-средних [6].
Исходной информацией для кластеризации служит таблица наблюдений Т = {ір і2, ..., ім}, где
к-й эёемент ік = ^ Уk), хк = [х^ xkl, ..., хкп] — вектор входных значений, ук — выходное значение, М — число наблюдений, п — число входных переменных, хк є БХ, ук є БУ. Пусть Р(Т) — мощность множества Т, т. е. множество всех подмножеств множества Т. Нечеткое с-разбиение Т есть множество {Аі|А{ є Р(Т), 1 т і т с, 2 т с т м — 1}, с — число кластеров. Кластеры характеризуются матрицей нечеткого разбиения Г = [цкі], которая обладает следующими свойствами:
к = Гм
1
Ч' = 1Тс
м
0 < X Цкг < М\ . (4)
к = 1
Алгоритм нечетких с-средних основан на минимизации расстояния от наблюдаемых данных до центров кластеров. Евклидово расстояние вычисляется по формуле [6]:
с М
I I (%)“ - ‘Л2.
I = 1 к = 1
ММ где V. = I (цкг)т‘к/ I (цкгГ — вектор центров нек = 1 к = 1 четких кластеров, т е [1, ^) — эмпирическое число, обычно равное двум.
Собственно алгоритм нечетких с-средних состоит в следующем [6].
Вход. Таблица наблюдений Т, число кластеров с, число т, параметр останова е.
Выход. Матрица нечеткого разбиения Е и матрица центров кластеров V.
Шаг 1. Случайным образом инициализировать матрицу нечеткого разбиения Е, удовлетворяющую условиям (4).
Шаг 2. Вычислить вектор центров кластеров у;.
Шаг 3. Рассчитать расстояние (1Ы между к-м наблюдением из матрицы Т и г-м центром кластера (1Ы =
= А - V.
Шаг 4. Рассчитать очередное приближение матрицы Е;
- 1
( 2 с 1 ^ (т - 1 ) есёи > 0, то = I £ — I ,
V у = 1 йк/
I „ [1, /' ф г, . -,—
если = 0 то Ик = 1= . 1 = 1 с.
Шаг 5. Если ||^ — Д*\\2 < е, то выход из алгоритма, иначе переход на шаг 2. Здесь Е* — матрица нечеткого разбиения, полученная на предыдущей итерации алгоритма.
В результате работы алгоритма вычисляется матрица центров кластеров V = ^, ^, ..., vc}, где каждое V,. = {у
к1, Ук1
.., Ук^ Укп + 1 Ь Укг — значение
координаты /-й переменной в к-м кластере, Укп + 1 — значение координаты выходной переменной в к-м кластере. Каждый выделенный кластер соответствует одному лингвистическому правилу базы правил нечеткой системы.
Каждый лингвистический терм, находящийся в антецеденте нечетких правил, задается своей функцией принадлежности. В качестве функции принадлежности выбрана функция гауссова типа, которая описывается формулой:
ц(х) = ехр
(х - а ) ' 2 а 1
Опираясь на результаты кластерного анализа, можно определить параметры функции принадлежности следующим образом:
м
2 — к = 1
X ( Цкі) (хк] - ^0
Ч М
I (^кдт к = 1
Далее, после определения необходимых параметров и построения функций принадлежности, идет формирование правил нечеткой базы. Нечеткое понятие ЬХ, к в правилах (1) и (2) соответствует суждению «Х приблизительно равно VЧ». Общий
I I/
вид правила в модели типа синглтон будет иметь следующий вид:
Яу. Х1 * ч ... А^ Хп * У]п ^ У]п + р
а в модели типа Мамдани —
ЯЧ: Х1 * . ^ ... ^ Хп * У.п ^ у * У.п + р
где V.. — значение координаты /-й входной переменной в у-м кластере, у.п + 1 — значение координаты выходной переменной в у-м кластере, 1 < у < с. Таким образом, решена задача определения лингвистических термов и формирования базы нечетких правил.
Использование гауссовых функций принадлежности в нечетких правилах не единственно возможное. Методы и алгоритмы перехода от гауссовых функций к треугольным, трапециевидным и параболическим описаны в работе [7].
Кластерный анализ — это в конечном итоге метод выбора небольшого числа нечетких «репрезентативных» правил, описывающих пространство входных и выходных данных. Достоинство данного метода состоит в алгоритмическом разбиении входного пространства на фиксированное число кластеров, а значит, и на фиксированное число термов и правил. К недостаткам можно отнести отсутствие гарантии, что входное пространство должным образом представлено посредством центров кластеров. Кроме того, ряд авторов отмечают чувствительность алгоритма к шумам и выбросам в данных [8, 9].
Алгоритм перебора находит число термов, на которое необходимо разбить область определения входных переменных. Сначала генерируется один терм, охватывающий всю область определения входных переменных, определяется ошибка аппроксимации. Если ошибка превышает заранее заданную, то начинается последовательное разбиение области определения на большее число термов, пока не будет найдено такое число термов, при котором заданная ошибка будет достигнута.
Вход: число входных переменных, таблица наблюдений, заданная ошибка.
Выход: база правил.
Шаг 1. Задать начальное число термов для каждой переменной равным 1.
Шаг 2. Сформировать базу правил, при заданном числе термов.
Шаг 3. Найти выходное значение нечеткой системы.
Шаг 4. Найти ошибку вычислений.
Шаг 5. Если ошибка больше заданной, то увеличить число термов каждой переменной на 1 и перейти на шаг 2, иначе Выход.
У алгоритма перебора есть важное достоинство: функции принадлежности накрывают всю область определения входных переменных. Недостаток такой схемы — экспоненциальный рост числа правил с ростом числа входных переменных и лингвистических термов. Нечеткие системы с большим числом правил имеют более высокую точность, но более слабую вычислительную эффективность и интерпретируемость.
3. ИДЕНТИФИКАЦИЯ ПАРАМЕТРОВ НЕЧЕТКИХ МОДЕЛЕЙ
Начиная с ранних работ [1, 2], проблема идентификации параметров нечетких моделей решается методами оптимизации нелинейных функций. На этапе идентификации параметров происходит настройка параметров антецедентов и консеквен-тов нечетких правил путем оптимизации работы нечеткой системы по заданному критерию.
Трудности применения классических методов оптимизации нелинейных функций, такие как проблема локального экстремума и «проклятие
размерности», заставили специалистов обратиться к таким метаэвристическим подходам, как алгоритмы имитации отжига, генетические алгоритмы, алгоритмы муравьиной колонии.
Алгоритм имитации отжига основан на аналогии с процессом кристаллизации с минимальной энергией при охлаждении [10], в нем используется упорядоченный случайный поиск. Особенность алгоритма — допустимость принятия решений, приводящих к увеличению ошибки.
На начальном этапе работы алгоритма создается текущее решение, которое, при его изменении случайным образом, переходит в рабочее. Рабочее решение может опять вернуться в текущее либо перейти в лучшее при условии уменьшения энергии ЬЕ. Но рабочее решение может быть принято в качестве текущего, даже если его энергия превышает энергию текущего, в том случае, когда выполняется критерий допуска.
Критерий допуска основывается на следующем уравнении:
Р(5Е) = ехр(-8Е/Т).
При высокой температуре Т плохие решения принимаются чаще, чем отбрасываются. При снижении температуры вероятность принятия худшего решения уменьшается. Таким образом, при высоких температурах алгоритм отжига выполняет поиск оптимального решения во всем диапазоне решений. При понижении температуры диапазон поиска уменьшается. Существует множество вариантов снижения температуры. В данной работе используется функция Т + 1 = аТ., где а — коэффициент снижения температуры, 0 < а < 1.
Собственно алгоритм имитации отжига для параметрической идентификации нечетких систем состоит в следующем.
Вход: начальная температура, конечная температура, число итераций при одном значении температуры, функция изменения температуры.
Выход: оптимальные параметры функций принадлежности нечеткой системы.
Шаг 1. Генерируются значения параметров функций принадлежности нечеткой системы. Эти значения записываются в текущее решение и в лучшее решение.
Шаг 2. Значения параметров передаются нечеткой системе, которая на их основе находит значение выходной переменной. Это значение сравнивается с эталонным и вычисляется ошибка (ошибка текущего решения).
Шаг 3. Текущее решение копируется в рабочее, и рабочее решение изменяется случайным образом.
Шаг 4. Из рабочего решения значения параметров передаются нечеткой системе, которая на их основе находит значение выходной переменной. Это значение сравнивается с эталонным и вычисляется ошибка (ошибка рабочего решения).
Шаг 5. Сравниваются ошибки текущего и рабочего решения. Если ошибка рабочего решения меньше, чем
ошибка текущего решения, то переход к шагу 6. В противном случае, определяется критерий допуска. Если критерий допуска выполняется, то переход к шагу 6. В противном случае текущее решение копируется в рабочее, и осуществляется переход к шагу 7.
Шаг 6. Рабочее решение копируется в текущее, и ошибка текущего решения сравнивается с ошибкой лучшего решения. Если ошибка текущего решения меньше, то текущее решение копируется в лучшее решение.
Шаг 7. Уменьшается температура. Если температура становится равной заранее заданному конечному значению, т. е. выполняется условие окончания, то переход к шагу 8. В противном случае переход к шагу 4.
Шаг 8. Процесс поиска прекращается. Оптимальные параметры системы сохраняются как лучшее решение.
Достоинство алгоритма отжига заключается в успешном прохождении локальных минимумов и простоте реализации, недостаток — в больших временных затратах при не всегда высокой точности решений.
Решение задачи параметрической идентификации нечеткой системы возможно с помощью непрерывного либо дискретного алгоритма муравьиной колонии (НАМК и ДАМК, соответственно). Основу ДАМК составляет полный ориентированный граф с взвешенными дугами [11]. Веса дуг являются нормированными значениями параметров функций принадлежности [12]. Задача каждого муравья пройти столько дуг, сколько параметров необходимо оптимизировать. Например, для одной треугольной функции принадлежности — три параметра. Значение фермента на дугах определяет выбор муравьем очередной дуги. Значения весов пройденных муравьем дуг передаются в нечеткую систему, которая находит ошибку, и на пройденные дуги наносится количество фермента, обратно пропорциональное найденной ошибке. Нечеткая система описывается несколькими лингвистическими переменными. Каждая переменная описана несколькими функциями принадлежности. Муравьи в алгоритме делятся на колонии. Каждая колония муравьев отвечает за нахождение параметров своей функции.
Количество фермента, наносимого на дуги, пропорционально качеству решения, чем меньше ошибка вывода нечеткой системы, выполненного на выбранных параметрах, тем больше фермента наносится на дуги:
Ат| (?) =
_ | О/Ьк( ?), если муравей проходит дугу (/, у),
10, иначе,
где О — константа, определяющая количество
фермента у отдельного муравья, Ьк(?) — значение ошибки на ?-й итерации для параметров, выбранных к-м муравьем.
Вероятность выбора муравьем дуги (/, у) на ?-й итерации, если дуга не является последним выбранным параметром функции принадлежности, вычисляется по формуле
N
(5)
і = 1
вероятность выбора к-м муравьем дуги (/, у) на ?-й итерации, если дуга является последним выбранным параметром функции принадлежности, вычисляется по формуле
N
(6)
£ (тн(і)а(1/4 (і))в)
і = 1
где а — параметр, учитывающий важность (приоритет, значимость) фермента на пути; в — параметр, учитывающий важность (приоритет, значимость) ошибки; т,.,.(?) — интенсивность фермента
ц
на дуге между узлами / и у на ?-й итерации; (?) —
значение ошибки на ?-й итерации для параметров, выбранных к-м муравьем, если дуга (/, о) является последней, т. е. определяет третий параметр; N — множество узлов, смежных вершине I, причем узел у может быть выбран многократно; в отличие от классического применения алгоритма в нашем случае не формируется запрещенный список узлов; I ^ I.
Увеличение количества фермента определяется следующим образом:
м
Ту(І + 1) - £ (Ату (і) + Ту(і))^ Р’
к = 1
а его испарение — по формуле: Ц + 1) = Ц)(1 -
Р)’
(7)
(8)
где р е [0; 1] — коэффициент снижения интенсивности фермента, М — число муравьев, прошедших по дуге (/, у).
Далее приведен алгоритм оптимизации трехпараметрической функции принадлежности.
Шаг 1. Задать начальные параметры алгоритма и нечеткой системы.
Шаг 2. Задать популяции муравьев в колониях.
Шаг 3. Для всех муравьев текущей колонии определить три дуги, используя два раза формулу (5), затем формулу (6).
Шаг 4. Передать в нечеткую систему значения параметров функций принадлежности, определенных муравьями текущей колонии, и вычислить ошибки. Если параметры, переданные муравьем в нечеткую систему, лучше текущих, то сохранить новые значения параметров.
Шаг 5. Если имеется следующая колония, то сделать ее текущей и перейти на шаг 3, иначе перейти на шаг 6.
Шаг 6. Вычислить количество фермента на каждой дуге по формуле (7).
Шаг 7. Вычислить количество испаренного фермента по формуле (8).
Шаг 8. Если условие окончания работы алгоритма выполнено, то останов, иначе перейти к шагу 2.
Условием окончания работы алгоритма служит достижение заданного числа итераций либо получение ошибки, меньше заданной.
В ДАМК выбор очередной дуги ведется муравьем на основе дискретного распределения вероятности. В НАМК дискретное распределение заменяется на непрерывное с использованием функции плотности вероятности [13]. Наиболее часто применяется функция Гаусса. Ее преимущество в простом способе генерации случайных чисел, но очевидный недостаток в том, что она имеет только один максимум. Поэтому в НАМК используется функция плотности вероятности с гауссовым ядром, под которым понимается функция, основанная на взвешенной сумме нескольких одномерных гауссовых функций:
ю,
( x - ц 1)
, І2 2ст і
l = 1
ііл/2П
Каждому идентифицируемому параметру соответствует свое гауссово ядро, I = 1, ..., п, ю — вектор весов. В ДАМК информация о ферменте хранится в виде таблицы. В НАМК вводится понятие архива решений Т. Архив решений представлен таблицей, в которой к строк. Каждая строка состоит из трех частей: найденное муравьем решение sl = {5;1, , ..., sn}, ошибка, вычисленная не-
четкой системой, и вес решения юг Решения в архиве расположены по возрастанию ошибки. Вес решения ^ вычисляется по формуле
( I - 1 )2
_ 1 2 у2 к2
qkJTk
где # — эмпирический параметр алгоритма.
Параметры гауссовой функции (х), определяются следующим образом:
e = 1
k-l
Параметр ^ > 0 одинаков для всех размерностей и имеет эффект, подобный норме испарения фер-
мента в АМК. Чем выше значение ^, тем ниже скорость сходимости алгоритма [13].
При добавлении нового решения в архив решений Т худшее из них удаляется. Этот процесс аналогичен процессу испарения фермента в АМК.
Далее приведен собственно НАМК для параметрической идентификации нечетких систем.
Шаг 1. Задать начальные параметры.
Шаг 2. Сгенерировать популяцию муравьев в колониях.
Шаг 3. Сгенерировать несколько случайных решений для всех архивов решений с последующим оцениванием и ранжированием.
Шаг 4. Найти значения вектора весов. Сделать текущим первого муравья первой колонии.
Шаг 5. Для текущего муравья текущей колонии вычислить номер используемой функции Гаусса. Определить параметры функций Гаусса. Сгенерировать п случайных величин {х1, х2, ..., хп} на основе полученных функций.
Шаг 6. Найти ошибку вывода нечеткой системы при параметрах {х1, х2, ..., хп}, если ошибка меньше текущей, то сохранить новые параметры.
Шаг 7. Добавить в архив новое решение, ранжировать архив, удалить из архива худшее решение.
Шаг 8. Если в текущей колонии имеется следующий муравей, то сделать его текущим и перейти на шаг 5, иначе перейти на шаг 9.
Шаг 9. Если имеется следующая колония, то сделать текущим первого муравья в этой колонии и перейти на шаг 5, иначе перейти на шаг 10.
Шаг 10. Если условие окончания работы алгоритма выполнено, то останов, иначе сделать текущим первого муравья первой колонии и перейти на шаг 5.
Условием окончания работы алгоритма служит достижение заданного числа итераций либо получение ошибки, меньше заданной.
Отметим, что для идентификации нечетких моделей дискретный и непрерывный алгоритмы муравьиной колонии нами применены впервые.
Работа генетического алгоритма (ГА) основана на принципах естественного отбора и наследования. Основное преимущество ГА перед другими методами оптимизации заключается в параллельной обработке множества альтернативных решений. При работе алгоритма большее внимание уделяется наиболее перспективным решениям, однако и худшие решения также участвуют в поиске.
В случае параметрической идентификации ген хромосомы кодирует один параметр нечеткой системы. Популяция — это множество хромосом, созданных на текущем шаге работы алгоритма. В качестве целевой функции выступает ошибка вывода нечеткой системы.
Схема генетического алгоритма сводится к следующей последовательности шагов.
Шаг 1. Генерируется популяция.
Шаг 2. Оценивается популяция. Если достигнуто условие окончания работы, то переход на шаг 4.
k
l
e
k
Шаг 3. Выбираются пары хромосом для скрещивания в соответствии с заданной стратегией и применяются генетические операторы скрещивания и мутации. Переход на шаг 2.
Шаг 4. Окончание работы. Вывод «наилучшего» решения.
В ГА для идентификации используются классические стратегии селекции хромосом (рулеточный отбор, турнирный отбор, элитаризм и случайный отбор), типы операторов скрещивания (одноточечный, многоточечный) и мутации (случайная одноточечная и многоточечная).
Алгоритм роящихся частиц (АРЧ) позволяет осуществлять поиск глобального оптимума в пространстве непрерывно меняющихся переменных [14]. Как и генетический алгоритм, это основанный на популяции метод поиска, в котором, вместо хромосомы — частица, вместо генов — координаты частицы в многомерном пространстве. Каждая частица представляет потенциальное решение, имеет память и хранит свою лучшую позицию в пространстве поиска. Известна частице и лучшая позиция роя. Зная эти две позиции, частица динамически изменяет скорость согласно ее собственному опыту и опыту полета других частиц. Таким образом, движение каждой частицы задается ее лучшей позицией и ее текущей скоростью, ускорением, заданным предыдущей позицией, и ускорением, заданным лучшей частицей в рое.
Пусть имеется n-мерное пространство поиска S с Шп, рой состоит из N частиц. Позиция i-й частицы определяется вектором xi = (xiV xa, ..., xin) е S. Лучшая позиция, которую занимала i-я частица, определяется вектором pi = (pa, pi2, ..., pin) е S. Скорость частицы определяется также n-местным вектором vi = (viV vl2, ..., vin). Движение частиц определяют простые уравнения:
v(k + 1) = w v(k) + clrand •(pi(k) — x(k)) +
+ c2Rand• (Pg(k) - Xi(k)),
2 g l xi(k + 1) = xi(k) + vi(k + 1),
где i = 1, 2, ..., N; vi(k) — вектор скорости частицы i на итерации k; xi(k) — координаты частицы i на итерации k; cx и c2 — эмпирические константы ускорения из интервала; pi(k) — лучшая позиция частицы i на первых k итерациях; Pg(k) — лучшая позиция частицы в рое (задается индексом g) на первых k итерациях; w — эмпирический коэффициент инерции из интервала; rand и Rand — случайные числа из интервала [0, 1].
Обобщенный алгоритм метода состоит в следующем.
Шаг 1. Случайным образом генерируется рой.
Шаг 2. Оценка каждой частицы роя путем вычисления ошибки по формулам (3). Если достигнуто условие окончания работы (число итераций, значение ошибки), то переход на шаг 5.
Шаг 3. Определение для каждой частицы ее новых координат и вектора скорости.
Шаг 4. Расчет новых лучших позиций каждой частицы. Определение частицы с лучшей позицией в рое. Переход на шаг 2.
Шаг 5. Окончание работы.
По сравнению с генетическим алгоритмом алгоритм роящихся частиц прост в реализации и не требует больших вычислительных затрат, в нем отсутствуют операции скрещивания и мутации, частицы меняют позицию в пространстве поиска, не генерируя новых частиц.
4. ЭКСПЕРИМЕНТ
Две таблицы наблюдений были сформированы на основе следующих тестовых функций: 1) /(х1, х2) = = х^т(х2), 2) /(х1, х2) = 8т(2х1Д)8т(2х2Д). Суть эксперимента заключалась в аппроксимации нечеткой системой заданных тестовых функций. Критерием аппроксимации служила ошибка вывода (3). Некоторые выводы по каждому из алгоритмов приведены ниже.
Алгоритм имитации отжига. Среднее значение ошибки не зависит от числа итераций для одного значения температуры, однако время работы системы заметно увеличивается при увеличении числа итераций. Средняя абсолютная ошибка (формула (3), первый функционал) уменьшается при увеличении коэффициента снижения температуры. При этом время работы меняется незначительно. Средняя абсолютная ошибка уменьшается при уменьшении начальной температуры от 1 до 10 4, дальнейшее уменьшение начальной температуры приводит к увеличению средней абсолютной ошибки.
На основе проведенных экспериментов были получены следующие параметры алгоритма имитации отжига: начальная температура — 0,01, конечная температура — 0,00001, число итераций для одного значения температуры — 20, коэффициент снижения температуры — 0,8.
Алгоритм муравьиной колонии. В результате проведенных исследований было установлено, что увеличение числа итераций работы ДАМК, числа муравьев и значения параметра в уменьшают ошибку, увеличивая при этом время работы алгоритма. Такие параметры ДАМК, как а и О и р не оказывают существенного влияния на время работы алгоритма и незначительно меняют ошибку вывода.
Рис. 1. Зависимость максимальной ошибки от числа итераций в непрерывном алгоритме муравьиной колонии
ритму требуется большее число шагов для настройки параметров функций принадлежности. Для указанных тестовых функций лучшие результаты показал способ формирования новой популяции по принципу, частичной замены, когда формируется «расширенная» популяция, в которую помещаются особи, как нового поколения, так и старого.
Алгоритм роящихся частиц. Большое влияние на сходимость и точность работы алгоритма имеют эмпирические константы ускорения и эмпирический коэффициент инерции. При небольших значениях коэффициента инерции (т = 0,2...0,4) имеется тенденция к застреванию в локальных минимумах, большие значения коэффициента инерции (т = 1,4...1,6) расширяют диапазон поиска на начальных стадиях и не способствуют точному определению минимума на заключительных стадиях. Эксперименты показали, что лучшие значения для
Непрерывный АМК имеет свойство застревать в локальных минимумах, по этой причине необходимо говорить о лучших и худших решениях при одних и тех же параметрах алгоритма. Разные решения получаются в силу случайности, присутствующей в самом алгоритме, однако не всегда этот случайный выбор способен вывести алгоритм из локального минимума. На рис. 1 (шкала логарифмическая) приведено распределение максимальной ошибки (формула (3), третий функционал) от числа итераций при аппроксимации первой тестовой функции (число муравьев — 24, размер архива — 16, число испытаний — 10, q = 0,6).
Эксперимент показывает, что худшее решение (большие ошибки) не зависит от числа итераций, лучшие решения (малые ошибки) появляются уже при числе итераций равном 75. Похожая зависимость наблюдается и при изменении числа муравьев. Время работы НАМ К линейно зависит от числа итераций и от числа муравьев.
На рис. 2 (шкала логарифмическая) приведено распределение максимальной ошибки при изменении размера архива при аппроксимации первой тестовой функции. Здесь худшее решение не зависит от размера архива, наилучшие решения получены при размере архива 12...16. Размер архива не оказывает существенного влияния на время вывода.
Генетический алгоритм. Увеличение числа итераций алгоритма ведет к уменьшению значений ошибки, при этом линейно увеличивается и время работы алгоритма. Было установлено, что увеличение числа термов уменьшает значения ошибки, но ведет к возникновению следующих проблем: увеличивается время вывода, так как база правил растет экспоненциально; увеличивается размер хромосомы, и, следовательно, генетическому алго-
Рис. 2. Зависисмость максимальной ошибки от размера архива в непрерывном алгоритме муравьиной колонии
Рис. 3. Распределение максимальной ошибки решения при и> = 0,7; с1 = 1,4; с2 = 1,4
Сравнение метаэвристик
Алгоритм Параметры Точность аппроксимации Время поиска
Алгоритм отжига Температура, закон охлаждения, критерий допуска Очень низкая Очень боль- шое
Дискретный алгоритм муравьиной колонии Фермент, число муравьев, эмпирические коэффициенты Невысокая Неболь- шое
Непрерывный алгоритм муравьиной колонии Число муравьев, размер архива решений, эмпирические коэффициенты Высокая Неболь- шое
Генетический алгоритм Размер популяции, селекция, мутация, скрещивание Невысокая Боль- шое
Алгоритм роящихся частиц Размер роя, коэффициент инерции, константы ускорения Высокая Боль- шое
т = 0,6...1,2; константы ускорения должны быть определены в интервале 1,2—1,8.
Распределение максимальной ошибки (формула (3), третий функционал) для пяти опытов в зависимости от числа итераций и размера популяции приведены на рис. 3 (шкала логарифмическая). Отметим, что здесь представлены не все проведенные нами опыты, а только наиболее типичные. Так, например, в одном из не представленных опытов максимальная ошибка аппроксимации на пятистах итерациях составила 4,092857719066^10—1°.
Качественный анализ рассмотренных алгоритмов приведен в таблице.
ЗАКЛЮЧЕНИЕ
Рассмотрены методы идентификации нечетких систем, работающие последовательно и независимо. Дальнейшее развитие работы предполагает совместное использование различных метаэвристик для решения задачи идентификации нечетких моделей. С помощью таких метаэвристик на начальных этапах вычисляется начальное приближение, локализованное в области экстремума, на заключительном этапе уточняется положение экстремума градиентным методом или методом кал-мановской фильтрации.
Последовательная и независимая схема идентификации себя исчерпала, выбрать какой-либо один эффективный алгоритм решения проблемы
оптимизации не представляется возможным ввиду сложности и многоплановости самой проблемы, поэтому необходимо применять несколько алгоритмов и эвристик одновременно. При параллельном выполнении имеется возможность сотрудничества между эвристиками, а решение, произведенное одной процедурой, может быть впоследствии улучшено другой. Таким образом, сокращается время выполнения отдельных процедур, улучшается качество решения и повышается ошибкоустойчивость.
ЛИТЕРАТУРА
1. Sugeno M., Yasukawa T. A fuzzy-logic-based approach to qualitative modeling // IEEE Trans. on Fuzzy Systems. — 1993. — Vol. 1. — P. 7—31.
2. Takagi T, Sugeno M. Fuzzy identification of systems and its application to modeling and control // IEEE Trans. Systems, Man and Cybernetics. — 1985. — Vol. 15. — P. 116—132.
3. Ходашинский И.А. Технология идентификации нечетких моделей типа синглтон и Мамдани // Тр. VII междунар. конф. «Идентификация систем и задачи управления» SICPRO'08 / Ин-т пробл. упр. — М., 2008. — С. 137—163.
4. Emami M.R., Turksen I.B., Goldenberg A.A. A unified parameterized formulation of reasoning in fuzzy modeling and control // Fuzzy Sets and Systems. — 1999. — Vol. 108. — P. 59—81.
5. Ходашинский И.А. Формальнологический метод и аппроксимация Мамдани в нечетком оценивании величин // Автометрия. — 2006. — № 1. — С. 55—67.
6. Espinosa J, Vandewalle J, Wertz V. Fuzzy logic, identification and predictive control. — London: Springer-Verlag, 2005. — 263 p.
7. Ходашинский И.А. Оценивание величин средствами нечеткой арифметики // Автометрия. — 2004. — № 3. — С. 21—31.
8. Chuang C.C., Su S.F., Chen S.S. Robust TSK fuzzy modeling for function approximation with outliers // IEEE Trans. on Fuzzy Systems. — 2001. — Vol. 9. — P. 810—821.
9. Menard M. Fuzzy clustering and switching regression models using ambiguity and distance rejects // Fuzzy Sets and Systems. — 2001. — Vol. 122. — P. 363—399.
10. Kirkpatrick S., Gelatt C.D., Vecchi M.P. Optimization by Simulated Annealing // Science. — 1983. — Vol. 220. — P. 671—680.
11. Dorigo M, Maniezzo V, Colorni A. Ant System: Optimization by Colony of Cooperating Agents // IEEE Trans. Systems, Man and Cybernetics. Part B. — 1996. — Vol. 26. — P. 29—41.
12. Ходашинский И.А., Дудин П.А. Оценивание параметров функций принадлежности на основе алгоритма муравьиной колонии / Тр. междун. науч.-техн. конф. «Интеллектуальные системы» (IEEE AIS'07). — М.: Физматлит, 2007. — Т. 1. — С. 88—94.
13. Socha K., Dorigo M. Ant Colony Optimization for Continuous Domains / Technical Report TR/IRIDIA/2005-037, Universite Libre de Bruxelles. — Bruxelles, 2005. — 34 p.
14. Kennedy J., Ebenhart R. Particle Swarm Optimization / Proc. of the 1995 IEEE Intern. Conf. on Neural Networks. — Perth: IEEE Service Center, 1995. — P. 1942—1948.
Статья представлена к публикации членом редколлегии
Ф.Ф. Пащенко.
Ходашинский Илья Александрович — д-р техн. наук, профессор,
Томский государственный университет систем управления
и радиоэлектроники, Я(3822) 70-15-93, И [email protected].