Введение
Классический генетический алгоритм в задачах обеспечения безопасности предприятий, учреждений, организаций сталкивается с двумя проблемами. Первая – нелинейные зависимости между защитными мерами. Второй является вычислительная сложность выполняемых алгоритмов. Она становится весьма трудоемкой даже для современных машин при увеличении числа слагаемых [1].
Для решения таких проблем предлагается отказаться от прямого расчета функции приспособленности как от обязательного элемента отбора. Вместо этого вводится механика виртуального перемещения решений в специально размеченном дискретном пространстве. Суть подхода в следующем: особь популяции (конкретное мероприятие по обеспечению безопасности, далее – МОБ) не оценивается по абсолютной шкале «хорошо/плохо», а совершает условный шаг вдоль числовой шкалы. Длина этого перемещения зависит от экспертных оценок каждого МОБ по заданным критериям [2]. Такой подход позволяет уйти от необходимости конструировать громоздкую скалярную функцию и при этом учесть сложные взаимосвязи между генами хромосомы.
Дискретизация оценок и их перевод в категорию «шагов» резко снижает чувствительность алгоритма к разбросу мнений группы экспертов. Это важно, потому что при оценке безопасности объекта защиты редко имеются точные данные [3]. А иногда имеют место словесные заключения экспертов, нормы приказов и субъективные оценки.
Цель исследования – разработка и демонстрация модифицированного генетического алгоритма, основанного на механике виртуального перемещения решений и коалиционной селекции, который позволяет преодолеть указанные ограничения классических методов при отборе МОБ.
Материалы и методы исследования
Математически предложенная процедура выглядит следующим образом. Исходное множество МОБ – М образует исходную популяцию:
(1)
где n – общее количество МОБ.
Каждое МОБ оценивается экспертами множеством критериев К:
(2)
где q – число критериев.
Оценки по критериям предлагается выставлять по шкале оценок О:
(3)
где r – максимальное значение шкалы оценок.
Эти баллы и будут являться генами хромосом.
Моментом, на который следует обратить особое внимание, является переход от оценок хромосом в качестве баллов к безразмерным шагам [4]. Для смягчения данного перехода предлагается использовать правило агрегирования. Для начала вводится шкала шагов SH для особей множества М:
(4)
где p – максимальное значение шкалы шагов.
Для примера определим шкалу шагов, состоящую из трех значений – SH = {0, 1, 2}, а шкалу оценок из шести значений – О = {1, 2, 3, 4, 5, 6}. В этом случае возникает необходимость равномерного распределения значений шкалы оценок по значениям шкалы шагов. Для этого необходимо разбить шкалу О на d интервалов:
(5)
При этом нужно учесть, что если r не делится на p нацело d ≠ цел., тогда:
(6)
Исходя из этого, для приведенного примера оценки 1, 2 превращаются в нулевой шаг (мера слабая), 3, 4 – в единичный, 5, 6 – в двойной согласно следующему правилу:
(7)
где
.
В итоге для приведенного примера получим равномерное распределение шкалы значений оценок хромосом по шкале шагов (табл. 1) [5].
Таблица 1
Распределение оценок по шкале шагов
|
Шкала шагов SH |
0 |
1 |
2 |
|||
|
Шкала оценок O |
1 |
2 |
3 |
4 |
5 |
6 |
Примечание: составлена автором на основе полученных данных в ходе исследования.
Такой подход «сглаживает» мелкие колебания экспертных суждений. Соседние баллы в пределах одного интервала перестают влиять на итоговую позицию решения, что на деле часто отражает реальную управленческую логику: разница между оценкой «3» и «4» в плане финансирования или реализации не столь критична, как разрыв между «2» и «5».
Далее, для каждой хромосомы вычисляется суммарный шаг Si. Это простая сумма преобразованных значений всех генов:
(8)
На данном этапе включается модифицированный оператор «движения», который по сути является ключевой модификацией и реализуется в виде шкалы S – конечного дискретного множества [6]:
(9)
где элемент sa соответствует a-й позиции на шкале перемещения хромосомы, а l обозначает общую длину шкалы.
В начале работы метода все особи помещаются в нулевую позицию на шкале S. Далее, отсчитывается суммарный шаг каждой особи на шкале перемещения хромосом – тем самым реализуется их перемещение в пространстве. Особь с суммой Si помещается в ячейку с соответствующим номером. Если номер превышает длину шкалы, отсчет начинается заново – срабатывает принцип цикличности [7]. Это создает замкнутое виртуальное поле, на котором особи в результате их перемещения группируются в коалиции Gk.
Вот тут действуют простые, но жесткие правила селекции:
1. Если в результате перемещения в ячейке оказалась одна особь (|Gk| = 1), то она переходит в следующее поколение без скрещивания.
2. Коалиция из двух особей (|Gk| = 2) реализует одноточечный кроссинговер с выбором случайной точки разрыва. Точка разрыва t выбирается случайным образом из диапазона {1, 2, ..., q – 1}, где q – длина хромосомы.
3. Три и более особи в одной коалиции (|Gk| ≥ 3) – для скрещивания отбираются два антипода: с максимальным и минимальным значением суммарного шага внутри этой группы. Остальные особи переходят в следующее поколение без скрещивания [8].
Такой подход ломает привычную логику генетического алгоритма. Поиск «самого приспособленного» потомка среди всей популяции модифицируется в поиск крайних вариантов внутри локального скопления похожих решений и последующим сталкиванием их между собой. К удивлению, это хорошо работает для выхода из локальных оптимумов. С одной стороны, сохраняется генетическое разнообразие – одиночки и средние варианты не вымирают мгновенно [9]. С другой – направленная селекция внутри коалиции подталкивает популяцию либо к максимизации суммы шагов, либо к минимизации, в зависимости от задачи.
Результаты исследования и их обсуждение
Для иллюстрации работы метода рассмотрим конкретный пример.
Возьмем начальную популяцию М из четырех хромосом:
(10)
каждая из которых длиной в четыре гена (оценок по критериям) множества К:
(11)
Введем шкалу оценок генов хромосом О по каждому критерию:
(12)
Исходные оценки особей множества М по шкале О представлены в табл. 2.
Таблица 2
Оценки изначальной популяции особей М по шкале оценок О
|
ok1 |
ok2 |
ok3 |
ok4 |
|
|
m1 |
3 |
2 |
6 |
4 |
|
m2 |
4 |
6 |
1 |
4 |
|
m3 |
5 |
3 |
2 |
1 |
|
m4 |
4 |
6 |
5 |
3 |
Примечание: составлена автором на основе полученных данных в ходе исследования.
Далее, согласно приведенному выше алгоритму, с целью преобразования оценок генов хромосом в шаги вводится шкала шагов [10]:
(13)
Для перевода значений оценок генов хромосом в шаги также определяется количество интервалов d для деления шкалы оценок О согласно шкале шагов SH:
. (14)
Согласно выражению (14) видно, что r mod p = 0. Тогда для данного случая шкала O будет разбита на три равных интервала согласно правилу:
(15)
где
.
После преобразования оценок в шаги получили следующие векторы m (табл. 3).
Таблица 3
Изначальная популяция особей с преобразованными оценками на основе шкалы шагов
|
oSHok1 |
oSHok2 |
oSHok3 |
oSHok4 |
|
|
m1 |
1 |
0 |
2 |
1 |
|
m2 |
1 |
2 |
0 |
1 |
|
m3 |
2 |
1 |
0 |
0 |
|
m4 |
1 |
2 |
2 |
1 |
Примечание: составлена автором на основе полученных данных в ходе исследования.
Теперь можно приступить к моделированию процесса «движения» особей [11]. Для этого вводится шкала перемещений S, в которой конечное значение соответствует сумме шагов всех хромосом:
(16)
Следовательно, шкала S принимает вид
(17)
Вычислим позиции хромосом после первой итерации «движения»:
(18)
В результате первой итерации особи m1 и m2 оказались в одной ячейке на шкале перемещений со значением суммы шагов, равным 4 и образовали коалицию G1 = {m1, m2} [12]. Остальные особи разошлись по одиночным коалициям G2 = {m3}, G3 = {m4}.
Ввиду полученного результата, реализуется одноточечное скрещивание особей m1 и m2 в коалиции G1 в точке разрыва t = 2:
(19)
Далее, у полученных потомков вычисляется сумма шагов, и из них выбирается тот, который переходит в следующее поколение:
(20)
Для задачи поиска оптимального набора МОБ для обеспечения защищенности объекта в следующее поколение прошел потомок с максимальным значением суммарного шага – m′2 [13]. На основе полученных результатов сформируем популяцию 1 (табл. 4).
Таблица 4
Популяция первого поколения
|
ok1 |
ok2 |
ok3 |
ok4 |
|
|
m2’ |
4 |
6 |
6 |
4 |
|
m3 |
5 |
3 |
2 |
1 |
|
m4 |
4 |
6 |
5 |
3 |
Примечание: составлена автором на основе полученных данных в ходе исследования.
После нескольких итераций подобных циклических движений и скрещиваний популяция сжалась до единственного решения:
(21)
Примечательно, что это не максимально возможная сумма по шкале. Решение лежит в среднем диапазоне. Это косвенно подтверждает, что алгоритм, избежав как заведомо слабых, так и нереалистично дорогих «идеальных» наборов, нашел сбалансированную комбинацию МОБ, что, пожалуй, является более ценным результатом, чем погоня за абстрактным максимумом, особенно в условиях жестких бюджетных ограничений [14].
На практике внедрение подобных численных методов в деятельность объектов защиты всегда упирается в необходимость интерпретации результатов. Сотруднику по безопасности нужен не вектор чисел, а конкретный перечень: «Усилить комплекс охранного видеонаблюдения, модернизировать подсистему охранного освещения, заменить пролет ограждения на периметре объекта». Обратное декодирование генов в управленческие решения – отдельная задача, которая пока решается путем сопоставления идентификаторов МОБ [15]. В результате работы алгоритма получается не просто набор МОБ, а набор, проверенный на предмет внутренней непротиворечивости и взаимного усиления. Там, где человек видит два десятка пунктов предписания, машина видит коалицию генов, которая двигается дальше других по виртуальной шкале защищенности.
Заключение
Модифицированный генетический алгоритм отказывается от скалярной функции приспособленности. Механика виртуального перемещения разбивает популяцию на коалиции, в результате чего скрещивание идет между крайними вариантами внутри группы. Вычислительная нагрузка снижается даже для большого перечня МОБ, а дискретизация экспертных баллов в шаги сглаживает неизбежный субъективизм оценок.
Моделирование данного процесса показало: итоговый набор МОБ не стремится к теоретическому максимуму, а лежит в среднем диапазоне. С точки зрения управления это более реалистичный результат. Сбалансированная комбинация МОБ реальнее для внедрения при урезанном бюджете. Полученный перечень проверен на внутреннюю непротиворечивость. Гены в коалициях взаимно усиливают друг друга. Инструмент пригоден для поддержки решений при нехватке точных данных.