Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Наброс весовых коэффициентов



Набросы бывают следующих типов:

- Случайные;

- При помощи сетки (прямоугольной, треугольной, ромбообразной, шестигранной и др.).

В данном курсовом проекте используется случайный наброс весовых коэффициентов, задав предварительно промежуток и ген будет представлять собой десятичное число.

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; Просмотров: 503; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь