Первые
публикации
Программы и программные системы
Учебные
программы
Студенческая
весна
Общие
проблемы
инженерного
образования
Инженер в современной России
Экобионика
Зарубежное
образование
История
технического
прогресса
Будущий
инженер
Вне рубрик
Расширеный поиск Подписаться на новости
ПОИСК
Ред.совет Специальности Рецензентам Авторам Архив
электронное научно-техническое издание
НАУКА и ОБРАЗОВАНИЕ
_________Эл № ФС 77 - 30569. Государственная регистрация №0420900025. ISSN 1994-0408_
Операции над ультра- и гиперграфами для реализации процедур анализа и синтеза структур сложных систем часть 3
# 12, декабрь 2009
Статья в PDF
автор: Овчинников В. А.
УДК 004
УДК 004.3 +519.6
(окончание, начало смотри «Наука и образование.
Инженерное образование: Эл. науч. издание. - 2009 - № 10, 11чание»)
В заключительной части статьи рассмотрены операции свертки множества вершин графов, декомпозиции вершины, т. е. замены её частью графа, дополнения части до графа или его куска, объединения и пересечения графов. Эти операции необходимы для организации процесса проектирования при блочно-иерархическом подходе:
- для получения описания объекта при замене его фрагментов компонентами более высокого уровня иерархии;
- для реализации методов последовательной детализации и выделения частей объекта;
- для объединения фрагментов структуры объекта;
- для выполнения процедур контроля.
Все сказанное является общими замечаниями и не ограничивает возможности применения этих операций.
Свертка (факторизация) множества Хсв вершин ультраграфа Ну или гиперграфа И- рис. 12.
Соответствует проектной операции замены части схемы макроэлементом.
СОБЫТИЯ
17-я Всероссийская межвузовская научно- техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2010"
Дистанционный конкурс-игра "КИО-2010" (Конструируй, Исследуй, Оптимизируй)
НОВОСТНАЯ ЛЕНТА
27.01.2010
Конкурс работ на соискание премий Правительства Российской Федерации 2010 года в области науки и техники
25.01.2010
Программа Десятой международной научно-практической конференции "Новые информационные технологии в образовании"
13.01.2010
Ректор МГТУ им. Н.Э. Баумана Игорь Федоров: Ищем тех, кто в детстве не наигрался в машины
8.01.2010
Десятая международная научно-практическая конференция "Новые информационные технологии в образовании" (Повышение эффективности обучения и управления образовательными учреждениями с использованием технологий "1С")
23.12.2009
"Лаборатория Касперского" запустила программу "Наука"для НИИ и образовательных учреждений
Рисунок 12 - Фрагмент схемы (а), ее модель в виде ультраграфа Ну и результат операции ультраграф Нуі и кусок ультраграфа Нусвк (б), гиперграф Н(Х, У) и результат операции гиперграф Ні и кусок Нсвк (в)
Задается множество сворачиваемых вершин Хсв.
Обозначение операции: Ну (X, У/Хсв ~ хсв) и Н(Х, и /Хсв ~ хсв для ультра- и гиперграфа соответственно. Условие корректности операции: Хсв І Х.
Логин
Пресс-релизы
Библиотека
Конференции
Выставки
Доска объявлений
Архив
Ассоциация технических Университетов Информация о проекте Авторы
Координационный совет
ВХОД
регистрация забыли пароль?
В результате выполнения операции для случая X^ I X получаем:
- ультраграф Hji (Xi, Ui) = Hj (X, U/X^ ~ Хсв) или
- гиперграф Hi (Xi, Ui) = H(X,U/X^ ~ Хсв).
В качестве моделей схем соединения элементов, составляющих макроэлемент, формируются также куски ультраграфа Huc^ (Xc*', /:вк) или гиперграфа ^в" (Xcвк, Ucвк).
Для варианта X^ = X операцию обозначим как factor (Hj (X, U)) для ультра- и factor (H(X, U)) гиперграфа соответственно. Результат операции:
- для ультраграфа Hj (X, U) это тривиальный ультраграф HUF^, Е) = factor (Hj (X, /);
- для гиперграфа H(X, U) это тривиальный гиперграф HF(x^, Е) = factor (H (X, U));
- для куска ультраграфа Hj- (X<, j<) это одновершинный кусок
HuF< (Хсв, U'exd = factor (H/ X U)), где L/-ext- множество внешних ребер преобразуемого куска H/-;
- для куска гиперграфа H (X<, /) это одновершинный кусок
HF< (Хсв, L<ext) = factor (H (X<, /<)), где j<ext- множество внешних ребер преобразуемого куска H
Для всех случаев моделью макроэлемента H/^ или H/св'' и Hcв или H^ будет сам исходный граф или кусок Hj (X, U) или Hj- (X<, /) и H(X, U) или H (X<, jl<).
Содержательно-формальное описание результата операции в виде ультраграфа Hu1 (X\, U^).
1. Формируем множество Xi, исключая из Xвершины множества X^ и добавляя вершину Хсв:
Xi = (X\ Xcв) ■ xcв, где Хсв ~ ^св.
2. Создаем множество рёбер /св, включая в него ребра Uj.U, если множество вершин инцидентных ребру и множество вершин, которым оно инцидентно, принадлежит только множеству X^:
/св = {Uj І U* : {Г2 Uj Е Гї Uj} І Xcв / Г2 Uj І Гги, Гї Uj І Гї j},
где: U* = {ГlXcв Е Г2Xcв}, ГlXcв = Е Гix/, Г2Xcв = Е Г2Х/.
Х/ І -^св Х/ І XcE
Примечание: множество /св является множеством внутренних ребер /свк куска ультраграфа H/^.
3. Получаем множество Ui, удаляя из множества / множество /св:
Ui = U \ /св.
4. Формируем множество образов Г1X1, исключая из множества Г iX образы вершин множества X^. После чего в множество Г1X1 добавляем образ свернутой вершины Хсв. В образ Г 1Хсв входят ребра множества Ui, инцидентные вершинам множества Xcв:
ГlXl = ^X\ {Г1Х//Х/І Xcв, Г1Х/І ГlX} ■ Г^, где Г 1Хсв = Е Г1Х/\ /св, Г ix/І Г iX Х/ І Xce
или Г іХсв = {Uj : Гі Uj g Xcв 1 Е/ Uj І Ui, Гі Uj І Гі j}.
5. Создаем множество прообразов Г2Xl, исключая из множества ^X прообразы вершин множества X^. После чего в множество ^Xi добавляем прообраз свернутой вершины Хсв. В Г2Хсв входят ребра множества Ui, которым инцидентны вершины множества Xcв
Г2X1 = Г2X\ {Г2Х//Х/І Xcв, Г2Х/І Г2X} ■ Г2Хсв,
где Г2Хсв = Е Г2Х/ \ /св, Г2Х/ І Г2Х
Х/ І Xce
или Г2Хсв = {Uj : Г2Uj g Xcв 1 Е / Uj І Ui, Г2Uj І Г2 U}.
6. Получаем множество образов Г2/., копируя из Г2/ образы Г2 Uj рёбер Uj І Ui и удаляя при этом из образов рёбер, которым инцидентны вершины множества X^, вершины, принадлежащие этому множеству, и добавляя вершину Хсв:
Г2/1 = {Г2 Uj/ Uj І Ui}, где ІГ2 Uj І Г2 U : Г2 Uj g Xcв = Е,
Г2 Uj = '
Т{Г2Uj \ ^св} ■ Хсв : ^~2Uj g ^в 1 Е.
7. Формируем множество прообразов ^Ui, копируя из Г^У прообразы r^ujрёбер ujI U-± и удаляя при этом из прообразов рёбер, инцидентных вершинам множества Хсв, вершины, которые принадлежат этому множеству, и добавляя вершину Л'св:
Гу = {Г1 uj/ uj I Ui}, где
IГi Uj I Гi U : Гi Uj g Хсв = ^,
riUj = I
ЧГ i uj \ Хсв} ■ ^св : ^ uj g Хсв 1
8. Определяем множество FiXi образов вершин относительно предиката смежности Fi(X, X). Для чего:
- копируем Fix/из FiX, если вершине x/не инцидентна ни одна из вершин множества Хсв,
-удаляем вершины множества Хсв из образа Fix/I FiX и добавляем в него вершину хсв в противном случае:
FiXi = { Fix//х/I X i}, здесь для х/1 ХсВ
lFix/: Fix/g Хсв =
Fix/= I
F1xcв = Е FlX;■\Хсв, где FlX;•I РхХ.
X/ I Хсв
Вершины, смежные свернутой, получаем объединяя образы вершин множества Хсв и удаляя из результата вершины множества Хсв.
9. Получаем множество Fl"1Xl прообразов вершин. Для чего:
- копируем FL"1x;•из Fl"1X, если вершина х/не инцидентна ни одной из вершин множества Хсв,
- удаляем вершины множества Хсв из прообраза Fl"1x;■ I FL"LX и добавляем в него вершину хсв в противном случае: Fl"1Xl = {^^х//X/1 Х1>, здесь для х/1 ХсВ
ІFl"1X;•: Fl' 1х/5 Хсв = Е,
F1-1 х/ = '
Т^'ЧЛ Хсв) ■ хсв : F^-1X/5 Хсв 1 Е,
F1-^Xcв = Е F^-^X/\ Хсв , где Fl-1X;• I FL'1X. х/ 1 Хсв
Прообраз вершины хсв получаем, объединяя прообразы вершин множества Хсв и удаляя из результата вершины множества Хсв.
10. Формируем множество F2Ul образов рёбер, копируя F2uj из F2U, если ребру не инцидентна ни одна из сворачиваемых вершин, и удаляя из него свернутые рёбра в противном случае:
F2U1 = {F2Uj/и] I У1>, здесь \F2UjI F2U : Г2и]5 Хсв = Е, я2и] = '
T{F2uj Е и]> \ Усв : Г2и]5 Хсв 1 Е, где F2uj I F2U, Г2Uj I ^и,
Ц]^= Е Г1х/\ Uj, Г1х/! Г1Х. х/! Хсв
11. Получаем множество F2'1Ul прообразов ребер, копируя F2'1 uj из
F2‘1и, если ребро не инцидентно ни одной из сворачиваемых вершин, и удаляя из него свернутые ребра в противном случае:
F2"1Ul = {^Ли/иI У1>, где ІF2"1Uj I F2"1U: Г1 Uj 5 Хсв = Е,
= '
Т{F2-1 Uj Е и^ \ Усв : Г1^ 5 Хсв 1 Е, где F2■1Uj I F2■1U, Г1 и,-1 Г1 и, и А = Е Г2х; \ uj, Г2х/1 Г2Х. х/! Хсв
l(F1x/\ ^св) ■ Хсв : F1x/g -^св 1 Е,
Формальное описание операции над гиперграфом Hi (Х\, UjJ.
Множества результата операции - гиперграфа Hi (Xi, Ui) будут:
Xi = (Х\ Хсв) ■ xсв, где xсв ~ Хсв;
Ui = U\ Uсв, где Uсв = {ujI U: Г2^ I Хсв / Г2^ I Г2U};
г1х1 = г1х \ {г1 х//х/ I Xсв, Г1Х/I г1х} ■ Г1xсв, где Г 1xсв = E Г1Х/ \ uсв,
х/ I Хсв
или Г1ХCВ = {uj : Г2uj g Хсв i /Е / uj I Ui, Г2 uj I ^U};
Г2Ul = {Г2 uj/ uj I Ui}, где
1Г2 uj, если Г2 uj g Хсв = /Е и Г2 uj I Г2 U,
Г2 uj = '
Т(Г2 uj \ Хсв) ■ xсв, если Г2 uj g Хсв i IE;
FiXi = { Fix//x/I Xi}, здесь для x/1 Хсв lF1x/: F1x/g Хсв = ^,
F1x/= I
T(F1x/\ Хсв) ■ xсв : F1x/g Хсв 1 fe,
FlХсв = E Fix/\ Хсв, где Fix/1 FiX; x/ I Хсв
F2U1 = {F2uj/uj I Ui}, здесь 1F2 uj I F2U : Г2 uj g Хсв = ^,
F2uj = '
T{Fzuj E Uji}\ Uсв : Г2 uj g Хсв 1 ^, где F2uj I F2U, Г2Uj I ^U,
Uj = E Г uj, Г^^ Г1Х. х/ I Хсв
Куски ультраграфа Hucвк (Хсвк, Ucвк) и гиперграфа Нсвк (Хсвк, Uсвк) определяются так же, как Hui к (Xiк,
U^) и Hlк (Х1к, Ulк) в операции «формирование части ультраграфа Hu или гиперграфа H> [2].
Асимптотическая оценка вычислительной сложности данной операции без учета операций определения образов и прообразов вершин и ребер относительно предикатов смежности равна:
■ в худшем О(п2 xm), если /Г2 ujl, /Г 1 ujl и /Хсв/ ограничены n;
■ в лучшем О(п) при n > m и О(т) при m > п, если /Г2 uj/, /Г 1 uj/,/Гix//,
/Г2x// и /Хсв/ ограничены константой.
Операция применима также к кускам ультра - и гиперграфа, при этом Hui и Hi будут кусками ультра- и гиперграфа соответственно. Множества внешних ребер этих кусков равны множествам внешних ребер исходных графов.
Пример. Объединим в макроэлемент элементы э2 и эз схемы, показанной на рис. 12, а. В результате операции Hui (Xi, Ui) = H (X, U/Хсв t> хсв) свертки вершин множества Хсв = {x2, x3} ультраграфа Hu получим ультраграф Hui и кусок ультраграфа (смотри рис. 12, б). Множества аналитического представления ультраграфа Hui (Xi, Ui)
будут:
Xi = {xi, x4, xs, . . . , xio, Хсв};
Uсв = {u4}, так как ^4 E Г^4 = {Х2} E {Х3} = {Х2, Х3} = Хсв,
Ui = U\ Uсв = {ui, u2, u3, us};
Г1Х1 = {Г1Х1, Г1Х4, Г1Х5, . . . , Г1Х10} ■ Г 1Хсв, где Г1Хсв = {{Г1Х2 E Г1Х3} \ u4} = {{u2, u3, u4} \ u4} = {u2,
u3};
Г2X1 = {Г2Х1, Г2Х4, Г2Х5, . . . , Г2x10} ■ Г2xсв, где Г2Хсв = {u1, u2};
Г2Ul: ^ui = {{Х2, Х4} \ {Х2, Х3} ■ Хсв } = {Х4, Хсв}, Г2U2 = {{Х3, Х5, x6} \ {Х2, Х3} ■ Хсв} = {Х5, Х6, Хсв}, Г2Uз = {x7, x8jv Г2U5 = {x9, x10};
Г1 Ui: Г1 ui = {xi}, ГlU2 = {{Х2} \ {Х2, Х3} ■ Хсв = {Хсв}, ГlUз = {Х3} \ {Х2, Х3} ■ Хсв}= {Хсв}, ГlU5 = {Х4};
F1X1: ^1Х1 = {{x2, x4} \ {^ x3} ■ Хсв} = {x4, xсв}, F1x4 ={x9, x10}, F1x5 = F1x6 = F1x7 = F1x8 = F1x9 = F1x10 = ^, Flxсв = {{x5, x6, x3} E {x2, x7, x8} \ {x2, x3}} = {x5, x6, x7, x8};
F1-1xi: ^1-1х1 = ^, ^1-1х4 = {xl}, Fi-1x5 = Fi-1x6 = {{x2} \ {x2, x3} ■ Хсв } = {xсв}, F1-1x7 = F1-1x8 = {{x3} \ {x2, x3} ■ хсв } = ■^свЬ F1-1x9 = F1-1x10 = {x4},
-1
Fl Хсв = {{Х1, Хз} Е {Х2} \ {Х2, Хз}}= {xi};
F2U1: f2u1 = {{u2, u5} Е {{ u2}\{u1} Е {u3, u4} \ {u1}} \ u4} = {u2, u3, u5}, F2U2 = {{u3, u4} Е {{ u2} \ {u2} Е
{ u3, u4} \ {u2}} \ u4} = {u3}, F2U3 = f2u5 = Е;
F2"1и1: ^ и1 = Е F2"1u2 = {{иЬ и4> Е {{u1, и4> \ {и2> Е {и2> \ {и2>> \ и4> = {и1> , F2"1u3 = {{и2> Е {{иЬ
и4> \ {из> Е {и2> \ {из>>\ и4>> = {и2, и1>,
F2"1U5 ={и1>.
Кусок ультраграфа Нисвк (Хсвк, исвк) получим по формулам для куска ультраграфа Ни1к в операции «формирование части ультраграфа Ни или гиперграфа Н» [2]. В этих формулах множество Х1к следует заменить на Хсвк, а множество и1к - на множество исвк:
Хсвк = {х2, хз>,
исвк = Г1(Хсвк) Е Г2(Хсвк), исвк = {и2, и3, и4, и1>,
исвкШЬ= и I исвк : {Г2Uj Е ^иД I Хсвк / Г2 и}- I Г2и, Г^- I Г1и>,
UcвKext = исв< \ исв<int, UcвKext= {u2, u3, u1};
ГlXcвK = {ГіХ/І ГlX/ x/І Xcвк}, ГlXcвK = {Г1Х2, Г1Х3} = {{U2}, {U3,U4}};
Г2XcвK = {Г2Х/І Г2X /x/І Xcвк}, Г2XcвK = {Г2Х2, Г2Х3} = {{ui, U4}, {U2}};
Г2исв< ={Г2uj : uj І исв< int ^ ^2Uj С XcвK : ujІ uсв<ext/ujІ исв<, Г2UjІ Г2 /};
{Х2, Х3} = {Х2};
Г1 UCВK ={Г1 uj : uj I UCВK/n^ ^ Г1 uj g Хсвк : uj I uсвкext/ uj I UCВK, ^1uj I Г1u};
Г1 UCZK : Г1 u2 = {x2} g {x2, x3} = {x2}, Г1 u3 = {x3} g {x2, x3} = {x3},
Г1U4 = Г1u1 = {x1} g {x2, x3} = fe;
FlXсвK = {Fix/g Хсвк / x/I Хсвк, Fix/I FiX};
^1Хсвк : F1x2 = {x3, x5, x6} g {x2, x3} = {x3}, F1x3 = {x2, x7, x8} g {x2, x3} = {x2};
Fl-1XсвK = {Fi-1x/g Хсвк / xiI Хсвк, F1x/I Fi-1X };
Fi-1xсвк : F1-1x2 = {x1, x3} g {x2, x3} = {x3}, F1-1x3 = {x2} g {x2, x3} = {x2};
F2UсвK = {F2 uj g Uсвк / uj I Uсвк, F2Uj I F?u };
F2UCВK: F2U2 = {u3, u4} g {u2, u3, u4, u1} = {u3, u4}, F2U3 = , F2U4 = {u2} g {u2, u3, u4, u1} = {u2}, F2U1
= {U2, U5} g {U2, U3, U4, ui} = {U2};
Fz-^1" = {F2-1 Uj g Uсвк / Uj I Uсвк, F2-1 uj I F2-1 u };
F2-1uсвK: F2-1u2 = {u1, u4} g {u2, u3, u4, u1} = {u1, u4}, F2-1u3 = { u2} g {u2, ^ u4, u1} = {u2}, F2-1u4 =
{u2} g {u2, u3, u4, u1} = {u2}, F2-1u1 = fe.
При использовании в качестве модели схемы гиперграфа Hрезультатом операции Hi (Xi, Ui, Г1Х1, Г2Ul) = H(X, U, Г1Х, Г2U /Хсв t> хсв) будет гиперграф Hi и кусок гиперграфа H^1*.
Гиперграф H1 (Х1, U1, Г1Х1, Г2U1):
Xi = {xi, Х4, Х5, . . . , xio, Хсв};
Uj^ = {U4}, так как ^U4 = Хсв, Ui = {ui, U2, U3, U5};
Г1Х1: Г1х1 = {u1}, Г1х4 = {u1, u5}, Г1х5 = Г1х6 = Г1х7 = Г1х8 = {u3};
Г1Х9 = Г1х10 = Г1хсв = {u1, u2, u3};
Г2U1: Г2U1 = {x1, x4, xсв}, Г2U2 = -С-^ x6, xсв},
Г2U3 = {x7, x8, xсв}, Г2U5 = {x4, x9, х10}.
Для куска гиперграфа H^ (Хсвк, Uсвк, Г1Хсвк, Г2UCВK) множества его аналитического представления будут:
Хсвк = Хсв = {х2, х3};
исв int= {u4},
Г2исвк : Г2U2 = {x3, ^, Х6} С {x2, Х3} = {Х3} , Г2U3 = xs} С {x2, Х3} = Е Г2U4 = {x2}, ^l = {x2, x4} g
исв _ {u2, u3, u4, u1}, исв int = {u4}, исв ext= { u2, u3, u1};
к
г Х = {Г 1*2, Г 1*3}, где Г 1^2 = {^, ^2, и4>, Г* = { и2, uз, 04};
Г2исвк = Г2U2, Г2и4> где Г2U1 = Г2U2 = Г2и4 = {*2, x3},
Г2^3 = {*3}.
Декомпозиция вершины *св ультраграфа Ищ или гиперграфа Ні - рис. 13 . Реализует проектную операцию замены в схеме макроэлемента его схемой на элементах более высокой степени детализации.
Рисунок 13 - Одновершинные куски ультраграфа Нук (*св, ик) (а) и гиперграфа И (*св, УЧ (б)
Выполняется замена одновершинного куска Нцк (*св, Ук) - рис. 13, а ультраграфа Нщ (Х1, и1) или одновершинного куска - рис. 13, б гиперграфа И. Х1, У1) на многовершинный кусок Нисвк (Хсвк, исвк) или Нсвк (Хсвк, исвк) соответственно. Ультраграф Ну1 и многовершинный кусок Нусвк, гиперграф Н. и многовершинный кусок Нсвк показаны на рис. 12, б и в соответственно.
Имеются аналитические представления ультраграфа Ну1 или гиперграфа Н. и многовершинных кусков Нисвк или Нсвк соответственно. Куски Нисвк или Нсвк могут быть получены в результате выполнения операции свертки множества вершин либо каким-то другим способом.
Обозначение операции: Ни1 (Х1, и1 /*св Р Хсвк) для ультраграфа и Н1 (Х1, и1 /*св Р Хсвк) для гиперграфа.
Условия корректности операции: ик = {Г 1*св Е Г 2*св } I исвк для ультраграфа и ик = Г 1*св I исвк для гиперграфа, ик = исвкХ
В результате выполнения операции формируется: ультраграф Ни (Х, и) = Ни (Х1, и /*св Р Хсвк) или гиперграф
Н(Х, и) = Н1 (Х1, и1 / *св Р Хсвк).
Содержательно-формальное описание операции получения ультраграфа Ни (Х, и).
1. Определяем множество Х, исключая из Х1 вершину *св и добавляя вершины множества Хсв:
Х = (Х1 \ *св) ■ Хсвк.
2. Формируем множество рёбер и, добавляя в множество и1 множество внутренних ребер Усвк/пкуска ультраграфа Нисвк:
и = и1 ■ исък /пЬ
3. Получаем множества образов Г1Х и прообразов Г2Х вершин, удаляя из множеств Г1Х1 и Г2Х1 образ и прообраз вершины *св и добавляя образы и прообразы вершин множества Хсв многовершинного куска Нисвк (Хсвк, исвк):
Г1Х = Г1Х1 \ Г1*св ■ Г1Хсвк, Г1*св І Г1Х1,
Г2Х = Г2Х1 \ Г2*св ■ Г2Хсвк , Г2*св І Г2Х1.
4. Формируем множество образов рёбер Г2и, занося в него:
- образ ребра Uj из Г2^, если вершина *св не инцидентна ему;
- образ ребра Uj из Г2^, удаляя из него вершину *св и добавляя в него образ ребра из Г2исвк, если Uj является
внешним ребром куска Нисвк;
- образ ребра Uj из Г2исвк;п, если это ребро внутреннее в куске Нисвк:
Г2и = {Г2Uj / и І и}, где
ЇГ2и,-1 Г2и1 : *св Ї Г2Uj,
Г2Uj = ^Г2 \ *св ■ : 1 UсвKext, где Г2 и/ 1 Г2 и1, х/+ = Г 2 и/ 1 Г2 исвк
"^Г2Uj 1 Г2исвк : и 1 исвкП
5. Создаем множество прообразов рёбер Г и, занося в него:
- прообраз ребра Uj из Гі/і, если оно не инцидентно вершине Хсв;
- прообраз ребра Uj из Гі/і, удаляя из него вершину Хсв и добавляя в него прообраз ребра из Гіисвк, если Uj
является внешним ребром куска H/c^;
- прообраз ребра Uj из Гіисвк, если это ребро внутреннее в куске H/e,*:
Гі/ = {Гі Uj/ Uj І U}, где
ІГ1 Uj І Гі Ui : Uj Ї Г і Хсв, где ГіХсв І Г1X1,
l~1Uj = ГГ1 uj \ Хсв ■ X : uj І uсвкext где Г1Uj І Г1U1, Xj = Г1Uj І Г1UcвK,
T Г1 uj І Г1 исв< : uj І исв< int
6. Определяем множество образов FiX вершин, для чего:
- копируем образ Fix/І FiXi, если x/является вершиной ультраграфа H/i и вершина Хсв ей не смежна;
- добавляем к образу Flx/І F.Xi вершины, инцидентные в куске Hucвк рёбрам Uj І Гix/ультраграфа H/i, и удаляем вершину Хсв, если x/является вершиной ультраграфа H/i и вершина Хсв ей смежна;
- добавляем к образу Flx/І FlXcвK вершины, инцидентные в ультраграфе H/i ребрам Uj І Г.Х/ куска H/c^, и удаляем вершину Хсв, если x/является вершиной этого куска:
F.X = {Fix//Х/І X}, где
'iFix/: Х/І X. & Хсв Ї Fix;
Fix/ = i{Fix/ ■ Е Г2u/} \ Хсв : Х/І X. & Хсв І Fix; Г.Х/ І Г^і, Г2Uj І Г2/свк, uj І Г1ХІ
T{ Fl x/ ■ Е Г 2 u/} \ Хсв : Х/ І XcвK, Г.Х/ І ГlXcвK, Г2Uj І ^U..
UjІ Г1Хі
Для первых двух выражений Fix/І F.X., для третьего Flx/І FiX^.
7. Формируем множество прообразов F.-1X вершин, для чего:
- копируем прообраз Fi-1x/ І FL-1Xi, если x/является вершиной ультраграфа H/i и вершина Хсв не принадлежит этому прообразу;
- добавляем к прообразу Fi-1x/ І Fi-1Xi вершины, которым инцидентны в куске H/b' рёбра Uj І Г2Х/ ультраграфа H/i, и удаляем вершину Хсв, если x/является вершиной ультраграфа H/i и вершина Хсв принадлежит прообразу вершины x/в ультраграф H/i;
- добавляем к образу Fl-1 x;І Fl-1XcвK вершины, которым инцидентны в ультраграфе H/i рёбра u/І Г.Х/куска H/c^, и удаляем вершину Хсв, если x/является вершиной этого куска:
Fl-1X = { Fi-1x// Х/ І X }, где
iF1-1x/: Х/І X.& Хсв Ї F1-1xj F1-1x/І F1-1X1,
Fl-1x/= i{Fi-1x/ ■ Е Гi u/} \ Хсв : x/І X. & Хсв І Fi-1x;,
UjІГ2xj
T{Fl -1 x/ ■ Е Гi u/} \ Хсв : Х/ І Xcвк, j^i
где для второго выражения Г2Х/І Г2Xl, Г.ц/ І Гіисвк и Fl-1Х/І Fi-1Xi, а для третьего Г2Х/ І ^X^, ГlUjІГlUl и Fl-1x;І Fi-^.
S. Создаем множество образов F?U рёбер, для чего:
- копируем образ F?u/ из F2U1 ультраграфа H/i, если ребро u/ принадлежит множеству его рёбер и вершина Хсв не инцидентна этому ребру;
- удаляем из образа F?u/ І F?/ рёбра, инцидентные в H/i вершине Хсв, и добавляем рёбра, инцидентные в куске H/c^ вершинам, которые принадлежат образу ребра u/ в этом куске, если ребро u/ І U. ультраграфа H/i и вершина Хсв инцидентна этому ребру;
- копируем образ F?u/ из F2UcвK куска ультраграфа H/^, если ребро u/ принадлежит множеству его внутренних рёбер:
F?U = { F2 Uj / Uj І U}, где 'Fu : u І U& x Ї Г u,
Ї
2 j j 1 св 2 /
F?Uj = i{F2Uj \ Г.Хсв} ■ {Е Г.Х/} : u/І U. & Хсв І Г2Uj, xj-Xj+
TF2Uj І ^2исвк : uj/ исвк/Ы.
Здесь: F?Uj І F2U1, Г2 Uj І Г 2 U., Г.Хсв І Г./., Г.Х/ І Г^св'^
X/+ = Г2 u/І Г2/свк
9. Получаем множество прообразов F2-1 U рёбер, для чего:
- копируем прообраз F2-1 Uj из множества F2-1 / ультраграфа H/i, если ребро u/ принадлежит множеству его рёбер и вершина Хсв не принадлежит множеству вершин, которым инцидентно это ребро;
- удаляем из прообраза F2-1Uj І F2-1/ рёбра, которым инцидентна в H/i вершина Хсв, и добавляем ребра, которым в куске H/c^ инцидентны вершины, принадлежащие прообразу ребра u/ в этом куске, если ребро u/ І U. ультраграфа H/i и вершина Хсв инцидентна этому ребру;
- копируем прообраз F2-1 Uj из F?-1 /свк куска ультраграфа H/c^, если ребро u/ принадлежит множеству его внутренних ребер:
F?-1U = { F2-1Uj / Uj І U}, где
'F2-1 Uj : Uj І j. & Хсв Ї Г. Uj,
F2-1Uj = i{F2-1 Uj\ Г2Хсв} ■ {Е Г2Х/} : u/І U. & Хсв І Г.^,
Х/І X/-
Tf2 1uj І F2 1исв< : UjІ /свк/п t,
здесь: F?-1 Uj І F2-1Ul, Г2Uj І ^L., Гх І Г./., Г.Х/І ГlXcвK,
X/-= Г. U/ І Гі/свк.
Формальное описание выполнения операции получения гиперграфа H(X, /):
X = (X1 \ Хсв) ■ ^св1^ u = U1 ■ uсв< in t ГlX = ГlXl \ Г.Хсв ■ ГlXcвK, Г.Хсв І Г^;
Г2/ = {Г2Uj / Uj І U}, здесь ІГ2 Uj І Г2/. : Хсв Ї Г 2 Uj,
Г2Uj = ^г2uj\ Хсв ■ Xj : ujІ ^в^Х^ где Г2Uj І г2u1, Xj = Г2UjІ г2 ^в1^
T г2 uj І г2исв< : uj І исв<int F.X = {Fix//Х/ І X}, где 'Fix/: Х/ І X. & Хсв Ї Fix;
Fix/ = К Fix/ ■ Е Г 2 u/} \ Хсв : Х/ І X.& Хсв І Fix; Г.Х/ І ГlXl, Г 2 u/ І Г2/свк,
UjІ г 1xi
T{Flx/ ■ Е Г2u/} \ Хсв : Х/І XcвK, Г.Х/І ГlXcвK, T2U/ І ^L.. uj І ГіХ;
Для первых двух выражений Fix/І F.Xi, для третьего Flx/І FiX^.
F2U = {F2U/ / Uj І j}, где \F2Uj : Uj І U. & Хсв Ї Г2Uj,
F2U/ = i{F2U/ \ Г.Хсв} ■ {Е Г .xj} \ u/ : u/ І U. & Хсв І Г2Uj,
Х/ І X/
TF2Uj І F2UcвK : j исв< int
Здесь: ^I Ъ.иь \~2UjI ^иь Гх I Г1и1, Г1 х/1 Г^Д X] = Г2 и/1 ^ис/.
Асимптотическая оценка вычислительной сложности данной операции без формирования образов и прообразов вершин и ребер относительно предикатов смежности равна:
в худшем О(пхт) при п > т, если/Г1Х// или/Г2Х// ограничена т либо /Г2 и// или /Г 1 и// ограничена п и
UcBKext/ или /UcBKintl ограничена т,и О(т2) при т > п, если /UCBKext/ или iUCBKinti ограничена т;
• в лучшем О(п) при n > т, если/Гix/, /Г2Xi//UCBKext/ и /исвкп/ ограничены константой, и О(т) при т > п, если /исвкех:/ и /исвкп/ ограничены константой.
Операция применима к куску ультра - и гиперграфа. Выполнение операции не меняет вид части графа.
Пример. Выполним декомпозицию вершины хсв ультраграфа
Hui (Xi, Ui), заменяя ее куском Нсвк (Хсвк, исвк), (смотри рис. 12, б). Заменяемый кусок ультраграфа Нцсвк показан на рис. 13, а. Напомним, что Хсвк = {х2, Х3}. Используя множества аналитического представления ультраграфа Hui и куска Нсвк из примера для операции свертки, получим следующие множества аналитического представления ультраграфа Ни
X = {xi, Хсв, Х4, . . ., xio} \ Хсв • {Х2, Х3} = {xi, Х4, . . ., xio, Х2, Х3};
U = {ui, U2, U3, u5} • {U4} = {ui, U2, “3, u5, U4V;
riX = {Гixi, Г 1Хсв, Гix4,..., rixio} \ Г1Хсв • {rix2, rix3} = {rixi, rix*,..., rixio, rix2, rix3};
Г2Х = {Г2xl, Г2cв, Г2x4,-, Г2xi0} \ Г2Хсв • {Г2Х2, Г2Х3} = {Г2xl, Г2x4,-, Г2xl0, Г2Х2, Г2Х3};
Г2и Г2“1 = {Х4, Хсв} \ Хсв • {Х2} = {Х4, Х2}, = {Х5, x6, Хсв} \ Хсв • {Х3} = {Х5, x6, Х3}, ^3 = {Х7, Х8},
Г2и5 = {x9, xl0}, Г2и4 = {Х2};
ГiU: Г1“1 = {xi}, Г1“2 = {Хсв} \ Хсв Х} = {Х2}, ^3 = {Хсв} \ Хсв • {Х3} = {Х3}, ^5 = {Х4}, ru = {Х3};
FlX: Fixi = {Fixi I FiXi • г2“1 I Г2исвк} \ Хсв = {{x4, Хсв} • {x2}} \ Хсв = {x4, x2}, Flx2 = {Fix2 I ^!Хсвк • r2ul 1 r2Ui} \ Хсв = {{Х3} • {x5, x6, Хсв }} \ Хсв = {x3, x6}, Fix3 = {Fix3 1 FІXcвK • r2Ui 1 r2Ui} \ Хсв = {{x2} • {x7, x8}} \ Хсв = {x2, x7, x8}, Fix4 = ■«Ж xl0}, Fix5 = Fix6 = Fix7 = Fix8 = Fix9 = Fixi0 = E;
Fi-iX: Fi-lxi = E, Fi-lx2 = {Fi-lx2 I FlXcвK • ru I riUi E ru I riUi} \ Хсв = {{Х3} • {xi} E {Хсв} \ Хсв = {Х3, xi}, Fi-lx3 = {Fi-lx3 I FT^1" • riui I riUi E ru I riUi}} \ Хсв = {{Х2} • {xi} E {Хсв}} \Хсв = Х
xi}, Fi-lx4 = {xi}, Fi-lx5 = Fi-lx6 = {Fi-lx5 I Fi-lXi • ru I ГlUcв} \ Хсв = {{Хсв} • {Х2}} \ Хсв ={Х2},
Fl-lx7 = Fi-lx8 = {Fi-lx7 I Fi-lXi • ru I ГlUcв} \ Хсв = {{Хсв} • {Х3}} \ Хсв = {Х3}, Fi-lx9 = Fi-lxi0 = {Х2}; F2U: F2Ul = {{u2, u3, u5} \ {u2, u3} • {u2}} = {u5, u2},
f2u2 = {{u3} \ {u2, u3}' {u3, u4}} = {u3, u4}, F2u3 = E F2u4 = {u2jv f2u5 = E;
F2-lU F2-lul = ^, F2-iu2 = {ul} \ {ul, u2} • {ul, u4} = {ul, u4}, F2-lu3 = {ul, u2} \ {ul, u2} • {ul, u2} = {ui, u2}, F2-lu4 = {u2}, F2-lu5 = {ui}.
В результате операции H (X, U, riX, ^U) = Hi (Xi,Ui, riXi, r2Ui /Хсв t> Xcвк) получим гиперграф Hi (смотри рис.
i2, в), множества аналитического представления которого будут:
X = {xi, Х4, . . . , Хю, Х2, Х3};
U = {ui, u2, u3, u5, u4};
rlX = {Гlxl, ■"l-*^ . . . , ГІХІ0, Гlx2, rlx3};
rlxl = {ui}v rlx4 = {ul, u5}, rlx5 = rlx6 = {u2}, rlx7 = rlx8 = {u3};
rlx9 = rlxl0 = {u5}, rlx2 = {ul, u2, u4}, rlx3 = { u2, u3, u4};
r2U: r2ui = {xi, Х4, Хсв} \ Хсв • {Х2} = {xi, Х4, Х2}, = {Х5, Х6, Хсв } \ Хсв • {Х2, Х3} = { Х5, Х6, Х2, Х3},
r2u3 = {Х7, Х8, Хсв} \ Хсв • {Х3} = {Х7, Х8, Х3},
r2u5 = {x4, x9, xl0}, r2u4 = {x2, x3}.
Дополнение части до ультраграфа Hu и гиперграфа Hсоответственно - рис. i4. Реализует проектную операцию удаления части схемы.
Рисунок 14 - Куски ультраграфа Иц2к и гиперграфа Н2к (а) и (б) соответственно -результат операции дополнения куска Нц к до ультраграфа Ну и куска Н к до гиперграфа Н, показанных на рисунках 11, б и в соответственно
Операция имеет две модификации: получение куска Ни2К ультраграфа Ни или Н2к гиперграфа Ни получение подграфа Нц2 ультраграфа или Н2 гиперграфа.
Известен ультраграф Ни или гиперграф Н. Задается кусок ультраграфа Ни1к или гиперграфа Н1к для первой модификации операции и подграф ультраграфа Ни1 или подграф гиперграфа Н1 для второй (смотри рис. 11, б и в соответственно).
Обозначение операции:
- Ни (Х,и) \ Ни1к (Х1 к,и1к) и Н(Х,и) \ Н1к (Х1 к,и1к) для получения кусков ультра - и гиперграфа соответственно или
- Ни (Х,и) \ Ни1 (Х1,и1) и Н(Х,и) \ Н1 (Х1,и1) для определения подграфов ультра - и гиперграфа соответственно. Условие корректности операции: Ни1к ? Ни * Е, Ни1 ? Ни * Е, Н1к £ Н* Е, Н1 £ Н* Е.
Результатом выполнения операции является:
- кусок ультраграфа Нц2к (Х2к, и2к) = Ни (Х,и) \ Ни1к (Х1 к,и1к) или
- кусок гиперграфа Н2к (Х2к, и2к)= Н(Х,Ц) \ Н1к (Х1 к,и1к) либо
- подграф ультраграфа Нц2(Х-1,и-£) = Ни(Х,и) \ Ни1 (Х1,и1) или
- подграф гиперграфа Н2 (Х2,и2)= Н(Х,и) \ Н1 (Х1,и1).
Полученный кусок или подграф может содержать несколько компонент связности. Например, если искать дополнение кусков Нц2к и Н2к, показанных на рис. 14, а или б соответственно, до ультраграфа Ни и гиперграфа Н (смотри рис.
11, б и в), результатом операции будут куски Ни1к и Н1к - показаны на том же рисунке, которые состоят из двух компонент связности. Как и в предыдущей операции здесь не формируется аналитическое представление каждой компоненты связности. Множества вершин, ребер, образов и прообразов (для ультраграфа) формируемой части графа представляют собой конкатенацию соответствующих множеств компонент связности, входящих в эту компоненту.
Содержательно - формальное описание результата операции дополнения куска Них к (Х1к, и.к) до куска
ультраграфа Ну* (Х1*, и*).
Для получения множеств куска Нц2к (Х2к, У2к):
1. Определяем множество Х2к вершин, исключая из Хк вершины множества Х1к: Х2 к = Хк \ Х1к.
2. Формируем множество и2к/пвнутренних рёбер, удаляя из икп рёбра множества и1 к куска Ни1к: и2К/^ =
Цк/пЬ \ и1к.
3. Создаем множество и2Кехь добавляя в икх те рёбра из Ц'пЪ которые в куске Ни1 к являются внешними, и удаляя те рёбра икех1) у которых все вершины образов и прообразов принадлежат множеству Х1к:
и2Кех = ^/пЬ? и1 КехИ} \ ис1,
где ид = { и/ : Г2 и] I Х1к & Г1 и/ I Х1к / и] I и КехЬ Г2 и/ I Г2 и*-, Г1 и/ I Г1 ик}.
4. Образуем множество и2к, применяя операцию конкатенации к множествам и2к/п^ и и2кех£ и2к = и2к/п ■
и2Кех-
5. Формируем множество Г1Х2 к образов вершин куска Нц2к, исключая из Г1Х образы Г1Х1к вершин куска Ни1 к: Г1Х2 к = {Г 1Х/ I Г1ХК / х/1 Х2К}.
6. Формируем множество Г2Х2 к прообразов вершин куска Нц2 к, исключая из Г2Хпрообразы Г2Х1к вершин куска
Ни1К:
Г2Х2 К = {Г 2Х/ I Г2ХК / х/ I Х2К}.
7. Создаем множество Г2и2 к образов рёбер куска Нц2 к так, что образом внутреннего ребра является образ Г2и/ одноименного ребра в Г2Ук, а образ внешнего ребра формируется как Г2 и/ \ Х1к, т. е. удалением вершин, принадлежащих множеству Х1К:
Г2и2к = {Г2и/ : и/ I ик/п и Г2и/ \ Х1К : и/ I и2Ке>л/и/I ик, Г2и/ I Г2и<}.
8. Создаем множество Г1 и к прообразов рёбер куска Нц2К так, что прообразом внутреннего ребра является прообраз Г1 и/ одноименного ребра в Г1ик, а прообраз внешнего ребра формируется как Г1 и/ \ Х1к, т. е. удалением вершин, принадлежащих множеству Х1к:
Г1и2к = {Г1и/ : и/ I и2к/п и Г1 и/ \ Х1К : и/ I и2Ке>л/ и/ ! и2К, Г1 и/ I Г^}.
9. Получаем множества ^.Х2К образов и /=1-1Х2К прообразов вершин
х/I Х2к, удаляя при копировании из Я^х/Т FlXК и Fl'1 х/1 Fl'1XК вершины не принадлежащие Х2к:
F1X2к = {Г1х/\ Ху Ї Х2к / х;Ї Х2к, F1x;•Ї Я1Лк> и Я1"1Х2к = {/^-^Д ху Ї Х2к / х;Ї Х2 к, F1-1x;•Ї F1"1XK>.
10. Образуем множества F2U2 к образов и F2-1 ^2к прообразов рёбер
иу Ї У2к для чего копируем F2Uj из Р2Ук и F2-1uу из Е21Цк, если и'у является внутренним ребром куска Ну2к, и
удаляя при копировании из образа и прообраза внутренние ребра Ul к/пкуска Нщк, если иу является внешним ребром куска Ну2к:
F2U2 к = ^иу: иу Ї к//7і- и F2Uу \ Ul кп иу Ї иу Ї ^ к, F2Uу Ї F2UK>;
F2-1U2к = ^Лиу : иу Ї У2кп и F2-1uу \ : иу Ї ^^ иу Ї ^к,
F2-1uу Ї F2-1UK>.
Для операции «Дополнение куска до ультраграфа» пункты 2 и 3 будут иметь вид:
2. Формируем множество У2 кjnt внутренних ребер, удаляя из и ребра множества Ulк куска Нщк: U2 к/п- = и \
и1к.
3. Копируем множество Ul кє—-под именем У2кє—: У2к— = UlKexf.
Формальное описание результата операции в виде куска гиперграфа Н2к (Х2к, и2к):
Х2к = Х \ Х1к; и2к//7і" = и\ и1к; U2K ext = ^^х# и2к = и2к/П ■ U2Kex^^
Г1Х2к = Г1Х \ Г1Х1к = {Г1 хіЇ Г1Х/ х/Ї Х2к>;
Г2U2к = {Г2иу : иу Ї ^кп и Г2иу \ Х1к : иу Ї U2Kext/иу Ї ^к, Г2иу Ї Г2U>;
FlX2к = {FlXj \ ху Ї Х1к / х/Ї Х2к, FlXjЇ FlX>;
F2U2к = ^иу : иу Ї ^к/п и F2Uу \ Ulкп иу Ї U2Kext/иу Ї U2к, F2Uу Ї F2U>.
Аналитическое представление подграфа Нц2 ультраграфа или подграфа Н2 гиперграфа получаем по тем же формулам, что и для подграфа Нщ ультраграфа и подграфа Ні гиперграфа в операции «Формирование части ультраграфа Нщ или гиперграфа Ні», определяя Х2 = Х\ Хі и заменяя в остальных выражениях Хі на Х2 и Ul на u2.
Асимптотическая оценка вычислительной сложности данной операции без учета операций формирования образов и прообразов вершин и рёбер относительно предикатов смежности равна:
■ в худшем О(п2х т), если |U2кєх| ограничены т, а /Г2иу/ и /Х1к/ ограничены п;
■ в лучшемО(1), если |Хік /, |U2кєх| и |Г2 иу| ограничены константой.
Вычислительная сложность операции над гиперграфом имеет тот же порядок.
Операция может выполняться и для «дополнения куска до куска».
Пример. В примере предыдущей операции из схемы, показанной на рис. 11, а, выделена часть, включающую элементы э., Э2, э3, Э4, Э5 и сформирован кусок ультраграфа Hulк (смотри рис. 11, б).
В результате операции Нц2к (X2K,U2K) = Hu(X, Ц) \ Hulк (X.к, Ulк) получим кусок ультраграфа Нц2к, показанный на рис. 14, а, в котором:
Х2к = {x6, x8, x9, x10, хіі>;
= {u2, и5> u2кext= {u3, и1>; u2к = {U2, u5, u3, и1>;
Г1Х2к = {{и2>,{и5>, Е, Е, Е, Е>;
Г2Х2к = {{и.>,{и2>,{и2>,{и5>,{и3>,{и3, и5>>;
Г2U2к: Г2и2 = {x7, x8>, Г2и5 = {x9, x11>, Г2и3 = {x10, х11> \ Х1к = {x10, х11>/
Г2иі = {-3, -6> \ Хік = {-6>;
Я1Х2к: Яіх6 = {x7, -ХїЬ ^Їх7 = {x9, x11>, ^Їх8 = ^1х9 = ^1х10 = ^1х11 = Е;
Fl-1X2K: Fl-1X6 = {-4> \ {-4> = Е, Fl-1X7 = {-6>, Fl-1X8 = {-6>, Fl-1X9 = {-7>,
Fl-1X10 = {-2> \ {-2> = Е, Fl-1Xll = {-2, -7> \ {-2> = {-7>;
F2U2к: ^2и2 = ^2.и5 = Е Р2и3 = Е ^2и1 = {и2> \ {и4> = {и2>;
F2-1U2к: F2-1U2 = {иі>, F2-1U5 = {и2>, F2-1U3 = {и4> \ {и4> = Е.
Кусок гиперграфа Н2к (Х2к, U2K, Г.Х2к, Г2U2K) - рис. 14, б:
Х2к = {x6, x7, ^, x9, x10, х11};
и2К/П = {^ u5}, и2Ке^ = {u3, u1}, и2к = {^ u5, u3, и1};
Г1Х2к = {{и1, и2}, {и2,и5}, {и2}, {и5}, {из}, {из, и5}};
^2к: Г2и2 = {хб, *7, х8}, Г2и5 = {х;, х9, хц};
Г2и3 = {x2, x10, х11} \ Х1К = {x10, x11}, Г2и1 = {x3, ^, х6} \ Х1К = {х6}.
Объединение частей ультраграфа или гиперграфа. Реализует проектную операцию объединения двух схем, имеющих общие элементы и/или цепи. Операция приводит к образованию одной компоненты связности при выполнении указанных в таблице 3 условий, если объекты объединения представляют собой одну компоненту связности каждый. В качестве объектов операции могут выступать куски графов и подграфы. На рис. 15 показан пример объединения двух кусков ультраграфа (Ни1К и Нц2К) и гиперграфа (Н1к и Н2к). Возможные варианты объединения частей графов представлены в таблице 3, в которой Х1к, Х2к, и1 к, и2к и Х1, Х2, и1, и - множества вершин и рёбер куска графа и подграфа соответственно.
Таблица 3
N Объединяемые части Возможные варианты Вид результата
1 Два куска Нц1 к и Нц2 к ультраграфа Ни (Х, и) или Н1к и Н2к гиперграфа Н(Х, и) такие, что Х1к д Х2 к = Х X.к 5 Х2к 1 Е, U1к 5 U2K 1 Е; X. к 5 Х2 к і Е, U1к 5 U2K = Е; кусок, если UlKext і U2Kexг, граф, если Ulкext= U2Kext кусок графа
2 Кусок и подграф тех же абстракций X.к 5 Х2 і Е, ^к 5 U2 і Е; X.к 5 Х2і Е, U1к 5 U2 = Е; кусок графа
3 Два подграфа тех же абстракций X. 5 Х2 і Е, U1 5 U2 і Е; X. 5 Х2 і Е, U1 5 U2 = Е; граф
Рисунок 15 - Соединяемые фрагменты (а) и полученная схема (б), модели фрагментов в виде кусков ультраграфа Ни1К и Нц2к (в) и ультраграф Ни результата операции (г), модели фрагментов в виде кусков гиперграфа Н1к и
Н2К(д), гиперграф Н результата
операции (е)
Задаются аналитически две части ультраграфа или гиперграфа, например куски Ни1к (Х. к, и.к) и Нц2 к (Х2 к, и2к) или Н.к (Х1к, и.к) и Н2к (Х2к, и2к). Куски графов (подграфы) могут содержать несколько компонент
связности как на рис. 15 кусок ультраграфа Ни1 к или гиперграфа Н1к. В этом случае множества аналитического задания части графа должны представлять собой конкатенацию соответствующих множеств его компонент связности.
Обозначение операции состоит из символа операции Е, соединяющего имена ее объектов. Например, объединение двух кусков ультраграфа -
Ни1К (Х1К, и1К) Е Нц2 К (Х2 к, и2 к) или его куска и подграфа - Нц1 к (Х1к, и к) Е Нц2 (Х2, и2), двух кусков гиперграфа - Н1К (Х1К, и1К) Е Н2К (Х2К, и2К) и т. д.
Условие корректности операции: Х1 д Х2 1 Е и Х1 д Х2 = Е &
и д и2 1 Е (здесь под Х1, Х2, и1, и2 следует понимать соответствующие множества объединяемых компонент). В результате выполнения операции получаем одну компоненту связности.
Результат выполнения операции указан в таблице 3. При объединении, например куска и подграфа ультраграфа
получим ультраграф
Ни (Хк, ик) = Ни1к (Х1к, и1к) Е Ни2 (Х2, и2).
Общее формальное описание результата операции.
Приведенные ниже формулы получены для общего случая, когда у объединяемых частей графа пересечение множеств вершин не пусто и пересечение множеств рёбер также не пусто и результатом операции является ультра- или гиперграф.
Для ультраграфа Ни (Х, и) получим:
Х = Х1 Е Х2; и = и1 Е и2;
Г1Х = {ид + Е и;2+ / и/1+ = Гх Г1Х1, и;2+ = Г1х/! Г1Х2, х/1 Х};
Г2Х = {и/1- Е и/2-/и/1- = Г2х/1 Г2Х1, иЙ" = ^хД Г2Х2, х/1 Х};
Г2и = {Х/1+ Е Х/2 + /Х/1+ = Г2и/1 ^1, Х/2+ = Г2и/1 ^, и/1 и};
Г1и = { Х/1- Е Х/2-/Х/1- = Г1 и/1 Г1и1, Х/2~ = Г1 и/1 Г^, и/1 и}.
Здесь под Х1, Х2, и1, и2 и др. следует понимать соответствующие множества объединяемых компонент для конкретного варианта из рассмотренных в таблице 3. Другие обозначения:
и/1+ = Г 1х/! Г1Х1, и/2+ = Г 1х/! Г1Х2 и и/1- = Г2х/ I Г2Х1, и2- = Г2х/! Г2Х2 - множества рёбер, инцидентных вершине х/, и рёбер, которым инцидентна эта вершина, в графах Н1 и Н2 соответственно;
Хд+ = Г2и/ I Г2и1, Х/2 + = Г2и/ I Г2и2 и Хд_ = Г1 и/ I Г^!, Хр_~ = Г1 и/ I Г1 и - множества вершин, инцидентных ребру и/, и вершин, которым инцидентно это ребро, в графах Н1 и Н2 соответственно.
Формальное описание множеств гиперграфа Н(Х, и):
Х = Х1 Е Х2; и = и1 Е и2;
Г1Х = {и/1 Е и/2 / и/1 = Гх Г1Х1, и/2 = ГХ Г1Х2, х/1 Х};
Г2 и = {Х/1 Е Х/2 /Х/1 = Г2 и/ I Г2 иЬ Х/2 = Г2 и/ I Г2 и2, и/ I и}.
В практике автоматизированного проектирования наиболее часто встречающейся процедурой является объединение двух схем, не имеющих общих элементов, внешние цепи которых полностью или частично совпадают. Реализация этой процедуры операцией объединения моделей этих схем в виде ультра- или гиперграфа на основе указанных выше выражений приведет к лишним затратам машинного времени (например Х1 д Х2 = Е, а определяется Х как Х1 Е Х2). Для таких вариантов целесообразно конкретизировать формальное описание результата операции. Ниже это сделано для операции объединения двух кусков ультраграфа и гиперграфа, у которых
Х1к д Х2к = Е, иК^= и2Кех^ иК/П^д и2К/П^= Е.
Содержательно - формальное описание результата операции
Ни (Х, и) = Ни.к (Х.к, и.к) Е Ни2 (Х2к, и2к).
Для получения ультраграфа Ни (Х, и):
1. Определяем множество вершин Х, копируя множества Х1к и Х2 к и соединяя их, так как по условию Х1к д Х2К = Е: Х = Х1К ■ Х2к.
2. Формируем множество и ребер, занося в него ребра множеств и1 кп, и2к^п^и и1Кех£ и = и1К1Ы' U2К/П^ ■ и1 Кex^■
3. Создаем множество образов Г1Х и прообразов Г2Х вершин ультраграфа Ни, соединяя при копировании множества Г1Х1К и Г1Х2к и Г2Х1К и Г2Х2к соответственно, так как при Х1к д Х2К = Е, если Г^Д Г1Х1к, то Г1Х/1 Г1Х2к и наоборот, и если Г2Х/ I Г2Х1к, то Г2Х/1 Г2Х2к и наоборот:
Г1ХК = Г1Х1К ■ Г1Х2 к, Г2ХК = Г2Х1 к ■ Г2Х2 к.
4. Формируем множество Г2 и образов рёбер, занося в него:
- образ Г2и/ из множества Г2и1 к образов куска Ни1к, если и/ является его внутренним ребром,
- образ T2U/ из множества Г2/ к образов куска H/2 к, если u/ является его внутренним ребром,
- соединение (конкатенацию) множеств, являющихся образамиребра u/ в Г2/ к и Г2/к, если оно принадлежит U1Kext= U2Kext:
Г2/ = {Г2Uj / u/ І U }, где
ІГ2 Uj І Г2/ік, если u/ І U. K/nt Г2Uj = f^u/ І Г2/2к, если u/ І U2 K/nt,
TX/1+ ■ X/2 + , если Uj І UiKext где Xji+ = Г2Uj І Г2/к , Xji+ І XiK,
X/2+ = Г2 Uj І Г2/2к, X/2+ І X2 к
5. Cоздаем множество Г. U прообразов рёбер, занося в него:
- прообраз Г.ц/ из множества Гі/ік прообразов куска H/iк, если u/ является его внутренним ребром,
- прообраз ГlUj из множества Г.и2к прообразов куска H/2к, если Uj является его внутренним ребром,
- соединение (конкатенацию) множеств, являющихся прообразами ребра u/ в Г./. к и Г.и2к, если оно принадлежит U1Kext= U2Kext:
Г. U = {Г. Uj/ Uj І U }, где
ІГ і Uj І Гі/ік, если Uj І U. K/nt ГlUj = ГГ. Uj І Г.и2к , если Uj І U2 K/nt,
TXjl- ■ X/2-, если Uj І UiKext где X/i- = Г. u/ І Г. U. K, X/i- I XiK,
X/2- = Г. Uj І Гі/2K, X/2- І X2K.
10. Определяем множество FlXобразов вершин относительно предиката смежности F.(X, X). Для вершины x/І X. к І X копируем ёё образ из FiX. к, если ей не инцидентно ни одно из внешних ребер куска H/iK, в противном случае к этому образу добавляем вершины, принадлежащие множеству X2K, которые инцидентны ребрам подмножества U/' = Г .Х/С U. Kext Аналогично определяем образы вершин x/І X2K І X:
F.X = {Fix//x/І X}, где для x/І X.к І X:
iF1x/: ГіХ/С jiKext= К,
F1x/ = '
TF. x/ ■ {Е Г2Uj} : ГіХ/С UlKextl К, где //'= Г.Х/С U. Kext Uj І U/'
здесь: F1x/І F.X.K, T2u/ І Г2/2к, Г1Х/І T.X.к и для x/І X2K І X:
iF1x/: ГіХ/С j2Kext= К,
F1x/ = і
TF1xi {Е Г2Uj} : Г1Х/С U2Kextі К, где ui = Г1Х/С u2Kext,
Uj І U/'
здесь: F1x/ І F1X2 к, T2u/ І Г2/. к, Г1Х/І Г^ к.
11. Формируем множество Fl-1Xпрообразов вершин. Для вершины x/І X.к І Xкопируем ёё прообраз из Fi-1XiK, если она не инцидентна ни одному из внешних рёбер куска H. к, в противном случае к этому прообразу добавляем вершины, принадлежащие множеству X2к, которым инцидентны рёбра подмножества //'= Г2Х/С U.Kext- Аналогично определяем образы вершин x/І X2K І X:
Fl-1X = { Fi-1x// x/І X }, где
для Х/ І X. к І X:
iF1-1x/: Г2Х/ С U1K ext = К,
F1-1x/= 1
TFi-1x/■ {Е Гiu/} : Г2Х/ С UiKextl К, где U/'= Г2Х/С U.Kext,
Uj І U/'
здесь: F1-1x/ І F1-1X1K, Г-.u/ І Г./2 к, Г2Х,І Г2X1 к и для Х/І X2K І X: iF1-1x/: Г2Х/С U2Kext= К,
F1-1x/= 1
TF1-1xi {Е г1uj} : Г2Х/ С U2Kextl К, где ui = Г2Х/С u2Kext,
Uj І U/'
здесь: F1x/І FlX2к, Г.^ І Г.U.к, Г2Х, І Г2X2к .
12. Cоздаем множество F2U образов рёбер относительно предиката смежности F2(U, U), копируя образ F2u/ из множества образов куска H/iк, если ребро u/ является внутренним ребром первого куска, или из множества образов куска H2K, если ребро u/ является внутренним ребром второго куска. Если ребро u/ является внешним, то образ получаем конкатенацией его образов в кусках H/iK и H/2K:
F2U = {F2u/ / Uj І U }, здесь iF2Uj : uj І U1K/nt F2Uj І F2U1K,
F2Uj = iF2Uj : uj І U2K/i7t, F2Uj І f2 u2K,
TUij+ ■ U2/+ : Uj І UiKext,
где Uij+ = F2U/ І F2U1K, Uij+ I UiK, U2/+ = FjUj І F2/2K, /2/+ I U2K
13. Формируем множество F2-1U прообразов рёбер, копируя прообраз F2-1Uj из множества прообразов куска
H/iK, если ребро U/ является внутренним ребром первого куска, или из множества прообразов куска H/2к, если
ребро U/ является внутренним ребром второго куска. Если ребро U/ является внешним, то прообраз получаем
конкатенацией его прообразов в кусках H/iк и H/2к:
F2-1U = {F2-1 U// Uj І U }, где
iF2-1Uj : Uj І UiK/nt, F2-1Uj І F2-1/K,
F2-1uj = ' F2-1uj : uj І и2к/пЬ f2~1 uj І f2~1 u2 K,
TUij- ■ U2j~ : Uj І Ui Kext где и/ = F2-1Uj І FT1/K , и/ I /.к,
U2j~ = F2-1Uj І F2-1U2K, U2j- I U2K.
Формальное описание результата операции в виде гиперграфа H(X, U, ГiX, Г2U) приXiк Q X2к = ffi, Uiк/ьЧ U2K/nt= * и UiKext= U2*ext X = Xiк ■ X2K; U = UiK,nf U2K/nf UiKext Г1X = T.X. K ■ Г1X2K;
Г2/ = {Г2Uj / Uj І U}, где ІГ2 Uj І Г2/ік, если Uj І U. K/nt,
Г2Uj = i^u/ І Г2/2к, если u/ І U2 K/nt,
TXjl ■ X/2 , если Uj І U. Kext где X/i = Г2и/ І Г2/ік , X/2 = Г2Uj І Г2/2<;
F.X = { Fix//Х/І X}, где
iF1x/ : ГіХ/ С jiKext= К,
F1x/= і
TFix,■ {Е {Г2Uj\ x/}} : ГіХ/С UiKextl К, где U/'= Г.Х/С U.Kext Uj І U/'
здесь: Fix/І {FiXiK, FiX2K}, Г .Х/І {ГlXlK, ГlX2к}, Г2Uj І {Г2/. к, Г2/2<};
F2U = {F2u/ / U/ І U }, здесь
iF2Uj : Uj І UiK/nt U Uj І U2K nt где F2Uj І {F2UiK, F2U2 K},
F2Uj = (
Uj ■ U2j : Uj I UiKext где Uxj = F2Uj I F2Uiк, U2j = F?Uj I FUK.
Формальное описание результата операции в виде куска ультраграфа HU (XS U*).
Кусок ультраграфа получим, если Ui Kepi U2 Kep Так как по условию
Xiк ? X2 к = Е, Ui Knt ^ U2 к /nt = Е, множества вершин, их образов и прообразов относительно предиката инцидентности ri(X U) куска ультраграфа определяются по тем же формулам, что и для ультраграфа Hu. Остальные множества получаем по формулам:
U = Ui K/iP ■ и2к/л^ ■ {UiKextE Ui кех&, U'ext= Ui KextD и2к ext>
U Knt = UiK;nt ■ U2K//7t;
Г2ик = {r2Uj / Uj I UK}, здесь
ir2Uj I r2UiK : Uj I UiKnt U (Uj I UiKext& Uj I U2 Kexp,
Г2Uj = (Г2Uj I Г2 U2K : Uj I U2Knt U (Uj I U2Kext& Uj I Ui KexP,
'Xji+ ■ Xj2+ : Uj I {Ui Kext? U2Kext},
где Xji+ = Г2 Uj I r2UiK, Xj2+ = Г2 Uj I r2U2K;
riUK = {TiUj / Uj I UK}, здесь
iri Uj I riUiK : Uj I UiK;nt U (Uj I UiKext& Uj I U2Kexp,
ri Uj = fri Uj I riU2K : Uj I U2Knt U (Uj I U2Kext& Uj I Ui KexP,
TAji ■ Xj2 : Uj I {UiKext? U2Kext},
где Xji- = ri Uj I riUiK, Xj2~ = ri Uj I riU2K;
FiX = {Fix/ /xjl X}, здесь
iFix/: rix/g UexP = Е, где UexP = UiKext ? U2KexP Fixi = '
TFix/ ■ {E r2Uj}: rix/? Uextrl 1 Е,
UjI UexP
Fix/I {FiXiK, FiX2к}, Г2Uj I {r2UiK, r2U2K}, rix/1 {riXiK, riXiK};
Fi'iX = {Fi"ix;/ x/I X}, здесь iFi'ix/: ^ ? UexP = Е,
Fi- i x; = '
TFi'ix;- {E Гi Uj} : ^ ? UexP 1 Е,
Uj I UexP
где Uefp1 то же, что и выше, Fi^x; I {Fi"iXi K, Fi^X?K}, riUj K, riU2K},
r2x;I {r2XiK, Г 2XiK};
F2.U = {F?Uj / Uj I UK}, здесь
iFzUj : Uj I UexP', где F?Uj I {FUK, F2UK},
F2Uj = '
TUij+ ■ U?j+ : Uj I Uexf, где UexP - то же, что и выше, Uij+ = F?Uj I F2UiK, U?j+ = F?Uj I F?U?K;
F2"iUK = {Fz"1 Uj/ Uj I U к}, здесь
iFz'iUj : Uj I UexP, где F2-iUj iF?"^ K, F2-iUiK},
Fz"iUj = 1
TUij- ■ U?j~ : Uj I Uexp, где Uexp - то же, что и выше, Uij = F2-iUj I F2-iUiK, U?j- = F2-iUj I F2-iU2K.
к к к к к к
Формальное описание результата операции в виде куска гиперграфа H (X , U ) при Xi Q X2 = К, Ui ,nt?
u2К/і?Ь = К и U1Kext1 U2K ext
Множества вершин и их образов относительно предиката инцидентности Гі(Лк, XK) куска гиперграфа определяются по тем же формулам, что и для гиперграфа H. Остальные множества получаем по формулам:
jK = U1 K/nt' U2K/nt■ {/1кєхЬЕ U1 кєхЬ^,
jKext= U1 KextD u2 Kext /K/nt= U1K/nt ■ u2 K/nt;
Г2 j< = {T2U/ / u/ І /<}, здесь
iГ2Uj І Г2/ік : u/І UiK/nt U (u/ І UiKext& u/ Ї U2Kext),
Г2 Uj = ^u/ І Г2/2к : u/ І U2K/nt U (Uj І U2Kext& u/ Ї U. Kext),
TА/l ■ Xj2 : uj І uext,
где Uet = U iK ext С U2 Kext Xji = Г2 Uj І Г2/ік, X/2 = ^u/ І Г2/2<;
F.X = {Fix//Х/І XK}, здесь
iF1x/ : ГіХ/С UexP = К,
F1X/ = '
TFix/ ■ Е {Г2 Uj \ X/} : Гїх/С Uexf і К, uj І uext
где Uexp - то же, что и выше, FiX/І {FiXiK, FlX2к}, Г2Uj І {Г2/к, Г2/2к},
ГіХ/І {ГlXlK, ГlXlк};
F2UK = {F2 Uj / Uj І /}, здесь
iF2U/ : Uj Ї Uext, где F2u/ І {F2U1K, F2U1к},
F2Uj = '
Tu1j ■ u2j : uj І uext,
где F2 Uj І {F2U1к, F2UiK}, Uext - то же, что и выше, /./ = F2uj І F2UlK ,
U2j = F2 Uj І F2U2к.
Асимптотическая оценка вычислительной сложности данной операции, если результатом является ультраграф H/ или гиперграф H, равна О(тх n) при n > m или О(т2) при m > n.
Пример. Результатом операции объединения двух кусков ультраграфа H/iк (X. к, U. к) и H/2 к (X2 к, U2 к), изображенных на рис. 15, в , если считать, что у куска H/2к нет ребра U6, будет ультраграф H/ (X, U), показанный на рис.15, г, так как U. Kext= U2 Kext= {u., U3}. В соответствии с приведенными выше выражениями получим:
X= {Xi, Х2, . . ., X10}; U= {U4} ■ {U2, U5}^{ui, U3} = {U4, U2, U5, u., U3};
г 1X: Г1Х1 = Г1Х2 = {u3}, Г1Х3 = К, Г1Х4 = -^lb Г1Х5 = К, Г1Х6 = Г1Х7 = {u5}, = Г1Х9 =
Г1Х10 = К;
г2X: Г2Х1 = ^ Г2Х2 = {u4}, Г2Х3 = {u1}, Г2Х4 = ^ Г2Х5 = {u4}, Г2Х6 = -^lb Г2Х7 = Г2XS = ^ Г1Х9 = {u3,
u5jv г1х10 = {u3};
Г2/: Г2U4 = {x2, x5}, Г2U2 = XS}, Г2U5 = Г2U1 = {х3} ■ {х6} = {x3, x6}, Г2U3 = К ■ {x9, Х10} = { x9,
Х10};
Г1/: Г1U4 = {x1}, Г1 u2 = Г1 u5 = {x7}, г1u1 = {x4} ■ К = {x4},
ГlUз = {-2} ■ К = {Х2};
F1X: Fixi = {x2, x5}, Flx2 = К ■ Г2U3 = { ^, x10}, ^1Х3 = К, ^1Х4 = {х3} ■ Г2U1 = {x3, x6}, F1x5 = ^ F1x6 =
{x7, XS}, F1X7 = {x9}, F1XS = F1X9 = F1x10 = К;
Fi-1X: Fi-1xi = К, Fi-1X2 = {x.}, Fi-1-3 = {X4} ■ К = {X4}, Fi-1-4 = К, Fi-1-5 = {x.}, Fi-1-6 = К ■ {X4} =
{X4}, Fl-1-7 = Fi-1xs = {X6}, Fi-1X9 = Fi-1Xi0 = К ■ ГlUз = {-2};
F2U: F2U4 = {U3}, F2U2 = {U5}, F2U5 = К, F2U1 = К ■ {U2} = {U2}, F2U3 = К;
F2'1u: f2-1u4 = К, f2-1u2 = {u1}, f2-1u5 = F2-1ui = К, F2-1u3 = {u4} ■ К = {u4}.
При объединении кусков гиперграфа, показанных на рис. 15, д, (считаем, что у куска H2к нет ребра U6), получаем в
результате операции
Н(Х, и, ГіХ, Г2и) = Нк (Хік,ик, Г1Х1к, Г2ик) Е Н2к (Х2к,и2к, Г1Х2к, Г2и2к), гиперграф Н(Х, и, ^Х, Г2и), у которого:
Х= {хі, Х2, . . ., хіо>; и= {^4, и2, иъ, иі, и3};
ГіХ: Гіхі = Гіх5 = {u4}, Гіх2 = {u3, u4}, Гіх3 = Гіх4 = {u1}, Гіх6 = {u1, u2}, Гіх7 = {u2, u5}, Гіх8 = {u2},
Гіх9 = {uз, u5}, Гіхіо = {uз};
Г2и: Г2u4 = {x1, x2, Г2u2 = { x6, x8}, Г2u5 = {x7, x9}, Г2u1 = {x3, х4} ■ {х6} = {x3, x4, x6}, Г2u3 =
{х2} ■ {x9, х10} = {x2, x9, х10}.
Объединение кусков, изображенных на рис. 15, д, если у куска Н2к будет ребро U6, дает кусок гиперграфа Нк (Хк, ик, ГіХк, Г2ик), у которого:
Хк = Х; и = {u4, U2, U5, ul, uз, U6}- в куске Н2к появилось внешнее ребро U6; в ГіХк по сравнению с ГіХ
изменится образ вершины х7 - Гіх7 = {U2, U5, U6} и в Г2ик по сравнению с Г2и появится образ ребра U6 - Г2U6 =
{х7}. Множество внешних ребер куска Цкех^ = {^^3} й {ul,uз,u6} = {^}, множество внутренних ребер очевидно.
Пересечение ультраграфов Ниі и Ни2 или гиперграфов Ні и Н2 - рис. 16. Реализует проектную операцию проверки идентичности двух представлений схемы или определения одинаковых частей схем при совпадающих идентификаторах их элементов и цепей.
Рисунок 16 - Фрагменты схем а, их модели в виде ультраграфов Ниі и Ни2 и результат Ни операции их пересечения (б); модели фрагментов в виде гиперграфов Ні и Н2 и результат Ноперации их пересечения (в)
Задаются в аналитической форме два ультраграфа Ниі и Нц2 или гиперграфа Ні и Н2.
Обозначение операции: Ниі (Хі, иі) £ Ни2 (Х2, и-£) для ультраграфов и Ні (Хі, иі) £ Н2 (Х2, и-£) для гиперграфов.
Условие корректности операции Хі £ Х2 1 К, иі £ и2 1 К, а также:
- для ультраграфа $ ^Ї {и1 £ и2} (Х_д + £ Х^+ 1 К и Х£ Хі К),
где аналогично операции объединения частей графов Хд + = Г 2 u^• Ї Г2иі и Хд2+ = Г2Uj Ї Г2и вершины, инцидентные ребру Uj в ультраграфе Ниі и Нц2 соответственно, Хді- = Гі ^ Ї Гі иі и Хд2- = Гі ^ Ї Гі и вершины, которым инцидентно ребро Uj в ультраграфе Ниі и Нц2 соответственно,
- для гиперграфа $ Uj Ї {иі £ и2} (Хд £ Х'2 і К), где Хді = Г2UjЇ Г2иі, Хд2 = ^ Ї Г2и2.
Результатом выполнения операции может быть ультраграф, кусок ультраграфа или несколько компонент связности: ультраграфы, куски ультраграфов, их сочетание (сказанное справедливо и по отношению к гиперграфам). Полагая отдельной задачу определения количества компонент связности, дадим описание операции для одной компоненты в виде ультраграфа Ни (Х, и) или его куска Нцк (Хк, ик, ГіХк, ^Ц*), а также гиперграфа Н(Х, и) или его куска Нк (Хк, ик, Г 1Хк, Г2ик).
В результате выполнеия операции получим:
- ультраграф Ни (Х, и) = Ниі (Хі, иі) £ Ни2 (Х2, и2), если
"Uj Ї {иі £ и2} (Х;1+ = Хд2+ & Хді- = Х'2-) (16),
- кусок ультраграфа Нщ (Хк, щ) = Ниі (Хі, иі) £ Ни2 (Х2, и-£), если
$ UjЇ {и1 £ и2} (Хр1 + 1 Х-2+ и Х_д- 1 Хр2-), где Хр + , Х-2+, Хд1-, Хі2- то же, что и выше;
- гиперграф Н(Х, Ц) = Ні (Хі, иі) £ Н2 (Х2, и2), если " ^ Ї {иі £ и2} (Хр = Хр),
- кусок гиперграфа Н (Хк, Цк) = Ні (Хі, иі) £ Н2 (Х2, и2), если $ UjЇ {Ці £ и2} (Хі 1 Х2), где Хі и Х'2 - то же, что и выше.
Содержательно - формальное описание результата операции над ультраграфами Нщ (Хі, иі) и Нц2 Х2, и2). Для получения множеств ультраграфа Нщ (Х, Ц):
1. Определяем множества вершин Хи ребер и, находя общие элементы множеств Хі, Х2 и Ці, Ц2 соответственно: Х = Х1 £ Х2; и= и1 £ и2.
2. Создаем множества образов ГіХ и прообразов Г 2Х вершин ультраграфа, занося в образ и прообраз каждой вершины общие ребра ее образов и прообразов в ультраграфах Нщ и Нц2'
ГіХ = {Гіх/= Цд + £ и,2+ /х/Ї Х, и,1+ = ГіхЇ ГіХі, Ц/2 + = Гіх/Ї Г1Х2};
Г2Х = {Г2х/ = и/1- £ и/2~ /х/Ї Х, Цд- = Г2х/Ї Г2Х1, и;2- = Г2х/Ї Г2Х2},
где аналогично операции объединения частей графа Цд + = Гіх/Ї ГіХі, и/2+ = Гіх/Ї Г1Х2 и и;і- = Г2х/Ї Г2Х1, и/2- = Г2х/Ї Г2Х2 - множества ребер, инцидентных вершине х/, и множества ребер, которым инцидентна этавершина, в ультраграфах Нщ и Нщ соответственно.
3. Формируем множество образов Г2 и и прообразов Гі и рёбер, определяя общие вершины их образов и прообразов соответственно в ультраграфах Нщ и Нц2'
Г2 и = {Хд+ £ Х2+ / ^ Ї Ц, где Хі + и Х/2 +
- то же, что и выше;
Гіи = {Хд" £ ХЯ~ " /UjI и, ГlUj І Гіиі},где Х'1 и Х'2 - то же, что и выше.
4. Находим образы ^.х/вершин как объединение общих вершин образов рёбер, инцидентных вершине х/как в ультраграфе Нщ, так и в ультраграфе Нц2'
Я.Х = { Е Хд+ £ Х,2+ / хіЇ Х }, где и;л+ = Цд + £ иЙ+ и Цд+, и,2+,
UjЇU;л +
Х’1 + , Х'2+ - то же, что и выше.
5. Определяем прообразы Я1-1х;вершин как объединение общих вершин прообразов ребер, котрым инцидентна вершина х; как в ультраграфе Нщ, так и в ультраграфе Нц2'
Яі'1Х = { Е Х_д- £ Х'2- / х/Ї Х}, где Ц,п- = Цд- £ Цд- и Цд-, ид-, Хд-, Хр~ -
UjЇU/п -
то же, что и выше.
6. Формируем образы F2Uj рёбер как объединение общих ребер образов вершин, инцидентных ребру Uj как в ультраграфе Нщ, так и в ультраграфе Нц2:
Я2и = { Е Ц/1 + £ и/2+ /^Ї и}, где Х- + = Хд + £ Хд + и Х_д + , Хр+, Цд+, Ц;2 +
хі Ї Х-п +
- то же, что и выше.
7. Находим прообразы Я2"1 ^ как объединение общих рёбер прообразов вершин, которым инцидентно ребро ^ как в ультраграфе Нщ, так и в ультраграфе Нц2:
Я?"1 и = { Е Ц/1- £ и/2~ / ^ Ї и}, где Хрп- = Хд- £ Хд- и Хд-, Хр-, Цд-, Цд-
х/Ї Х/-
- то же, что и выше.
Кусок ультраграфа нщ (Х*, Цк). Множества вершин, ребер, их образов и прообразов куска ультраграфа определяются по тем же формулам, что и для ультраграфа Нщ (Х, и). В множество внутренних Щ-/п ребер куска включаем те его ребра, у которых совпадают образы и прообразы в ультраграфах Нщ и Нц2. Множество внешних
Щ-єхребер определяем, исключая внутренние из ик.
икіпЬ = {^ Ї и : Х'1+ = Х'2+ & Х'1- = Х'2-}, где Хі + , Х'2+, Хр~, Хр- - то же, что и выше, икехЬ = ик \ и к/пЬ Формальное описание результата выполнения операции над гиперграфами Ні (Хі, Ці) и Нщ2 (Х2, Ц2).
Гиперграф Н(Х, Ц):
Х = Х1 £ Х2; Ц = Ц1 £ и2;
ГіХ = {Гіх/= Ц/і £ Ц/2 /х/Ї Х, Ц/1 = Гіх/Ї ГіХі, Цд = Гіх/Ї Г1Х2};
Г2 и = {Х'і £ Х'2 / ^ Ї и}, где Хі и Х2 - то же, что и выше;
Я1Х = { Е Хд * £ Х'2 * /х; Ї Х }, где и,п = Ц/1 £ Ц;2 и Цд, Ц;2 - то же, что ^ЇЦР
и выше, и Хі * = {Г2Uj \ х/ : | Г 2 > 1 и Г2Uj : | Г 2 = 1}, Г2Uj Ї Г2Ці,
Х"2* = {Г2Uj\ х/: |Г2Uj| > 1 и Г2Uj : |Г2Uj| = 1}, Г2Uj Ї Г2 и2;
Р2и = { Е Ц/1 * £ Ц;2* /^ Ї Ц}, где Х'п = Х;1 £ Х;2 и Х'1, Хр- то же, что и х/Ї Хр'
выше, и Ц/1* = {Гіх/\ Uj : ^2^/ > 1 и Гіх/: | Г2u^j = 1}, Гіх/Ї ГіХі,
Ц/2* = {Гіх/\ Uj : |Г2Uj| >1 и Гіх/: | Г2Uj| = 1}, Гіх/Ї Г1Х2.
Кусок гиперграфа Н к (Хк, Ц*). Множества вершин, ребер и образов вершин куска гиперграфа определяются по тем же формулам, что и для гиперграфа Н(Х, Ц). Множества внутренних и внешних ребер будут:
икіпЬ= Щ Ї и : Хр = Хр /Хр = Г2 ^ Ї Г2 Ці, Хр = Г2 ^ Ї Г2 Ц2}, щ ехЬ = щ \ щ /пЬ
Асимптотическая оценка вычислительной сложности операции для ультра -и гиперграфов равна:
■ в худшем О(т2х п) ,если /Цд + / и /Цд+/ или /ид-/ и /Цд-/ ограничены т;
■ в лучшем О(п2) при п > т и О(т2) при т > п, если/Цц + /, /Цд+ /, /Цд-/ и /и/2-/ ограничены константой. Объектами операции могут быть два куска или кусок и подграф ультраграфа или гиперграфа.
При пересечении кусков ультраграфа Нщк (Хік, Цік) и Нщ2к (Х2к, Ц2к) результатом будет подграф, если Цікехь£ Ц2кехЬ= К и выполняется условие (16), в котором Хр+ = Г2 Uj Ї Г2Цік, Х'2+ = Г2 Uj Ї Г2Ц2 к, Х'1_ = ГlUj Ї Гі Цік
Х'2 = Гі Uj Ї Гі щ к. В противном случае результатом будет кусок ультраграфа, у которого икіпЬ = Щ Ї и : Х-1+ = Х/2+ & Хр- = Хр- & ^ ї ЦікехЬ& ^ ї Ц2кехЬ и щ ехЬ = щ \ щ /пЬ
При пересечении куска Нщк (Хік, Цік) и подграфа Нщ2 (Х2, и-£) ультраграфа результатом будет подграф, если Цікехь£ Ц2 = К и выполняется условие (16), в котором Х'і+ = Г2Uj Ї Г2Цік, Х'2+ = Г2Uj Ї Г2Ц2, Х'1_ = ГlUjЇ ГЦ к и Х'2 = Гщ Ї ГіЦ2. В противном случае результатом будет кусок ультраграфа, у которого
Цк/пЬ = Щ Ї и : ^ ї Ці кехЬ& Х-1+ = Х2+ & Х'і- = Хр~} и
щ'ехЬ= щ \ Цк/пЬ
Автор надеется, что читатель сможет самостоятельно распространить эти выкладки на соответсвующие части гиперграфа.
Пример. Определим совпадающие части двух схем, изображенных на рис. 16, а. При представлении схем ультраграфами Нщ и Нщ2, показанными на рис.16, б, результатом операции Нщ (Хі, Ці) £ Нц2 (Х2, и2) будет
кусок ультраграфа Нщк, так как в Нщ образ ребра U2 - Г2^ = {х3, х4}, а в Нщ2 -
Г2U2 = {х3, х4, х5}. Используя приведенные выше формулы, получим следующие множества аналитического представления куска ультраграфа Ник:
Хк = {хі, х2, х3, х4} £ {хі, х2, . ., х5} = {хі, х2, . . ., х4};
и = {Ul, U2, uз} £ {^, U2, U4} = {^, U2}, Ц /пЬ = {^}, ЦкехЬ= {U2};
Г 1Х : Г1х1 = {u1, u2} £ {u1, u2} = {u1, ^, Г1х2 = {u3} £ {u4} = К,
Г 1x3 = { Uз} £ К = К, Г 1x4 = К;
и
Г2XK : Г2Xi = Е, ^X2 = {ui} С {ui} = {ui}, Г^з = {ui, u2} С {ui, u2} = {ui, u2}, ГlX4 ={u2, u3} С {u2, u4}
= {u2};
Г2U< : Г2ul = {x2, x3} С {x2, x3} = {x2, x3}, Г2ul = {x3, x4} С {x3, xs} = {x3, x4};
TiUK : Гі ui = { xi} С {xi} = {xi}, Г2U2 = { xi} С {xi} = {xi};
FiXK : так как Ui^ = {ui, u2}, то Fixi = {{X2, X3} С {X2, X3} Е {X3, X4} С {X3, X4, xs}} = {X3, X4}, так как
U2п + = U3 п + = U4п+ = Е, то Fix2 = Flx3 = Flx4 = Е;
Fi-lX K : так как U^ = Е, то Fi-lxi = Е, U2п = {ui} - Fi-lX2 = {{xi} С {xi}} = {xi}, U3 п = {ui, u2} - Fi
-l^ -
l„, -
lx -
х3 = {{х1> 5 {х1> Ё {х1> 5 {х1>> = {х1>, и4й = {и2> - Я1_1Х4 = {{Х1> 5 {Х1}} = {*1};
Я2Цк : так как Л"1П+ = {х2, хз>, то /7^1 = {{из> 5 {и4> Ё {из> 5 Е> = Е,
Х2п + = {хз, х4> - /2и2 = {{из> 5 Е Ё Е 5 Е> = Е;
Я2"1ик : х1 П- = Х2П- = {х1> и /2-1и1 = Я2"1 и2 = Е.
При описании операций были рассмотрены только два варианта аналитического представления ультра - и гиперграфов: полное и в некоторых примерах неполное - без образов (и прообразов для ультраграфов) вершин и рёбер относительно предикатов смежности. При решении задач структурного синтеза нередко возникает необходимость в получении других видов неполного представления графов, содержащих существенно меньший объем информации по сравнению с полным представлением. Анализируя выражения, приведенные в описаниях выполнения операций, нетрудно сформулировать обозначение операции для других вариантов неполного представления и определить используемые формализмы.
Рассмотрим в качестве примера операцию объединения частей графа. Пусть результатом операции объединения двух кусков ультраграфа Ищк и Иц2к является ультраграф, который необходимо получить в виде Ищ (X, /.Л). В результате анализа содержательно-формального описания операции
Ищ (X, и) = Ищ к (Х1к, и1к) Ё Ищ2 (Х2к, и2к) нетрудно определить, что в качестве исходных данных необходимо задать для куска Нщ1к множества Х1к, и^х Г1X1к, /Л!1* и аналогичные множества для куска Ищ2к. Для получения результата в виде И и (X, FlЛ достаточно выполнить преобразования, описанные в п. п. 1 и 6. Обозначение результата операции должно иметь вид:
Ии (X, = Ищ1к X к, щ кех Г^ к, /1X1к) Ё Ищ2 Xк, и2кехЬ ГlX2K, /1X2к).
Рассмотренные операции применимы к обыкновенным ориентированным и неориентированным графам. Особенности выполнения операций над такими графами связаны с тем, что их ребра инцидентны не более чем двум вершинам , что определяется истинностью условия - " и I и (| Г1 иу| = | Г2и| = 1 для графа и) и - " и I и | Г2и?| = 2, если
Uj не является петлей, и | Г2и?| = 1 в противном случае для графа (X, и). Выражения, описывающие результат выполнения операций над обыкновенными графами, могут быть получены из формул для ультра - и гиперграфов, используя аналитику, приведенную в [1].
Литература
1. Овчинников В.А. Математические модели объектов задач структурного синтеза: Наука и образование. Инженерное образование: Эл. науч. издание. - 2009. - № 4.
2. Овчинников В.А. Операции над ультра- и гиперграфами: Наука и образование. Инженерное образование: Эл. науч. издание. - 2009 - № 10-11.
Публикации с ключевыми словами: математические модели, структурный синтез Публикации со словами: математические модели, структурный синтез Смотри так же:
• Операции над ультра - и гиперграфами для реализации процедур анализа и синтеза структур сложных систем
■ Операции над ультра - и гиперграфами для реализации процедур анализа и синтеза структур сложных систем
(Часть 2)
• Математические модели объектов задач структурного синтеза
Тематические рубрики:
• Наука в образовании: Электронное научное издание
Ассоциация технических Университетов Вузы
Информационное агентство
Координационный совет Новости УМО Вузов
j'" 1 [email protected] телефон (8499) 263-68-67 О Rss Q STACK GROUP
© 2003-2010 «Наука и образование: электронное научно-техническое издание»