Автор работы: Пользователь скрыл имя, 10 Мая 2012 в 22:30, курсовая работа
Проектирование сложных систем, моделирование работы их реальных аналогов, технологии управления подобными объектами предполагают решение различных математических задач декомпозиции графовых и гиперграфовых структур. Суть задач декомпозиции заключается в распределении связных между собой элементов по группам (подграфам, классам). Как правило, на количественный состав и структурную организацию групп накладываются разнообразные ограничения, в этих задачах могут оптимизироваться связи между группами, численный состав групп и д.р.
8. Постановка задачи и многоуровневая декомпозиция
В качестве задачи декомпозиции
рассмотри проблему k-разбиения гиперграфа,
которая состоит в распределении множества
вершин V по k подмножествам V1
(1) |
Подмножества разбиения определяют подграфы разбиения [AAZ]. Значение k фиксировано и задается как параметр задачи.
Определим декомпозиционные ограничения так, чтобы вес каждого подграфа разбиения , лежал в следующих пределах:
Li и Ui – минимальный и максимальный вершинные веса подграфов разбиения. |
(2) |
В ограничениях (2) константы Li и Ui определяют пределы, в которых могут варьироваться веса подграфов разбиения.
Критерии оптимальности, как и декомпозиционные ограничения, определяются спецификой конкретной задачи. В исследовании [CAAK2] приведено обширное описание функций цели, встречающихся при проектировании РЭА. Один из наиболее часто используемых критериев – минимизация веса сечения. Вес сечения определяется суммой весов ребер, которые целиком не принадлежат ни одному подграфу разбиения:
(3) |
Задачу (1)-(3) будем называть задачей k-разбиения гиперграфа. Возможны различные расширения проблемы (1)-(3). Например, задача может иметь несколько функций цели (многокритериальный случай), тогда решение состоит в нахождении парето-области решений.
Исследуемые задачи декомпозиции гиперграфа NP-трудны [DB1, DB2, DBDK, GL, HPSK, MGDD] и на практике, как правило, имеют большие размерности. Алгоритмы, получающие точные решения таких задач, оказываются неприменимыми в силу большой вычислительной сложности. Известно множество попыток сведения подобных задач к менее сложным. Условно методы решения задач декомпозиции больших порядков можно разбить на две группы. В первую группу отнесем методы, которые осуществляют переход к более простым задачам, не используя понижение размерности задачи. Например, бисекционные алгоритмы [DBVK, DSBK, HSST, LG2, LG4, NS2] предполагают рекурсивную бисекцию графа до тех пор, пока не будет получено необходимое количество подграфов разбиения. Вторую группу составляют методы, которые сокращают вычислительную сложность за счет уменьшения размерности исходной задачи.
Методы второй группы, осуществляющие непосредственное k-разбиение, в целом получают более качественное решение. Например, показано [HSST], что решение, полученное рекурсивной бисекцией, может быть вплоть до O(log n), где n – размерность графа, хуже, чем решение алгоритма, осуществляющего непосредственное k-разбиение [AFNS, CAAK1, CAAK3, CYCC, DBNS1, DBNS2, GKVK1, GKVK5, KSGK, LS1, LS2, PCMS]. Такое положение вещей объясняется тем, что рекурсивный метод не позволяет напрямую оптимизировать функционалы, значение которых зависит от того, каким способом ребра распределены по подграфам разбиения. Второе существенное преимущество – в ходе работы алгоритм второго типа способен более жестко контролировать декомпозиционные ограничения, в то время как бисекционные алгоритмы должны иметь специальные фазы коррекции решения для удовлетворения этим ограничениям, что существенно ограничивает область поиска решения.
Рис. 27. Концептуальная схема работы многоуровневого алгоритма на примере задачи 3-разбиения гиперграфа. Слева закрашенные овалы отождествляются с гиперграфовыми структурами. Чем меньше площадь овала, тем большей редукции подвергся соответствующий гиперграф. Снизу указан вариант начального 3-разбиения редуцированного гиперграфа. Справа пунктиром указаны варианты восстановленных решений из разбиений гиперграфов с большей степенью редукции. На каждом шаге восстановления решения корректируются и оптимизируются при помощи техник локального улучшения.
В последнее время популярность
приобрели так называемые многоуровневые
алгоритмы [BHRL, CAAK2, CAAK3, GKVK1, GKVK2, GKVK3, GKVK4,
GKVK5, GKVK6, NSGK, SBHS, SWEA]. Ключевая идея многоуровневого
алгоритма декомпозиции состоит
следующем: вместо того, чтобы строить
k-разбиение непосредственно
Детально рассмотрим фазы многоуровневого алгоритма.
Загрубление гиперграфа – это удаление избыточной информации, которая, с одной стороны, не является необходимой для поиска решения на данном этапе, а с другой стороны ухудшает характеристики решающего алгоритма.
На рисунке 27 исходная задача
3-разбиения поставлена над гиперграфом H0. В ходе
фазы загрубления строится редуцированный
гиперграф H1, получаемый
из H0удалением
избыточной информации, и над полученным
гиперграфом ставится новая задача 3-декомпозиции.
Удаление избыточной информации из гиперграфа
и постановка новой задачи должно производиться
таким образом, чтобы по решению новой
задачи могло быть построено решение исходной
задачи. Если это условие выполнено, то
процесс удаления избыточной информации
из гиперграфа назовем загрублением гиперграфа,
а процесс построения загрубленного гиперграфа
и постановки над ним новой декомпозиционной
задачи назовем редуцированием
задачи; построение решения исходной
задачи по решению вновь построенной будем
называть переносом (проекцией)
На втором этапе повторим процесс редуцирования, используя задачу H1 в качестве задачи-прообраза, и получим задачу H2. Следующий этап позволит получить задачуH3, обладающую достаточно малой размерностью, чтобы для нее можно было отыскать разбиение.
Описанное выше условие редуцирования
задачи, при котором решение, полученное
для задачи-редуктанта, может быть спроецировано
на задачу-прообраз, позволяет утверждать,
что решение задачи Hm может
быть использовано для построения решения
задачи Hn (n < m). Действительно,
решение Hm можно
спроецировать на Hm-1,
затем, полученное решение Hm-1 спроецировать
на Hm-2,
и так далее до Hn. Таким
образом, задача Hm, по сути,
является задачей-редуктантом Hn, а Hn в свою
очередь – задачей-прообразом Hm. Число m-n назовем глубиной редукции.
Задачу Hm будем
называть задачей-редуктантом
Для рассматриваемых задач декомпозиции гиперграфа процесс загрубления строится на выделении и объединении групп вершин, которые целесообразно всегда определять целиком в одну из компонент разбиения. Естественно, что в такой ситуации на группы должны быть наложены некоторые ограничения, например, вес группы не должен превышать вес компоненты разбиения, иначе алгоритм поиска начального разбиения не сможет найти решение.
На рисунке 28 показан пример
гиперграфа, в котором выделены несколько
таких групп вершин. Вершины в
таких группах обладают «сильными»
связями. Выделено 3 группы вершин, каждая
из которых образует клику в терминах
обычного графа. Это группы V1={v1,v2,v3,v4}, V
Рис. 28. Пример редукции гиперграфа.
Рассмотренный пример является в какой-то мере идеальным, поскольку ситуации, когда решение, полученное для задачи-редуктанта, является наилучшим решением для задачи-прообраза, не столь часты. В общем случае переход от загрубленного гиперграфа к его прообразу с точки зрения решающего алгоритма представляет из себя некоторое уточнение задачи или получение некоторого количества дополнительной информации, которая может быть использована для улучшения существующего решения.
Можно рассмотреть процесс редукции с точки зрения области поиска. По-сути, редукция задачи декомпозиции – это подмена исходной области поиска решения другой, менее обширной областью. Однако, поскольку любое решение задачи-редуктанта может быть спроецировано на исходную задачу, то область поиска (ОП) задачи-редуктанта также проецируется в область поиска исходной задачи. Таким образом, можно говорить, что редукция просто отсекает часть ОП исходной задачи, а любые операции с решением задачи-редуктанта рассматривать как манипуляции в ОП исходной задачи, точнее той ее подобласти, которая соответствует задаче-редуктанту.
Рассмотрим процесс поиска k-
Рис. 29. Изменения в области поиска в процессе загрубления гиперграфа.
9. Алгоритмическое обеспечение
9.1. Алгоритм реберного загрубления
Организация фазы загрубления подразумевает разработку метода загрубления. Один из таких методов – алгоритм реберного загрубления. Его суть в том, что для каждой пары вершин гиперграфа вычисляется некоторая скалярная характеристика, назовем ее притяжением, равная сумме весов всех ребер, соединяющих эту пару вершин:
Эта процедура, фактически, означает построение на множестве вершин исходного гиперграфа взвешенного полного графа, вес ребра которого означает притяжение соответствующей пары вершин. На рисунке 30 изображены пример гиперграфа и построенного для него графа притяжений, веса всех гиперребер равны 1.
Рис. 30. Гиперграф (слева) и его граф притяжений (справа).
После определения притяжения каждой пары вершин запускается алгоритм пометки вершин, который формирует группы вершин для объединения. Входными данными алгоритма являются степень загрубления R, представляющая собой разницу количества вершин исходного и загрубленного гиперграфов, максимальный размер группы для объединения Smax и граф притяжений G(V,E,W), где W – веса ребер, т.е. характеристики притяжения вершин исходного гиперграфа. Приведем алгоритм реберного загрубления.
Алгоритм реберного загрубления.
Информация о работе Многоуровневая декомпозиция гиперграфовых структур