Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1

ISBN 978-5-7262-1376-7. НЕЙРОИНФОРМАТИКА – 2011. Часть 2

Б.К. ЛЕБЕДЕВ, В.Б. ЛЕБЕДЕВ

Таганрогский технологический институт Южного федерального университета

lbk@tsure.ru
ПОКРЫТИЕ НА ОСНОВЕ МЕТОДА РОЯ ЧАСТИЦ
Рассматриваются новые технологии, принципы и механизмы решения задачи покрытия, использующие математические методы, в которых заложены принципы природных механизмов принятия решений. Для компактного представления решения задачи покрытия используется матрица граничных требований. Это позволило организовать пространство решений, в рамках которого организован поисковый процесс, базирующийся на моделировании адаптивного поведения роя частиц. По сравнению с существующими алгоритмами достигнуто улучшение результатов.
Ключевые слова: коллективный интеллект, адаптивное поведение, самоорганизация, рой частиц, оптимизация
Введение
Одна из первых и важнейших задач, решаемых на этапе проектирования топологии СБИС, – преобразование функциональной схемы в электрическую. Задача покрытия функциональной схемы ячейками из заданного набора эквивалентна задаче о покрытии множествами и является NP-полной. Покрытие во многом определяет качество топологии СБИС. В течение последних лет были предложены различные подходы к решению проблемы покрытия. Главным образом это алгоритмы, основанные на эвристиках, обеспечивающих получение приемлемого результата за полиномиальное время [1]. Тем не менее, возросшие сложность решаемых задач и требования к качеству решения делают актуальной разработку новых более эффективных методов. Приведенный в [1, 2, 3] обзор, сравнение и анализ разработанных алгоритмов покрытия (последовательных, итерационных и т.д.) показывает, что для создания эффективного алгоритма покрытия, отвечающего современным требованиям, необходимы новые технологии и подходы. В последние годы интенсивно разрабатывается научное направление, объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений [4, 5]. Одним из новых направлений таких методов являются мультиагентные методы интеллектуальной оптимизации, базирующиеся на моделировании коллективного интеллекта [6, 7, 8]. Оптимизация с использованием роя частиц (Particle Swarm Optimization, PSO)-это метод поиска, который базируется на понятии популяции, и моделирует поведение птиц в стае и косяков рыб [9,10]. Рой частиц рассматривается как многоагентная система, в которой каждый агент (частица) функционирует автономно по очень простым правилам. В таких случаях говорят о роевом интеллекте (Swarm intelligence).

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


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

Пусть задана функциональная схема S = {si | i=1,2,…,w}, состоящая из элементов si и множество E ={ei|i=1,2,…,n} типов элементов, образующих покрываемую функциональную схему. Количественный состав схемы по типам элементов опишем вектором B = {bi | i=1,2,…,n}, где bi – число элементов типа ei , входящих в состав схемы. Кроме того, задан набор покрывающих ячеек H = {hj | j=1,2,…,m}. Каждая ячейка имеет свой набор элементов из E. Элементы внутри ячейки между собой не соединены. Количественный состав ячеек выразим с помощью матрицы A = ||aij||nm , где aij – число элементов типа ei в ячейке типа hi. Вектор C = {cj | j=1,2,…,m} конкретизирует для каждой ячейки hj её стоимость cj. Схема считается покрытой ячейками из набора H, если каждый элемент функциональной схемы реализуется элементами из состава выбранных ячеек. Построим математическую модель. Введём целочисленную переменную xj, определяющую число ячеек типа hj, входящих в покрывающий набор. Тогда задача покрытия формулируется следующим образом:

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

, (1)

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





xj ≥ 0, j = 1, 2,…, m;

ail ≥ 0.

Решение задачи представляет набор величин xj , j=1,2,…,m, при которых функция F (суммарная стоимость ячеек покрывающего набора) имеет минимальное значение. Если в качестве показателя cj принять общее число элементов, присутствующих в составе ячейки tj , т.е.

,

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


Формирование пространства решений задачи покрытия
Для удобства изложения будем осуществлять процесс формирования пространства решений на примере. Пусть покрываемая схема составлена из элементов трех типов: E = {e1, e2, e3}. Количественный состав схемы задается вектором B={10,30,20}. Следовательно, имеем 10 элементов первого типа, 30 – второго и 20 – третьего. Набор покрывающих ячеек состоит из пяти типов: H = {h1, h2, h3, h4, h5}. Матрица A, описывающая количественный состав ячеек, представлена на рис.1.

Введём матрицу P, которая отражает граничные требования по количественному составу элементов, покрываемых ячейками каждого типа, P =||pij||nm, где pij – минимальное число элементов типа ei, которое обязательно должно быть покрыто ячейками типа hj, pij  0, pij – целое число. При этом для реализации полного покрытия всех элементов в соответствии с требованиями матрицы P необходимо выполнение ограничений:



(2)


A=

Типы

элементов

Типы покрывающих ячеек

h1

h2

h3

h4

h5

e1

2

3

1

2

2

e2

2

2

3

2

1

e3

3

1

1

2

2

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


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

Матрица P однозначно соответствует покрывающему набору ячеек, который формируется следующим образом. Сначала строится матрица D = ||dij||nm. Элемент матрицы dij – целое число, которое определяется как большее целое от pij/aij и фактически равно минимальному числу ячеек типа hj , необходимых для покрытия pij элементов типа ei. Затем в пределах каждого j–го столбца матрицы D находится максимальное число djmax, ( i) [djmax  dij]. Оно является минимальным числом xj = djmax ячеек типа hj, гарантированно обеспечивающих покрытие р1j элементов типа e1 , р2j элементов типа e2 ,…, рnj элементов типа en, в соответствии с требованиями матрицы P. Причём, кроме элементов типа ei , для которых dij = djmax , остальные типы элементов могут быть покрыты с избытком.




P =

Типы

элементов

Типы покрывающих ячеек

bi= pij

h1

h2

h3

h4

h5




e1

2

3

3

1

1

b1 = 10

e2

4

4

8

5

9

b2 = 30

e3

2

6

5

1

6

b3 = 20

Рис. 2. Матрица P


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

Общее число ячеек Nя в покрывающем наборе и общее число Ni элементов типа ei , входящее в состав покрывающего набора ячеек определяются по формулам: Nя=∑xj ; Ni=∑xj aij .



Для нашего примера: Nя = ∑x= 25; N1 = 2  2 + 6  3 + 5  1 + 3  2 +  + 9  2 = 51; N2 = 2  2 + 6  2 + 5  3 + 3  2 + 9  1 = 46; N= 2  3 + 6  1 +  + 5  1 + 3  2 + 9  2 = 41. Общее число элементов, образующих покрывающий набор, Nэ = N1 + N+ N3 = 138. Итак, матрице P, значения элементов которой удовлетворяют ограничениям (2), соответствует одно решение. Различные решения получаются путём комбинирования значениями pij матрицы P, удовлетворяющими ограничениям (2).


D =

Типы

элементов

Типы покрывающих ячеек

h1

h2

h3

h4

h5

e1

1

1

3

1

1

e2

2

2

3

3

9

e3

1

6

5

1

3




X =

xj

х1

x2

x3

x4

x5

25

2

6

5

3

9




Рис. 3. Матрица D и покрывающий набор X
Таким образом, матрица P является символьным представлением решения задачи покрытия множествами. В работе множество решений представляется множеством матриц Π={Pk|k=1,2,…,m}. Поиск решения сводится к поиску такой матрицы Pk, т.е. к поиску совокупности таких значений элементов матрицы Pk, которые оптимизируют показатель качества (критерий).
Механизмы покрытия на основе роевого интеллекта
В методе оптимизации роем частиц агентами являются частицы в пространстве параметров задачи оптимизации. Основу поведения роя частиц составляет самоорганизация, обеспечивающая достижение общих целей роя на основе низкоуровневого взаимодействия. Каждая частица связана со всем роем, может взаимодействовать со всем роем и она тяготеет к лучшему решению роя. Процесс поиска решений итерационный. На каждой итерации каждая частица перемещается в новую позицию. В каждый момент времени (на каждой итерации) частицы имеют в этом пространстве некоторое положение и вектор скорости. Для каждого положения частицы вычисляется соответствующее значение целевой функции. При определении следующего положения частицы учитывается информация о наилучшей частице из числа «соседей» данной частицы, а также информация о данной частице на той итерации, когда этой частице соответствовало наилучшее значение целевой функции, и на этой основе по определенным правилам частица меняет свое положение и скорость в пространстве поиска [10]. В работе позиция xk(t) k-й частицы в момент времени t соответствует решению, задаваемому матрицей Pk(t). Перемещение k-й частицы в дискретные моменты времени соответствует изменению матрицы Pk(t).

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



xk(t+1)= xk(t)+ vk(t+1),

где vk(t+1) – скорость перемещения частицы k из позиции xk(t) в позицию xk(t+1). Начальное состояние определяется, как xk(0), vk(0). Приведенная формула представлена в векторной форме. Для отдельного измерения i пространства поиска формула примет вид



xki(t+1)= xki(t)+ vki(t+1), (3)

где xki(t) позиция частицы k в измерении i, vki(t+1) – скорость частицы k в измерении i.

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


  • fk(t) – текущее значение целевой функции частицы k в позиции xk(t) (решение Pk(t));

  • f*(t) лучшее значение целевой функции среди частиц роя в момент времени t, а x*(t) – позиция с этим значением (решение P(t));

  • x*k(t) лучшая позиция частицы k, которую она посещала с начала первой итерации (решение P*k(t)), а f*k(t) значение целевой функции в этой позиции – лучшее значение частицы k.

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

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

В нашем случае позиция xk(t) соответствует решению, задаваемому матрицей Pk(t). Число n осей в пространстве решений равно числу строк Pki(t) в матрице Pk(t). Точками отсчета на каждой оси i являются значения лингвистической переменной xki(t) неупорядоченные друг относительно друга. Значением xki(t) является набор значений элементов pkij(t) в i-ой строке Pki(t) матрицы Pk(t) для которых выполняется ограничение (2). Позиция xk(t), то есть матрица Pk(t) является решением, а скорость vi(t+1) рассматривается как средство изменения решения. В отличие от канонического метода роя частиц, в нашем случае скорость vk(t+1) не может быть представленной в виде аналитического выражения. В качестве скорости vk(t+1) выступает процедура перемещения, суть которой заключается в изменения значений элементов в строках Pki(t) матрицы Pk(t) с соблюдением ограничений (2). Частица k перемещается в новую позицию c новыми значениями лингвистических переменных xki(t).

Пусть «центром притяжения» частицы k, размещенной в позиции xk(t) (решение Pk(t)), является позиция xc(t) (решение Pc(t)).

Рассмотрим работу процедуры перемещения, приводящую к модификации позиции xki(t) частицы k в измерении i. Введем характеристику, отражающую степень различия между строками Pki(t) и Pсi(t). Для этого для каждой пары элементов pkij(t) и pcij(t) рассчитывается величина δkcij(t) = pkij(t) – pcij(t). Подсчитывается число αkci(t) положительных и число βkci(t) отрицательных значений величины δkcij(t).

Если αkci(t) < βkci(t), то значения всех αkci(t) элементов pkij(t), для которых величина δkcij(t) положительна, уменьшаются на единицу, а значения случайно выбранных αkci(t) элементов pkij(t), для которых δkcij(t) отрицательна, увеличиваются на единицу.

Если αkci(t) > βkci(t), то для значения всех βkci(t) элементов pkij(t), для которых величина δkcij(t) отрицательна, увеличиваются на единицу, а значения случайно выбранных βkci(t) элементов pkij(t), для которых δkcij(t) положительна, уменьшаются на единицу.

При таком подходе суммарное значение элементов строки Pki(t+1) не изменится.

Локальная цель перемещения частицы k – достижение ею наилучшей позиции. Глобальная цель роя частиц – формирование решения задачи покрытия с наилучшим значением целевой функции.

Пример работы процедуры перемещения. Пусть Pki(t) = <2, 4, 3, 5, 3, 6, 3>, Pci(t) = <1, 6, 3, 2, 3, 7, 4>. Рассчитываем значения δkcij(tpkij(t) – pcij(t). δkci(t) = <+1, –2, 0, +3, 0, –1, –1>. Число αkci(t) = 2, а число βkci(t) = 3. Имеем αkci(t) < βkci(t). Тогда в соответствии с вышеприведенным правилом значения 1-ого и 4-ого элементов строки Pki(t) уменьшаем на единицу, а значения случайно выбранных 6-ого и 7-ого элементов строки Pki(t) увеличиваем на единицу. В результате получаем Pki(t+1) = <1, 4, 3, 4, 3, 7, 4>.

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

Для учета одновременного тяготения частицы k к позициям x*(t) и x*k(t) формируется центр притяжения xck(t) этой частицы. Среди позиций x*(t) и x*k(t) определяется худшая – xbk(t) и лучшая – xgk(t). Формирование xck(t) осуществляется путем применения модифицированной процедуры перемещения к частице в худшей позиции xbk(t) для перемещения из нее в направлении к лучшей xgk(t). После определения центра притяжения xck(t) частица k с помощью процедуры перемещения перемещается в направлении xck(t) из позиции xk(t) в позицию xk(t+1).

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

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

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

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

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

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

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

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

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

9. t = t + 1.

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

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

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

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

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

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

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

Список литературы


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

Coudert O. On solving covering problems, in proceedings of 30th ACM/IEEE Design automation conference, 1996, pp. 197–202.

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, vol.120, No.12, December 2001 , pp. 1377–1387.

Engelbrecht A.P. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.

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

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

Курейчик В.В., Полупанова Е.Е. Эволюционная оптимизация на основе алгоритма колонии пчел // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2009. №12. С.41–46.

Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ. Изд-во ТТИ ЮФУ, 2009. №12. С. 7–15.

Poli R. Analysis of the publications on the applications of particle swarm optimisation // Journal of Artificial Evolution and Applications, Article ID 685175, 10 pages, 2008.



Clerc M. Particle Swarm Optimization. ISTE, London, UK, 2006.


Работа выполнена при финансовой поддержке программы развития научного потенциала высшей школы РНП.2.1.2.1652 и грантов РФФИ № 09-01-00509, № 10-07-00055.

УДК 004.032.26(06) Нейронные сети

Б. К. Лебедев, В. Б. Лебедев

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

184.3kb.

08 10 2014
1 стр.


Гинкул С. И. Исследование температурного режима нагревательных печей прокатных станов при изменении сортамента нагреваемого металла / С. И. Гинкул, А. Н. Лебедев, Ю. В. Подобед, Ю. М

С. И. Гинкул, А. Н. Лебедев, Ю. В. Подобед, Ю. М. Сапронова // Научные труды Донецкого национального технического университета. Серия «Металлургия». Вып. 12 (177) – Донецк, ООО «Ци

7.83kb.

10 10 2014
1 стр.


Перевод: Э. Серова, П. Лебедев, Т. Мусатова, Т. Таланова, 1993 г

Михаил Субханкулов

458kb.

13 09 2014
3 стр.


Осложнения сахарного диабета

Анциферов М. Б., к м н. Галстян Г. Р., к м н. Миленькая Т. М., к м н. Смирнова Н. Б., к м н. Токмакова А. Ю., к м н. Шестакова М. В., к м н. Лебедев Н. Б

387.76kb.

10 09 2014
3 стр.


Лебедев андрей майевич ресурсы дальневосточного трепанга Apostichopus japonicus в Приморском крае
2057.2kb.

14 10 2014
18 стр.


Новый вариант геохронологической шкалы неоген-четвертичного магматизма кавказа в. А. Лебедев, И. В. Чернышев, С. Н. Бубнов
92.78kb.

10 09 2014
1 стр.


«История развития вычислительной техники. Поколения эвм»

Готфрид Лейбниц Ада Лавлейс Чарльз Бэббидж Герман Холлерит Сергей Лебедев

18.62kb.

12 10 2014
1 стр.


Директор школы Лебедев А. М

Положение о порядке приёма, перевода и отчисления обучающихся моу сош п. Новопокровка (далее Положение) разработано на основе следующих правовых актов

55.62kb.

11 09 2014
1 стр.