КАТЕГОРИИ: Архитектура-(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.5
Кодирование параметров задачи в генетическом алгоритме Выбор исходной популяции связан с представлением параметров задачи в форме хромосом, т.е. с так называемым хромосомным представлением. Это представление определяется способом кодирования. В классическом генетическом алгоритме применяется двоичное кодирование, т.е. аллели всех генов в хромосоме равны 0 или 1. Длина хромосом зависит от условий задачи, точнее говоря - от количества точек в пространстве поиска. Генетические алгоритмы находят применение главным образом в задачах оптимизации. Пример 4.5 демонстрирует выполнение классического генетического алгоритма, аналогичного рассмотренно- J. Генетические алгоритмы 4.6. Кодирование параметров задачи в генетическом алгоритме
му в примере 4.4, но для случая оптимизации функции. Для простоты примем, что это функция одной переменной. В новом примере хромосомы выступают в роли закодированной формы соответствующих фенотипов, а оптимизируется сама функция приспособленности. В примере 4.6 оптимизируется та же функция, однако внимание читателя акцентируется на другом способе кодирования хромосом для иной области определения переменной х. Рассмотрим очень простой пример - задачу нахождения максимума функции, заданной выражением (4.1) для целочисленной переменной х, принимающей значения от 0 до 31 Для применения генетического алгоритма необходимо прежде веего закодировать значения переменной х в виде двоичных последовательностей. Очевидно, что целые числа из интервала [0, 31] можно представить последовательностями нулей и единиц, используя их представление в двоичной системе счисления. Число 0 при этом записывается как 00000, а число 31 - как 11111. В данном случае хромосомы приобретают вид двоичных последовательностей, состоящих из 5 битов, т.е. цепочками длиной 5 (аналогично примеру 4.1). Также очевидно, что в роли функции приспособленности будет выступать целевая функция f(x), заданная выражением (4.1). Тогда приспособленность хромосомы ch,-, /=1,2,..., N будет определяться значением функции f(x) для х, равного фенотипу, соответствующему генотипу ch/. Обозначим эти фенотипы ch/*. В таком случае зна чение функции приспособленности хромосомы ch/ (т.е. F(ch/)) будет равно f(ch/*). Выберем случайным образом исходную популяцию, состоящую ch2 = [00011] ch5 = [01000] ch3 = [00111] ch6 = [11101] Соответствующие им фенотипы - это представленные ниже числа из интервала от 0 до 31: = 21 chg= chg = 29 ch^= 3 ch|= 7 По формуле (4.1) рассчитываем значения функции приспособ F(ch2)= 19 F(ch5)= 129 F(ch3)= 99 F(ch6) = 1683 Селекция хромосом Методом рулетки (также, как и в примере 4.4), выбираем 6 хромосом для репродукции Колесо рулетки представлено на рис. 4.7. I
Допустим, что выбраны числа 97 26 54 13 31 88. Это означает выбор хромосом ch6 ch4 ch6 ch., ch4 ch6 Пусть скрещивание выполняется с вероятностью jdc = 1. Допустим, что для скрещивания сформированы пары ch1 и ch4 ch4 и ch6 ch6 и ch6 Кроме того, допустим, что случайным образом выбрана точка скрещивания, равная 3 для хромосом ch., и ch4, а также точка скрещи- (ch2) Рис. 4.7. Колесо рулетки для селекции в гримере 4.5.
Рис. 4.8. Процесс скрещивания хромосом в примере 4.5. Глава 4. Генетические алгоритм 4.6. Кодирование параметров задачи в генетическом алгоритме
вания, равная 2 для хромосом ch4 и ch6 (рис.4.8). При условии, что вероятность мутации рт - 0, в новую популяцию включаются хромосомы
Сп., = [10001] С2 = [10111] [10101] Ch2 = [10111]' Chg = Ch3 = [10101] Ch6 = [11101] Для расчета значений функции приспособленности этих хромосом необходимо декодировать представляющие их двоичные последовательности и получить соответствующие им фенотипы. Обозначим их Сп,-. В результате декодирования получаем числа (из интервала от 0 до 31) Ch?=17 Ch| = 29 ChJ = 23 ChЈ = 29 Сп! = 21 Chg = 29 Соответственно, значения функции приспособленности хромо F(Cti2)=1059 F(Ch5) = 1683 F(Ch3)= 883 F(Ch6)=1683 Легко заметить, что в этом случае среднее значение приспособленности возросло с 589 до 1262. Обратим внимание, что если на следующей итерации будут сформированы для скрещивания пары хромосом, например, Ch4 и Ch2, Ch5 и Ch2 или Ch6 и Сп2 с точкой скрещивания 2 или 3, то среди прочих будет получена хромосома [11111] с фенотипом, равным числу 31, при котором оптимизируемая функция достигает своего максимума. Значение функции приспособленности для этой хромосомы оказывается наибольшим и составляет 1923. Если такое сочетание пар в данной итерации не произойдет, то можно будет ожидать образования хромосомы с наибольшим значением функции приспособленности на следующих итерациях. Хромосома [11111] могла быть получена и на текущей итерации в случае формирования для скрещивания пары Сп., и Сп6 с точкой скрещивания 3. Отметим, что при длине хромосом, равной 5 битам, пространство поиска очень мало и насчитывает всего 25 = 32 точки. Представленный пример имеет исключительно демонстрационный характер. Применение генетического алгоритма для такого простого примера практически нецелесообразно, поскольку его оптимальное решение может быть получено мгновенно. Однако этот пример пригоден для изучения функционирования генетического алгоритма. Также следует упомянуть, что в малых популяциях часто встречаются ситуации, когда на начальном этапе несколько особей имеют значительно большие значения функции принадлежности, чем остальные особи данной популяции. Применение метода селекции на основе «колеса рулетки» позволяет в этом случае очень быстро выбрать «наилучшие» особи, иногда - на протяжении «жизни» одного поколения. Однако такое развитие событий считается нежелатель-
ным, поскольку оно становится главной причиной преждевременной сходимости алгоритма, называемой сходимостью к неоптимальному решению. По этой причине используются и другие методы селекции, отличающиеся от колеса рулетки, либо применяется масштабирование функции приспособленности (см. п. 4.8.5). Также обратим внимание на возможность реализации генетического микроалгоритма, описываемого в п. 4.8.8. Он работает с малой популяцией и вероятностями скрещивания и мутации такими, как и в примерах 4.4 и 4.5, но одновременно хорошо противостоит преждевременной сходимости. Этот факт иллюстрируется примером 4.12, в котором с помощью этого алгоритма находится минимум функции, заданной формулой (4.1).
Дата добавления: 2015-06-04; Просмотров: 413; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |