Лекции All in One (1121240), страница 7
Текст из файла (страница 7)
Динамика работы ГА может быть описана вероятностями появления каждой строки (вектором размера 2l на каждой итерации ГА):
-
мутация является линейной операцией, она описывается матрицей размера 2l2l,
-
операция скрещивания является двухместной и описывается тензором размера 2l2l2l.
Марковские модели не учитывают конечный размер популяции и предполагают выбор родителей в операции скрещивания лишь в соответствии с равновероятным выбором.
Макроскопический уровень описания динамики работы ГА.
Переход на макроскопический уровень описания динамики работы ГА заключается в описании ГА в терминах статистических свойств популяции, т.е. вместо описания каждой возможной строки, описываются выделенные статистические свойства, характеризующие популяцию в целом.
Динамика системы с огромным числом степеней свободы сводится к динамике системы всего с несколькими параметрами, которая может быть легко рассчитана или смоделирована.
Этот подход не будет исследовать свойств первичных элементов популяции, что затрудняет оценку его точности.
При использовании данного подхода возникают также нетривиальные задачи правильного выбора макропараметров (позволяющих потерять как можно меньше информации о популяции) и оценки влияния операций ГА на эти макропараметры.
Лекция 9
См. презентацию
Модель прикладной программы определим:
-
Множеством рабочих интервалов процессов, составляющих программу PR:
-
Частичным порядком на P:
={
ik=(pi,pk)}(i,k)(1...N);
-
Вычислительной сложностью рабочих интервалов:
;
-
Объемом данных обмена для каждой связи из
:
{vik}(i,k)(1...N);.
Расписание выполнения программы определено, если заданы:
-
привязка,
-
порядок.
Модель расписания выполнения программы определим набором простых цепей и отношением частичного порядка
HP на множестве P:
HP=({SPi}i=(1...K) ,
HP).
{SPi}i=(1...M) -набор простых цепей (ветвей параллельной программы).
Отношение частичного порядка
HP на множестве P для HP определим как объединение отношений:
HP=
c
1
M,
i - отношение полного порядка на SPi, которое определяется порядковыми номерами рабочих интервалов в SPi;
c - набор секущих ребер, которые определяются связями рабочих интервалов, распределенных на разные процессоры.
Расписание HP является корректным, если выполнены следующие ограничения:
-
Каждый рабочий интервал должен быть назначен на процессор (в SPi).
-
Каждый рабочий интервал должен быть назначен лишь на один процессор (в один SPi).
-
Частичный порядок, заданный в H сохранен в HP:
-
Расписание HP должно быть беступиковым. Условием беступиковости является отсутствие контуров в графе HP:
. -
Все рабочие интервалы одного процесса должны быть назначены на один и тот же процессор (в один и тот же SPi).
Дано:
-
H(PR)=(P,
)- модель программы, -
T=f(HP,HW)- функция вычисления времени выполнения расписания HP на архитектуре HW,
-
- директивный срок выполнения программы.
Требуется построить: HP– расписание выполнения программы такое, что:
- число процессоров, на котором выполняется расписание.
-
Сгенерировать случайным образом популяцию размера P.
-
Выполнить операцию скрещивания.
-
Выполнить операцию мутации.
-
Вычислить функцию выживаемости для каждой строки популяции.
-
Выполнить операцию селекции.
-
Если критерий останова не достигнут, перейти к шагу 2, иначе завершить работу.
Параметрическое представление расписаний с использованием приоритетов
Расписание задается вектором YN+K :
K - число процессов в H,
Ni – число рабочих интервалов в i-ом процессе,
- операция построения вектора
из параметров
и
.
содержит номер процессора, на котором выполняются рабочие интервалы i-го процесса.
используются алгоритмом восстановления расписания (определение отношения полного порядка в каждом SPi) в качестве приоритетов рабочих интервалов.
Алгоритм восстановления полного порядка рабочих интервалов в SP (A1)
Mножество рабочих интервалов разобьем на три подмножества:
:
-
P1 - множество рабочих интервалов распределенных в SP алгоритмом восстановления на предыдущих шагах;
-
P2 - множество рабочих интервалов, у которых все предшественники принадлежат P1;
-
P3 - множество рабочих интервалов, у которых хотя бы один из предшественников не принадлежит P1.
1. Начальное разбиение множества P:
-
P1=;
-
- множество рабочих интервалов в H без предшественников; -
- множество рабочих интервалов в H, у которых имеются предшественники.
2. Находим в P2 рабочий интервал с наименьшим значением параметра
(если таких интервалов более одного, то выбираем интервал с наименьшим номером):
-
размещаем его в конец соответствующего списка SP (номер списка определяется значением параметра
); -
переносим его из P2 в P1.
3. Проверяем P3 с целью возможности переноса рабочих интервалов в P2:
-
если есть рабочие интервалы, у которых все предшественники принадлежат P1, то переносим их в P2.
4. Если P2, то к п.2, иначе завершить работу.
Утверждение. Алгоритм A1 восстановления расписания по его параметрическому представлению YN+K получает расписание
, и расписание восстанавливается однозначно.
Теорема. Любое допустимое расписание
может быть задано параметрическим представлением с использованием приоритетов (YN+K) и однозначно восстановлено алгоритмом A1, если допустимая верхняя граница L значений параметров
больше или равна числу рабочих интервалов (LN).
Кодирование решений
– закодированное решение,
– привязка,
– приоритеты,
– оператор конкатенации строк.
Преобразование решения
-
Параметры
могут принимать целочисленные значения в диапазоне [1,…,K], -
Параметры
могут принимать целочисленные значения в диапазоне [1,…,N], -
количество изменяемых параметров может быть от 1 до N+K.
Операции преобразования решений, удовлетворяющие условиям 1-3 при использовании алгоритма восстановления A1, будут получать решения удовлетворяющие ограничениям на корректность расписаний 1-5, что следует непосредственно из утверждения 1.
Из теоремы 2 следует, что операции преобразования решения, удовлетворяющие условиям 1-3, и алгоритм восстановления A1 позволяют получить любой допустимый вариант решения.
Операции мутации и скрещивания
Поскольку ограничения на изменения значений параметров расписаний задаются в виде
, то могут быть использованы известные операции мутации и скрещивания для целочисленного кодирования решений из Приложения 1.
Операция селекции
Для выполнения селекции используется комбинация схемы пропорциональной селекции и схемы рулетки:
-
если
или это первая итерация алгоритма, то запоминаем
как лучшую строку
и переносим ее в новую популяцию, -
для вычисления целого числа потомков используется схема пропорциональной селекции,
-
для распределения остатка – схема рулетки.
Функция выживаемости
F(kt, ke)=C1kt+C2ke,
С1+С2=1, Ci≤0 (i=1,2)
Критерий останова
Выполнение алгоритмом априорно заданного числа итераций без улучшения функции выживаемости.
Лекция 10
Концепция построения алгоритмов (биологическая модель)
При решении задачи нахождения кратчайшего пути муравьиные алгоритмы позволяют автоматически настраиваться на пример задачи (заданы конкретные значения исходных данных) путем дополнительной разметки исходных данных, которая используется для построения решения на каждой итерации алгоритма и уточняется по мере увеличения числа итераций.
Общая схема работы муравьиных алгоритмов
-
Задание начального количества феромона на ребрах графа, количества и начального положения муравьев.
-
Построение муравьями пути (каждый муравей строит путь независимо от остальных).
-
Вычисление целевой функции для каждого пути.
-
Обновление количества феромона на ребрах.
-
Если условие останова не выполнено, то переход к п.2.
Операция построение муравьем пути
-
Муравей строит путь, переходя из одной вершины в другую.
-
Пройденные муравьем вершины добавляются в табу-список (память муравья), чтобы избежать повторного их посещения.
-
Вероятность перехода муравья из i-й вершины в j-ю зависит от количества феромона на данном ребре, значения локальной целевой функции на ребре и состояния табу-списка.
Вероятность перехода k-го муравья из i-й вершины в j-ю на t-й итерации алгоритма рассчитывается по следующей формуле:
ij(t) - количество феромона на ребре (i,j),
- значение локальной целевой функции на ребре (i,j),
.
- директивный срок выполнения программы.
- множество рабочих интервалов в H без предшественников;
- множество рабочих интервалов в H, у которых имеются предшественники.
);
или это первая итерация алгоритма, то запоминаем
как лучшую строку
и переносим ее в новую популяцию,













