Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы теории эволюционных вычислений. Научная монография
.pdf
где I – это единичная матрица размером (b×b); O – нулевая
матрица размером (b×u); R – матрица размером (u×b),
содержащая вероятности перехода из непоглощающих состояний
в поглощающие состояния; Q – матрица размером (u×u),
содержащая вероятности переходов между не поглощающими
состояниями.
Из свойств марковских цепей вытекает следующее
соотношение:
OI
,
n
QRK
P
n
=
n
где матрица переходов
n
Матрица
Kn
Kn на
шаге
+++++=
n
определяется как
132 −
n
....
QQQQIK
позволяет вычислить, как часто марковский
процесс находится в непоглощающих состояниях, прежде чем он
достигнет поглощающего состояния. Тогда при
1
−
n
∞→
n
−= QIK
Следовательно
n
lim
n
P
∞→
=
.)(lim
,
OI
,
1
−
)(
⋅−
ORQI
причём известно, что обратная матрица
существует
.
n→∞
имеем
(I – Q)-1
всегда
Таким образом, из приведенных выше соотношений
следует, что для заданной начальной вектор-строки π0 при n→∞
марковская цепь с вероятностью
1
перейдет в поглощающее
состояние. Это означает, что существует ненулевая вероятность
того
,
что поглощающее состояние является глобальным
оптимумом в поставленной задаче. Тем не менее, следует
признать, что методология управления сходимостью даже для
простейшего ГА до сих пор не выработана
.
Однако Холланд, предлагая свой простейший ГА, не
утверждал, что этот алгоритм предназначен в первую очередь
для решения оптимизационных задач. На решение различных
111

практических задач оптимизации с учетом разнообразных
ограничений направлены многочисленные поздние публикации
модификаций
простейшего
ГА
,
сделанные
другими
исследователями. Заметим также, что для практики проблемный
вопрос о глобальной сходимости метода оптимизации все же
является второстепенным. Гораздо более важным для практики
является другой вопрос: находит или нет применяемый алгоритм
близкое к оптимальному решение за возможно более короткое
время? Ответ на этот вопрос для ГА также не выглядит
однозначным, поскольку в теории ГА пока не получено
исчерпывающих
объяснений
успешных
эмпирических
результатов, связанных с практическим решением многих
оптимизационных задач
.
Каковы критерии того, насколько подходящим является ГА
для решения тех или иных задач
исследовались так называемые обманчивые проблемы
?
В
[Goldberg, 1989]
(deceptive
problems),
при
решении
которых
интуитивно
можно
предположить, что ГА должен найти глобальный оптимум. В
генетике
(
эпистаз означает, что при взаимодействии между генами из
[
Клаг
, 2007]
было установлено влияние эпистазии
разных аллелей один ген подавляется другим геном) на
результативность решения той или иной задачи с помощью ГА
Иначе говоря, если оценивать степень влияния друг на друга
переменных задачи
(
эта оценка сама по себе является довольно
сложной задачей) в процентах, то при низкой степени эпистазии
предпочтительнее использовать не ГА, а градиентные методы
При высокой степени эпистазии преимущество перед ГА
получают
[Goncalves, 2009]
методы
слепого
случайного
поиска
приводится классификация задач, для решения
.
В
которых наиболее или наименее подходят те или иные
алгоритмы эволюционных вычислений
.
.
.
Рассмотрим с позиций общей теории ЭВ и статистического
корреляционного анализа вопрос о том, трудной или легкой для
ГА является прикладная проблема, основываясь на ландшафтном
112

представлении
функций
пригодности
(
ландшафт
–
это
гиперповерхность, образуемая функцией
).
Очевидно влияние генетических операторов на результаты
работы генетического алгоритма. Обозначим эту взаимосвязь
применяемого генетического оператора через коэффициент
корреляции
между
rго.
Этот коэффициент устанавливает взаимосвязь
значениями функций пригодности
родительских
хромосом и хромосом-потомков, т.е. он отражает влияние на
ландшафт применяемого генетического оператора
Чтобы определить
исходную популяцию из
rго,
N
вначале необходимо случайно
родительских хромосом. Затем к
.
данному множеству применяются генетические операторы
мутации или разновидности кроссинговера для репродукции
потомков. Если обозначить через Ф
(род)
и
Ф
(пот)
значения функций
N
пригодности хромосом родителей и потомков, то коэффициент
корреляции определяется выражением следующего вида
)()()()( потродпотрод
Ф
(пот)
z
)),()(/(),cov(
.
Ковариация
ФМФФMФ
)()()(
]),[(])[(
го
где
cov(
Ф
(род)
(пот)
,
Ф
) –
ковариация от Ф
определяется следующим образом
N
потрод
ФФ −⋅−=
где величины М[Ф
),cov(
(род)
1
N
∑
z
],
1
=
М[Ф
род
я
(пот)
ФФФФr
σσ
⋅=
(род)
и
:
)()()( потпот
]
род
являются математическим
ожиданиями функций пригодности родителей и потомков, а
величины
σ(Ф
(род)
),
отклонениями в случайной выборке из
σ(Ф
(пот)
) – их
N
среднеквадратичными
хромосом
.
Например, для задачи поиска оптимального маршрута при
транспортировке грузов в [Родзин
данные относительно коэффициента корреляции
, 2002]
приводятся следующие
rго:
чем выше
rго,
тем более плавным является ландшафт функции пригодности для
исследуемого генетического оператора. Высокое значение
rго
говорит о том, что многие элементы родительских хромосом
находят свое отражение в потомках
.
113

Однако знание коэффициента корреляции
σ
σ
⋅
=
rго
само по себе
не достаточно для решения вопроса о том, является или нет
данная задача легко ГА-разрешимой. Известны функции
имеющие сложные мультимодальные ландшафты, которые ГА
легко оптимизирует, и, наоборот, трудные для ГА унимодальные
задачи
[
Родзин
, 2007 а].
Поэтому более
универсальным
представляется подход, когда для оценки ГА-разрешимости
задачи применяются не коэффициент корреляции
rго, а
методы
корреляционного анализа. Они основаны на эвристических
оценках расстояния между актуальными значениями функции
пригодности и глобальным оптимумом
является известным
).
При использовании в ГА двоичного
(в
случае если он
кодирования в качестве расстояния обычно выбирается
расстояние по Хеммингу
(D).
Если обозначить через
rФО
указанный коэффициент корреляции между актуальным
значением функции пригодности
(Ф) в
заданном пространстве
,
поиска и значением функции в точке глобального оптимума (О
то коэффициент корреляции определяется как
)),()(/(),cov( ОФОФr
ФО
где
N
1
),cov(
ОФ
N
∑
z
z
1
=
причём величины М[Ф] и М
(9)
−⋅−=
z
[D]
являются математическим
]),[(])[(
DМDФMФ
),
ожиданиями функций пригодности и расстояния, а величины
σ(Ф
), σ(D) – их
выборке из
Величину
N
среднеквадратичными отклонениями в случайной
хромосом
(9)
.
можно рассматривать как меру ГА
разрешимости задачи, причём её идеальным значением в случае
максимизации было бы значение
минимизации
В
[
Родзин
− r
ФО
, 2007 а]
= +1,0.
приводится несколько тестовых задач с
r
= −1,0, а в
ФО
случае
-
известным значением глобального максимума, для которых
определялись значения
классифицировались на следующие группы
rФО,
после чего исследуемые задачи
:
114

•
легко ГА-разрешимые
•
трудно ГА-разрешимые
•
обманчивые
(r
ФО
≥
(r
0,15).
≤
− 0,15);
ФО
(− 0,15 < r
< 0,15);
ФО
Если значение глобального оптимума заранее неизвестно
то можно использовать вместо него лучшее из известных
решений
.
Таким образом, достоверность и обоснованность общей
теории
эволюционных
вычислений
и
её
следствий
подтверждается непротиворечивостью известным результатам
для генетических алгоритмов, высокой степенью сходимости
теоретически полученных результатов с экспериментальными
данными. Анализ существующих публикаций в отечественной и
зарубежной научной литературе также позволяет сделать вывод о
непротиворечивости полученных в рамках общей теории ЭВ
научных результатов известным ранее генетическим алгоритмам
Алгоритмы генетического программирования
Алгоритмы
генетического
программирования
,
.
и генетические алгоритмы
алгоритмов
.
С позиций общей теории ЭВ
−
два разных вида эволюционных
,
основной
особенностью алгоритмов генетического программирования
которые направлены на решение задач автоматического синтеза
программ на основе входных обучающих данных путем
индуктивного вывода
,
являются не только древовидные
структуры данных, используемые для представления генотипа
[Koza, 1992;
моделях
Родзин
, 2002;
вычислений
(
Курейчик
, 2004]. В
ввод-обработка-вывод
традиционных
)
исходная
информация на входе обрабатывается заданной программой
вычислений для получения заранее неизвестного результата
Иначе обстоит дело в генетическом программировании: здесь
целью является поиск неизвестной программы по известным
входным данным и выходным образцам. Рис
особенность генетического программирования
. 8
иллюстрирует эту
.
,
.
115

Известны образцы
Процесс вычислений
(
исполнимые
программы
Необходимо найти
)
Выходы Входы
Рис
. 8.
Генетическое программирование в контексте теории ЭВ
Действительно, для многих практических задач сложно
зафиксировать свойства функциональной зависимости выходных
параметров от входных величин, еще сложнее привести
аналитическое описание такой зависимости
.
Одним из способов решения данной проблемы является
применение алгоритмов генетического программирования путем
решения задачи символьной регрессии
.
Регрессия дает
математическое выражение в символьной форме, которое можно
подвергнуть содержательному анализу, упростить и далее
использовать
Эффективность
для
применения
моделирования
или
алгоритмов
оптимизации
генетического
программирования определяется тщательной настройкой их
параметров
.
Это
препятствует
их
более
широкому
распространению, поскольку требует от пользователей высокой
квалификации и большого опыта в применении эволюционного
моделирования. Поэтому необходимо разрабатывать адаптивные
алгоритмы генетического программирования с расширенными
когнитивными возможностями. Кроме того, при решении задачи
символьной регрессии с помощью метода генетического
программирования возникает проблема подбора численных
коэффициентов модели
минимизации функции ошибки аппроксимации
,
что приводит к необходимости
,
которая
является, чаще всего, многоэкстремальной. В рамках общей
.
теории ЭВ это приводит к необходимости разрабатывать и
116

применять
комбинации
алгоритмов
генетического
программирования
алгоритмов (для уточнения параметров модели
В канонических работах Коза
(
для построения моделей) и генетических
).
[Koza, 1992]
древовидные
структуры данных алгоритма генетического программирования
предназначались для представления математических функций
Однако с точки зрения общей теории ЭВ алгоритмы
генетического программирования предоставляют совершенно
новые возможности для машинного обучения
,
нежели
генетические алгоритмы. С одной стороны, они требуют гораздо
меньше предположений о структуре возможных решений, а с
другой стороны, нацелены на эволюционный синтез новых
решений в явном виде, в отличие от нейросетей. Не случайно
растёт интерес к алгоритмам генетического программирования
как к средству автоматизации разработки программного
обеспечения, а полученные в последнее десятилетие результаты
.
(
квантовый алгоритм для задачи Гровера
сортирующие сети и др
«
вручную
», и
свидетельствуют об их большом потенциале
Древовидные
.)
превосходят аналогичные, созданные
структуры
являются
[Grover, 2000],
.
наиболее
распространенным вариантом представления генотипического
пространства
S в
генетическом программировании, поэтому для
их представления обычно применяются языки функционального
программирования
естественным
последовательности вычислений
(
Лисп и др
образом
.), в
которых программы
интерпретируются
.
При этом существенно
в
виде
упрощается техника выделения наиболее пригодных поддеревьев
решений. Рассмотрим операторы, применяемые для репродукции
и синтеза деревьев
.
Для работы генетического алгоритма согласно базовому
циклу ЭВ, представленному на рис
. 6,
необходимо вначале
создать множество случайных хромосом в виде строк векторов
определенного типа фиксированной или переменной длины
Аналогично
,
для
работы
117
алгоритма
генетического
.

программирования также необходима случайная инициализация
популяции программ, например в виде древовидных структур
(
унарная репродукция
элементы множества нетерминальных
(
стандартные
арифметические операции
).
Внутренними узлами дерева являются
(function set)
,
математические
символов
логические функции или другие процедуры, использующие
аргументы
(terminal set):
аргументов. Причём множество
замкнуто относительно множества
).
Листьями дерева являются терминальные символы
переменные, константы, действия, функции без
terminal set
function set.
должно быть
Для того чтобы предотвратить чрезмерное разрастание
дерева, вводят ограничение на максимальное количество
функциональных элементов в дереве или максимальную глубину
(d)
дерева. Если в ходе выполнения генетических операторов
получится дерево, превосходящее заданное ограничение, то
вместо конфликтного дерева копируется родительское дерево
.
,
Также следует отметить возможность появления интронов
−
участков кода хромосомы, не выполняющих никаких функций
и подлежащих удалению. Примерами интронов при записи в
префиксной символьной форме являются
(2 = 1)...X), (−X 0), (*X 1).
: (NOT (NOT X)), (IF
Для управления популяциями программ в алгоритмах
генетического программирования
необходимо определить
критерий качества. Выбор критерия качества зависит от
конкретной задачи и обычно сводится к определению набора
задач, которые должна решать эволюционирующая программа
Сам
критерий
качества
−
это
функция
,
вычисляющая
эффективность решения задач данной программой. При
линейном критерии качества учитывается различие между
результатом выполнения программы и требуемым решением
реальной задачи. Следовательно, линейный критерий качества
.
можно рассматривать как сумму ошибок при наборе задач
Возможны также другие меры качества
нормализованным в диапазоне от
0
118
до
1
,
например
,
критерием качества
.
с
,

подразумевающим деление общего критерия качества на
количество
всех
возможных
ошибок
.
Отметим
,
что
преимущество нормализации проявляется при работе с
большими популяциями программ. Кроме того, мера качества
может учитывать размер программы и поощрять создание
компактных программ небольшого размера
.
Генетические операторы в пространстве программ
содержат как преобразование самого дерева (например, мутация
пермутация
деревьями
программы
представленные на рис
удалением
),
так и обмен фрагментами между различными
(
например, кроссинговер
вносятся
случайные
. 9,
мутация вставкой и мутация
).
При мутации в структуру
изменения
,
например
.
,
,
а- мутация вставкой
Рис
. 9.
Мутации в структуре программы
б- мутация удалением
Пермутация аналогична оператору инвертирования строк в
генетических алгоритмах и состоит в перемене мест конечных
символов или поддеревьев, например, как это показано на
рис
. 10.
Кроссинговер подразумевает обмен поддеревьев двух
программ, например, как это показано на рис
Этот
оператор
также
можно
. 11.
использовать
для
преобразования одного родительского дерева путем перемены
мест в двух его поддеревьях. При случайном выборе точки
скрещивания два идентичных родительских дерева могут дать
различное потомство. Точкой скрещивания может служить также
корневой узел программы
.
119

Рис
+
* +
Х
1
* Х
Х
−−−−
5 3
+
* +
Х Х Х 2
. 10.
Пермутация перестановкой поддерева
В алгоритмах генетического программирования унарным
оператором репродукции является также редактирование
деревьев с целью упрощения математических формул. Например
выражение вида
замены
(1*х) на х, (5-3) на 2,
y = x*x + (1*x) + (5−3)
что иллюстрируется на рис
можно упростить путем
. 12.
Эта
замена путем редактирования упрощает программный код и
уменьшает время выполнения программы
Рис
. 11.
Кроссинговер путем обмена поддеревьями
.
,
Рис
. 12.
Редактирование путем замены
120
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
