В
Ранние
Здесь особь представляется парой действительных векторов
$$v=(\bar x,\overline\sigma),$$где $$\overline x$$- точка в пространстве решений и $$\overline\sigma$$- вектор стандартных отклонений (вариабельность) от решения. В общем случае особь популяции определяется вектором потенциального решения и вектором "стратегических параметров" эволюции. Обычно это вектор стандартных отклонений (дисперсия), хотя допускаются (и иногда используются) и другие статистики.
Единственным генетическим оператором в классической ЭС [1] является
где $$N(o,\overline\sigma)$$- вектор независимых случайных чисел, генерируемых согласно распределению Гаусса (например, табличным способом) с нулевым средним значением и стандартным отклонением $$\sigma$$. Как видно из приведенной формулы величина мутации управляется нетрадиционным способом. Иногда эволюционный процесс используется для изменения и самих стратегических параметров $$\sigma$$, в этом случае величина мутации эволюционирует вместе с искомым потенциальным решением. Это соответствует адаптивному ГА с изменяемым шагом мутации.
Интуитивно ясно, что увеличение отклонения подобно увеличению шага поиска на поверхности ландшафта. Высокая вариабельность способствует расширению пространства поиска и эффективна при нахождении потенциальных зон (суб)оптимальных решений и соответствует высоким значениям коэффициента мутации. В тоже время малые значения вариабельности позволяют сфокусироваться на поиске решения в перспективной области. В данном случае стратегические параметры стохастически определяют величину шага поиска: большая вариабельность ведет к большим шагам. Отметим, что поскольку отклонения генерируются стохастически (по нормальному закону), то большая вариабельность может давать маленький шаг и наоборот. Известно, что 68,26% случайных чисел при нормальном распределении попадают в интервал, определяемый стандартным отклонением $$\sigma$$; 95% чисел попадают в интервал 1,96 $$\sigma$$ и т.д.
Здесь потомок принимается в качестве нового члена популяции (он заменяет своего родителя), если значение фитнесс функции (ЦФ) на нем лучше, чем у его родителя и выполняются все ограничения. Иначе, (если значение фитнесс-функции на нем хуже, чем у родителей), потомок уничтожается и популяция остается неизменной.
Рассмотрим выполнение
в предположении поиска максимума.
Для определенности предположим, что в $$t$$-поколении текущая особь имеет вид:
$$(\overline x^t,\sigma)=((5.3;4.9),(1.0;1.0)).$$Тогда потомок определяется следующим образом:
$$\left\begin{aligned}x_1^{t+1}=x_1^t+N(0;1.0)=5.3+0.4=5.7\\x_2^{t+1}=x_2^t+N(0;1.0)=4.9-0.3=4.6\\\end{aligned}\right\}\mbox{потомок},$$где числа 0.4 и 0.3 получены случайным образом в соответствии с распределением Гаусса.
Поскольку $$f(x^t)=f(5.3;4.9)=18.383705<24.849532=f(5.7;4.6)=f(x^{t+1})$$ (значение ЦФ потомка лучше, чем у родителя), то полученный потомок заменяет родителя.
В целом алгоритм процесса эволюции двукратной (1+1)-
установить номер поколения (итерации) $$t=0$$; задать стандартное отклонение $$\sigma_i$$ для каждого параметра, функцию $$f$$, для которой необходимо найти оптимум, и максимальное число поколений $$k$$.
Несмотря на то, что фактически здесь популяция состоит из одной особи, рассмотренная стратегия называется двукратной ЭС. Причина в том, что здесь фактически происходит конкуренция потомка и родителя. Обычно вектор стандартных отклонений $$\sigma$$ остается неизменным в течении всего процесса эволюции. Если все его компоненты одинаковы и оптимизационная задача регулярна, то можно доказать следующую теорему сходимости [1,2].
Теорема. Для $$\sigma>0$$ и регулярной оптимизационной задачи с $$f_{opt}>-\infty$$ (минимизация), либо $$f_{opt}>+\infty$$(максимизация), имеет место равенство
$$P\{\lim_{t\to\infty}f(\overline x^t)=f_{opt}\}1$$Эта теорема утверждает, что оптимальное решение регулярной оптимизационной задачи находится с вероятностью, равной единице при $$t\to\infty$$, но при этом совершенно ничего не говорится о том, как и каким образом двигаться к этому оптимальному решению. Поэтому, чтобы оптимизировать скорость сходимости этого процесса, И. Решенберг [1] (основоположник ЭС) предложил
Смысл его заключается в следующем - правило применяется после каждых $$k$$ поколений процесса (где $$k$$ – параметр этого метода):
$$\sigma^{t+1}=\begin{cases}c_d\cdot\sigma^t,\text{если $\phi(k)<1/5$}\\c_i\cdot\sigma^t,\text{если $\phi(k)>1/5$}\\\sigma^t,\text{если $\phi(k)=1/5$}\end{cases}$$где $$\phi(k)$$- отношение числа успешных мутаций к общему числу произведенных мутаций $$k$$(число успехов, деленное на $$k$$), которое называется коэффициентом успеха для
Обычно на практике оптимальные значения полагают равными следующим величинам: $$c_d=0.82; c_i=1/0.82=1.22.$$. Смысл этого правила в следующем:
Идеи И.Решенберга получили дальнейшее развитие в концепции "эволюция окна" [3] при которой результат применения
Иногда рекомендуется устанавливать коэффициент мутации обратно пропорционально числу переменных в потенциальном решении (особи) и прямо пропорционально расстоянию от точки оптимального решения. Конечно, в реальных приложениях точное расположение оптимума неизвестно. Однако иногда может быть известна априорная информация об оптимуме (например, порядок величины). Даже ограниченная информация может быть полезна в процессе поиска в ЭС.
По сравнению с двукратной многократная эволюция отличается не только размером популяции $$(N > 2)$$, но и имеет некоторые дополнительные отличия:
Имеется еще одно сходство между двукратными и многократными
В современной литературе используются следующие обозначения:
Следует подчеркнуть, что в обоих последних видах ЭС обычно число потомков существенно больше числа родителей $$\lambda>\mu$$(иногда полагают $$\lambda/\mu=7$$).
Укрупненный алгоритм решения задачи с помощью ЭС можно представить следующим образом.
Здесь на этапе инициализации генерируются особи начальной популяции со значениями в пределах ограничений и задаются начальные значения параметров. Для оценки качества особи используется абсолютное значение фитнесс-функции. Далее выполняются генетические операторы отбора, кроссинговера и мутации, наиболее распространенные варианты которых представлены ниже. В качестве критерия останова может быть использован любой из рассмотренных ранее.
В ЭС параметры ассоциируются с каждой особью популяции. Обычно для этих параметров производится
В первых реализациях ЭС применялся только один вид параметра – отклонение в распределении Гаусса, которое используется в
Если в качестве параметров используются только отклонения, то лучшие направления поиска определяются вдоль осей системы координат пространства поиска. Но не всегда лучшее направление поиска совпадает с осями. В таких случаях необходима дополнительная информация для ускорения процесса сходимости. Такую информацию можно получить из матрицы $$H$$– гессиана фитнесс-функции. Если гессиан используется в качестве параметра, то мутация определяется следующим образом:
$$x_i(t)=x_i(t)+N(0,H^{-1}).$$К сожалению, не всегда можно использовать гессиан, поскольку фитнесс-функции не гарантируют существование производных второго порядка. Но даже если эти производные существуют, то построение гессиана имеет значительную вычислительную сложность. Потому разработаны и другие методы.
Здесь диагональные элементы $$C^{-1}$$ - вариации $$\sigma_j^2$$, а не- диагональные элементы – ковариации величин шагов мутации. При этом ковариации определяются углами вращения, которые необходимо произвести, чтобы преобразовать некоррелированный вектор мутации в коррелированный вектор. Если $$\omega_i(t)$$ означает угол вращения вектора для $$i$$-ой особи, то особь представляется триплетом $$x_i(t)=(x_i(t),\sigma_i(t),\omega_i(t))$$, где
$$x_i(t)\in R^{n_x},\sigma_i(t)\in R_+^{n_x},\omega_i(t)\in R^{n_x(n_x-1)/2},\mbox{и}\\\omega_{ik}(t)\in(0,2\pi],k=1,\dots,n_x(n_x-1/2)$$Углы вращения используются при представлении ковариаций для $$n_x$$ генетических переменных генетического вектора $$x_i$$. Поскольку ковариационная матрица симметрична, можно использовать вектор для представления углов вместо матрицы. Углы вращения можно использовать для вычисления ортогональной матрицы вращения $$T(\omega_i)$$ следующим образом:
$$T(\omega_i)=\prod_{i=1}^{n_x-1}\prod_{j=i+1}^{n_x}R_{ij}(\omega_i),$$которая является произведением $$n_x(n_x-1)/2$$ матриц вращения. Каждая матрица вращения $$R_{ij}(\omega_i)$$ является единичной матрицей с $$r_u=\cos(\omega_{ik})$$ и $$r_{lj}=-r_{jl}=-\sin(\omega_{ik})$$, с $$k=1\Leftrightarrow(l=1,j=2),k=2\Leftrightarrow(l=1,j=3),\dots$$.
Построенная матрица вращения используется в
Итак, в ЭС используются два вида параметров: 1) стандартные отклонения величины шага мутации; 2) углы вращения, которые представляются ковариациями размера шага мутации. Пусть $$n_{\sigma}$$ обозначает число используемых параметров отклонений и $$n_{\omega}$$- число углов вращения. На практике имеют место, в основном, следующие типовые ситуации:
Отметим, что это распределение фактически показывает вероятность позиции потомка $$x'_i$$, имеющей наиболее высокую вероятность в центре. Тогда параметр регулируется следующим образом - $$\sigma_i^t=\sigma_i(t)e^{\tau N(0,1)}$$, где $$\tau=\frac{1}{\sqrt{n_z}}$$. При этом регулирование одного параметра выполняется быстро, но подход является не гибким в том случае, когда координаты имеют различные градиенты.
(рис 9.1) Иллюстрация распределений вероятностей мутации.Стратегии
где $$\theta_i(t)$$- сумма временных поощрений за последние $$n_{\theta}$$ поколений для $$i$$-ой особи, то есть
$$\theta_i(t)=\frac{1}{n_{\theta}}\sum_{t'=0}^{n_{\theta}}\theta_i(t-t').$$Для вычисления поощрений можно использовать различные методы для каждой особи на каждом временном шаге. Например, в работе [5] предложено это делать следующим образом
$$\theta_i(t)=\left\{\begin{array}\ 0.5\mbox{ если }\Delta f(x_i(t))>0\\0\mbox{ если }\Delta f(x_i(t))=0\\-1\mbox{ если }\Delta f(x_i(t))<0\end{array}\right\},$$где ухудшение значений фитнесс-функции сурово штрафуется. Здесь $$\Delta f(x_i(t))=f(x_i(t))-f(x_i(t-1))$$.
Здесь поощрение пропорционально размеру шага в пространстве решений.
$$\sigma'_l(t)=\sqrt[p]{\prod_{i\in\Omega_i(t)}\sigma_i(t)e^{\xi}},$$где $$\Omega_i(t)$$- индекс множества $$\rho$$ родителей потомка $$x'_1(t)$$ и распределение $$\xi$$ такое, что $$prob(\xi=0.4)=prob(\xi=-0.4)=0.5$$. В разделе 9.4 (
В ЭС, как и в большинстве методов эволюционных вычислений, могут использоваться три генетических оператора: отбора, кроссинговера и
В ЭС отбор особей используется для: 1) выбора родителей, которые принимают участие в рекомбинации; 2) для формирования популяции следующего поколения. Для отбора $$\rho$$ родителей оператора кроссинговера может быть использован любой из методов, рассмотренных в разделе 3.3. Часто родительские особи выбираются случайно.
В каждом поколении $$\lambda$$ потомков генерируются из $$\mu$$ родителей и подвергаются мутации. После кроссинговера и мутации отбираются особи в следующее поколение. При этом применяются две основные стратегии:
Учитывая приведенные нотации, иногда используется $$(\mu^+,\lambda)$$-ЭС обозначение. В некоторых случаях нотация $$(\mu+\lambda)$$-ЭС расширяется до $$(\mu,k,\lambda)$$, где $$k$$ обозначает максимальную продолжительность жизни особи. Если число поколений превышает этот предел, то особь не может отбираться в следующее поколение. Заметим, что $$(\mu,\lambda)$$-ЭС эквивалентна $$(\mu,1,\lambda)$$-ЭС. Выбор лучшей стратегии зависит от решаемой задачи.
В классической (1+1)-ЭС используется только
Поэтому глобальный кроссинговер улучшает эксплутационные свойства ЭС.
В обоих случаях рекомбинация может выполняться следующим образом:
На основе приведенных выше типов рекомбинации в ЭС разработаны и применяются следующие основные пять видов рекомбинации:
После выполнения оператора кроссинговера полученные потомки с вероятностью $$p_m=1$$ подвергаются мутации.
При этом $$\lambda$$ мутируемых потомков $$x'_{l}(t)=(x'_{l}(t),\overline\sigma_l(t),\overline\omega_l(t))$$ принимают участие в процессе отбора (наравне со своими родителями) в зависимости от того, какая стратегия - $$(\mu+\lambda)$$-ЭС или $$(\mu,\lambda)$$-ЭС используется. В данном разделе рассматривается только мутация значений генотипа, поскольку мутация и
Если в качестве параметров используются только отклонения, генотип $$\tilde x_l(t)$$ каждого потомка мутирует в соответствии с правилами:
Если, кроме этого, используются и углы вращения, то в предположении $$n_{\sigma}=,n_x$$ приращение вычисляется согласно выражению
$$\Delta x_l(t)=T(\overline\omega_l(t))S(\overline\sigma_l(t))N(0,1),$$где $$T(\tilde\omega(t))$$- ортогональная матрица вращения
$$T(\overline\omega_l(t))=\prod_{a=1}^{n_z-1}\prod_{b=a+1}^{n_z}R_{ab}(\overline\omega_l(t)),$$которая является произведением $$n_x(n_x-1)/2$$ матриц вращения. Каждая матрица вращения $$R_{ab}(\overline\omega_l(t))$$- единичная матрица, где элементы определяются следующим образом: $$r=\cos(\tilde\omega_{lk}),r_{ab}=-r_{ab}=-sin(\tilde\omega_{lk})$$ для $$k=1,\dots,n_x(n_x-1)/2$$ и $$k=1\Leftrightarrow(a=1,b=2),\ k=2\Leftrightarrow(a=1,b=3),\dots S(\tilde\sigma_l(t))-diagn(\tilde\sigma_{l1}(t),\tilde\sigma_{l}(t),\dots,\tilde\sigma_{ln_x}(t))$$ - диагональная матрица, представляющая отклонения.
В работе [10] предложена направленная мутация, где предпочтение отдается некоторому направлению в пространстве поиска. Как показано нарис.9.2, она основана на асимметричном вероятностном распределении мутации. Здесь размер шага по оси $$x_2$$ больше, чем по оси $$x_1$$ и отдается предпочтение положительным направлениям.
(рис 9.2) Направленная мутация в ЭС.
При этом каждый компонент генотипа мутирует независимо и поэтому достаточно определить одномерную асимметричную функцию плотности вероятностей, например в виде
$$f_D(x)=\left\{\begin{array}{cl}\frac{2}{\sqrt{\pi\sigma}(1+\sqrt{1+c}}(e^{-\frac{z^2}{\sigma}})\mbox{если $x<0$}\\\frac{2}{\sqrt{\pi\sigma}(1+\sqrt{1+c}}(e^{-\frac{z^2}{\sigma(1+c)}})\mbox{если $x\ge 0$}\\\end{array}\right\}$$где $$c>0$$ положительно определенная величина.
Метод направленной мутации использует только параметры отклонений, но ассоциирует с каждым отклонением $$\sigma_j$$ значение $$c_j$$, определяющее направление. Для обеих величин $$\sigma$$ и $$c$$ возможна само-адаптация, что дает $$2n_x$$ параметров. С вычислительной точки зрения это более эффективно, чем использование вектора вращения размерности $$n_x(n_x-1)/2$$ и дает больше информации о предпочтительном направлении и размере шага.
Если $$D(c,\sigma)$$ означает асимметричное распределение, то $$\Delta x_{ij}(t)=D_j(c_{ij}(t),\sigma_{ij}(t))$$
$$x'_l(t)=\frac{1}{p}\sum_{i\in\Omega_l(t)} x_i(t)+\overline\sigma_l N(0,C_l(t)).$$Они являются примерами эволюционных программ, которые используют соответствующие структуры данных (вещественные векторы, расширенные параметрами стратегии управления) и "генетические" операторы, ориентированные на решение определенных задач.
Основная разница между этими методами состоит в кодировании особей.
С другой стороны, генетические алгоритмы были разработаны в качестве общего метода решения оптимизационных задач. В простом классическом ГА особь представляется в виде двоичного вектора.
Поэтому, может быть, не совсем корректно сравнивать эти два направления, так как они были разработаны для разных целей. Но их объединяет принцип отбора лучших решений (отбор по Дарвину сильнейших особей). Однако имеются существенные различия между этими подходами.
Первое различие между ЭС и ГА - это форма представления решений. ЭС использует вектор вещественных чисел, ГА – двоичный.
Второе различие между ГА и ЭС скрыто в процедуре выбора. В ЭС $$\mu$$-особей родителей порождают промежуточную популяцию, которая состоит из $$\lambda$$-потомков, путем
В ГА оператор репродукции ОР (аналог процедуры выбора) генерирует промежуточную популяцию, причем число представителей каждой особи зависит от значений целевой функции для этих особей. Т.е. сильнейшие представители промежуточной популяции имеют нескольких представителей, и наоборот, наиболее слабые особи промежуточной популяции могут быть не представлены. Далее случайным образом производится выбор пар для выполнения ОК и ОМ.
Третье различие заключается в относительном порядке выполнения процедур отбора и рекомбинации. В ЭС процедура отбора выполняется после выполнения оператора репродукции. В ГА наоборот, ОР работает перед ОК и ОМ.
Следующее различие в том, что в классическом ГА параметры
ЭС и ГА по разному учитывают ограничения: в ЭС есть множество неравенств $$g_1(\overline x)\ge 0,\dots,g_q(\overline x)\ge 0$$, которое рассматривается как часть оптимизационной задачи. В ГА ограничения обычно учитываются в виде штрафных функций, т.е. в неявном виде.
Из выше сказанного следует, что ЭС и ГА, хотя и имеют много общего, но и имеют существенные отличия. Но в настоящее время есть явная тенденция сближения этих двух направлений. С одной стороны современные ГА часто используются для представления решения векторами вещественных чисел, с другой стороны ЭС в качестве ОР использует не только ОМ, но и операторы типа ОК.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.