Свързаност в графики
Съдържание
1 Основни определения
Нека е дадена (насочена или ненасочена) графика [math]G = (V, E)[/math]. The sequence [math]P(u, v)[/math] of edges [math]e_1 = (u, w_1)[/math] , [math]e_2 = (w_1, w_2)[/math] , …, [math]e_k = (w_, v)[/math] is called apathfrom [math]u[/math] to [math]v[/math] . В този случай [math]v[/math]е достъпенот [math]u[/math] . Смята се, че празен път [math]P(u, u)[/math] води от върха [math]u[/math] до себе си, тоест всеки връх е достижим от себе си. Непразният път [math]P(u, u)[/math] се наричацикъл(затворено преминаване).
Неориентиранграф есвързан, ако всички негови върхове са достижими от някакъв връх (еквивалентно, от всеки от неговите върхове).
Ориентиранаграфа се нарича
- слабо свързанако съответният неориентиран граф е свързан;
- силно свързанако някой [math]v[/math] връх е достъпен от всеки друг [math]v[/math] връх.
Свързаният компонентна неориентиран граф е максимален (по отношение на включването) свързан подграф.
Силно свързан компонентна насочен граф е силно свързан подграф, който е максимален по отношение на включването. С други думи, това е подграф, всеки два от чиито върхове принадлежат на някакъв цикъл и съдържа всички такива цикли за своите върхове.
Моств графика е ребро, чието премахване увеличава броя на свързаните компоненти.
Пантав графа е връх, премахването на който увеличава броя на свързаните компоненти.
За свързан граф се казва, че евърх-[math]k[/math]-свързан(или просто [math]k[/math]-свързан), акоима повече от [math]k[/math] върха и след премахване на всички [math]k-1[/math] от тях остава свързан. Максималният такъв брой [math]k[/math] се наричавърхова свързаност(или простосвързаност) на графиката. 1-свързан граф се нарича свързан, 2-свързан граф се нарича двойно свързан.
Казва се, че свързан график еedge-[math]k[/math]-свързан, ако остане свързан след премахване на всички [math]k-1[/math] ребра. Максималното такова число [math]k[/math] се наричакрайна свързаностна графиката.
Двусвързаният компонентна граф е максимален (по отношение на включването) двойносвързан подграф.
2 свойства
Еквивалентни дефиниции на свързан компонент:
- всички върхове, достижими от всеки избран връх;
- набор от върхове, които са достижими един от друг и не са достижими от други върхове.
Релацията „върхът [math]v[/math] е достижим от върха [math]u[/math] ” е релация на еквивалентност. По този начин търсенето на свързани компоненти на графа е същото като възстановяването на пълна релация на еквивалентност за неговата част.
Алтернативни определения за мост:
- ръбът е мост, ако не участва в никакъв цикъл;
- Ребро [math]e[/math] е мост, ако съществува двойка върхове [math](u, v)[/math] от един и същ свързан компонент, всеки път [math]P(u, v)[/math] между които минава през ръба [math]e[/math] .
Панта разделя двойно свързаните компоненти (ако два двойно свързани компонента имат общ връх, тогава това е шарнир).
Всеки от върховете на моста е шарнир (освен когато мостът е единственият ръб на този връх).
Силно свързан компонент е обединението на всички цикли, минаващи през неговите върхове.
3 Алгоритми
Компонентите за свързване могат да бъдат намерени:
- последователно прилагане на алгоритъма за търсене в ширина във времето [math]O(m)[/math] ;
- използване на система от несвързани множества[1] във времето [math]O(m \alpha(m, n))[/math] , с възможност за ефективна многопоточна реализация [2] ;
- паралелен алгоритъм на Shiloah-Vishkin[3] във времето [math]O(\ln n)[/math] на [math]n + 2m[/math] процесори.
Силно свързани компоненти могат да бъдат намерени:
Мостовете могат да бъдат намерени:
- чрез алгоритъма[8] на Тарян (по време на търсене в дълбочина) във времето [math]O(m)[/math] ;
- паралелен алгоритъм на Тарян-Вишкин[9] във времето [math]O(\ln n)[/math] на [math]O(m + n)[/math] процесори;
- Онлайн алгоритъм на Уестбрук-Тарян [10] във времето [math]O(m \alpha(m, n))[/math] .
Компонентите за двусвързаност могат да бъдат намерени:
- чрез алгоритъма на Тарян[4] (по време на търсене в дълбочина) във времето [math]O(m)[/math] (алгоритъмът намира и съответните панти);
- паралелен алгоритъм на Тарян-Вишкин[11] във времето [math]O(\ln n)[/math] на [math]O(m + n)[/math] процесори (алгоритъмът може също да намира мостове);
- Онлайн алгоритъм на Уестбрук-Тарян [10] във времето [math]O(m \alpha(m, n))[/math] .
Свързването на ръба на графика може да бъде намерено чрез алгоритъма на Габов [13] във времето [math]O(k m \ln (n^2/m))[/math] за насочен график и [math]O(m + k^2 n \ln (n/k))[/math] за неориентиран график. Проверката на свойството [math]k[/math] -свързване чрез същия алгоритъм може да се направи за време [math]O(m + n \ln n)[/math] .