Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 4.27




С помощью программы Evolver найти оптимальный набор ве­сов нейронной сети, изображенной на рис. 4.2 (пример 4.3), если зна­чения весов лежат в интервале от -7 до 8.

Начальные значения весов, составляющие генотип одной из особей исходной популяции, представлены на рис. 4.96. Видно, что значения у для конкретных пар входов совершенно не соответствуют функции XOR. Значение погрешности Q = 0,38 считается абсолютно неудовлетворительным.

Для решения задачи применялся тот же генетический алгоритм при той же размерности популяции и тех же показателях скрещивания и мутации, что и в предыдущих примерах. Всего лишь через 96 «так­тов» получены наилучшие значения функции приспособленности кон­кретных особей в популяции, показанные на рис. 4.97 (столбчатая ди­аграмма). В свою очередь, на рис. 4.98 представлена таблица, содер­жащая генотипы всех 50 особей этой популяции (состоящие из девя­ти действительных чисел, соответствующих конкретным весам) и зна­чения их функции приспособленности, размещенные в первой колон­ке.

Обратим внимание на то, что начальная хромосома с аллеля­ми, равными значениям весов из рис. 4.96, расположена в средней части этой таблицы и обозначена «Организм 25». Следует помнить, что особи в популяции упорядочены от «наихудшего» к «наилучше­му». Последняя особь («Организм 50») - это хромосома, «наилучшая на данный момент», т.е. после 96 «тактов». Значения весов, входя­щих в состав этой хромосомы, показаны на рис. 4.99 вместе с выход­ными значениями для конкретных пар входов и значением минимизи­руемой погрешности. Итак, после 96 «тактов» получен исключитель­но хороший результат.



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


4.11. Приложения эволюционных алгоритмов



 


При повторном выполнении этой же программы с самого нача­ла при том же исходном наборе весов (рис. 4.96) через примерно 10000 «тактов» получена погрешность Q = 0,0962, через 20000 «так­тов» - Q = 0,07956, а через 21000 «тактов» - Q = 0,0687. После 24000 тактов эта погрешность уменьшилась до значения Q = 0,0077 (рис. 4.100), а после 40000 «тактов» получен «наилучший» набор весов, показанный на рис. 4.101.

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

Для случая на рис. 4.99 получен результат, подобный представ­ленному на рис. 4.101, причем веса w21. w22, w3i, а также vv-ю и w30 имеют противоположные знаки.

При использовании генетического алгоритма программы Evolver для решения задач, аналогичных рассмотренным в примерах 4.23 - 4.27, генетические операторы изменяют значения отдельных весов (мутация) и осуществляют обмен значений весов, выбранных случайным образом, между двумя хромосомами (скрещивание). В то же время, в программе FlexToo! (пример 4.20) генетические операто­ры рекомбинируют гены внутри хромосом, которые представляют со­бой двоичные последовательности, соответствующие закодирован­ным значениям конкретных весов. В программе Evolver хромосомы состоят из генов, имеющих действительные значения, совпадающие со значениями весов. Программа Evolver - это прекрасный инстру­мент для оптимизации функции нескольких переменных, при этом она может применяться для поиска максимума или минимума функ­ции двух и даже одной переменной. Заметим, что в случае только од­ной переменной скрещивание практически не производится, и выпол­няется только операция мутации, что характерно для так называемо­го эволюционного программирования (см. разд. 4.10). Все примеры, решенные в разд. 4.9 при помощи программы FlexTool, можно ре­шать также и средствами программы Evolver. Например, на рис. 4.102 показано изменение «наилучшего» и среднего значения функ­ции приспособленности в случае поиска максимума функции, пред­ставленной на рис. 4.23. Одно деление на временной оси соответст­вует 20 «тактам». Вычисления проводились с принятыми по умолча­нию значениями показателей скрещивания (0,5) и мутации (0,06), а также размерности популяции (50). Графики и «наилучшие» реше­ния регистрировались после 700 «тактов» (t = 700). Пример 4.28 по­священ оптимизации функции двух переменных, график которой изо­бражен на рис. 4.40.




Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 287; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.