КАТЕГОРИИ: Архитектура-(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.29
Этот пример демонстрирует применение генетического алгоритма для сортировки списка имен в алфавитном порядке. Для упрощения будем рассматривать очень короткий список из семи имен, начинающихся буквами J, М, В, R, S, H, F. Таким образом, наилучшее решение ищется в пространстве решений, состоящем из 7! = 5040 возможных перестановок семи элементов. Наилучшее решение очевидно - это В, F, H, J, M, R, S. На этом простейшем примере познакомимся с тем, как генетический алгоритм решает задачи
Родитель 1: [3 5 126 2 4] локус: 1 23 456 7 Родктель2:[ 345 17621 локус- 1 23 45 6 7 Потомок ^-> [3514726] локус 12 3 4 5 6 7 Родитель 1 [abcdefgh] локус: Родитель2: [gcfaebdh] локус: 1<2>&4®67® [abcdefgh] Потомок1 :: 12 3 4 5678 [gbfacedh] Потомок^ локус: 12 3 4 5 6 7 8 Рис. 4.112. Упорядоченное скрещивание (order crossover). Глава 4. Генетические алгоритмы 4.11. Приложения эволюционных алгоритмов
этого типа. Припишем каждому имени, включенному в исходный (несортированный) список, порядковый номер так, как это сделано в первом столбце на рис. 4.113. Допустимое решение, представленное на рисунке - это В, F, R, Н, J, M, S. Приведенным первым буквам имен предшествуют соответствующие им порядковые номера из первого столбца. Последовательность этих номеров (на рисунке они вписаны в клетки) идентифицирует данное решение. На рис. 4.114 таким же образом представлено наилучшее решение, определяемое последовательностью 3, 7, 6, 1,2,4,5 Рассматриваемая задача имеет семь переменных (параметров задачи). Обозначим их Рь Р2,..., Р7. Каждая из этих переменных может принимать целые значения от 1 до 7. На рис. 4.113 показана одна из особей популяции, для которой значения конкретных переменных (параметров задачи) равны 3, 7, 4,6, 1, 2, 5, а наилучшее решение на рис. 4.114 характеризуется значениями этих переменных 3, 7, 6,1,2, 4, 5. Приведенные последовательности чисел рассматриваются как аллели хромосом, представляющих соответствующие особи. Для каждой особи, входящей в популяцию, при выполнении генетического алгоритма рассчитывается значение функции приспособленности и на этой основе выбираются наилучшие и наихудшие особи. Прежде чем определить функцию приспособленности для рас [ 1, еслил(Р,)<л(Рт), [ 0 в противном случае Очевидно, что если последовательность G состоит из одних нулей, то последовательность имен будет корректной. Поэтому наилучшая особь должна характеризоваться последовательностью G, все элементы которой равны нулю. Следовательно, функцию приспособленности можно определить как сумму элементов последовательности G, и нас, конечно, будет интересовать минимизация этой функции (которая может принимать целые значения в интервале от 0 до 21). Заметим, что если бы элемент д^т принимал нулевое значение при п(Рк) < п(Рт) и значение 1 в противном случае, то следовало бы максимизировать количество единиц в последовательности G. Теперь перейдем к интерпретации функции приспособленности из примера 4.4. Задача, сформулированная в примере 4.29, решается с помощью программы Evolver, размерность популяции принята равной 10, показатель скрещивания равен 0,5, показатель мутации равен 0. При t = 10, что соответствует первой популяции классического генетического алгоритма, получена популяция, представленная на рис. 4.115. Первый столбец определяет последовательность хромосом в популяции (от «наихудшей» к «наилучшей»). Во втором приведены значения функции принадлежности каждой хромосомы. В третьем столбце записаны сами хромосомы, состоящие из семи генов. Каждая из этих хромосом представляет собой перестановку натуральных чисел от 1 до 7. Первое значение функции приспособленности, очерченное прямоугольником и равное 15, относится к хромосоме, исключенной из предыдущей популяции. Вместо нее вводится хромосома [3514726], полученная в результате скрещивания хромосом [3 5 1 7 6 2 4] и [3 4 5 1 7 2 6], присутствующих на рис. 4.115. Последняя хромосома, имеющая функцию приспособленности, равную пяти, после 10 «тактов» является «наилучшей на данный момент». При продолжении выполнения алгоритма можно получить наилучшую хромосому [3 7 6 1 2 4 5] с функцией приспособленности, равной 0. Эта оптимальная хромосома представлена на рис. 4.114. Заметим, что в рас-
Исходный (к № Имена Исходный список Наилучшее (несортированный) решение № Имена
ae функции приспособлгнности -З G = [ООООООООООООООООООООО] Значение функции приспособленности = 0
Рис. 4.113. Одно из допустимых решений задачи из примера 4.29.
Рис. 4.114. Наилучшее решение задачи из примера 4.29. Глава 4. Генетические алгоритмы 4.12. Эволюционные алгоритмы в нейронных о
Рис. 4.115. Популяция особей в генетическом алгоритме программы Evolver для задачи из примера 4.29. сматриваемом примере функция приспособленности интерпретируется как погрешность, которую, конечно же, следует минимизировать. Для наилучшего решения эта погрешность обязана быть равной О! Пример 4.29 легко обобщить на любые перечни имен или названий, подлежащих сортировке в алфавитном порядке (либо в соответствии с другим ключей). Задачи такого типа можно решать с помощью эволюционного алгоритма программы Evolver. Зга программа также позволяет решить известную из литературы задачу о коммивояжере [33], имеющую гораздо более сложную структуру, чем рассмотренная задача из примера 4.29. 4.12. Эволюционные алгоритмы в нейронных сетях Объединение генетических алгоритмов и нейронных сетей известно в литературе под аббревиатурой COGANN {Combinations of Genetic Algorithms and Neural Networks). Это объединение может быть вспомогательным (supportive) либо равноправным [collaborative) [39]. Вспомогательное объединение двух методов означает, что они применяются последовательно один за другим, причем один из них служит для подготовки данных, используемых при реализации второго метода. При равноправном объединении оба метода применяются одновременно. Классификация этих типов объединений генетических алгоритмов и нейронных сетей представлена в табл. 4.6. В последующей части настоящего раздела будут обсуждаться конкретные комбинации, отраженные в приводимой таблице. Рисунки 4.116-4.118 иллюстрируют различные подходы к решению задач, рассматриваемые как вспомогательные объединения генетических алгоритмов и нейронных сетей. Таблица 4.6. Объединение генетических алгоритмов и нейронных сетей
Глава 4 Генетические алгоритмы 4.12. Эволюционные алгоритмы в нейронных сетях
Необходимо отметить, что в соответствии с замечаниями, приведенными в разд. 4.10, термин «генетические алгоритмы» применяется здесь в более широком смысле, чем классический генетический алгоритм 4.12.1. Независимое применение генетических алгоритмов Генетические алгоритмы и нейронные сети могут независимо применяться для решения одной и той же задачи. Этот подход иллюстрируется на рис. 4.116. Например, описаны независимые применения нейронных сетей, генетических алгоритмов и алгоритма KNN «ближайший сосед» (К - means nearest neighbour) для решения задач классификации. В работе [40] проведено сравнение трехслойной однонаправленной нейронной сети с обучением по методу обратного распространения ошибки (обучение с учителем), сети Кохонена с самоорганизацией (обучение без учителя), системы классификации, основанной на генетическом алгоритме, а также алгоритма KNN «ближайший сосед». Авторы работы [39] считают независимое применение этих методов для решения задачи автоматической классификации результатов ЭМГ (электромиография - регистрация электрической активности мышц) вспомогательным объединением. Известны и другие работы, в которых сравниваются возможности применения различных методов (в частности, генетических алгоритмов и нейронных сетей) для решения одних и тех же задач [46]. Примером задачи, которую можно решить с помощью как нейронной сети, так и генетического алгоритма, может служить задача о коммивояжере [28, 33. 36].
Дата добавления: 2015-06-04; Просмотров: 382; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |