Решение задачи покрытия на основе интеграции моделей эволюции и стайного поведения животных в аффинных пространствах поиска
Б.К. Лебедев, О.Б. Лебедев, Е.М. Лебедева Южный федеральный университет, Таганрог
Аннотация: В работе представлена композитная архитектура многоагентной системы бионического поиска на основе роевого интеллекта и генетической эволюции для решения задачи покрытия множествами. Описывается модифицированная парадигма роя частиц, обеспечивающая, в отличие от канонического метода, возможность использования в аффинном пространстве позиций с целочисленными значениями параметров. Рассмотрены механизмы перемещения частиц в аффинном пространстве для уменьшения веса аффинных связей. Разработанные структуры позиций (хромосом) ориентированы на интеграцию роевого интеллекта и генетической эволюции. Проведенные теоретические разработки были проверены на тестовых примерах (бенчмарках) и на основе полученных экспериментально результатах построена временная зависимость работы алгоритма. Она составляет О(п2)-О(п3).
Ключевые слова: покрытие множествами, рой частиц, генетическая эволюция, аффинное пространство, целочисленные параметры, интеграция.
Введение
В работе объектами исследования являются системы бионического поиска на основе роевого интеллекта и генетической эволюции для решения задачи покрытия множествами.
К задаче о покрытии можно свести многие существующие задачи дискретной оптимизации: задачи стандартизации, упаковки и разбиения множества [1], задача о наибольшей клике [2], задача минимизации полинома от булевых переменных [3,4] и др.
Начальными данными задачи о покрытии множествами являются конечное множество X, а также семейство его подмножеств Р={Х\г=1,2,...,п} таких, что Хг с X и и Хг = X. Задача о минимальном покрытии множествами
г
заключается в отыскании набора Р с Р с минимальным числом подмножеств Хг еР и Хг еР такого, чтобы и Хг=X.
Для решения задачи покрытия могут применяться различные методы и алгоритмы. В основном, это хорошо известные алгоритмы, содержащие разного рода эвристики, применение которых достаточно часто дает возможность получить приемлемый результат за полиномиальное время [5,6]. Следует отметить, что вычислительная сложность рассматриваемых задач все время возрастает. Это автоматически приводит к увеличению требований к получаемым в процессе решения задач покрытия результатов. Поэтому можно сказать, что на сегодняшний день, разработка новых алгоритмов, обладающих большей эффективностью, является актуальной и востребованной задачей. В литературе приведено множество методов и алгоритмов для решения задачи покрытия (последовательных, итерационных и т.д.). Проанализировав эти существующие методы можно утверждать, что разработка нового эффективного алгоритма покрытия, который будет удовлетворять требованиям сегодняшнего дня, возможна лишь в случае использования новых технологий, подходов и методов.
В результате постоянного поиска для выявления более эффективных способов решения данной задачи, стало применение бионических методов и алгоритмов интеллектуальной оптимизации, базирующихся на моделировании коллективного интеллекта [7]. Анализ методов решения сложных прикладных задач говорит о том, что использование, какого либо одного алгоритма оптимизации (как классического, так и популяционного) далеко не всегда однозначно позволяет получить оптимальное решение. В связи с этим, в настоящее время одним из используемых путей позволяющих улучшить эффективность методов для решения задач глобального поиска является разработка гибридных алгоритмов [8]. Гибридные алгоритмы обладают одним важнейшим качеством - недостатки одного алгоритма могут быть компенсированы достоинствами другого алгоритма.
Интеграция метаэвристик популяционных алгоритмов обеспечивает более широкий обзор области поиска и более большую вероятность локализации глобального экстремума задачи [9]. Предлагается композитная архитектура многоагентной системы бионического поиска на основе роевого интеллекта и генетической эволюции [10].
Самый простой способ к гибридизации выглядит следующим образом. В начале для нахождения решения применяется генетический алгоритм. Далее на основе полученных результатов (популяции полученной на конечной генерации генетического поиска) формируются данные (популяция) для роевого алгоритма. Построение популяции осуществляется включением в ее состав наилучших хромосом, но отличных друг от друга. Если существует такая необходимость, то в сформированную популяцию добавляют новых индивидуумов. Далее поиск решения проводится роевым алгоритмом.
Второй способ гибридизации выглядит так. Генетический алгоритм выполняет поиск решения. При этом метод роя частиц используется внутри генетического алгоритма и применяется в виде генетических операторов для получения новых решений. Такой подход дает возможность синтеза новых хромосом на каждой генерации генетического алгоритма двумя путями:
- при помощи генетических операторов кроссовера и мутации;
- при помощи операторов направленной мутации (ОНМ) методами роя частиц.
Метод роя частиц (Particle Swarm Optimization, PSO) относится к классу методов стохастической оптимизации имеющим нечто общее с эволюционными алгоритмами.
Моделирование этого метода заключается в построении модели стайного поведение животных, а не эволюции в целом [9-11]. Основное отличие Particle Swarm Optimization, PSO, по сравнению с популяционными
методами состоит в том, что он использует одну статическую популяцию. В этой популяции происходит постепенное улучшение хромосом. Это достигается тем, что появляется информация о пространстве поиска. Данный метод представляет собой вид направленной мутации (directed mutation). Решения в PSO мутируют в направлении наилучших найденных решений. Частицы никогда не умирают (т.к. нет селекции).
В работе предлагается подход к разработке модифицированной парадигмы роя частиц, которая сможет выполнять действии с хромосомами с целочисленными значениями параметров в генетическом алгоритме и в алгоритме на основе роя частиц.
Отличительной чертой такой парадигмы является использование такой структуры данных, которая применяет описание в виде хромосомы для решения задачи.
В сравнении с алгоритмами, использующими эволюционную стратегию можно провести следующую аналогию. Рой частиц представляется как популяция, а частица роя - индивидуум. Такое представление дает возможность при поиске решения сформировать гибридный алгоритм, основой которого является интеграция метода роя частиц и генетического поиска [8]. В таком методе структура данных, которая описывает решение задачи, является ключевым связывающим звеном [9]. В генетических алгоритмах генотип решения представляется в виде хромосомы. При решении комбинаторных задач гены в хромосомах имеют, как правило, целочисленные значения [7].
В заданном пространстве поиска, позиция частицы (т.е. ее положение) является эквивалентом генотипа в эволюционных алгоритмах. Т.е. если необходимо определить частицу в некотором пространстве решений, то ее состояние описывается при помощи хромосомы. Отметим, что число параметров, которые необходимы для описания частицы равно числу генов в
хромосоме. Значение каждого гена фиксируется на соответствующей оси пространства решений. При этом возможно возникновение различных требований к общей структуре хромосомы, значениям ее генов, операторам задающим перемещения частиц и пространству поиска.
Анализ существующих методов и алгоритмов решения комбинаторных задач показал, что в качестве моделей для представления решений используют широкий диапазон графовых структур (маршрут, дерево, двудольный граф, паросочетание, внутреннеустойчивое множество и т.д.) [12-15]. Такое представление является наиболее эффективным способом нахождения «наилучших» результатов оптимизационных задач, допускающих интерпретацию решений в виде различного рода графовых структур.
Каноническая парадигма роя частиц предусматривает использование вещественных значений параметров в многомерных, вещественных, метрических пространствах. Однако в большинстве генетических алгоритмов гены в хромосомах имеют дискретные целочисленные значения. В свою очередь хромосомы являются некоторыми интерпретациями решений, которые трансформируются в решения путем декодирования хромосом. Это не позволяет напрямую использовать каноническую парадигму роя частиц (например, задача направленной мутации одного дерева в направлении другого, с формальной точки зрения, является весьма нетривиальной).
В связи с этим актуальной является разработка модернизированной структуры пространства поиска, структуры данных для представления решений и позиций, модернизированных механизмов перемещения частиц в пространстве поиска. Исследования показали, что структуры данных для представления позиций и механизмы перемещения частиц в пространстве поиска связаны, но зависят от структуры данных для представления интерпретаций решений.
В работе предлагается подход к разработке модифицированной парадигмы роя частиц, позволяющей применять возможность совместного использования хромосом с дискретными целочисленными значениями параметров в генетическом алгоритме и в алгоритме на основе роя частиц.
1. Аффинное пространство поиска
Пусть имеется линейное векторное пространство (ЛВП), элементами которого являются п-мерные точки (позиции). Каждым любым двум точкам р и д этого пространства однозначным образом сопоставим единственную упорядоченную пару этих точек, которую в дальнейшем будем называть геометрическим вектором р,дЕУ(р,ф - геометрический вектор (упорядоченная пара). Совокупность всех точек ЛВП, пополненная геометрическими векторами, называют точечно-векторным или аффинным пространством. Аффинное пространство является п-мерным, если соответствующее ЛВП так же является п- мерным.
Аффинно-релаксационная модель (АРМ) роя частиц - это граф вершины которого соответствуют позициям роя частиц, а дуги соответствуют аффинным связям между позициями (точками) в аффинном пространстве. Аффинность - мера близости двух агентов (частиц). На каждой итерации каждый агент переходит в аффинном пространстве в новое состояние (позицию), при котором вес аффинной связи между агентом рг и
* -.—ж-
базовым (лучшим) агентом р уменьшается. Переход агента р1 в новую позицию хг^+1) из х() осуществляется с помощью релаксационной процедуры.
Специальная релаксационная процедура перехода зависит от вида структуры данных (хромосомы): вектор, матрица, дерево и их совокупности, являющейся интерпретацией решений.
Позиции лучших частиц с точки зрения целевой функции объявляется «центром притяжения». Векторы перемещения всех частиц в аффинном пространстве устремляются к этим центрам.
Переход возможен с учетом степени близости к одной базовой позиции либо к группе соседних позиций с учетом вероятности перехода в новое состояние.
Обозначим каждую хромосому, описывающую 1-е решение популяции как И({)=^ц\1=1,2,...,п}. Такое обозначение необходимо для того, чтобы в дальнейшем не возникло некорректного описания популяции (роя). Отметим, что каждая Н() содержит в себе представленную структуру. В нашем случае позиция х() соответствует решению, задаваемому хромосомой Н(), т.е. х()=Н()={&1 \1=1,2,...,п}. Аналогично х*1(г)=Н*(г)=^*ц \1=1,2,...,п},
х*А)=Н*¡\1=1,2,...,п}. Число осей в пространстве решений равно числу п
* *
генов в хромосомах Н(), Н ((), Н ((). Точками отсчета на каждой оси I являются целочисленные значения генов.
По определению, эвристические алгоритмы, относящиеся к классу алгоритмов роевого интеллекта, имеют многомерное пространство поиска, которое заполняется, роем частиц [14-16]. В процессе поиска этим методом каждая частица из роя стремится попасть в новую позицию. Новая позиция в канонической парадигме роя частиц определяется как:
где скорость перемещения частицы из позиции х^) в позицию
х$+1). Начальное состояние определяется, как х(0), л>(0) [14-16].
Представленная формула описывается в форме вектора. Для отдельного измерения у пространства поиска формула примет вид:
2. Поиск методом роя частиц
(1)
хур+1)=х/У+Уур+1)
(2)
где х^)- позиция частицы р^ в измерении}, у{(Х+1)- скорость частицы р^ измерении /
Введем обозначения:
- х/Х)- текущая позиция частицы, /1(1) значение целевой функции
частицы р, в позиции х();
*
- х ¡(X)- лучшая позиция частицы ри которую она посещала с начала первой итерации, а / ¡(X) - значение целевой функции частицы р, в этой позиции (лучшее значение с момента старта жизненного цикла частицы р,);
- х (X)- позиция частицы роя с лучшим значением целевой функции / (X) среди частиц роя в момент времени X.
Тогда скорость частицы р, на шаге (¿+1) в измерении] вычисляется как: у^+1)=м>-у^)+к1-гп^0,1) (х ^)-х^))+кггМ(0,1)-(х /X)-х()), (3)
где гп^0,1) - случайное число на интервале (0,1), к1, к2) -некоторые коэффициенты.
Скорость у/Х+1) представляется, как инструмент позволяющий изменить решение.
В данном алгоритме скорость у/Х+1) не может быть представленной в виде аналитического выражения с вещественными значениями переменных. Этим рассматриваемый алгоритм отличается от канонического метода роя частиц. Здесь в роли позиции выступает хромосома. При этом в процессе определения местоположения частицы в области поиска решений, необходимо, чтобы количество параметров, на основе которых происходит определение этого места, было равным количеству генов в хромосоме. Значение каждого гена откладывается на соответствующей оси пространства решений. При этом дополнительно рассматриваются возникающие новые требования к структуре хромосомы и значениям генов. Значения генов должны быть дискретными и независимыми друг от друга. В качестве аналога скорости у/Х+1) выступает оператор направленной мутации (ОНМ),
суть которого заключается в изменения целочисленных значений генов в хромосоме Н(). Перемещение частицы р1 в новую позицию означает переход от хромосомы Н() к новой - Н$+1) c новыми целочисленными значениями генов gil, полученными после применения ОНМ.
*
По аналогии с каноническим методом роя частиц позицию х (1) будем
*
называть когнитивным центром притяжения, а позицию х (() - социальным центром притяжения. Когнитивный центр выступает в роли индивидуальной памяти о наиболее оптимальных позициях данной частицы. Благодаря социальному центру частица имеет возможность передвигаться в оптимальные позиции, найденные соседними частицами.
Как уже указывалось выше, позиции задаются хромосомами. Позициям х((), х(), х*(), хс$) соответствуют хромосомы Н*(()={^*1(Щ1=1,2,...,п1}, щх)=шт=1,2,...,п}, #г(х)=&*()\1=1,2,...,п}, Нс(г)={^с11(г)\1=1,2,.,п1}.
В качестве оценки степени близости между двумя позициями х^) и х() будем использовать величину Б^ расстояния (вес аффинной связи) между хромосомами Ни Н().
Целью перемещения хромосомы Н() в направлении хромосомы Н() является сокращении расстояния между ними.
Для учета одновременного тяготения частицы pi к лучшей к позиции **
х (I), среди частиц роя в момент времени I, и к лучшей позиции х частицы ри которую она посещала с начала первой итерации, формируется виртуальный центр (позиция) притяжения хс() частицы pi.
Синтез виртуальной позиции хс^) происходит при использовании
*
действий виртуального перехода из позиции х 1(1) в виртуальную позицию
с*
х () в направлении к позиции х (I). После того, как определен центр притяжения хс^) частица pi движется в направлении виртуальной позиции хс() из позиции х^) в позицию х(1,+1).
После перемещения частицы р1 в новую позицию х^+1) виртуальная позиция хс^) исключается.
В качестве локальной цели, получаемой, в процессе передвижения частицы рI выступает ее попадание в позицию с наилучшим показателем критерия качества. В качестве глобальной цели получаемой, в процессе передвижения частицы р, является формирование оптимального решения задачи.
3. Постановка задачи покрытия
Существующие и описанные в литературных источниках выполняющие покрытие схем библиотечными наборами ячеек алгоритмы [15], в качестве критериев, в основном, используют следующие: общее количество элементов из которых состоит покрывающий набор ячеек; количество типов применяемых ячеек; общее количество ячеек требуемых для реализации схемы; количество межъячеечных соединений; суммарную стоимость ячеек, покрывающих схему.
Пусть задано множество Е={е{\1=1,2,...,п} типов элементов, входящих в состав покрываемой функциональной схемы. Количественный состав схемы по типам элементов описывается вектором В={Ь, \1=1,2,...,п}„ где Ь, - число элементов типа еи входящих в состав схемы.
Пусть задан набор ячеек Т={^\]=1,2,...,т}. Каждая ячейка включает свой набор элементов из Е. Элементы внутри ячейки между собой не соединены. Количественный состав ячеек описывается с помощью матрицы А = \\ау\\п х т, где Оу - число элементов типа е1 в ячейке типа С помощью вектора С={су\]=1,2,.,т} задается для каждой ячейки ¿у её стоимость су.
Покрытие схемы библиотечными наборами ячеек будет выполнено, если в покрываемой схеме каждый элемент сможет быть реализован элементами, входящими в состав выбранных библиотечных ячеек.
Для определения количества ячеек типа ¿у, из которых состоит библиотечный покрывающий набор, введём целочисленную переменную ху. Задача покрытия формулируется следующим образом:
минимизировать р = у х • с
у=1 у у
при ограничениях уо • х. > Ь ,I = 1,2,...,п; (4)
= V у ^ ' ' ' '
х. > 0, у = 1,2,..., т; а > 0.
у
Таким образом, решением задачи является набор значений параметров ху, у=1,2,... ,т, при которых функция р (суммарная стоимость ячеек покрывающего набора) имеет минимальное значение.
Если за критерий су принять все количество элементов, из которых
состоят ячейки Ъ , т.е. с = У а , то целевая функция р учитывает общее
у 1=1 1
количество элементов, из которых состоит покрывающий набор ячеек.
4. Формирование пространства решений
Для более детального представления, процесс формирования области решений рассмотрим на примере [11-13].
Пусть покрываемая схема составлена из элементов 3-х типов: Е={е],е2,е3}. Количественный состав схемы описывается вектором В={30,10,21}. Набор покрывающих ячеек включает 5 типов: Т={1\,12,13,14,15}. Матрица А, описывающая количественный состав ячеек, имеет вид, представленный на рис.1.
Введём матрицу В, задающую граничные требования по количественному составу элементов, покрываемых ячейками каждого типа. В=\\Ьу\\п х т, где Ь у - минимальное число элементов типа е, которое обязательно должно быть покрыто ячейками типа ¿у, Ь у > 0, Ь у - целое число.
При этом для реализации полного покрытия всех элементов, в соответствии с требованиями матрицы В, необходимо выполнение ограничений:
=Л, I = 1,2,...,п. (5)
j=1 j
A =
Рис.1 - Матрица A, описывающая количественный состав ячеек
Для
выше примера одиним вариантов матрицы В представленный на рис. 2.
Типы элементов Типы покрывающих ячеек
tr t2 h t4 t5
е1 2 1 2 3 2
е2 3 2 2 1 2
е3 1 2 3 1 2
представленного из возможных
имеет вид,
B =
Типы элементов Типы покрывающих ячеек di-Zbij
tr t2 t3 t4 t5
ei 8 4 4 9 5 3=30
e2 3 2 3 1 1 S2-10
ез 5 2 7 6 1 дз-21
Рис. 2 - Символьное представление решения - матрица B
Матрица B однозначно соответствует покрывающему набору ячеек, который определяется следующим образом.
Вначале строится матрица D=\\dij\\n xm; элемент матрицы dij=\bij/aij\ это потолок числа bij/aij - наименьшее целое число, не меньшее biJ/aij и фактически равное минимальному числу ячеек типа tj, необходимых для покрытия bij элементов типа ei.
Затем в пределах каждого j-го столбца матрицы D отыскивается максимальное число dJmax, (Vi)\d > d 1, которое является минимальным
J V /L jmax ij J
числом Xj=djmax ячеек типа tj, обеспечивающих покрытие Sj элементов типа ej; S2 элементов типа e2,...; Sn элементов типа en в соответствии с
требованиями матрицы В. Причём, кроме элементов типа ви для которых Ф]=^тсхс, остальные типы элементов будут покрыты с избытком.
Для нашего случая матрица В и покрывающий набор X имеет вид, представленный на рис.3.
В =
Типы элементов Типы покрывающих ячеек
Ь ^2 tз и
е1 Г8/21 = 4 4/ 1 1 4 Г4/21 = 2 Г 9/31 = 3 Г 5/21 = 3
е2 гы = -12 Гх32 1= 1 • хГ 3/21= 2 Г1/11 = 1 Г1/21 = 1
ез г 5/11 = 45 Г2/2 1& 1 3 Г 7/21= 3 Г6/11 = 6 Г1/21 = 1
^]тах 5 4 3 6 3
X=
Рис. 3 - Матрица В и покрывающий набор X
Общее число элементов типа е, входящее в состав покрывающего набора ячеек, определится как:
„ т
К = • х-
]=1
Общее число Ия ячеек в покрывающем наборе определится как:
ИТ т
К я = 2 х-
]=1
Для нашего случая: Кя=5+4+3+6+3=21; N,=5-2+4-1+3-2+6-3+3-2= 44; N2=5-3+4-2+3-2+6-1+3-2=41; К3=5-1+4-2+3-3+6-1+3-2=34. Общее число элементов входящих в покрывающий набор АГЭ=ЛГ1+ЛГ2+ЛГ5=119. Итак, матрице В, значения элементов которой удовлетворяет ограничениям (5), соответствует одно решение.
При комбинировании значениями Ьвходящими в матрицу В, возможно получение других, отличных друг от друга решений. Все эти решения будут удовлетворять ограничениям (5). В данной работе область решений описывается множеством Я матриц В.
*
Найти решение - это значит отыскать матрицу В еЯ. Т.е. найти в
* *
матрице В совокупности таких значений элементов Ьу , которые смогут оптимизировать целевую функцию.
5. Структура хромосом и принципы декодирования
Как уже указывалось выше, в качестве решения рассматривается матрица Р. В процессе формирования структуры хромосомы использовалось одно ключевое требование: гены в одних и тех же локусах хромосом должны быть гомологичными. В хромосоме с такой структурой будет гораздо проще использование генетических операторов кроссинговера и мутации и оператора направленной мутации в рое частиц. Представим матрицу В=\\Ьь-\\пхт в виде набора строк В. В={В^=1,2,3,...,п}, где В={Ь^=1,2,.,т}. Каждой строке В, матрицы В соответствует хромосома Н и наоборот. Каждая Н представляет собой совокупность (т-1) генов, значения которых могут изменяться в пределах диапазона, определяемого параметром д,:
0<^п<Ь1, &1еН, (6)
В свою очередь матрица В представляется совокупностью п хромосом
Н,
Рассмотрим механизмы кодирования и декодирования на примере одной строки.
Пусть имеется список В, =<Ь, }\)=1,2,...,т> с фиксированной суммой значений элементов у).
Подобные списки лежат в основе интерпретаций решений в задачах покрытия [14], распределения ресурсов [15,16] и др.
Хромосома Н=^и\1=1,2,...,(п -1)} представляет собой совокупность (п-1)} генов gl, значения которых могут изменяться в пределах диапазона, определяемого параметром д,:
& е Н, 0< gil < д„
Рассмотрим подробнее переход от хромосомы Hi к списку. Вначале происходит упорядочивание генов в порядке увеличения их значений, т.е. если gueHi и ga+1 eHu то ga+i>ga. Значения ga в заданных пределах от 0 до Si, выступают в роли координат опорных точек на отрезке длиной Si (от 0 до Si), разделяющих отрезок на интервалы. Длина интервала между двумя соседними опорными точками и есть величина соответствующего элемента bij списка Bi, при этом сумма значений элементов списка Bi равна Si.
Например. Пусть имеется хромосома Hi={8, 12,16,25}, bi=30, (m-1)=4. На отрезке длиной bi=30 наносятся опорные точки с координатами <0,8,12,16,25,30>, разбивающими отрезок на интервалы длиной <8,4,4,9,5>. Эти значения являются значениями списка Bi. Bi =<8,4,4,9,5>, bi=30.
6. Перемещение частиц в пространстве поиска
Пусть имеется рой частиц P={pk\k=1,2,...,K}. Каждая частица pk на шаге t размещена в позиции Xk(t). Поскольку матрица B включает n строк, соответствующая, частице pk, определяется набором из n хромосом, соответствующим n строкам матрицы B, Xk(t)={Hki(t)\i=1,2,...,n}.
Хромосома Hki(t)={gku\l=1,2,...,(n-1)} представляет собой совокупность (n-1)} генов gkil, значения которых могут изменяться в пределах диапазона, определяемого параметром Sf.
gkii^Hki, 0< gkil < Ski.
Пространство поиска включает число осей равное числу генов в хромосоме Hki(t). Каждому гену в хромосоме Hki(t)соответствует ось (номер оси). Точками отсчета на каждой оси Xi являются целые числа в интервале от
0 до Ski.
Перемещение частицы pk из позиции Xk(t) в позицию Xk(t+1) под воздействием притяжения к позиции Xz(t) осуществляется путем применения
оператора направленной мутации (ОНМ) к хромосомам позиции Х() следующим образом.
В качестве оценки степени близости между двумя хромосомами Нш^) еХ() и еХ() будем использовать величину Бы расстояния между хромосомами Ни^)и :
т-11 |
= ^ I g ы - g ии I . (7)
В качестве оценки степени близости между двумя позициями Х() и Х() используется величина расстояния между Х() и Х().
п
Qkz = Е
г=1 . (8)
Суть процедуры перемещения, реализуемой ОНМ, заключается в изменения разности между значениями каждой пары генов (к1, gzil) двух позиций Х() и Х(): = 1,2,...,п; 1=1,2,...,(т-1).
Это достигается путем просмотра локусов хромосом Нк$) и Нzi(t) (с первого последовательным образом), и проводится сравнение соответствующих этим локусам генов. Если в ходе последовательного просмотра локусов в текущем локусе I выпадает с вероятностью Р событие «мутация», то ген gыEНki(t) мутирует.
Пусть Яы(^)-число локусов в хромосомах Нк() и Нzi(t), в которых значения генов gkil(t) еЩ() и gzil(t) еН^) не совпадают.
Вероятность мутации п зависит от числа Яы(0 несовпадений между позициями, и определяется следующим образом:
п=а-Яытт-1), (9)
где а коэффициент, (т-1) - длина хромосомы. Таким образом, чем больше число несовпадающих генов между хромосомами Нк() и Н2^), тем
больше вероятность, что значение gkil(t) ЕНкбудет изменено.
Пусть имеется некое вероятностное событие, в результате которого возможно наступление двух вариантов событий 1 и 0. Вероятности наступления этих событий обозначим соответственно через п и (1-п). Такое вероятностное событие назовем простой лотереей Ь(1,ж,0). Другими словами с вероятностью п лотерея Ь(1,ж,0)=1, а с вероятностью (1-п) лотерея Ь(1,п 0)=0, Значения генов новой позиции частицы р1 в результате мутации определяются как:
gki(t+1)=gki(t), если =gZi(t)У;
gtil(t+1)=gkil (!)+Ь(1,п,0), если (10)
gкil(t+1)=gкil(t)-L(1,п,0), если ^и(^).
Пример. Пусть Ьк=23, т=6, Нй(^=<1,2,4,8,8>, Нк^) (Г)=<1,1,2,4,0,15>,
Н^) =<3,3,4,6,7>, Pzi(t)=<3,0,1,2,1,16>, 8к^)=6.
Пусть с некоторой вероятностью в Нк() мутировали гены в 1 и 4 локусах. В результате направленной мутации
Н^+1)=<2,2,4,7,8>, Р^+1)=<2,0,2,3,1,15>, 8ы^+1')=4.
Перемещение частиц в пространстве поиска может быть описано в виде последовательности следующих шагов.
1. Создать рой частиц Р={рк\к=1,2,...,К}. Задать число итераций Т.
2. На основе исходной постановки задачи покрытия сформировать множество матриц В={Вк\к=1,2,...,К}, каждая из которых является символьным представлением решения задачи покрытия, Вк=\\Ьк]\п хт.
3. Сформировать (т-1) - мерное пространство поиска. Установить: t=1.
4. Сформировать К позиций Х() для множества частиц Р={рк\к=1,2,...,К} на базе множества матриц В={Вк\к=1,2,...,К}.
5. Вычислить значение критерия/() для каждой позиции Хк(^.
6. Найти лучшую позицию Х*(1) роя на шаге t.
7. Для каждой частицы рк, определить лучшую позицию Х*(), которую она посещала с начала первой итерации.
8. Для каждой частицы рк, определить оценку степени близости между позицией Х() и лучшей позицией Х*(1) роя.
9. Перемещение каждой частицы рк из занимаемой позиции Х() в позицию Хк^+1) под воздействием притяжения к лучшей позиции Х*(1) роя (социальному центру притяжения) путем применения оператора направленной мутации (ОНМ) к хромосомам позиции Х().
10. Если t<T, то t = t +1 и переход к пункту 5, иначе переход к пункту 11.
11. Конец работы алгоритма.
7. Механизмы генетического поиска
На первом этапе гибридного алгоритма выполняется генетическая эволюция популяции позиций Х={Хк\к=1,2,...,К}, в которых помещен рой частиц Р={рк\к=1,2,...,К}. Позиция Х(), соответствующая, частице рк, определяется набором из п хромосом, соответствующим п строкам матрицы В, Х()={Нк^)\1=1,2,...,п}.
Далее на каждой итерации алгоритма выполняют работу генетические операторы кроссовера и мутации. После применения этих операторов популяция увеличивается (происходит ее расширение) и требуется ее редуцировать (уменьшить) применяя операторы селекции до исходного размера.
Основными генетическими операторами являются кроссинговер и мутация [11]. Структура кроссинговера в основном определяет эффективность ГА.
После выбора пары родительских позиций Х() и Х2(^, формируются пары соответствующих одной строке матрицы В хромосом (Н1(), Н2()), Ни@) еХ(), Н2() еХ(), 1=1,2,..., п. Кроссинговер выполняется для каждой
пары хромосом (H1i(t), H2i(t)). Поскольку хромосомы гомологичны, кроссинговер выполняется путем взаимного обмена генами между парой хромосом в случайно выбранных локусах.
Каждая хромосома позиции подвергается мутации.
Оператор мутации выполняется путем изменения взаимного расположения двух (случайно выбранных) генов в хромосоме.
При этом можно сказать, что те алгоритмы в которых происходит реализация кроссовера и мутации, в пределах одной хромосомы имеют линейную зависимость оценки временной сложности.
8. Экспериментальные исследования
На основе рассмотренной парадигмы разработана программа покрытия SWARM COVERING. Для проведения тестовых исследований была применена процедура формирования тестовых примеров с уже полученным оптимумом Ропт по аналогии с существующим методом BEKU (Partitioning Examples with Tight Upper Bound of Optimal Solution) [18]. Оценкой качества служит величина F^F - «степень качества», где F - критерий качества решения. После проведения тестовых испытаний, полученные результаты были обработаны и на их основе получена зависимость значения качества от количества генераций (рис. 4).
Исследования показали, что число итераций, при которых алгоритм находил лучшее решение лежит в пределах 110-130.
Рис. 4 - Зависимость степени качества алгоритма от числа итераций
Алгоритм сходится в среднем на 125 итерации. Тестовые испытания выявили, что при расширении популяции М больше чем до 120 не происходит заметное улучшение критерия. В результате проведенных исследований установлено, что целевая функция у гибридного алгоритма имеет значение на 10-15% лучше целевой функции генетического и роевого алгоритмов выполняющий поиск решения по отдельности.
Проведя сравнение значений целевой функции полученных гибридным алгоритмом при решении выбранных тестов имеющих известное лучшее значение, можно сделать вывод, что вероятность получения глобального оптимума составила 0,95. Полученный разработанным гибридным алгоритмом результат (был получен на130 генерации), отличен от точного на 0.15 процента. Было установлено, что в среднем работа программы позволяет определять результаты имеющие отличие по сравнению с оптимальным менее, чем на 2%. Проанализировав существующие алгоритмы [15-21], можно сделать следующий вывод. Разработанный алгоритм обладает меньшим временем работы. При этом полученные результаты имеют различие значения критерия по сравнению с оптимальным значением менее чем на 4-6%.
Разработанный гибридный алгоритм был исследован на бенчмарках, расположенных в библиотеке ОЯ-объектов (http://www.ms.ic.ac.uk/info.html). Зависимость времени работы гибридного алгоритма покрытия при фиксированных значениях М и Т лежит в пределах О(п). Общая зависимость времени работы гибридного алгоритма покрытия, в общем подтверждает теоретические исследования и для использованных экспериментов лежит в
2 3
пределах О(п )- О(п ).
Заключение
В работе используется символьное представление решения задачи покрытия в виде компактной матрицы граничных требований (МГТ). Это дает возможность сформировать компактное пространство решений, внутри которого происходит поиск оптимального решения. В основу этого поискового процесса положен принцип моделирования адаптивного поведения биологических систем.
Предложена композитная архитектура многоагентной системы бионического поиска на основе интеграции роевого интеллекта и генетической эволюции.
Уникальность этого метода состоит в том, что ключевым моментом выступает общая структура данных, которая описывает и представляет решение задачи в виде хромосомы.
Интеграция метаэвристик популяционных алгоритмов обеспечивает более широкий обзор области поиска и более высокую вероятность локализации глобального экстремума задачи.
Ключевая проблема, которая была решена в данной работе, связана с разработкой структуры аффинного пространства позиций, позволяющей отображать и осуществлять поиск интерпретаций решений с целочисленными значениями параметров. В отличие от канонического метода роя частиц, для уменьшения веса аффинных связей, путем перемещения частицы р^ в новую позицию аффинного пространства решений разработан оператор направленной мутации, суть которого заключается в изменения целочисленных значений генов в хромосоме. Разработаны новые структуры хромосом для представления решений.
Представленный и описанный в работе алгоритм покрытия схем библиотечными наборами ячеек является универсальным. В этой связи он может быть применен при решении широкого круга задач линейного
целочисленного программирования. Эксперименты показали, что качество решений, полученных гибридным алгоритмом на 1-15% лучше, чем у генетического и роевого алгоритмов. Вероятность получения глобального оптимума составила 0.9. Общая зависимость времени работы гибридного алгоритма покрытия, какой бы не использовался способ гибридизации, не больше зависимости времени работы генетического алгоритма и лежит в
2 3
пределах О(п )-О(п ).
Работа выполнена при финансовой поддержке РФФИ грант № 18-0700737.
Литература
1. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.: 2004. 226 с.
2. Андерсон Д. Дискретная математика и комбинаторика. М.: Вильямс, 2003. 187 с.
3. Корниенко В.П. Методы оптимизации. М.: Высш. шк., 2007. 176 с.
4. Galinier P. and Heztz A. Solution techniques for the large set covering problem // Discrete applied Mathematics. 2007. Vol. 155. Issue 3. 96 p.
5. Еремеев А.В., Заозерская Л.А., Колоколов А.А. Задача о покрытии множества: сложность, алгоритмы, экспериментальные исследования // Дискрет. анализ и исслед. операций. Сер. 2. 2000. Т. 7, № 2. С. 22-46.
6. Забиняко Г.И. Реализация алгоритмов решения задачи о покрытии множеств и анализ их эффективности // Вычислительные технологии. Том 12, № 6, 2007. C. 50-58.
7. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой: учебное пособие. М: Издательство МГТУ им. Н.Э. Баумана, 2014. 446 с.
8. Raidl G.R. A Unified View On Hybrid Metaheuristics. In: Lecture Notes In Computer Science, 2006. Springer, Verlag. рр. 1-12.
9. Wang X. Hybrid nature-inspired computation method for optimization. Doctoral Dissertation. Helsinki University of Technology,TKK Dissertations, Espoo 2009, 161 p.
10. Blum C., Roli A. Metaheuristics in combinatorial optimization: overview and conceptual comparison // ACM computing surveys. № 35, 2003. рр. 268-308.
11. M. Clerc. Particle Swarm Optimization. ISTE, London, UK, 2006. 191 p.
12. Лебедев Б.К., Лебедев О.Б. Гибридный биоинспирированный алгоритм решения задачи символьной регрессии // Известия ЮФУ. Технические науки. Ростов-на-Дону: Изд-во ЮФУ, 2015. № 6 (167). С. 28-41.
13. Лебедев Б.К., Лебедев В.Б. Покрытие методом роя частиц // Материалы VI-й Международной научно-практической конференции "Интегрированные модели и мягкие вычисления в искусственном интеллекте". М.: Физматлит, 2011. С. 611-619.
14. Лебедев Б.К., Лебедев О.Б., Лебедева Е.М. Распределение ресурсов на основе гибридных моделей роевого интеллекта // Научно-технический вестник информационных технологий, механики и оптики. 2017. Т. 17. № 6. С. 1063-1073.
15. Лебедев Б.К., Лебедев В.Б. Трассировка на основе метода роя частиц. Двенадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2010. Труды конференции. Т.2. М.: Физматлит, 2010. С. 414-422.
16. J. Kennedy, R.C. Eberhart. Particle swarm optimization // In Proceedings of IEEE International Conference on Neural Networks, 1995. pp. 1942-1948.
17. J. Cong, M. Romesis, and M. Xie "Optimality, Scalability and Stability Study of Partitioning and Placement Algorithms". Proc. of the International Symposium on Physical Design, Monterey, CA, April 2003. pp. 88-94.
18. Нгуен Минь Ханг. Применение генетического алгоритма для задачи нахождения покрытия множества // Труды института системного анализа РАН, Т. 33, 2008. С. 206-211.
19. Коновалов И.С., Фатхи В.А., Кобак В.Г. Применение генетического алгоритма для решения задачи покрытия множеств // Вестник Донского государственного технического университета №3(86), 2016. С. 125-132.
20. Коновалов И.С., Фатхи В.А., Кобак В.Г. Сравнительный анализ работы жадного алгоритма Хватала и модифицированной модели Голдберга при решении взвешенной задачи нахождения минимального покрытия множеств // Труды СКФ МТУСИ. Часть I, 2015. С. 366-370.
21. Есипов Б.А., Муравьев В.В. Исследование алгоритмов решения обобщенной задачи о минимальном покрытии // Известия Самарского научного центра Российской академии наук, Т. 16. №4(2), 2014. С. 256-260.
22. Засядко Г.Е. Представление графовых моделей данных в виде n-арных деревьев // Инженерный вестник Дона, 2017, №2 URL: ivdon.ru/ru/magazine/archive/N2y2017/4166.
23. Лебедев Б.К., Лебедев О.Б., Лебедева Е.О. Роевой алгоритм планирования работы многопроцессорных вычислительных систем // Инженерный вестник Дона, 2017, №3 URL: ivdon.ru/ru/magazine/archive/N3y2017/4362.
References
1. Kormen T., Leyzerson C.H., Rivest R. Algoritmy: postroyeniye i analiz [Algorithms: construction and analysis]. M.: 2004. 226 p.
2. Anderson D. Diskretnaya matematika i kombinatorika [Discrete mathematics and combinatorics]. M.: Vil'yams, 2003. 187 p.
3. Korniyenko V.P. Metody optimizatsii [Optimization methods]. M.: Vysshaya shkola, 2007. 176 р.
4. Galinier P. and Heztz A. Discrete applied Mathematics. 2007. Vol. 155. Issue 3. 96 р.
5. Yeremeyev A.V., Zaozerskaya L.A., Kolokolov A.A. Diskret. analiz i issled. operatsiy. Ser. 2. 2000. Tom 7, № 2. рp. 22-46.
6. Zabinyako G.I. Vychislitel'nyye tekhnologii. Tom 12, № 6, 2007. рp. 5058.
7. Karpenko A.P. Sovremennyye algoritmy poiskovoy optimizatsii. Algoritmy, vdokhnovlennyye prirodoy [Modern algorithms of search optimization. Algorithms inspired by nature]. Moscow: MSTU. N.E. Bauman. 2014. 446 p.
8. Raidl G.R. In: Lecture Notes In Computer Science, 2006. Springer, Verlag. рр. 1-12.
9. Wang X. Hybrid nature-inspired computation method for optimization. Doctoral Dissertation. Helsinki University of Technology, TKK Dissertations, Espoo 2009. 161 p.
10. Blum C., Roli A. ACM computing surveys. № 35, 2003. рр. 268-308.
11. M. Clerc. Particle Swarm Optimization. ISTE, London, UK, 2006. 191 p.
12. Lebedev B.K., Lebedev O.B. Izvestiya YUFU. Tekhnicheskiye nauki. Rostov-na-Donu: Izd-vo SFU, 2015. № 6 (167). рp. 28-41.
13. Lebedev B.K., Lebedev V.B. Materialy VI Mezhdunarodnoy nauchno-prakticheskoy konferentsii "Integrirovannyye modeli i myagkiye vychisleniya v iskusstvennom intellekte". M.: Fizmatlit, 2011. рp. 611-619.
14. Lebedev B.K., Lebedev O.B., Lebedeva E.M. Nauchno-tekhnicheskiy vestnik informatsionnykh tekhnologiy, mekhaniki i optiki. 2017. Tom 17. № 6. рp. 1063-1073.
15. Lebedev B.K., Lebedev V.B. Dvenadtsataya natsional'naya konferentsiya po iskusstvennomu intellektu s mezhdunarodnym uchastiyem KII-2010. Trudy konferentsii. Tom 2. M.: Fizmatlit, 2010. рp. 414-422.
16. J. Kennedy, R.C. Eberhart. In Proceedings of IEEE International Conference on Neural Networks, 1995. pp. 1942-1948.
17. Cong J., Romesis M. and Xie M. Proc. of the International Symposium on Physical Design, Monterey, CA, April 2003. pp. 88-94.
18. Nguyen Min' Khang. Trudy instituta sistemnogo analiza. RAN, T. 33, 2008. рp. 206-211.
19. Konovalov I.S., Fatkhi V.A., Kobak V.G. Vestnik Donskogo gosudarstvennogo tekhnicheskogo universiteta №3(86), 2016. рp. 125-132.
20. Konovalov I.S., Fatkhi V.A., Kobak V.G. Trudy SKF MTUSI. Chast' I, 2015. рp. 366-370.
21. Yesipov B.A., Murav'yev V.V. Izvestiya Samarskogo nauchnogo tsentra Rossiyskoy akademii nauk, T. 16. №4(2), 2014. рp. 256-260.
22. Zasyadko G.Ye. Inzenernyj vestnik Dona (Rus), 2017, №2. URL: ivdon.ru/ru/magazine/archive/N2y2017/4166.
23. Lebedev B.K., Lebedev O.B., Lebedeva E.O. Inzenernyj vestnik Dona (Rus), 2017, №3. URL: ivdon.ru/ru/magazine/archive/N3y2017/4362.