Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Генетический алгоритм

1. Выбрать начальную популяцию I 0 и положить
f* = max { f (i) | i I 0}, k: = 0.

2. Пока не выполнен критерий остановки делать следующее.

2.1. Выбрать родителей i 1, i 2 из популяции Ik.
2.2. Построить i' по i 1, i 2.
2.3. Модифицировать i'.
2.4. Если f* < f (i'), то f*: = f (i').
2.5. Обновить популяцию и положить k: = k+1.

Остановимся подробнее на основных операторах этого алгоритма: селекции, скрещивании и мутации. Среди операторов селекции наиболее распространенными являются два вероятностных оператора пропорциональной и турнирной селекции. При пропорциональной селекции вероятность на k -м шаге выбрать решение i в качестве одного из родителей задается формулой

в предположении, что f (i) > 0 для всех i Î I. При турнирной селекции формируется случайное подмножество из элементов популяции и среди них выбирается один элемент с наибольшим значением целевой функции. Турнирная селекция имеет определенные преимущества перед пропорциональной, так как не теряет своей избирательности, когда в ходе эволюции все элементы популяции становятся примерно равными по значению целевой функции. Операторы селекции строятся таким образом, чтобы с ненулевой вероятностью любой элемент популяции мог бы быть выбран в качестве одного из родителей. Более того, допускается ситуация, когда оба родителя представлены одним и тем же элементом популяции.

Как только два решения выбраны, к ним применяется вероятностный оператор скрещивания (crossover). Существует много различных версий этого оператора [15], среди которых простейшим, по видимому, является однородный оператор. По решениям i 1, i 2 он строит решение i' присваивая каждой координате этого вектора с вероятностью0,5 соответствующее значение одного из родителей. Если вектора i 1, i 2 совпадали скажем по первой координате, то вектор i' "унаследует" это значение. Геометрически, оператор скрещивания случайным образом выбирает в гиперкубе вершину i', которая принадлежит минимальной грани, содержащей вершины i 1, i 2. Можно сказать, что оператор скрещивания старается выбрать новое решение i' где-то между i 1, i 2 полагаясь на удачу. Более аккуратная процедура могла бы выглядеть таким образом. Новым решением i' является оптимальное решение исходной задачи на соответствующей грани гиперкуба. Конечно, если расстояние Хемминга между i 1, i 2 равно n, то задача оптимального скрещивания совпадает с исходной. Тем не менее даже приближенное решение этой задачи вместо случайного выбора заметно улучшает работу генетического алгоритма [8, 9, 10, 14]. По аналогии с однородным оператором скрещивания легко предложить и другие операторы, использующие не только два, но и произвольное число решений из популяции. Например, в [20] использовалось восемь родителей. Другие примеры можно найти в [13]. С адаптацией этой идеи к задаче коммивояжера можно познакомиться в [17].

Оператор мутации, применяемый к решению i' в п. 2.3. генетического алгоритма, с заданной вероятностью p m Î (0, 1) меняет значение каждой координаты на противоположное. Например, вероятность того, что i' = (0, 0, 0, 0, 0) в ходе мутации перейдет в j' = (1, 1, 1, 0, 0), равна pm ´ pm ´ pm ´ (1 – pm) ´ (1 – pm) > 0. Таким образом, с ненулевой вероятностью решение i' может перейти в любое другое решение. Отметим, что модификация решения i' может состоять не только в случайной мутации, но и в частичной перестройке решения алгоритмами локального поиска. Применение локального спуска позволяет генетическому алгоритму сосредоточиться только на локальных оптимумах. Множество локальных оптимумов может оказаться экспоненциально большим и на первый взгляд кажется, что такой вариант алгоритма не будет иметь больших преимуществ. Однако экспериментальные исследования распределения локальных оптимумов свидетельствуют о высокой концентрации их в непосредственной близости от глобального оптимума [11, 18]. Это наблюдение известно как гипотеза о существовании "большой долины" для задач на минимум или "центрального горного массива" для задач на максимум.

Гипотеза 1.
В среднем локальные оптимумы расположены гораздо ближе к глобальному оптимуму чем к случайно выбранной точке. Их распределение в области допустимых решений на является равномерным. Они концентрируются в районе глобального оптимума, занимая область небольшого диаметра.

Эта гипотеза отчасти объясняет работоспособность генетических алгоритмов. Если в популяции собираются локальные оптимумы, которые согласно гипотезе сконцентрированы в одном месте, и очередное решение i' выбирается где-то между двумя произвольными локальными оптимумами, то такой процесс имеет много шансов найти глобальный оптимум. Аналогичные рассуждения объясняют работоспособность и других локальных алгоритмов. В связи с этим проверка и теоретическое обоснование данной гипотезы представляет несомненный интерес.

 

 

45. Нейронный слой Кохонена. Кластеризация.

 

http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C_%D0%9A%D0%BE%D1%85%D0%BE%D0%BD%D0%B5%D0%BD%D0%B0

 

http://habrahabr.ru/post/143668/

 

http://mechanoid.kiev.ua/neural-net-kohonen-clusterization.html

 

<== предыдущая лекция | следующая лекция ==>
Экспериментальные результаты | Нейронная сеть Кохонена
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 331; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.