Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Наброс весовых коэффициентов
Набросы бывают следующих типов: - Случайные; - При помощи сетки (прямоугольной, треугольной, ромбообразной, шестигранной и др.). В данном курсовом проекте используется случайный наброс весовых коэффициентов, задав предварительно промежуток и ген будет представлять собой десятичное число. 3.2 Преобразование коэффициентов в хромосомы В рамках данного проекта используется 5 классов изображений. Для каждого класса генерируется 50 весовых коэффициентов, т. е. хромосома состоит из 250 десятичных чисел, разделенных пробелами. Пример хромосомы для одной особи приведен ниже: " -179 -77 -156 -132 -56 -14 -20 -46 2 -147 -51 -69 -13 -71 -147 7 -141 -159 -73 -8 -161 -134 9 -95 -84 -155 -98 -44 -39 -27 -73 -168 -160 -157 -47 -22 -160 6 -2 0 -101 3 -6 -114 -101 -19 -74 -31 -3 -23 -104 -99 -179 -174 -128 -35 -76 -52 -38 -82 -96 -157 2 -151 -65 -63 -90 -36 -15 -116 -14 -137 -147 -64 -87 -154 -118 -58 -174 -56 -72 -58 -31 -6 -104 -154 -170 -166 -20 -2 -127 -98 -136 -101 -85 -125 -180 -36 -40 -28 -110 -28 -7 -68 0 -147 -132 -106 -77 -155 -97 -8 -58 -163 0 -28 -116 -173 -38 -91 -74 -104 -7 -3 -170 -96 8 -36 -160 -143 -155 -73 -9 -137 -127 -34 -42 -144 3 -137 -12 -54 -80 -46 -86 -109 -31 -153 -91 -47 0 3 -178 -130 -135 4 -12 6 -78 -84 -145 -87 -127 -115 -180 -14 -180 -102 -27 -147 -167 -152 -167 -81 -69 -10 -15 -141 -98 -52 -56 -20 -126 -103 -133 -148 -76 -60 8 -121 -12 -38 -57 -93 -172 -106 -108 -145 -46 -62 -109 -109 -116 -125 -60 -29 -11 -87 -51 -115 -161 -52 -77 -17 -18 -116 -141 -14 -162 -23 -119 -111 -100 -86 -125 -119 -86 -64 -90 -143 -83 -51 -86 -26 -123 -128 -84 9 -33 -95 -127 -169 1 -58 -141 -141 -142 -30 -65 -47 ". Расчет функции приспособленности Функция приспособленности вычисляется для каждой особи и равна сумме погрешностей, которые рассчитываются для каждого класса изображений. Эта функция выглядит следующим образом: Программа случайным образом выбирает по одной картинке из каждого класса и вычисляет погрешности:
, где – значение весового коэффициента, которое считывается у хромосомы, - выходной сигнал j-го Α -элемента. Аналогично вычисляются SumB, SumC, SumD и SumE. Основная идея обучения персептрона заключается в том, что необходимо добиться максимального значения функции приспособленности.
Формирование родительской популяции Формирование родительской популяции производится при помощи селекции. Селекция хромосом заключается в выборе тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т.е. для очередного поколения. Такой выбор производится согласно принципе естественного отбора, по которому наибольшие шансы на участие в создании новых особей имеют хромосомы с наибольшим значением функции приспособленности. Существуют различные виды селекции. Наиболее популярным считается так называемый метод рулетки, который свое название получил по аналогии с известной азартной игрой. Но в нашем случае значение функции приспособленности может принимать отрицательное значение, поэтому будут выбираться хромосомы с наилучшим значением функции. Скрещивание В данном курсовом проекте используется многоточечное скрещивание. Для каждой пары отобранных родителей разыгрывается позиция гена (локус) в хромосоме, определяющая так называемую точку скрещивания. Если генотип каждого из родителей состоит из L генов, следовательно, точка скрещивания lk представляет собой натуральное число, меньшее L. Поэтому фиксация точки скрещивания сводится к случайному выбору числа из интервала [1, L - 1]. В результате скрещивания пары родительских хромосом получается следующая пара потомков:
1. потомок, хромосома которого на позициях от 1 до lk состоит из генов первого родителя, а на позициях от lk + 1 до L – из генов второго родителя; 2. потомок, хромосома которого на позициях от 1 до lk состоит из генов второго родителя, а на позициях от lk + 1 до L – из генов первого родителя. 3. пункты 1 и 2 выполняются в цикле, меняя каждый раз точку скрещивания.
Мутация
Оператор мутации с вероятностью pm изменяет значение гена в хромосоме на другое, генерируемое случайно из промежутка. Вероятность мутации обычно очень мала, и именно от нее зависит, будет данный ген мутировать или нет. Вероятность pm мутации эмулируется случайным выбором числа из интервала [0, 1] для каждого гена и отбором для выполнения этой операции тех генов, для которых разыгранное число оказывается меньшим или равным значению pm.
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ Приложение разработано на языке программирования C# в среде разработки Visual Studio 2015. В этом проекте разработка происходила под OS Windows. Схема программного обеспечения Схема программного обеспечения представлена на рисунке 4.1: Рис 4.1 – Схема приложения
Описание функций и методов Класс Genetic описывает методы генетического алгоритма (создание поколения, отбор, скрещивание, мутация); Класс Person описывает модель точки генетического алгоритма; Класс FitnessFunction описывает функцию приспособленности. Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 551; Нарушение авторского права страницы