Формирование конфигурации распределенной базы данных

УДК 004.62

В.Б. Лебедев

ФОРМИРОВАНИЕ КОНФИГУРАЦИИ РАСПРЕДЕЛЕННОЙ БАЗЫ

ДАННЫХ

Рассматривается проблема формирования распределенной базы данных на основе совокупности локальных баз данных. Решаются задачи выбора конфигурации и определения состава библиотечных наборов каждой локальной базы данных. В связи с этим возникает задача покрытия контента распределенного хранилища данных минимальным набором локальных баз данных. Рассмотренная задача эквивалентна задаче о покрытии множествами и является NP-полной. Для компактного представления решения задачи покрытия используется матрица граничных требований. Излагается метод решения задачи покрытия на основе роевого интеллекта. Используется компактное символьное представления решения задачи покрытия. Это позволило организовать пространство решений, использующее неупорядоченные лингвистические шкалы, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц. Предлагается подход к построению гибридной структуры поиска решения, основанной на сочетании генетического поиска с методами роевого интеллекта. Разработанный алгоритм покрытия имеют универсальный характер и может быть использован для решения широкого круга задач линейного целочисленного программирования. По сравнению с существующими алгоритмами достигнуто улучшение результатов.

Распределенная база данных; локальная база данных; хранилище данных; покрытие; адаптивное поведение; рой частиц; оптимизация.

V.B. Lebedev

CREATING A CONFIGURATION DISTRIBUTED DATABASES

In this paper we present the problem of the formation of a distributed database based on the set of local databases. Solved the problem of choosing the configuration and determine the composition of library collections each local database In this regard, there is the task of covering the content distributed data storage minimum set of local databases. The considered problem is equivalent to the set covering and is NP-complete. For a compact representation of the solution of the covering problem using a matrix boundary requirements. In this paper we present a method of solving the problem of coverage based on swarm intelligence. Used compact symbolic representation of the solution of the covering problem. It is possible to organize the space of solutions using unordered linguistic scale in which organized search process based on simulation of adaptive behavior ofparticle swarm. The paper proposes an approach to constructing a hybrid structure of finding a solution based on a combination of genetic search methods swarm intelligence. The developed algorithm cover are universal and can be used for a wide range of linear integer programming. Compared with existing algorithms to improve the results achieved.

Distributed database; the local database; data warehouse; coating; adaptive behavior; particle swarm; optimization.

Введение. В настоящее время в связи с успешным развитием телекоммуникаций и ростом корпоративных связей между предприятиями актуальна проблема создания распределенных баз данных. Распределенная база данных является совокупностью локальных баз данных. Одна из первых и важнейших задач, решаемых на этапе разработки распределенных баз данных, - это выбор конфигурации и определение состава библиотечных наборов каждой локальной базы данных. Обычно на основе анализа производственной деятельности определяется состав библиотечных наборов в каждой локальной базе данных. С другой стороны, при создании распределенного хранилища данных в зависимости от его назначения

концептуально решается задача о составе и наполнении. Библиотечные наборы локальных баз данных часто пересекаются. В связи с этим возникает задача покрытия контента распределенного хранилища данных минимальным набором локальных баз данных. Рассмотренная задача эквивалентна задаче о покрытии множествами и является ЖР-полной. Покрытие во многом определяет качество топологии СБИС. В течение последних лет были предложены различные подходы к решению проблемы покрытия. Главным образом это алгоритмы, основанные на эвристиках, обеспечивающих получение приемлемого результата за полиномиальное время [1]. Тем не менее возросшие сложности решаемых задач и требования к качеству решения делают актуальной разработку новых более эффективных методов. Приведенный в [1, 2, 3] обзор, сравнение и анализ разработанных алгоритмов покрытия (последовательных, итерационных и т.д.) показывает, что для создания эффективного алгоритма покрытия, отвечающего современным требованиям, необходимы новые технологии и подходы. В последние годы интенсивно разрабатывается научное направление, объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений [4, 5]. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [6, 7, 8]. Оптимизация с использованием роя частиц (Particle Swarm Optimization, PSO) - это метод поиска, который базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб [9, 10]. Рой частиц рассматривается как многоагентная система, в которой каждый агент (частица) функционирует автономно по очень простым правилам. В таких случаях говорят о роевом интеллекте (Swarm intelligence).

В работе излагается метод решения задачи покрытия на основе роевого интеллекта [10]. Используется компактное символьное представления решения задачи покрытия. Это позволило организовать пространство решений, использующее неупорядоченные лингвистические шкалы, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц.

Основные положения. Исходными данными для решения задачи покрытия являются: состав проектируемого распределенного хранилища данных (совокупность библиотечных наборов) и составы библиотечных наборов в локальных типовых ячейках применяемого библиотечного набора. Необходимо найти такое распределение логических функций покрываемой схемы по отдельным ячейкам, при котором достигается экстремум целевой функции. Известные в литературе алгоритмы покрытия функциональной схемы ячейками из заданного набора оптимизируют следующие показатели: суммарную стоимость ячеек, покрывающих схему; общее число ячеек, необходимое для реализации схемы; число типов используемых ячеек; число межъячеечных связей, общее число элементов, входящих в покрывающий набор ячеек [1, 3, 6].

Пусть задана совокупность библиотечных наборов распределенного хранилища данных (РХД) состоящая из элементов si и множество E ={в^=1,2, ...,n} типов библиотечных наборов. Количественный состав по типам библиотечных наборов опишем вектором B = {bi | i=1,2,...,n}, где b, - число библиотечных наборов (БН) типа ei , входящих в состав распределенного хранилища данных. Кроме того, задан набор покрывающих локальных баз данных (ЛБД) H = {hj | j=1,2, ...,m}. Каждая локальная база данных имеет свой набор БН из E. Количественный состав ЛБД выразим с помощью матрицы A = \\aij\\nxm , где aj - число БН типа e в ЛБД типа hi. Вектор C = {cj | j=1,2,...,m} конкретизирует для каждой ЛБД hj её стоимость cj. Схема считается покрытой ЛБД из набора H, если каждый БН функцио-

нальной схемы реализуется БН из состава выбранных ЛБД. Построим математическую модель. Введём целочисленную переменную Хр, определяющую число ЛБД типа Ир, входящих в покрывающий набор. Тогда задача покрытия формулируется следующим образом:

минимизировать

т

Е = Х X •С ’

1=1

при ограничениях Р

т

X а«  X >Ь,г = 1,2,...,«;

1=1

> 0,1 = 1,2,...т;

а1} > 0.

Решение задачи представляет набор величин Хр , ]=1,2,...,т, при которых функция Р (суммарная стоимость ячеек покрывающего набора) имеет минимальное значение. Если в качестве показателя Ср принять общее число БН, присутствующих в составе ЛБД р, т.е.

П

с1 X а,

1=1

то Р определяет общее число элементов покрывающего набора ячеек.

Формирование пространства решений задачи покрытия. Для удобства изложения будем осуществлять процесс формирования пространства решений на примере. Пусть покрываемое РХД включает БН трех типов: Е={е1,е2,е3}. Количественный состав РХД задается вектором Б={10,30,20}. Следовательно, имеем 10 БН первого типа, 30 - второго и 20 - третьего. Набор покрывающих ЛБД состоит из пяти типов: Н={И1,И2,И3,И4,И5}. Матрица А, описывающая количественный состав ячеек, представлена на рис.1.

А=

Типы БН Типы ЛБД

h, h2 h.3 h4 h5

Є1 2 3 1 2 2

Є2 2 2 3 2 1

Єз 3 1 1 2 2

Рис. 1. Матрица А, описывающая количественный состав ячеек

Введём матрицу Р, которая отражает граничные требования по количественному составу БН, покрываемых ЛБД каждого типа, Р = \\рр\\„хт, где р,р- минимальное число БН типа е, , которое обязательно должно быть покрыто ЛБД типа Ир, ру >

0, р,р - целое число. При этом для реализации полного покрытия всех БН в соответствии с требованиями матрицы Р необходимо выполнение ограничений:

т

X Ру = ь , 1 = 1 , 2. . . , «.

1=1

Для вышеприведённого примера один из возможных вариантов матрицы Р имеет вид, представленный на рис. 2.

Матрица Р однозначно соответствует покрывающему набору ячеек, который формируется следующим образом. Сначала строится матрица Б = \\ёу\\пхт. Элемент матрицы ёу - целое число, которое определяется как большее целое от Ру/ау и фактически равно минимальному числу ЛБД типа Ну , необходимых для покрытия Ру БН типа е. Затем в пределах каждого у-го столбца матрицы Б находится максимальное число ёутах, (VI) [ёутах > ёу]. Оно является минимальным числом Ху=ёутах ЛБД типа Ну , гарантированно обеспечивающих покрытие ру БН типа ег, р2у БН типа е2 , ... , рщ БН типа еп, в соответствии с требованиями матрицы Р. Причём кроме БН типа е, , для которых ёу = ёутшх, остальные типы элементов могут быть покрыты с избытком.

Для рассматриваемого примера матрица Б и покрывающий набор X имеют вид, представленный на рис. 3.

Общее число ЛБД N в покрывающем наборе и общее число N БН типа е, , входящее в состав покрывающего набора ЛБД определяются по формулам: Мя=Тху ; Мг^ху а .

Для нашего примера: Ыя=^ху=25; Ж1=2-2+6-3+5-1+3-2+9-2=51;

Ж2=2-2+6-2+5-3+3-2+9-1=46; Ж3=2-3+6-1+5-1+3-2+9-2=41. Общее число БН, образующих покрывающий набор, Ыэ= Ы]+ Ы2+ Ы3 =138. Итак, матрице Р, количество БН которой удовлетворяют ограничениям (2), соответствует одно решение. Различные решения получаются путём комбинирования значениями ру матрицы Р, удовлетворяющими ограничениям (2).

Р =

Типы БН Типы ЛБД Ьі-Ерїу

кі к2 кз к4 к5

Є1 2 3 3 1 1 Ь1= 10

Є2 4 4 8 5 9 ¿2= 30

Єз 2 6 5 1 6 Ьз-20

Рис. 2. Матрица Р, соответствующая покрывающему набору ЛБД

Б =

Типы БН Типы ЛБД

кі к2 кз к4 к5

Єі 1 1 3 1 1

Є2 2 2 3 3 9

Єз 1 6 5 1 3

X=

З Хі Х2 Сз х4 Х5

25 2 6 5 3 9

Рис. 3. Матрица D и покрывающий набор X

Таким образом, матрица Р является символьным представлением решения задачи покрытия множествами. В работе множество решений представляется множеством матриц П={Рк\к=1,2,...,т}. Поиск решения сводится к поиску такой матрицы Рк, т.е. к поиску совокупности таких значений элементов матрицы Рк, которые оптимизируют показатель качества (критерий).

Механизмы покрытия на основе роевого интеллекта. В методе оптимизации роем частиц агентами являются частицы в пространстве параметров задачи оптимизации. Основу поведения роя частиц составляет самоорганизация, обеспечивающая достижение общих целей роя на основе низкоуровневого взаимодействия. Каждая частица связана со всем роем, может взаимодействовать со всем роем и она тяготеет к лучшему решению роя. Процесс поиска решений итерационный. На каждой итерации каждая частица перемещается в новую позицию. В каждый момент времени (на каждой итерации) частицы имеют в этом пространстве некоторое положение и вектор скорости. Для каждого положения частицы вычисляется соответствующее значение целевой функции. При определении следующего положения частицы учитывается информация о наилучшей частице из числа «соседей» данной частицы, а также информация о данной частице на той итерации, когда этой частице соответствовало наилучшее значение целевой функции, и на этой основе по определенным правилам частица меняет свое положение и скорость в пространстве поиска [10]. В работе позиция хк(ф) к-й частицы в момент времени ф соответствует решению, задаваемому матрицей Рк(Ф). Перемещение к-й частицы в дискретные моменты времени соответствует изменению матрицы Рк(Ф).

В каноническом методе роя частиц [10], использующем метрические шкалы, новая позиция частицы к определяется как

Хк^+1)= х()+ Ук^+1), где ук(Ф+1) - скорость перемещения частицы к из позиции хк(Ф) в позицию хк(Ф+1). Начальное состояние определяется как хк(0), ук(0). Приведенная формула представлена в векторной форме. Для отдельного измерения г пространства поиска формула примет вид

ХЫ^+1)= ХЫ^)+ УШ

где хк() - позиция частицы к в измерении г, укг(Ф+1) - скорость частицы к в измерении г.

Введем обозначения:

♦ /к(ф) - текущее значение целевой функции частицы к в позиции хк(ф) (решение Р());

♦ /(ф) - лучшее значение целевой функции среди частиц роя в момент времени t, а х (ф)- позиция с этим значением (решение Р(Ф));

♦ х к(ф) - лучшая позиция частицы к, которую она посещала с начала первой итерации (решение Р к(ф)), а/к(ф) - значение целевой функции в этой позиции лучшее значение частицы к).

Лучшие частицы, с точки зрения целевой функции, объявляются «центром притяжения». Векторы скоростей всех частиц устремляются к этим центрам.

В работе в отличие от стандартной парадигмы метода роя частиц вместо метрической (числовой) шкалы используется неупорядоченная лингвистическая шкала.

В нашем случае позиция хк(ф) соответствует решению, задаваемому матрицей Рк(ф). Число п осей в пространстве решений равно числу строк Ркг(ф) в матрице Рк(Ф). Точками отсчета на каждой оси г являются значения лингвистической переменной хиф неупорядоченные друг относительно друга. Значением хкг(ф) является набор значений элементов рку(Ф) в г-й строке Ркг(Ф) матрицы Рк(ф) для которых выполняется ограничение (2). Позиция хк(ф), т.е. матрица Рк(ф) является решением, а скорость у$+1) рассматривается как средство изменения решения. В отличие от канонического метода роя частиц, в нашем случае скорость ук(Ф+1) не может быть представленной в виде аналитического выражения. В качестве скорости ук(Ф+1) выступает процедура перемещения, суть которой заключается в изменения значении элементов в строках Ркг(Ф) матрицы Рк(ф) с соблюдением ограничений (2). Частица к перемещается в новую позицию с новыми значениями лингвистических переменных хкг(ф).

Пусть «центром притяжения» частицы к, размещенной в позиции хк(ф) (решение Рк(Ф)), является позиция хс(Ф) (решение Рс(Ф)).

Рассмотрим работу процедуры перемещения, приводящую к модификации позиции хкг(ф) частицы к в измерении г. Введем характеристику, отражающую степень различия между строками Рк() и Рсг(Ф). Для этого для каждой пары элементов Ркгу(Ф) и рсу(Ф) рассчитывается величина ¿ксу(0=рку(0-рсу(0. Подсчитывается число акс() положительных и число вкс() отрицательных значений величины дкху(Ф).

Если а^О^^О, то значения всех акс() элементов рку(Ф), для которых величина дксу(() положительна, уменьшаются на единицу, а значения случайно выбранных акс(Ф) элементов рку(Ф), для которых дксу(Ф) отрицательна, увеличиваются на единицу.

Если акс(Ф) > вксг(Ф), то для значения всех ркх1(Ф) элементов рку(Ф), для которых величина дксу(Ф) отрицательна, увеличиваются на единицу, а значения случайно выбранных вкс(() элементов рку(Ф), для которых дксу(Ф) положительна, уменьшаются на единицу. При таком подходе суммарное значение элементов строки Ркг(Ф+1) не изменится. Локальная цель перемещения частицы к - достижение ею наилучшей позиции. Глобальная цель роя частиц - формирование решения задачи покрытия с наилучшим значением целевой функции.

Пример работы процедуры перемещения. Пусть Рк,(Ф)=<2,4,3,5,3,6,3>, Рс,(Ф)=<1,6,3,2,3,7,4>. Рассчитываем значения дксу(Ф)=рку(Ф)-рсу(Ф). дкс/Ф)=<+1, -2,0,+3,0,-1,-1>. Число акс() = 2, а число вкс() = 3. Имеем акс,(Ф)<вкс,(Ф). Тогда в соответствии с вышеприведенным правилом значения 1 -го и 4-го элементов строки Рк(Ф) уменьшаем на единицу, а значения случайно выбранных 6-го и 7-го элементов строки Рк(Ф) увеличиваем на единицу. В результате получаем Рк,(Ф+1)=<1,4,3,4,3,7,4>.

По аналогии с каноническим методом роя частиц позицию х к(Ф) будем называть когнитивным центром притяжения, а позицию х (Ф) социальным центром притяжения. Когнитивный центр выступает в роли индивидуальной памяти о наиболее оптимальных позициях данной частицы. Благодаря социальному центру частица имеет возможность передвигаться в оптимальные позиции, найденные соседними частицами.

Для учета одновременного тяготения частицы к к позициям х (Ф) и х к(Ф) формируется центр притяжения хск(Ф) этой частицы. Среди позиций х (Ф) и х к(Ф) определяется худшая - хьк(Ф) и лучшая - хек(Ф). Формирование хск(Ф) осуществляется путем применения модифицированной процедуры перемещения к частице в худшей позиции хьк(Ф) для перемещения из нее в направлении к лучшей хек(Ф). После определения центра притяжения хск(Ф) частица к с помощью процедуры перемещения перемещается в направлении хск(Ф) из позиции хк(Ф) в позицию хк(Ф+1).

Схема работы роевого алгоритма покрытия включает следующие шаги:

1. В соответствии с постановкой задачи покрытия и исходными данными формируется структура матрицы Рк. Формируется пространство решений, каждая ось которого соответствует строке Рк.

2. Создается исходная «случайная» популяция частиц, Ф=0. Для каждой частицы случайным образом задается начальная позиция хк(0). С этой целью формируется матрица Рк(0). В каждую г-ю строку матрицы заносятся случайные значения элементоврку(0), с соблюдением ограничения (2).

3. Шаги 4-10 итерационно повторяются заданное число раз.

4. Рассчитывается целевая функция/К(Ф) для каждой частицы.

5. Определяются лучшая позиция роя х (Ф) на шаге Ф и значение целевой функции/(Ф) в этой позиции.

6. Для каждой частицы определяются лучшая позиции х к(Ф), которую она посещала с начала первой итерации, и значение целевой функции /к(Ф) в этой позиции.

7. Для каждой частицы определяется центр притяжения хс() этой частицы.

8. Рассчитываются новые позиции частиц в пространстве решений. С помощью процедуры перемещения каждая частица перемещается из позиции хк(Ф) в позицию хк(Ф+1).

9. Ф=Ф+1.

10. Запоминается лучшее решение, найденное роем к моменту Ф.

По аналогии с эволюционными стратегиями, рой можно трактовать как популяцию, а частицу как индивида (хромосому). Это дает возможность построения гибридной структуры поиска решения, основанную на сочетании генетического поиска с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи. Если в качестве частицы используется хромосома, то число параметров, определяющих положение частицы в пространстве решений должно быть равно числу генов в хромосоме. В работе предлагается подход к построению структур и принципов кодирования хромосом, обеспечивающих их гомологичность и возможность одновременного использования в генетическом алгоритме, и в алгоритме на основе роя частиц [6]. Первый и наиболее простой подход к гибридизации заключается в следующем. С начала поиск решения осуществляется генетическим алгоритмом. После этого дальнейший поиск решения осуществляется роевым алгоритмом.

При втором подходе метод роя частиц используется в процессе генетического поиска и играет роль аналогичную генетическим операторам.

Для анализа точности получаемых решений был синтезирован ряд примеров с априори известным оптимальным значением целевой функции. Исследованию подвергались примеры, содержащие до 1 000 элементов. В среднем 70 итераций достаточно для нахождения лучшего решения. Вероятность получения оптимального решения составила 0,9, а оценки локально оптимальных решений, отличались от глобального оптимума в среднем на 1 %. Сравнение с известными алгоритмами [2, 3] показало, что при меньшем времени работы у полученных с помощью гибридного алгоритма решений значения целевой функции лучше (меньше) в среднем на 6 %.

Выводы. На основе сравнительного анализа существующих подходов и методов для решения задачи покрытия использованы мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта, позволяющие работать с задачами покрытия большой размерности и получать качественные результаты за приемлемое время.

В отличие от стандартной парадигмы метода роя частиц, вместо метрической (числовой) шкалы используется неупорядоченная лингвистическая шкала. Впервые разработан метод перемещения частиц в пространстве поиска, связанный с матричным представлением позиций (решений). Отметим, что процедура перемещения фактически является оператором (назовем его роевым) с помощью которого изменяется текущее решение. Это дает возможность построения гибридной структуры поиска решения, основанную на сочетании генетического поиска [6] с методами роевого интеллекта. Связующим звеном такого подхода является структура данных, описывающая в виде хромосомы решение задачи.

Разработанный алгоритм покрытия имеет универсальный характер и может быть использован для решения широкого круга задач линейного целочисленного программирования.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Деньдобренко Б.П., Малика А.С. Автоматизация проектирования радиоэлектронной аппаратуры. - М.: Высш. шк., 2002.

2. Coudert O. “On solving covering problems”, in proceedings of 30th ACM // IEEE Design automation conference. - 1996. - P. 197-202.

3. Cordone R., Ferrandi F., Sciuto D., Calvo R.W. An Efficient Heuristic Approach to Solve the Unate Covering Problem // IEEE Transactions on computer-aided design of integrated circuits and systems. - December 2001. - Vol. 120, № 12. - P. 1377-1387.

4. Лебедев О.Б. Покрытие методом муравьиной колонии // Двенадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2010. Труды конференции. Т. 2. - М.: Физматлит, 2010. - С. 423-431.

5. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика. - М.: Физматлит, 2006.

6. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Решение задачи покрытия на основе эволюционного моделирования // Теория и системы управления. - 2009. - № 1. - С. 101-116.

7. Лебедев Б.К., Лебедев В.Б. Размещение на основе метода пчелиной колонии // Известия ЮФУ. Технические науки. - 2010. - № 12 (113). - С. 12-19.

8. Лебедев Б.К., Лебедев О.Б. Моделирование адаптивного поведения муравьиной колонии при поиске решений, интерпретируемых деревьями // Известия ЮФУ. Технические науки. - 2012. - № 7 (132). - С. 27-34.

9. Poli R. Analysis of the publications on the applications of particle swarm optimization // Journal of Artificial Evolution and Applications, Article ID 685175. - 2008. - P. 10.

10. ClercM. Particle Swarm Optimization. ISTE, London, UK, 2006.

Статью рекомендовал к опубликованию д.т.н., профессор В.Н. Иванченко.

Лебедев Владимир Борисович - Южный федеральный университет; e-mail: lbk@tsure.ru;

347928, г. Таганрог, пер. Некрасовский, 44; тел.: 88634371651; кафедра системного анализа

и телекоммуникаций; к.т.н., доцент.

Lebedev Vladimir Borisovich - Southern Federal University; e-mail: lbk@tsure.ru; 44, Nekra-

sovsky, Taganrog, 347928, Russia; phone: 88634371651; the department of system analysis and

telecommunications; associate professor.