Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Артикул: 052210.05.01
Книга посвящена вопросам "интеллектуальных вычислений". Содержит базовые знания о генетических алгоритмах, эволюционном программировании, нечетких системах, а также о связях этих направлений с нейронными сетями. Для научных и инженерно-технических работников в области информатики и вычислительной техники, занимающихся созданием и использованием интеллектуальных систем, а также аспирантов и студентов различных специальностей в области компьютерных технологий.
Рутковская, Д. Нейронные сети, генетические алгоритмы и нечеткие системы / Д. Рутковская, М. Пилиньский, Л. Рутковский; Пер. с польск. И.Д. Рудинского - 2-е изд., стереотип. - Москва :Гор. линия-Телеком, 2013. - 384 с. ISBN 978-5-9912-0320-3. - Текст : электронный. - URL: https://znanium.com/catalog/product/414545 (дата обращения: 22.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
2-е издание

УДК 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 

Оглавление

Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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

7

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

Оглавление
Оглавление

4.11.1. Примеры оптимизации функции с помощью
программы Evolver
. . . . . . . . . . . . . . . . . . . . . . . . .
220
4.11.2. Решение комбинаторных задач с помощью
программы Evolver . . . . . . . . . . . . . . . . . . . . . . . . .
250
4.12. Эволюционные алгоритмы в нейронных сетях
. . . . . . . .
254
4.12 1. Независимое применение генетических алгоритмов
и нейронных сетей
. . . . . . . . . . . . . . . . . . . . . . . . .
256
4.12.2. Нейронные сети для поддержки генетических
алгоритмов
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
4.12.3. Генетические алгоритмы для поддержки
нейронных сетей
. . . . . . . . . . . . . . . . . . . . . . . . . .  257
4.12.4. Применение генетических алгоритмов для
обучения нейронных сетей . . . . . . . . . . . . . . . . . . .
260
4.12.5. Генетические алгоритмы для выбора топологии
нейронных сетей
. . . . . . . . . . . . . . . . . . . . . . . . . . 260
4.12.6. Адаптивные взаимодействующие системы
. . . . . .
261
4.12.7. Типовой цикл эволюции
. . . . . . . . . . . . . . . . . . . . .
261
4.12.7.1. Эволюция весов связей . . . . . . . . . . . . . . . . . . .
263
4.12.7.2. Эволюция архитектуры сети . . . . . . . . . . . . . . .
265
4.12.7.3. Эволюция правил обучения
. . . . . . . . . . . . . . . 268
4.13. Примеры моделирования эволюционных алгоритмов
в приложении к нейронным сетям
. . . . . . . . . . . . . . . . . . 270
4.13.1. Программы Evolver и BrainMaker . . . . . . . . . . . . . . 272
4.13.2. Программа GTO
. . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Список литературы
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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

3.9. Нечеткое управление . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
3.9.1. Классический модуль нечеткого управления . . . . . .
98
3.9.1.1. База правил . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
3.9.1.2. Блок фуззификации
. . . . . . . . . . . . . . . . . . . . . . 100
3.9.1.3. Блок выработки решения
. . . . . . . . . . . . . . . . . .
100
3.9.1.4. Блок дефуззификации . . . . . . . . . . . . . . . . . . . . .
111
3.9.2. Метод нечеткого управления Такаги-Сугено . . . . . . .
112
3.10. Проектирование базы нечетких правил на основе
численных данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
115
3.10.1. Построение нечетких правил
. . . . . . . . . . . . . . . . . 116
3.10.2. Задача парковки грузовика . . . . . . . . . . . . . . . . . . .
121
3.10.3. Примечание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124
Список литературы
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   128

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

4.1. Введение
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
130
4.2. Генетические алгоритмы и традиционные методы      
оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
131
4.3. Основные понятия генетических алгоритмов
. . . . . . . . . . 132
4.4. Классический генетический алгоритм
. . . . . . . . . . . . . . . . 136
4.5. Иллюстрация выполнения классического генетического
алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
142
4.6. Кодирование параметров задачи в генетическом алгоритме
145
4.7. Основная теорема о генетических алгоритмах . . . . . . . . . 150
4.8. Модификации классического генетического алгоритма . . .
163
4.8.1. Методы селекции
. . . . . . . . . . . . . . . . . . . . . . . . . . .
163
4.8.2. Особые процедуры репродукции
. . . . . . . . . . . . . . .
166
4.8.3. Генетические операторы
. . . . . . . . . . . . . . . . . . . . . .
167
4.8.4. Методы кодирования
. . . . . . . . . . . . . . . . . . . . . . . . . 169
4.8.5. Масштабирование функции приспособленности . . . . 170
4.8.6. Ниши в генетическом алгоритме
. . . . . . . . . . . . . . . . 172
4.8.7. Генетические алгоритмы для многокритериальной
оптимизации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
173
4.8.8. Генетические микроалгоритмы . . . . . . . . . . . . . . . . . .
175
4.9. Примеры оптимизации функции с помощью программы
FlexTool
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
176
4.10. Эволюционные алгоритмы . . . . . . . . . . . . . . . . . . . . . . . .
212
4.11. Приложения эволюционных алгоритмов . . . . . . . . . . . . . .
219

Оглавление
Оглавление

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

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, позволяют получать непрерывные или дискретные решения в результате обучения по доступным имеющимся данным. Один из подклассов обсуждаемой группы методов составляют нейронные сети, использующие стохастические алгоритмы для обучения модели с учителем или путем самоорганизации. Они предназначены для
обработки зашумленных цифровых данных, по которым алгоритмы обучения выстраивают однонаправленные или рекуррентные модели интересующих нас процессов. Эти модели характеризуются регулярной структурой, составленной из нелинейных элементов, объединенных разветвленной сетью линейных соединений и часто дополняемой локальными
или глобальными обратными связями. 
При моделировании процессов возможности нейронных сетей могут усиливаться за счет применения технологии обработки информации,
основанной на нечетких множествах и нечетком выводе. Этот метод связан с оцениванием функции принадлежности элементов к множествам
с помощью нечетких логических операторов. Предлагаемый подход не
только ослабляет требования к точности данных в процессе построения

11

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

Июль 1996 г.

Яцек Журада

член IEEE.
Университет Луисвилль, США

Предисловие

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

Предисловие

11

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

Июль 1996 г.

Яцек Журада

член IEEE.
Университет Луисвилль, США

Предисловие

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

Предисловие

Предисловие к русскому изданию

Проблематика нейронных сетей, генетических алгоритмов и нечетких систем, и в особенности комбинации этих методов – это одна из
наиболее интенсивно развивающихся в настоящее время областей исследований, получившей название «Вычислительные технологии». Ее
можно считать современным ответвлением информатики (Computer
Science), связанным с методами искусственного интеллекта (Artificial
Intelligence), хотя и принципиально отличным от классического подхода,
применяемого адептами этого направления. 
Дисциплина «Вычислительные технологии» исследует интеллектуальные методы решения различных задач и находит применение в различных областях, в том числе в промышленности, экономике, медицине
и др. Нейронные сети, генетические алгоритмы и нечеткие системы дополняют классические экспертные системы, которые считаются одним
из главных направлений приложения искусственного интеллекта, а также
в некоторых случаях выполняют функции этих систем путем реализации
так называемых интеллектуальных вычислительных систем. Последние
представляют собой объединение нейронных сетей, генетических алгоритмов и нечетких систем, взаимодействие которых позволяет решать
различные задачи, но самое важное – они становятся универсальным инструментом для обработки информации. Одна и та же система может
применяться для решения различных задач, что считается несомненным
достоинством по сравнению с классическими экспертными системами,
ориентированными, как правило, на достаточно узкую проблему, например, на медицинскую диагностику конкретного заболевания. Интеллектуальные вычислительные системы можно легко «перепрограммировать»
на решение другой задачи, причем роль такого программирования играет обучение. Таким образом, эти системы обладают способностью к обучению, что считается главным атрибутом интеллектуальности.
Теоретические основы методов, применяемых в сфере «Вычислительные технологии», заложены исследованиями, проводимыми в области «Soft Computing». Эта отрасль информатики занимается так называемыми мягкими вычислениями, которые характеризуются неполнотой
данных и отсутствием точности. К ним относятся нечеткие системы, некоторые разделы теории вероятностей, а также нейронные сети и генетические алгоритмы. Наиболее известной фигурой среди исследователей
этой области является профессор Л. Заде из Computer Science Division
в Беркли, который в 1965 г. опубликовал знаменитую работу, посвященную нечетким множествам (Fuzzy Sets), а в настоящее время исполняет
обязанности директора Initiative in Soft Computing (BICS). Его многочисленные публикации, посвященные нечеткой логике (Fuzzy Logic) привели
к созданию нечетких систем (Fuzzy Sets), которые нашли разнообразные
практические применения, например, для управления бытовой техникой,
поездами японского метрополитена, вертолетами, производственными
процессами и т.п. Известны их реализации и в других областях, в частности, в медицине.
По тематике Soft Computing публикуются многочисленные работы,
посвященные нечетким системам, генетическим алгоритмам и нейрон
ным сетям, их гибридам и практическим приложениям. Проводятся различные конференции, на которых представляются новейшие результаты
исследований обсуждаемых нами методов и интеллектуальных технологий.
Книга «Нейронные сети, генетические алгоритмы и нечеткие системы», первая версия которой была выпущена Варшавским издательством
PWN в 1997 г., заняла на польском книжном рынке пустовавшую прежде
нишу описания методов, применяемых в сфере вычислительных
технологий, и их объединений. О большом интересе к представленным
в ней проблемам свидетельствует быстрая раскупаемость первого тиража и последующих допечаток. Читатель держит в руках русское издание
нашей книги, в которое по сравнению с польскими версиями внесены некоторые изменения и дополнения.
Авторы посвящают русское издание книги памяти недавно скончавшегося профессора Якова Залмановича Цыпкина и выражают признательность за его огромный вклад в развитие теории адаптивных систем.
Профессор Яков Залманович Цыпкин останется для нас великим Ученым
и Человеком. 

Лешек Рутковский

Председатель Польского общества 
нейронных сетей

13
Предисловие к русскому изданию

Предисловие к русскому изданию

Проблематика нейронных сетей, генетических алгоритмов и нечетких систем, и в особенности комбинации этих методов – это одна из
наиболее интенсивно развивающихся в настоящее время областей исследований, получившей название «Вычислительные технологии». Ее
можно считать современным ответвлением информатики (Computer
Science), связанным с методами искусственного интеллекта (Artificial
Intelligence), хотя и принципиально отличным от классического подхода,
применяемого адептами этого направления. 
Дисциплина «Вычислительные технологии» исследует интеллектуальные методы решения различных задач и находит применение в различных областях, в том числе в промышленности, экономике, медицине
и др. Нейронные сети, генетические алгоритмы и нечеткие системы дополняют классические экспертные системы, которые считаются одним
из главных направлений приложения искусственного интеллекта, а также
в некоторых случаях выполняют функции этих систем путем реализации
так называемых интеллектуальных вычислительных систем. Последние
представляют собой объединение нейронных сетей, генетических алгоритмов и нечетких систем, взаимодействие которых позволяет решать
различные задачи, но самое важное – они становятся универсальным инструментом для обработки информации. Одна и та же система может
применяться для решения различных задач, что считается несомненным
достоинством по сравнению с классическими экспертными системами,
ориентированными, как правило, на достаточно узкую проблему, например, на медицинскую диагностику конкретного заболевания. Интеллектуальные вычислительные системы можно легко «перепрограммировать»
на решение другой задачи, причем роль такого программирования играет обучение. Таким образом, эти системы обладают способностью к обучению, что считается главным атрибутом интеллектуальности.
Теоретические основы методов, применяемых в сфере «Вычислительные технологии», заложены исследованиями, проводимыми в области «Soft Computing». Эта отрасль информатики занимается так называемыми мягкими вычислениями, которые характеризуются неполнотой
данных и отсутствием точности. К ним относятся нечеткие системы, некоторые разделы теории вероятностей, а также нейронные сети и генетические алгоритмы. Наиболее известной фигурой среди исследователей
этой области является профессор Л. Заде из Computer Science Division
в Беркли, который в 1965 г. опубликовал знаменитую работу, посвященную нечетким множествам (Fuzzy Sets), а в настоящее время исполняет
обязанности директора Initiative in Soft Computing (BICS). Его многочисленные публикации, посвященные нечеткой логике (Fuzzy Logic) привели
к созданию нечетких систем (Fuzzy Sets), которые нашли разнообразные
практические применения, например, для управления бытовой техникой,
поездами японского метрополитена, вертолетами, производственными
процессами и т.п. Известны их реализации и в других областях, в частности, в медицине.
По тематике Soft Computing публикуются многочисленные работы,
посвященные нечетким системам, генетическим алгоритмам и нейрон
ным сетям, их гибридам и практическим приложениям. Проводятся различные конференции, на которых представляются новейшие результаты
исследований обсуждаемых нами методов и интеллектуальных технологий.
Книга «Нейронные сети, генетические алгоритмы и нечеткие системы», первая версия которой была выпущена Варшавским издательством
PWN в 1997 г., заняла на польском книжном рынке пустовавшую прежде
нишу описания методов, применяемых в сфере вычислительных
технологий, и их объединений. О большом интересе к представленным
в ней проблемам свидетельствует быстрая раскупаемость первого тиража и последующих допечаток. Читатель держит в руках русское издание
нашей книги, в которое по сравнению с польскими версиями внесены некоторые изменения и дополнения.
Авторы посвящают русское издание книги памяти недавно скончавшегося профессора Якова Залмановича Цыпкина и выражают признательность за его огромный вклад в развитие теории адаптивных систем.
Профессор Яков Залманович Цыпкин останется для нас великим Ученым
и Человеком. 

Лешек Рутковский

Председатель Польского общества 
нейронных сетей

13
Предисловие к русскому изданию

Введение
15

Г Л А В А 1

ВВЕДЕНИЕ

В последние годы большой интерес вызывает проблематика нейронных сетей, генетических алгоритмов и нечетких систем. Эти направления относятся к научной области, определяемой в англоязычной литературе термином Computational Intelligence. Взаимосвязи между нейронными сетями, генетическими алгоритмами и нечеткими системами послужили причиной того, что IEEE (Institute of Electrical and Electronics Engineers
– США) создал Всемирный Конгресс Computational Intelligence [10]. В рамках этого конгресса в период с 26 июня по 2 июля 1994г. в Орландо, штат
Флорида (США) были проведены три конференции:
а) IEEE International Conference on Neural Networks,
б) IEEE International Conference on Fuzzy Systems,
в) IEEE International Conference on Evolutionary Computation.
В 1995 – 1997 гг. каждая из этих конференций проводилась независимо, но в 1998 г. вновь был организован Конгресс, проведенный
на этот раз в Анкоридже на Аляске (США). На рис. 1.1. видно, что задачи
нейронных сетей, генетических алгоритмов и нечетких систем могут
рассматриваться вне связи между собой, однако их взаимозависимость
оказывается необычайно важной. В частности, генетические алгоритмы можно применять для подбора весов и топологии нейронной сети, а также для формирования базы правил и функций принадлежности
нечеткой системы.
В свою очередь, нейронные
сети позволяют выбирать соответствующие параметры для самих
генетических алгоритмов (параметры скрещивания и мутации); саму
философию 
нейронных 
сетей
можно заложить в фундамент нечетких систем, которые в результате обретают способность к обучению.
Кроме того, методы теории
нечетких множеств позволяют
подбирать как упомянутые выше
параметры генетических алгоритмов, так и коэффициенты, определяющие скорость обучения нейронных сетей.
В Польше перечисленные
выше проблемы интенсивно исследуются во многих научных
центрах. В области нейронных сетей первым достаточно полным

и очень полезным изданием считается книга профессора Р. Тадеусевича [7]. В настоящее время некоторые фрагменты этой книги представляются автором также и на видеокассете [8]. В последующие годы увидели свет и другие издания: книга, подводящая итоги работы коллектива
под руководством профессора Ю. Корбича [3], монография профессора С. Осовского [5] и работа, представляющая результаты исследований группы профессора Т. Каспшака в области клеточных нейронных сетей [2]. 
Следует также отметить факт, что некоторые монографии польских авторов известны и по достоинству оценены в мировой литературе.
В частности, можно назвать:
а) по нейронным сетям – книги профессора Я. Журады [9] и профессора А. Чихотского (с соавтором) [1];
б) по нечетким системам – книга профессора В. Педрыша [6];
в) по генетическим алгоритмам – книга профессора З. Михалевича [4].
Поскольку ни одно из упомянутых прекрасных изданий не охватывает одновременно все три ветви, объединяемые под названием
«вычислительные технологии», авторы настоящей работы поставили перед собой задачу раскрыть перед читателем необычайно интересные
возможности нейронных сетей, генетических алгоритмов и нечетких систем, а также их композиций.
В главе 2 представлены основные структуры одно и многослойных
нейронных сетей и алгоритмы их обучения. В первой части описывается
перцептрон и системы типа Адалайн. Далее приводятся два алгоритма
обучения многослойных нейронных сетей: классический и наиболее часто применяемый алгоритм обратного распространения ошибки, а также
значительно более быстрый алгоритм, основанный на рекуррентном методе наименьших квадратов.
В главе 3 обсуждаются системы, использующие нечеткую логику.
Они особенно полезны в ситуации, когда доступные знания представлены в виде правил, основанных на нечетких множествах и лингвистических переменных. Системы этого типа де-факто признаны стандартом
в Японии, где они применяются в автоматических стиральных и посудомоечных машинах, видеокамерах и фотоаппаратах, кондиционерах и автомобилях. Излагаются элементы теории нечетких множеств и нечеткого
вывода, также описывается функционирование различных нечетких процессоров.
Основам реализации генетических алгоритмов посвящена глава 4.
Как известно, естественный путь развития мозга – это эволюционный
процесс, с которым связаны специфические методы проб и ошибок. Идеи
эволюционных изменений привели к созданию генетических алгоритмов,
применяемых для обучения нейронных сетей и в системах, использующих нечеткую логику.
В книге представляются не только раздельные описания нейронных сетей и нечетких систем, но и (в главе 5) новейшие результаты, получаемые при их объединении. Композиции этого типа сохраняют и усиливают достоинства как нейронных сетей, так и нечетких систем. Они потен
Рис. 1.1. Взаимосвязи между нейронными сетями, генетическими алгоритмами  и нечеткими системами