Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторные работы МГП.doc
Скачиваний:
8
Добавлен:
17.08.2019
Размер:
475.14 Кб
Скачать

2 → 1(1); → 4(4); → 2(Цикл);

→ 4(4); → 3(6).

2-й потомок 2 → 1 → 4 → 3 → 2; f(2п) = 1 + 4 + 6 + 2 =13.

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

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

Неплохие результаты дают также другие ориентированные на знания операторы. К ним можно отнести оператор кроссинговера, основанный на принципе золотого сечения. В таких операторах точка скрещивания, в отличие от стандартных операторов кроссинговера, выбирается не случайным образом, а на основе пропорции так называемого, “золотого сечения”, выражаемой числом 1,61803... или 0,61803... Точки разрыва в операторах кроссинговера могут также определяться на основе чисел Фибоначчи, т.е. в числовой последовательности 1, 2, 3, 5, 8, 13, 21...

Эффект оператора кроссинговера заключается в комбинировании фрагментов решений. Такие фрагменты называют схемами или шаблонами. Например, ***1*110* или 0***0***** - схемы, где * означает, что на этой позиции может находиться любой элемент (в данном случае 0 или 1). Схема характеризуется двумя показателями: порядком и определяющей длиной. Порядок схемы H обозначается O(H) и равен количеству фиксированных позиций (в этих примерах - 4 и 2 соответственно). Определяющая длина схемы H обозначается L(H) и равна расстоянию между первой и последней фиксированными позициями (в этих примерах - 8 - 4 = 4 и 5 - 1 = 4 соответственно).

Рассмотрим, например, частный стринг длины L = 7 и две схемы, представляющие этот стринг:

A = 0 1 1 | 1 0 0 0,

H1= * 1 * | * * * 0,

H2= * * * | 1 0 * *,

где | - символ, обозначающий точку кроссинговера.

Схема H1 после ОК, скорей всего, будет уничтожена потому, что 1 в позиции 2 и 0 в позиции 7 расположатся в различных новых стрингах после ОК. Ясно, что схема H2 будет выживать, так как после ОК 1 в позиции 4 и 0 в позиции 5 будут в том же самом новом стринге. Несмотря на то, что точка ОК взята случайно, ясно, что схема H1 менее приспособлена к выживанию, чем схема H2. Если точка ОК выбирается случайно среди L - 1 = 7 - 1 = 6 возможных позиций, тогда ясно, что схема H1 уничтожается с вероятностью , она же (схема H1 выживает с вероятностью P(s) = 1 - P(d) = 1/6.

Схема H2 имеет L(H2) = 1 и вероятность ее уничтожения P(d) = 1/6, а вероятность выживания P(s) = 5/6.

Очевидно, что нижняя граница вероятности выживания схемы после применения ОК может быть вычислена для любой схемы. Так как схема выживает, когда точка ОК попадает вне "определенной длины", вероятность выживания для простого ОК определяется по формуле: . Если ОК выполняется посредством случайного выбора, например, с вероятностью P(ОК), то вероятность выживания схемы определится выражением

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