КАТЕГОРИИ: Архитектура-(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; Просмотров: 311; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |