КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Идея эвристического алгоритма покрытия
Алгоритм решения задачи покрытия 1. Эвристический алгоритм покрытия
Покрытие – это, когда компоновка имеет схемную унификацию.
При описании задачи покрытия, будем считать, что в модулях заданного набора имеются все типы элементов покрываемой схемы. При этом модули элементов условно разбивают на 2 класса: 1. Все входы и выходы являются внешними проводами (состоят из несвязанных элементов) 2. Модули состоят из связанных элементов
Эвристический алгоритм моделирует процесс поиска в схеме подсхемы аналогичной модулю заданного набора элементов. При этом элементы схемы просматриваются и включаются в подсхемы последовательно один за другим. Покрываемая схема представляется взвешенным ориентированным мультиграфом , множество элементов которого сопоставляется вершинам А-связи между элементами множества рёбер.
Каждый модуль заданного набора является совокупностью связанных элементов (i-1)-уровня. При этом интерпретируется ориентированным графом , который называется эталоном. Таким образом, заданным наборам элементов сопоставляется множество ориентированных графов , где n – число типов, используемых модулей.
Т.е. при решении задачи покрытия эвристических алгоритмов для каждого эталонного графа , решает задачу его вложения в графсхему G. Если же такой подграф найти не удаётся, то переходим к поиску следующего подграфа . Процесс повторяют до тех пор пока вся схема не будет покрыта модулями заданного набора или выяснится невозможность этого.
При положительном результате получают вариант состава модулей в виде следующего множества , где - число модулей, используемых для покрытия схемы.
Основное правило эвристического алгоритма:
Где - полустепени для исхода и захода для вершины - полустепени для исхода и захода для вершины - число рёбер выходящих из рассматриваемой вершины эталона в уже просмотренные вершины - число рёбер входящих в вершину из вершины
- число рёбер выходящих из рассматриваемой вершины графа схемы G, в вершины и включаемых в формируемый подграф - число рёбер входящих в рассматриваемую вершину графа схемы G из вершины и включаемых в формируемый подграф
Основные пункты эвристического алгоритма покрытия:
1. Проверяем по типам вершин возможность вложения эталонного графа в граф схемы G. Т.е. . Если условие выполняется – переход на пункт 2, иначе на пункт 26.
2. Выделяем из графа схемы подмножества вершин , которое удовлетворяет следующему условию:
3. Текущую вершину ставим в соответствие вершине
4. Если вершина эталона , является по порядку 1-ой (j=1) – переход на пункт 21, иначе на пункт 5.
5. Определяем обратное отображение
6. Для очередных вершин проверяем выполнение следующего условия: . Переход на пункт 8, иначе на пункт 7.
7. Проверяем выполнение условия: . Переход на пункт 10, иначе на пункт 20.
8. Проверяем выполнение следующего условия: . Переход на пункт 9, иначе на пункт 20.
9. Подсчитываем общее количество связей для рассматриваемых вершин с вершинами :
10. Анализируем, все ли вершины из отобранных отображений просмотрены , если нет – переход на пункт 6, если да – переход на пункт 11.
11. Для вершини проверяем условие по заходящим рёбрам: , переход на пункт 12, иначе на пункт 20.
12…18. Проверяем пункты с 5 по 11 для прямого отображения. При выполнении условия 1* по выходящим рёбрам – переход на пункт 21.
19. При не выполнении условия 1* по выходящим рёбрам – переход на пункт 20.
20. Анализируем, все ли вершины из подмножества кандидатов просмотрены , переходим на пункт 24, иначе на пункт 3.
21. Включаем вершину в формируемый подграф , т.е.
22. Если подграф не просмотрен полностью, т.е. , то увеличиваем j на единицу и переходим на пункт 2, иначе на пункт 23.
23. Подграф идентичный эталонному сформирован. Переход на пункт 27.
24. Возвращаемся на предыдущий шаг алгоритма и проверяем условие (j-1)=0?. Переход на пункт 26, иначе на пункт 25.
25. Анализируем, все ли вершины из подмножества просмотрены. Переход на пункт 24, иначе 4..20 для (j-1)-шага алгоритма.
26. Подграфа идентичного эталонному графу нет.
27. Конец работы алгоритма.
Дата добавления: 2014-01-20; Просмотров: 1020; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |