Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_SOEI_Part1.doc
Скачиваний:
18
Добавлен:
24.11.2019
Размер:
459 Кб
Скачать
  1. Решение задач с помощью генетических алгоритмов

Рассмотрим на примере задачи коммивояжера принципы работы генетических алгоритмов. Задача коммивояжера является типичной оптимизационной задачей. Суть ее заключается в следующем. Дано множество из n городов и матрица расстояний между ними или стоимостей проезда. Цель коммивояжера – объехать все эти города по кратчайшему пути или с наименьшими затратами.

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

0 4 6 2 9

4 0 3 2 9

6 3 0 5 9

2 2 5 0 8

9 9 9 8 0

Решение представим в виде перестановки чисел от 1 до 5, отображающей последовательность посещения городов. Различные возможные варианты переезда, представленные в виде последовательности городов, представляют собой хромосомы (или особи). Значение целевой функции равно стоимости проезда (ищем минимум путем поиска наилучшей хромосомы).

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

Например, пусть имеются две родительские перестановки (12345) и (34521). Случайно и равновероятно выбираются две точки разрыва, скажем, когда первая точка находится между первым и вторым элементами хромосомы (особи), а вторая точка – между четвертым и пятым: (12345), (34521).

На первом этапе хромосомы обмениваются фрагментами, заключенными между точками разрыва: (*452*), (*234*). На втором этапе вместо звездочек вставляются соответствующие числа из исходной родительской хромосомы, начиная со второго числа выделенного фрагмента (второе – потому что заменяем первое) и пропуская уже имеющиеся в новой перестановке числа (поскольку в данной задаче они в каждой хромосоме могут встречаться только раз)..

В итоге получаем популяцию из четырех хромосом (две родительские и две дочерние):

№ строки

Код

Значение целевой функции

Вероятность участия в процессе размножения

1

2

3

4

12345

34521

54521

52341

29

29

32

32

32/122

32/122

29/122

29/122

Далее для скрещивания выбираются новые пары, например (1, 3) и (2,4) и процесс повторяется до получения нужного результата (приемлемая цена или сходимость результата).

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

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

Рассмотрим в качестве примера небольшую сеть прямого распространения и построим для нее обучающий генетический алгоритм.

(

Трехслойная сеть с тремя нейронами во входном слое, двумя – в промежуточном и одним – в выходном).

Функция активации равна:

Где

Х

ромосома в нашем случае будет представлять массив из 11 действительніх чисел, по четыре на каждый скрытый нейрон и по три для выходного нейрона, которые представляют собой веса соответствующих входов нейронов и параметры их функций активации:

w11

w12

w13

P1

w21

w22

w23

P2

w31

w32

P3

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]