Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы теории эволюционных вычислений. Научная монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
• определены состояния проблемы, множество их возможных последовательностей и множество последовательностей, которые удовлетворяют ограничениям задачи;
• с теми состояниями, которые не являются решениями, можно ассоциировать стоимость или ее оценку;
• определен конечный набор возможных соединений U между элементами Х;
• с компонентами и их соединениями ассоциируются феромонные следы, представляющие долговременную память муравьев. При подобном представлении задачи каждый муравей
колонии имеет следующие свойства:
• он использует граф G = (Х, U) для поиска оптимального решения, передвигаясь по соединениям из U;
• он имеет память, которую использует для хранения информации о пройденном пути. Память может использоваться для нахождения допустимых решений, для оценки найденного решения или для возвращения назад с целью размещения феромона;
• ему может быть присвоено начальное состояние, а также одно или более конечных состояний;
• муравей, находясь в некотором состоянии, может переместиться в любой узел графа из множества допустимых соседних узлов;
• переход осуществляется с помощью вероятностного правила. Правило является функцией значений, которые хранятся в структуре данных (таблица муравьиных маршрутов). Эти значения получаются путём функциональной композиции локально доступных для вершины феромонных следов, а также памяти муравья, которая хранит его предысторию и ограничения задачи;
• муравей может обновить феромонный след на компоненте или соответствующем соединении;
31
• найдя решение, муравей может пройти этот же путь назад
и обновить феромонный след на использованных
соединениях или компонентах.
Важной особенностью модели является то, что муравьи передвигаются одновременно и независимо. Хорошие решения, обычно, появляются только в результате коллективного взаимодействия между муравьями, которое достигается путем непрямого общения посредством информации, которую муравьи записывают/считывают в переменные, содержащие значения феромонных следов.
В известном смысле, это является распределенным процессом обучения, в котором отдельные агенты-муравьи не адаптируются, а наоборот, адаптивно изменяют вид и восприятие задачи другими агентами.
Кроме описания деятельности муравьев, роевые алгоритмы обычно включают еще процедуры испарения феромонного следа. Испарение феромона – это процесс, с помощью которого интенсивность феромонного следа на соединениях автоматически уменьшается со временем. Процесс испарения является полезной формой «забывания», он содействует исследованию новых областей в пространстве поиска, позволяет избежать быстрой сходимости алгоритма в субоптимальной области. Следует ли выполнять этот процесс параллельно и независимо для каждого муравья, или необходима какая-то форма их синхронизации – эти вопросы оставляются на усмотрение разработчика конкретного алгоритма, допуская свободу в определении способа взаимодействия этих процессов.
В общем случае, в роевых моделях многомерное пространство поиска населяется роем частиц [Dorigo, 1996]. Помимо координат каждая частица обладает скоростью перемещения и ускорением.
Формализованная модель роя включает следующую систему отношений, имитирующих эволюцию исследуемого объекта:
32
• создается исходная «случайная» популяция частиц;
• рассчитывается целевая функция для каждой частицы;
• лучшая частица с точки зрения целевой функции
объявляется «центром притяжения». Векторы скоростей всех частиц, за исключением «сумасшедших», устремляются к этому центру. Чем дальше частица находится от центра, тем большим ускорением она обладает;
• рассчитываются новые координаты частиц в пространстве решений;
• шаги 2-4 итерационно повторяются заданное число раз;
• последний «центр тяжести» соответствует найденному
локальному оптимуму.
Рой не знает, где именно находится цель, но на каждой итерации рой знает, как далеко она находится. Эффективной стратегией будет следование за особью, которая на данный момент находится к цели ближе всего.
Эта модель определенно может считаться одной из самых перспективных для построения распределенных алгоритмов, инспирированных природными системами.
1.7. Квантовая модель
Квантовая модель вычислений предполагает, что вычисления выполняются на гипотетическом вычислительном устройстве (квантовом компьютере) по следующей схеме:
• задается система кубитов, на которой записывается
начальное состояние;
• посредством базовых квантовых операций изменяется
состояние системы или её подсистем;
• измеряется результирующее состояние системы.
Идея квантовых вычислений была впервые высказана Ю. И. Маниным и Р. Фейнманом. Она состоит в том, что квантовая система из L двухуровневых квантовых частиц
L
линейно независимых
(квантовых битов, кубитов) имеет 2
33
состояний. Вследствие принципа квантовой суперпозиции, пространством состояний такого квантового регистра является
L
-мерное гильбертово пространство. Операция в квантовых
2
вычислениях соответствует повороту вектора состояния регистра в этом пространстве. Таким образом, квантовое вычислительное устройство размером L кубит может выполнять параллельно 2L операций.
В ноябре 2009 г. физикам из Национального института стандартов и технологий в США впервые удалось собрать программируемый квантовый компьютер, состоящий из двух кубит. Наиболее известными алгоритмами квантовых вычислений являются:
•
алгоритм Гровера [Grover, 2000], позволяющий найти
решение уравнения
);(0,1)( NOвремязаNxгдеxf <≤=
•
алгоритм Шора, позволяющий разложить натуральное число n на простые множители за полиномиальное от log(n) время;
•
алгоритм Дойча-Джоза, который позволяет «за одно вычисление» определить, является ли функция двоичной переменной f(n) постоянной (f1(n) = 0, f2(n) = 1 независимо от n) или «сбалансированной» (f3(0) = 0, f3(1) = 1; f4 (0) = 1,
f4 (1) = 0).
Суть квантовых вычислений сводится к следующему.
Исходные данные наносятся на небольшое количество элементарных частиц. В процессе решения данные начинают обрабатываться одновременно огромным количеством разных способов, между которыми происходит обмен информацией о лучших или худших решениях. Происходит это за счёт того, что при запуске квантовых вычислений каждая частица «знает» о состоянии всех остальных частиц, участвующих в вычислении. У каждой частицы нет чёткого физического состояния, она находится одновременно в нескольких состояниях и может участвовать в нескольких параллельных процессах. То, что
34
происходит в промежутке между заданием входных данных и снятием результата решения, − загадка.
Получается, что небольшой объём входных данных в процессе решения порождает на многие порядки более сложное внутреннее состояние, которое непонятно как эволюционирует, не поддаётся исследованию, и, тем не менее, выдаёт правильное решение. Это состояние носит вероятностный характер, и при правильном составлении квантового алгоритма, можно сделать так, чтобы вероятность снятия правильного решения намного превышала вероятность снятия неправильного решения.
Таким образом, можно получить практически бесплатно огромные вычислительные мощности [Валиев, 2001]. Однако у квантовых вычислений имеется серьёзная проблема: частицы решения должны быть полностью изолированы от внешнего мира, иначе внешний мир будет сбивать правильность хода решения (нарушать когерентность). Очевидно, что полная изоляция невозможна, поскольку (как гласит квантовая физика) каждая частица, каждый квант, изначально «размазаны» в пространстве и тесно связаны между собой. Отсюда следует, что квантовые вычисления на высоких мощностях не смогут нас обеспечить абсолютно истинными вычислениями, но вполне пригодны для правдоподобных решений в искусственном интеллекте [Курейчик, 2007 б].
Неопределённость квантовых вычислений − это фактически прямое следствие теоремы Гёделя, гласящей, что формальная система не может с абсолютно истинной точностью познать саму себя. Именно эта особенность квантовых вычислений позволяет причислить их к классу эволюционных вычислений, считать одним из проявлений более общего класса процессов, инспирированных природными системами.
Приведем в качестве примера алгоритм квантового поиска, ориентированный на решение задачи определения гамильтонова цикла (ГЦ) в графе [Гладков, 2009].
1. Начало.
35
2. Ввод исходных данных.
3. Проверка необходимых условий существования ГЦ в
графе.
4. Анализ математической модели и на его основе
построение дерева частичных решений.
5. Суперпозиция частичных решений на основе жадной
стратегии и квантового поиска.
6. В случае наличия тупиковых решений –
последовательный поиск с пошаговым возвращением.
7. Если набор полных решений построен, то переход к 7,
если нет, то к 5.
8. Лексикографический перебор полных решений и выбор
из него оптимального или квазиоптимального решения.
9. Конец работы алгоритма.
Приведем псевдокод алгоритма квантового поиска гамильтонова цикла в графе, используя операторные конструкции языка Паскаль:
begin {основная программа};
generation:=0 {установка};
initialize;
repeat {основной цикл};
gen:=gen+1;
generation;
cycle;
return;
statistics (max, avg, min, sumfitness, newsоl);
report (gen);
oldsol:=newsol;
until (gen ≥ maxgen);
end {конец основной программы}.
Здесь generation (gen) − генерации (итерации) алгоритма; max, avg, min, sumfitness − максимальное, среднее, минимальное, суммарное значение целевой функции соответственно; oldsol,
36
newsol – старое и новое решение соответственно. Алгоритм
квантового поиска выполняется в блоке repeat.
Работа алгоритма начинается с чтения данных, инициализации случайных решений, вычисления статистических данных и их вывода. Процедура report представляет полный отчет обо всех параметрах алгоритма. На основе анализа данных из процедуры report строится график зависимости значений целевой функции от числа генераций. Если функция имеет несколько локальных оптимумов и мы попали в один из них, то увеличение числа генераций может не привести к улучшению значений целевой функции. В этом случае наступила предварительная сходимость алгоритма.
Операция return предусматривает пошаговый возврат до выхода из тупика. Алгоритмы квантового поиска весьма чувствительны к изменениям и перестановкам входных параметров исходной модели. Это говорит о том, что для одного вида модели объекта, например представленного матрицей, можно получить решение с одним локальным оптимумом. А для этой же матрицы с переставленными строками и столбцами можно получить другое решение с лучшим локальным оптимумом. Следует отметить, что, изменяя параметры, алгоритмы и схему квантового поиска, в некоторых случаях, можно выходить из локальных оптимумов. Эта проблема продолжает оставаться одной из важнейших в методах поисковой оптимизации.
1.8. Другие эвристические модели, основанные на
природных аналогиях
Существуют и другие эвристические модели, основанные на природных аналогиях, конкурирующие с моделями ЭВ и роевыми алгоритмами: модель отжига, пороговая и потоковая модели, модель рекордных оценок [Родзин, 2009в].
37
В модели отжига в качестве природного аналога берется
−
процесс кристаллизации эмалевой субстанции. В ходе ее охлаждения степень свободного движения молекул постепенно становится ограниченной, достигая точки равновесия с минимальным энергетическим уровнем в кристаллической структуре. Важной особенностью данного процесса является скорость охлаждения.
Обозначим через S множество состояний системы, через Т
температуру системы при термическом равновесии. Тогда р
(а)
Т
является вероятностью того, что система при температуре Т находится в состоянии а, независимо от энергетического уровня Еа этого состояния. Согласно распределению Больцмана
ap
T
=
−
∑
Sb
∈
⋅
E
b
)(
Tk
⋅
)(
1
E
a
),exp(
Tk
⋅
где k является константой Больцмана. Предположим, что система находится в момент времени t в состоянии a с энергетическим уровнем Еа. Путем небольшого случайного изменения в момент времени t+1 система переходит в состояние b с энергетическим уровнем Еb. Если разница ∆E=E
—E
b
≤ 0, то актуальным
a
становится состояние b; если ∆E > 0, то состояние b запоминается и выбирается с вероятностью exp((E
a–Eb
)/(k·T)).
При достаточно большом t данное правило обеспечивает переход системы в состояние равновесия. Аналогия с физическим процессом здесь заключается в следующем:
•
решения оптимизационной задачи соответствуют состояниям системы в процессе охлаждения физической субстанции;
•
целевая функция F соответствует энергетическому уровню субстанции;
•
процедура поиска оптимального решения аналогична поиску состояния системы с минимальным энергетическим уровнем;
38
•
температура T является параметром для управления процедурой оптимизации. Формализованная модель отжига включает в себя
следующие элементы [41]:
выбирается начальная температура Т0>0; устанавливается начальное число итераций I0 ;
t:=0;
выбирается начальное решение х; вычисляется F(x);
for i=1 to It ; begin
выполняется копирование (репликация) х ; переход в соседнюю точку х′ путем мутации
(вариации) копии х ;
вычисляется F(x′) ;
если ∆E=F(x′)—F(x)≤0, то замена x на x′. Иначе,
если exp(−∆E/Tt) > rnd(0,1), то х′ запоминается и выбирается с вероятностью exp(−∆E/Tt);
end t:=t+1;
установка Tt , It ; проверка условий останова. Пороговая модель близка к модели отжига. Однако
имеются отличия. Основное отличие состоит в стремлении упростить реализацию и параметризацию алгоритма, сократить время поиска и повысить качество получаемых решений. В частности, пороговый алгоритм предусматривает иное, нежели метод отжига, правило принятия решения. По методу отжига, если новое решение приводит к ухудшению целевой функции, то рассчитывается вероятность его использования в ходе дальнейшего поиска. Согласно пороговому алгоритму каждое новое решение должно быть «не намного хуже, чем предыдущее», причем мера ухудшения устанавливается в
39
качестве некоторого порогового значения, которое в процессе моделирования уменьшается до нуля.
Для сравнения представим на псевдокоде процедуру поиска максимума целевой функции пороговым алгоритмом в терминах эволюционного моделирования [Родзин, 2009в]:
выбор начального порогового значения Т
выбор конечного порогового значения Т
установка начального числа итераций I0 ;
t:=0;
i:=0;
выбор начального решения х ;
вычисление F(x) ;
повторять до тех пор, пока Тt ≥ Т
i: = i+1;
копирование (репликация) х ;
переход в соседнюю точку х′ путем мутации (вариации) копии х ;
вычисление F(x′) ;
если ∆F = F(x′) − F(x) > −Tt, то замена x на x′. Иначе, если
долго не наблюдается улучшения или i = It, то i: = 0, t: = t+1,
min
;
> 0 ;
0
min
≥ 0 ;
определить Tt, It ;
stop.
Выбор нового решения из множества соседних точек можно осуществлять либо случайно, либо по определенному плану. Это же относится и к установке порогового значения на каждом этапе моделирования.
Потоковая модель может рассматриваться как дальнейшее упрощение пороговой модели. Метафорой для потоковой модели является поведение путешественника при наводнении в гористой местности. При медленно растущем уровне воды W новое решение принимается, если значение целевой функции для этого решения выше, нежели W. От скорости подъема потока воды V зависит, сумеет или нет путешественник найти лучшее решение
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]