Автор работы: Пользователь скрыл имя, 10 Мая 2012 в 22:30, курсовая работа
Проектирование сложных систем, моделирование работы их реальных аналогов, технологии управления подобными объектами предполагают решение различных математических задач декомпозиции графовых и гиперграфовых структур. Суть задач декомпозиции заключается в распределении связных между собой элементов по группам (подграфам, классам). Как правило, на количественный состав и структурную организацию групп накладываются разнообразные ограничения, в этих задачах могут оптимизироваться связи между группами, численный состав групп и д.р.
Однако, приведенная схема решения, когда решение, полученное для задачи-редуктанта самого высокого порядка, проецируется на исходную задачу, обладает одним существенным недостатком. Потеря информации в процессе редуцирования задачи не может не сказаться на качестве решения, построенного на этапе построения начального разбиения. Поэтому имеет смысл попытаться улучшить это решение в ходе фазы восстановления. Действительно, при переходе от задачи-редуктанта на задачу-прообраз появляется информация, отброшенная при редукции, которая может быть использована для улучшения спроецированного решения. Таким образом, каждый этап фазы восстановления решения состоит из двух подэтапов – проецирования решения задачи-редуктанта на задачу-прообраз и улучшение спроецированного решения.
С точки зрения ОП процесс восстановления решения условно показан на рисунке 33. До этого, на стадии поиска начального разбиения алгоритмом было найдено начальное разбиение (стадия H3), отмеченное на рисунке 33 одной крупных точек. Затем полученное решение было спроецировано на граф H2, в результате чего ОП расширилась (область H2 на рис 33), и улучшено (маленькая точка в области H2). После этого улучшенное решение было спроецировано еще раз, что повлекло расширение ОП до областиH1 (см. рис. 33), и опять улучшено (вторая маленькая точка в области H1). Наконец, полученное решение спроецировано на исходный граф H0 и еще раз улучшено. В результате получено решение исходной задачи декомпозиции (вторая крупная точка в области H0).
Рис. 33. Процесс восстановления решения
с точки зрения
исследования области поиска.
Очевидно, что, решение, полученное на предыдущем этапе фазы восстановления решения, улучшается до достижения границы ОП, существующей на данном этапе. В случае, когда решение в процессе улучшения на очередном этапе не достигает границы ОП, можно сделать вывод, что это решение не может быть улучшено и в ходе последующих этапов. Действительно, когда полученное на каком-то этапе решение лежит на границе ОП для данного этапа, расширение ОП на каком-то из последующих этапов откроет новые направления поиска, тем самым, позволив еще улучшить полученное решение. Если же решение, полученное на одном из этапов, не лежит на границе ОП, то расширение ОП в дальнейшем не приводит к улучшению решения, т.к. ничего не меняет в окрестности полученного решения. Такое поведение алгоритма объясняется тем, что улучшающие методики, работающие на каждом этапе фазы восстановления решения, построены на жадном принципе и не содержат в себе средств преодоления локальных экстремумов. В данном случае, поскольку любое решение, полученное в ходе фазы восстановления, может быть спроецировано на исходный гиперграф, имеет смысл, построив решение для исходного гиперграфа, прекратить дальнейший поиск. К сожалению, в силу того, что ОП в реальных задачах большой размерности имеет сложный ландшафт, то распознавание такой ситуации представляется невозможным (Андрей, надо как-то упростить абзац).
Предлагается для улучшения
решения использовать эвристику, основанную
на перемещении групп вершин между
подграфами разбиения. Схема работы
алгоритма для задачи k-
Нетрудно заметить, что на шаге 3 алгоритма все вершины ребра ei оказываются в одном подграфе разбиения, тем самым ребро перестает участвовать в сечении, если до этого участвовало. Назовем этот процесс локализацией ребра. Таким образом, алгоритм локализует сначала самые тяжелые и большие ребра, а затем, если это возможно, ребра меньшего веса и размера. Эвристика работает до тех пор, пока возможна локализация хотя бы одного ребра с уменьшением веса сечения, т.е. до достижения некоторого локального экстремума.
10. Использование концепции
«фильтр-вид» для построения
Использование описанной выше концепции «фильтр-вид» позволяет существенно сократить затраты на построение многоуровневого алгоритма декомпозиции гиперграфа. Действительно, каждый этап процесса загрубления можно описать в терминах определения атрибутов элементов гиперграфа и применения фильтра, объединяющего вершины. Процесс восстановления решения при применении объединяющего фильтра вообще не нуждается в реализации, поскольку автоматически обеспечивается механизмом «фильтр-вид».
10.1. Фаза загрубления
Рассмотрим процесс загрубления гиперграфа Hs(Vs,Es)с точки зрения концепции «фильтр-вид» на примере реализации схемы гиперреберного загрубления. Следует напомнить, что суть схемы гиперреберного загрубления состоит в выделении множества наиболее тяжелых и больших, попарно неинцидентных гиперребер и их ликвидации путем стягивания всех вершин таких ребер в одну вершину. Как было сказано выше, необходимо определить атрибуты элементов гиперграфа. Для вершин определим атрибут m:
Итак, алгоритм работает следующим образом: для вершин первого, самого тяжелого и большого ребра определяется атрибут m со значением, соответствующим e1, затем, если второе ребро не содержит общих с первым вершин, то для его вершин также определяется атрибут m со значением e2, если ребро e3 не инцидентно e1 и e2, то для его вершин атрибут m определяется аналогичным образом и т.д. Очевидно, что эта процедура гарантирует, что будут помечены вершины попарно неинцидентных гиперребер.
Если теперь применить к гиперграфу H объединяющий фильтр вида
получим вид ФH, представляющий загрубленный гиперграф. Этот фильтр стягивает каждую группу одинаково помеченных вершин в одну вершину, а поскольку каждая такая группа представляет подмножество вершин, принадлежащих одному гиперребру, то в процессе применения фильтра такое ребро будет удалено из гиперграфа, поскольку содержит всего одну вершину.
Таким образом, после определения атрибутов и применения соответствующего фильтра мы получили вид, являющийся загрубленным по схеме гиперреберного загрубления гиперграфом. Поскольку определение фильтра подразумевает наследование атрибутов элементами вида, вершины ФH, образованные стягиванием групп, будут также содержать атрибут m. Перед тем как начинать следующее загрубление гиперграфа, необходимо убрать этот атрибут:
Итак, мы получили загрубленный гиперграф Hs+1, который может быть загрублен еще раз или передан алгоритму отыскания начального разбиения.
После проведения серии загрублений мы имеем гиперграф Hs(Vs, Es), достаточно малой размерности, на котором возможно отыскание начального разбиения. Пусть мы отыскали начальное разбиение, представленное в виде вектора P=(p1,…pn), pi=1..k, i=1..n, где k – количество компонент разбиения, n – количество вершин Hs. Для того чтобы эффективно использовать преимущества концепции «фильтр-вид» необходимо представить информацию о разбиении в виде атрибутов, для этого определим атрибут pследующим образом:
Таким образом, каждая вершина имеет информацию о том, какой компоненте разбиения она принадлежит, определенную атрибутом p. В силу того, что загрубленный гиперграф Hs является видом Hs-1 и между ними существует атрибутивная связь, атрибут p, определенный для Hs будет установлен для соответствующих вершин Hs-1. Для примера, приведенного на рис. 2.2 и 2.3 определение атрибута p=1 для вершины V1 (рис 2.3) загрубленного гиперграфа будет означать определение атрибута p с тем же значением для вершин v1, v2, v3, v4 незагрубленного гиперграфа. Это, фактически, означает, что разбиение, полученное для Hs будет автоматически перенесено на Hs-1. Затем атрибут p будет определен для Hs-2, т.к. он является видом Hs-1 и далее, до исходного графа H0. Ранее говорилось, что загрубление должно быть реализовано таким образом, что отыскание начального разбиения должно означать также отыскание некоторого решения для исходной задачи. Эта цель достигнута применением фильтров и порождением видов без необходимости описания дополнительных процедур переноса решения.
10.2. Фаза восстановления решений
Описанная ранее процедура загрубления гарантирует, что получение решения задачи Hs означает получение некоторых решений задач Hl l<s. Поэтому, отыскание начального разбиения означает нахождение решения всех задач, построенных на стадии загрубления. Как уже отмечалось, фаза загрубления состоит из двух процессов: проецирование решения и улучшение его на каждом этапе. Применение фильтров и видов избавляет нас от описания и реализации отдельной процедуры проецирования решения, поскольку способ кодирования решения в атрибутах вершин и наличие атрибутивной связи между гиперграфом-видом и гиперграфом-прообразом гарантирует передачу информации о разбиении от более загрубленного гиперграфа к менее загрубленному.
Единственная процедура, которую нужно определить для фазы восстановления решения явно – это непосредственно алгоритм улучшения решения. На работу этого алгоритма не налагается никаких ограничений, кроме того, что результат работы алгоритма, т.е. улучшенное решение, должно быть закодировано в атрибутах вершин. Это необходимо для того, чтобы улучшенное решение было спроецировано посредством атрибутивных связей на менее загрубленные гиперграфы.
11. Многоуровневый алгоритм
с элементами эволюционно-
Методика улучшения решения (см. п. 9.5), основанная на перемещении вершин, принадлежащих одному гиперребру, целиком в какую-либо компоненту разбиения работает достаточно быстро. Однако она не содержит никаких средств преодоления локальных экстремумов, что сказывается на качестве находимых ею решений. В эвристики типа KL и FM интегрированы механизмы, направленные на предотвращение преждевременной сходимости, но, не смотря на это, такие алгоритмы не обеспечивают широкого исследования области поиска в силу своей жадности и работают значительно медленнее предложенной методики.
Для того чтобы значительно
расширить исследуемое
Классический генетический алгоритм (ГА) [LG1, LG3, DB1, DB2, DBNS1, DBNS2, DBNS3, DBNS4, DBNS5, DBNS6, DBNS7, DBSI, LG3, PKKW, NS1, NS2], в том числе работающий с графовыми или гиперграфовыми моделями [LG1, LG3, PKKW, DB1, DBNS3, DBNS4, NS1, NS2], подразумевает манипулирование так называемыми кодировками (генотипами). Каждая кодировка представляет собой некоторое представление решения задачи в форме, удобной для применения различных операторов ГА. Каждая кодировка имеет оценку, называемую приспособленностью, которая характеризует качество решения, соответствующего данной кодировке. В результате процесса, эмулирующего эволюцию набора кодировок, определяется «кодировка-победитель», обладающая наилучшей приспособленностью, которой соответствует решение задачи с наивысшим качеством.
Поскольку классический ГА – это решающий алгоритм, а цель – построить улучшающий, то, очевидно, необходимо изменить состав информации, закодированный в генотипе. Предлагается кодировать не само решение, а некий сценарий получения нового решения из существующего.
Жадный алгоритм улучшения решения на каждом шаге принимает решение, руководствуясь наибольшим сокращением веса сечения, т.е. выбирает одно из нескольких возможных направлений движения по ОП, оставляя остальные направления неисследованными. Внедрение генетического алгоритма в качестве управляющей схемы, принимающей решение, в каком направлении двигаться по ОП на каждом шаге, позволяет существенно расширить исследуемую область ОП.
Для реализации предложенного подхода модифицируем описанный выше жадный алгоритм переноса вершин таким образом, чтобы решение о том, какой шаг сделать в ОП принимал не он, а ГА в соответствии с маршрутом ОП, закодированном в генотипе. Фактически, модифицированный жадный алгоритм формирует набор направлений, в которых можно двигаться по ОП с целью улучшения решения, а ГА принимает решение в каком именно направлении сделать шаг. Такой синтез ГА и жадных техник позволяет построить достаточно быстрый улучшающий алгоритм, лишенный недостатка жадных алгоритмов скатываться в локальный экстремум.
На рисунке 34 схематично
изображен процесс движения по ОП;
точки обозначают решения, через
которые проходит маршрут, стрелки
– возможные направления
Информация о работе Многоуровневая декомпозиция гиперграфовых структур