Нечеткие нейронные сети и генетические алгоритмы. Современные проблемы науки и образования. Нечеткая логика в ПИД-регуляторах

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

Описание условий и метода решения задачи на языке, близком к естественному;

Универсальность: согласно теореме FAT (Fuzzy Approximation Theorem), доказанной Б Коско (В. Kosko) в 1993 г., любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике;

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

где - символ принятого расстояния между функциями.

Вместе с тем, для нечетких систем характерны и определенные недостатки:

Исходный набор постулируемых нечетких правил формулируется экспертом-человеком и может оказаться неполным или противоречивым;

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

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

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

Первый слой нейронов выполняет функцию введения нечеткости (fuzzification) на основе заданных функций принадлежности входов;

Второй слой отображает совокупность нечетких правил;

Третий слой выполняет функцию приведения к четкости (defuzzification).

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

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

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

ISBN 978-5-9912-0320-3 Сайт издательства: www.techbook.ru Н ейронны е сети, генетические алгоритмы и нечеткие системы <...> Нейронные сети , генетические алгоритмы и нечеткие системы : Пер. с польск. <...> ББК 30.17 Адрес издательства в Интернет www.techbook.ru Научное издание Рутковская Данута, Пилиньский Мачей, Рутковский Лешек НЕЙРОННЫЕ СЕТИ , ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ И НЕЧЕТКИЕ СИСТЕМЫ 2-е издание, стереотипное Редактор А. С. <...> Адаптивный линейный взвешенный сумматор с сигмоидой на выходе. <...> Примеры оптимизации <...> Примеры оптимизации функции с помощью программы Evolver . <...> Решение комбинаторных задач с помощью программы Evolver . <...> Примеры оптимизации функции с помощью программы FlexTool . <...> Примеры оптимизации функции с помощью программы Evolver . <...> Далее приводятся два алгоритма алгоритм обратного распространения ошибки алгоритм <...> Далее приводятся два алгоритма обучения многослойных нейронных сетей: классический и наиболее часто применяемый алгоритм обратного распространения ошибки , а также значительно более быстрый алгоритм , основанный на рекуррентном методе наименьших квадратов. <...> алгоритма обучения этих сетей: алгоритм обратного распространения ошибки и рекуррентный алгоритм <...> Поэтому в настоящей главе мы обсудим в первую очередь базовые элементы многослойных нейронных сетей – персептрон и системы типа Адалайн (с линейным и нелинейным выходом), после чего определим два алгоритма обучения этих сетей: алгоритм обратного распространения ошибки и рекуррентный алгоритм метода наименьших квадратов. <...> Персептрон 23 Гиперплоскость <...>

Нейронные_сети,_генетические_алгоритмы_и_нечеткие_системы.pdf

Д. Рутковская М. П илиньский Л. Рутковский Н ейронны е сети, генетические алгоритмы и нечеткие системы Горячая линия-Телеком WYDAWNICTWO NAUKOWE PWN 2-е издание

Стр.1

Нейронные_сети,_генетические_алгоритмы_и_нечеткие_системы_(1).pdf

2-е издание

Стр.3

УДК 681.322 ББК 30.17 Р90 Рутковская Д., Пилиньский М., Рутковский Л. Р90 Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И. Д. Рудинского. – 2-е изд., стереотип. – М.: Горячая линия – Телеком, 2013. – 384 c.: ил. ISBN 978-5-9912-0320-3. Книга посвящена вопросам «интеллектуальных вычислений». Содержит базовые знания о генетических алгоритмах, эволюционном программировании, нечетких системах, а также о связях этих направлений с нейронными сетями. Для научных и инженерно-технических работников в области информатики и вычислительной техники, занимающихся созданием и использованием интеллектуальных систем, а также аспирантов и студентов различных специальностей в области компьютерных технологий. ББК 30.17 Адрес издательства в Интернет www.techbook.ru Научное издание Рутковская Данута, Пилиньский Мачей, Рутковский Лешек НЕЙРОННЫЕ СЕТИ, ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ И НЕЧЕТКИЕ СИСТЕМЫ 2-е издание, стереотипное Редактор А. С. Попов Компьютерная верстка Т. С. Левыкиной Обложка художника В. Г. Ситникова Подписано в печать 09.01.2013. Формат 60×90/16. Печать цифровая Уч.-изд. л. 24. Тираж 200 экз. Изд. № 13320 ISBN 978-5-9912-0320-3 © Рутковская Д., Пилиньский М., Рутковский Л. 1997, 2013 © Издательство Wydawnictwo Naukowe PWN, 1997, 1999, 2004 © Рудинский И. Д., перевод с польск., 2004, 2013 © Издательство «Горячая линия−Телеком», 2004, 2013

Стр.4

Оглавление Предисловие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Предисловие к русскому изданию. . . . . . . . . . . . . . . . . . . . . . . 12 1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2. Многослойные нейронные сети и алгоритмы их обучения 18 2.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2. Нейрон и его модели. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3. Персептрон. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4. Системы типа Адалайн. . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1. Линейный взвешенный сумматор. . . . . . . . . . . . . . . 26 2.4.2. Адаптивный линейный взвешенный сумматор. . . . . 30 2.4.3. Адаптивный линейный взвешенный сумматор с сигмоидой на выходе. . . . . . . . . . . . . . . . . . . . . . . 31 2.5. Алгоритм обратного распостранения ошибки. . . . . . . . . . 33 2.6. Применение рекуррентного метода наименьших квадратов для обучения нейронных сетей. . . . . . . . . . . . . . . . . . . . . 37 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3. Нечеткие множества и нечеткий вывод. . . . . . . . . . . . . . . . 45 3.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2. Основные понятия и определения теории нечетких множеств. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3. Операции на нечетких множествах. . . . . . . . . . . . . . . . . . . 56 3.4. Принцип расширения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.5. Нечеткие числа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.6. Треугольные нормы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.7. Нечеткие отношения и их свойства. . . . . . . . . . . . . . . . . . 78 3.8. Нечеткий вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.8.1. Основные правила вывода в двоичной логике. . . . . . 83 3.8.2. Основные правила вывода в нечеткой логике. . . . . . 84 3.8.2.1. Обобщенное нечеткое правило modus ponens. . . 84 3.8.2.2. Обобщенное нечеткое правило modus tollens . . . 87 3.8.3. Правила нечеткой импликации. . . . . . . . . . . . . . . . . . 88

Стр.5

6 Оглавление 3.9. Нечеткое управление. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.9.1. Классический модуль нечеткого управления. . . . . . 92 3.9.1.1. База правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.9.1.2. Блок фуззификации. . . . . . . . . . . . . . . . . . . . . . 94 3.9.1.3. Блок выработки решения. . . . . . . . . . . . . . . . . . 94 3.9.1.4. Блок дефуззификации. . . . . . . . . . . . . . . . . . . . . 105 3.9.2. Метод нечеткого управления Такаги-Сугено. . . . . . . 106 3.10. Проектирование базы нечетких правил на основе численных данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.10.1. Построение нечетких правил. . . . . . . . . . . . . . . . . 110 3.10.2. Задача парковки грузовика. . . . . . . . . . . . . . . . . . . 115 3.10.3. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4. Генетические алгоритмы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2. Генетические алгоритмы и традиционные методы оптимизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.3. Основные понятия генетических алгоритмов. . . . . . . . . . 126 4.4. Классический генетический алгоритм. . . . . . . . . . . . . . . . 130 4.5. Иллюстрация выполнения классического генетического алгоритма. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.6. Кодирование параметров задачи в генетическом алгоритме 139 4.7. Основная теорема о генетических алгоритмах. . . . . . . . . 144 4.8. Модификации классического генетического алгоритма. . . 157 4.8.1. Методы селекции. . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.8.2. Особые процедуры репродукции. . . . . . . . . . . . . . . 160 4.8.3. Генетические операторы. . . . . . . . . . . . . . . . . . . . . . 161 4.8.4. Методы кодирования. . . . . . . . . . . . . . . . . . . . . . . . . 163 4.8.5. Масштабирование функции приспособленности. . . . 164 4.8.6. Ниши в генетическом алгоритме. . . . . . . . . . . . . . . . 166 4.8.7. Генетические алгоритмы для многокритериальной оптимизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.8.8. Генетические микроалгоритмы. . . . . . . . . . . . . . . . . . 169 4.9. Примеры оптимизации функции с помощью программы FlexTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.10. Эволюционные алгоритмы. . . . . . . . . . . . . . . . . . . . . . . . 206 4.11. Приложения эволюционных алгоритмов. . . . . . . . . . . . . . 213

Стр.6

Оглавление 7 4.11.1. Примеры оптимизации функции с помощью программы Evolver . . . . . . . . . . . . . . . . . . . . . . . . . 214 4.11.2. Решение комбинаторных задач с помощью программы Evolver . . . . . . . . . . . . . . . . . . . . . . . . . 246 4.12. Эволюционные алгоритмы в нейронных сетях. . . . . . . . 250 4.12 1. Независимое применение генетических алгоритмов и нейронных сетей. . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.2. Нейронные сети для поддержки генетических алгоритмов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.3. Генетические алгоритмы для поддержки нейронных сетей. . . . . . . . . . . . . . . . . . . . . . . . . . 253 4.12.4. Применение генетических алгоритмов для обучения нейронных сетей. . . . . . . . . . . . . . . . . . . 256 4.12.5. Генетические алгоритмы для выбора топологии нейронных сетей. . . . . . . . . . . . . . . . . . . . . . . . . . 256 4.12.6. Адаптивные взаимодействующие системы. . . . . . 257 4.12.7. Типовой цикл эволюции. . . . . . . . . . . . . . . . . . . . . 257 4.12.7.1. Эволюция весов связей. . . . . . . . . . . . . . . . . . . 259 4.12.7.2. Эволюция архитектуры сети. . . . . . . . . . . . . . . 261 4.12.7.3. Эволюция правил обучения. . . . . . . . . . . . . . . 264 4.13. Примеры моделирования эволюционных алгоритмов в приложении к нейронным сетям. . . . . . . . . . . . . . . . . . 266 4.13.1. Программы Evolver и BrainMaker . . . . . . . . . . . . . . 268 4.13.2. Программа GTO . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 5. Модули нечетко-нейронного управления. . . . . . . . . . . . . . . . 307 5.1. Модуль нечеткого управления со структурой, определенной в процессе дефуззификации. . . . . . . . . . . 308 5.1.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 5.1.2. Конструкция модуля. . . . . . . . . . . . . . . . . . . . . . . . . 309 5.1.3. Структура модуля. . . . . . . . . . . . . . . . . . . . . . . . . . . 311 5.1.4. Использование алгоритма обратного распространения ошибки. . . . . . . . . . . . . . . . . . . . . 313 5.1.5. Модификации модуля. . . . . . . . . . . . . . . . . . . . . . . 320 5.1.6. Применение модуля нечеткого управления для прогнозирования случайных временных рядов. . . . 322 5.1.7. Применение модуля нечеткого управления для решения задачи парковки грузовика. . . . . . . . . . . . . 326 5.1.8. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Стр.7

8 Оглавление 5.2. Представление модуля нечеткого управления в виде стандартной нейронной сети. . . . . . . . . . . . . . . . . . . . . . . 330 5.3. Модуль нечеткого управления с нейронной сетью для выполнения дефуззификации. . . . . . . . . . . . . . . . . . . . . . 333 5.3.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 5.3.2. Конструкция модуля. . . . . . . . . . . . . . . . . . . . . . . . . 334 5.3.3. Структура модуля. . . . . . . . . . . . . . . . . . . . . . . . . . . 335 5.3.4. Алгоритмы обучения модуля. . . . . . . . . . . . . . . . . . 337 5.3.5. Решение задачи стабилизации перевернутого маятника. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 5.3.6. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4. Модуль нечеткого управления с возможностью коррекции правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.2. Фаза обучения на основе самоорганизации. . . . . . 349 5.4.3. Фаза обучения с учителем. . . . . . . . . . . . . . . . . . . . 354 5.4.4. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5. Модуль нечеткого управления типа Такаги-Сугено: случай независимых лингвистических переменных. . . . . . 356 5.5.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5.2. Нейронная реализация функции принадлежности. . 357 5.5.3. Модули Такаги-Сугено. . . . . . . . . . . . . . . . . . . . . . . 359 5.5.4. Реализация условий. . . . . . . . . . . . . . . . . . . . . . . . . 359 5.5.5. Реализация заключений. . . . . . . . . . . . . . . . . . . . . . 361 5.5.6. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6. Модуль нечеткого управления типа Такаги-Сугено: случай зависимых лингвистических переменных. . . . . . . 365 5.6.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6.2. Нейронные сети для нечеткого вывода. . . . . . . . . . 366 5.6.3. Структура системы. . . . . . . . . . . . . . . . . . . . . . . . . . 368 5.6.4. Способ обучения. . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 5.6.5. Решение задачи парковки грузовика. . . . . . . . . . . . 374 5.6.6. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Предметный указатель. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

Стр.8

Предисловие Двадцатый век завершился под знаком революции в области обработки информации. Мы стали свидетелями как быстрого роста объема доступных данных, так и увеличения скорости их обработки и передачи, а также емкости запоминающих устройств. Отчетливо видно, что эти явления не только взаимосвязаны, но и усиливают друг друга. В ситуации лавинобразного нарастания объемов информации и вычислительных мощностей возникает очевидный вопрос каким образом можно улучшить наши способности к познанию окружающего мира, имея в наличии столь большие и непрерывно растущие технические возможности? Помощь приходит со стороны апробированных классических математических методов, созданных трудами Ньютона, Лейбница, Эйлера и других гениев прошлого, заложивших фундамент современных вычислительных алгоритмов. Благодаря им у нас есть специализированные вычислительные процедуры для распознавания образов и речи, для управления системами различных классов и решения иных аналогичных проблем. Независимые от этого направления исследования в области искусственного интеллекта привели к созданию экспертных и прогностических систем, основанных на символьной обработке и использующих базы правил. Однако все перечисленные выше подходы предполагают использование либо узкоспециализированных вычислительных методик, либо специализированных баз знаний, чаще всего заключенных в жесткий корсет двоичной логики. Еще одно ограничение на применение этих методов связано с фактом, что они не допускают непосредственное решение задач при использовании вычислительных систем с универсальной архитектурой, общей для большинства практических приложений. Таким образом, мы подходим к происхождению и сущности вычислительных технологий, составляющих предмет настоящей книги. Эти технологии, объединяемые в англоязычной литературе под названием Computational Intelligence, позволяют получать непрерывные или дискретные решения в результате обучения по доступным имеющимся данным. Один из подклассов обсуждаемой группы методов составляют нейронные сети, использующие стохастические алгоритмы для обучения модели с учителем или путем самоорганизации. Они предназначены для обработки зашумленных цифровых данных, по которым алгоритмы обучения выстраивают однонаправленные или рекуррентные модели интересующих нас процессов. Эти модели характеризуются регулярной структурой, составленной из нелинейных элементов, объединенных разветвленной сетью линейных соединений и часто дополняемой локальными или глобальными обратными связями. При моделировании процессов возможности нейронных сетей могут усиливаться за счет применения технологии обработки информации, основанной на нечетких множествах и нечетком выводе. Этот метод связан с оцениванием функции принадлежности элементов к множествам с помощью нечетких логических операторов. Предлагаемый подход не только ослабляет требования к точности данных в процессе построения

Стр.9

10 Предисловие модели, но и позволяет описать сложные системы с помощью переменных, значения которых определяются на интуитивном уровне. Возникающая в результате парадигма моделирования, управления, выработки решений и т.п. ведет к формированию лингвистических аргументов логических функций. Такие функции, описывающие реальные объекты, могут уточняться в процессе обучения по имеющимся данным. Другой подход состоит в формировании правил вывода непосредственно в процессе обучения. Этим и определяется взамопроникновение и комплементарность нейронных моделей и систем, базирующихся на нечеткой логике. Лингвистические операторы, которые мы используем при повседневном общении, и итерационный процесс обучения вместе ведут к интеллектуальным логикоалгебраическим моделям, определяемым понятием Computational Intelligence (вычислительные технологии). Интеллектуальность в данном случае понимается как способность применять знания, накопленные в процессе обучения, как возможность генерировать правила вывода и как умение обобщать информацию. Важным классом алгоритмов обучения, обогативших нейронные и нечеткие технологии, считаются эволюционные алгоритмы. Они оперируют популяциями хромосом, оцениваемых функциями приспособленности, и используют эволюционную и генетическую обусловленность изменения последовательности битов или чисел. Таким образом эффективно исследуется пространство возможных решений. Оптимальное решение ищется в серии последовательных приближений аргументов с лучшими значениями функций приспособленности, генерируемых в результате мутации и скрещивания хромосом. Автор этих заметок в качестве председателя Комитета Симпозиума Computational Intelligence: Imitating Life, состоявшегося в Орландо в 1994 г., стоял у истоков слияния этих трех научных направлений и возникновения новой интегральной отрасли знаний. Он с удовольствием приветствует «Нейронные сети, генетические алгоритмы и нечеткие системы» – новаторскую книгу на польском издательском рынке. Помимо обсуждения базовых элементов нейронных сетей, описания нечетких систем и эволюционногенетических алгоритмов, этот труд содержит и оригинальные научные результаты авторов. В книге приводятся подробности реализации конкретных технических решений, в том числе различных процессоров и обучаемых систем, основанных на нечеткой логике. Большое внимание уделяется вопросам практического использования ряда пакетов прикладных программ. Тематически книга связана с научными направлениями Всепольских конференций по нейронным сетям и их приложениям, организованных профессором Л. Рутковским и Польским товариществом нейронных сетей в 1994 и 1996 г.г. Данная публикация под руководством профессора Л. Рутковского чрезвычайно актуальна, ценна и уникальна. Она заполняет обширную нишу на емком научнотехническом рынке Польши. Книга окажется особенно полезной инженерам различных специальностей, экономистам, физикам, математикам и специалистам по информатике, а также студентам

Стр.10

Предисловие 11 этих и смежных с ними областей знаний. Следует поздравить авторов с большим достижением в виде этого прекрасного научного труда. Эта книга должна не только умножить признание их заслуг, но и привлечь новые ряды энтузиастов этой захватывающей научной дисциплины. Июль 1996 г. Яцек Журада член IEEE. Университет Луисвилль, США

ПИД-регуляторы, описанные выше, имеют плохие показатели качества при управлении нелинейными и сложными системами, а также при недостаточной информации об объекте управления. Характеристики регуляторов в некоторых случаях можно улучшить с помощью методов нечеткой логики, нейронных сетей и генетических алгоритмов. Перечисленные методы за рубежом называют "soft-computing", подчеркивая их отличие от "hard-computing", состоящее в возможности оперировать с неполными и неточными данными. В одном контроллере могут применяться комбинации перечисленных методов (фаззи-ПИД, нейро-ПИД, нейро-фаззи-ПИД регуляторы с генетическими алгоритмами).

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

5.7.1. Нечеткая логика в ПИД-регуляторах

Нечеткий вывод выполняется следующим образом. Предположим, что область изменения ошибки разделена на множества , область изменения управляющего воздействия - на множества и что с помощью эксперта удалось сформулировать следующие правила работы регулятора [Astrom ]:

Правило 1: если = и = , то =

Правило 2: если = и = , то =

Правило 3: если = и = , то =

Правило 4: если = и = , то =

Правило 5: если = и = , то =

Правило 6: если = и = , то =

Правило 7: если = и = , то =

Правило 8: если = и = , то =

Правило 9: если = и = , то = .

Приведенные правила часто записывают в более компактной табличной форме (рис. 5.91).

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

e

Рис. 5.91. Представление нечетких правил в табличной форме

Операция "И" в правилах (5.118) соответствует пересечению множеств, а результат применения всех правил соответствует операции объединения множеств [Рутковская ]. Функция принадлежности для пересечения двух множеств, например, и (см. Правило 1) находится как [Рутковская ]

Функции принадлежности, полученные при пересечении или объединении множеств, могут быть определены различными способами, в зависимости от смысла решаемой задачи. В этом смысле сама теория нечетких множеств тоже является нечеткой. В [Рутковская ] приводится 10 различных определений функции принадлежности для пересечения множеств, но не сказано, какое из них нужно выбрать для решения конкретной задачи. Используют, в частности, более понятную операцию нахождения функций принадлежности в случае пересечения и объединения множеств, имеющую аналогию с правилами умножения и сложения вероятностей:

Однако применение первых двух способов нахождения функции принадлежности обычно более предпочтительно, т.к. при этом сохраняется большинство правил, разработанных для обычных множеств [Усков ].

Функции принадлежности для каждого из множеств , входящих в нечеткую переменную в правилах (5.118), получаются в виде [Рутковская ]

Здесь каждое из 9-ти уравнений соответствует одному из правил (5.118). Результирующая функция принадлежности управляющего воздействия , полученная после применения всех 9-ти правил, находится как объединение функций принадлежности всех правил:

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

.

Такой способ дефаззификации является наиболее распространенным, но не единственным.

Для построения нечетких регуляторов обычно используют П, И, ПИ и ПД ПД+И, ПИ+Д и ПИД-законы регулирования [Mann ]. В качестве входных сигналов для системы нечеткого вывода используют сигнал ошибки, приращение ошибки, квадрат ошибки и интеграл от ошибки [Mann ]. Реализация нечеткого ПИД регулятора вызывает проблемы, поскольку он должен иметь трехмерную таблицу правил в соответствии с тремя слагаемыми в уравнении ПИД-регулятора, которую чрезвычайно сложно заполнить, пользуясь ответами эксперта. Большое количество структур ПИД-подобных нечетких контроллеров можно найти в статье [Mann ].

Окончательная настройка нечеткого регулятора или настройка, близкая к оптимальной, до сих пор остается трудной задачей. Для этого используются обучающие алгоритмы style="color:red"> и генетические поисковые методы, требующие больших вычислительных ресурсов и времени.

Применение нечеткой логики для подстройки коэффициентов ПИД-регулятора

Настройка регулятора, выполненная методами, изложенными в разделах "Расчет параметров" и "Автоматическая настройка и адаптация" , не является оптимальной и может быть улучшена с помощью дальнейшей подстройки. Подстройка может быть выполнена оператором на основании правил (см. раздел "Ручная настройка, основанная на правилах") или автоматически, с помощью блока нечеткой логики (рис. 5.92). Блок нечеткой логики (фаззи-блок) использует базу правил подстройки и методы нечеткого вывода. Фаззи-подстройка позволяет уменьшить перерегулирование, снизить время установления и повысить робастность ПИД-регулятора [Yesil ].

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

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

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

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

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

5.7.2. Искусственные нейронные сети

Нейронные сети, как и нечеткая логика, используются в ПИД-регуляторах двумя путями: для построения самого регулятора и для построения блока настройки его коэффициентов. Нейронная сеть обладает способностью "обучаться", что позволяет использовать опыт эксперта для обучения нейронной сети искусству настройки коэффициентов ПИД-регулятора. Регулятор с нейронной сетью похож на регулятор с табличным управлением (см. раздел "Табличное управление">), однако отличается специальными методами настройки ("обучения"), разработанными для нейронных сетей и методами интерполяции данных.

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

Нейронные сети были предложены в 1943 г. Мак-Каллоком и Питтсом как результат изучения нервной деятельности и биологических нейронов. Искусственный нейрон представляет собой функциональный блок с одним выходом и входами , который реализует в общем случае нелинейное преобразование , где - весовые коэффициенты (параметры) при входных переменных ; - постоянное смещение; - "функция активации " нейрона, например, вида (сигмоидальная функция), где - некоторый параметр. Нейронная сеть (рис. 5.93) состоит из множества связанных между собой нейронов, количество связей может составлять тысячи. Благодаря нелинейности функций активации и большому количеству настраиваемых коэффициентов (в работе [Kato ] использовано 35 нейронов во входном слое и 25 в выходном, при этом количество коэффициентов составило 1850) нейронная сеть может выполнять нелинейное отображение множества входных сигналов во множество выходных.

Типовая структура системы автоматического регулирования с ПИД-регулятором и нейронной сетью в качестве блока автонастройки показана на рис. 5.94 [Kawafuku , Kato ]. Нейронная сеть в данной структуре выполняет роль функционального преобразователя, который для каждого набора сигналов вырабатывает коэффициенты ПИД-регулятора .метод обратного распространения ошибки) [Терехов ]. Используются также другие методы поиска минимума, в том числе генетические алгоритмы, метод моделирования отжига, метод наименьших квадратов.

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

Рис. 5.95. Схема обучения нейронной сети в блоке автонастройки

Длительность процесса обучения является основной преградой на пути широкого использования методов нейронных сетей в ПИД-регуляторах [Усков ]. Другими недостатками нейронных сетей являются невозможность предсказания погрешности регулирования для входных воздействий, которые не входили в набор обучающих сигналов; отсутствие критериев выбора количества нейронов в сети, длительности обучения, диапазона и количества обучающих воздействий. Ни в одной из публикаций не исследовалась робастность или запас устойчивости регулятора.

5.7.3. Генетические алгоритмы

1. Выбор исходной популяции хромосом размера N.

2. Оценка приспособленности хромосом в популяции.

3. Проверка условия остановки алгоритма.

4. Селекция хромосом.

5. Применение генетических операторов.

6. Формирование новой популяции.

7. Переход к п. 2.

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

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

Рис. 5.97), затем происходит обмен генетической информацией, расположенной справа от выбранной позиции [Fleming ].

После выполнения генетического алгоритма производят декодирование двоичного представления в инженерные величины.

Оценка приспособленности хромосом в популяции для оценки коэффициентов ПИД-регулятора может быть выбрана, к примеру, как

,

где - текущее значение ошибки регулирования, - время.

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