Вершинная, рёберная связность, связь между ними и минимальной степенью вершины — различия между версиями
Free0u (обсуждение | вклад) (→Нахождение реберной связности) |
Free0u (обсуждение | вклад) (→Псевдокод алгоритма:) |
||
Строка 48: | Строка 48: | ||
Он и будет равен количеству путей. Действительно, если провести декомпозицию потока, то получим набор реберно непересекающихся путей из s в t, по которым поток неотрицателен и равен 1 (т.к. пропускная способность всех ребер равна 1). А значит, если поток равен <tex>flow</tex>, то и количество путей равно <tex>flow</tex>. | Он и будет равен количеству путей. Действительно, если провести декомпозицию потока, то получим набор реберно непересекающихся путей из s в t, по которым поток неотрицателен и равен 1 (т.к. пропускная способность всех ребер равна 1). А значит, если поток равен <tex>flow</tex>, то и количество путей равно <tex>flow</tex>. | ||
− | === Псевдокод алгоритма | + | ==== Псевдокод алгоритма ==== |
ans = INF | ans = INF | ||
for <tex>(s, t) \in E:</tex> | for <tex>(s, t) \in E:</tex> |
Версия 17:04, 22 декабря 2012
Содержание
Определения
Определение: |
Вершинной связностью | графа называется наименьшее число вершин, удаление которых приводит к несвязному или тривиальному графу.
Определение: |
Реберной связностью | графа называется наименьшее количество ребер, удаление которых приводит к несвязному или тривиальному графу.
Связь между вершинной, реберной связностью и минимальной степенью вершины
Пускай минимальная степень вершины графа
обозначается буквой . Тогда:Теорема: |
Для любого графа справедливо следующее неравенство: |
Доказательство: |
|
Теорема: |
Для любых натуральных чисел , таких что , существует граф , у которого и |
Доказательство: |
Рассмотрим граф , являющийся объединением двух полных графов и , содержащих вершину. Отметим вершин, принадлежащих подграфу и вершин, принадлежащих подграфу . Добавим в граф ребер так, чтобы каждое ребро было инцидентно помеченной вершине, лежащей в подграфе и помеченной вершине, лежащей в подграфе , причем не осталось ни одной помеченной вершины, у которой не появилось хотя бы одно новое ребро, инцидентное ей. Тогда:
|
Нахождение реберной связности
Для нахождения реберной связности воспользуемся следующей теоремой:
Теорема (Теорема Менгера для | -реберной связности):
Пусть - конечный, неориентированный граф, для всех пар вершин существует реберно непересекающихся путей из в . |
Алгоритм следует непосредственно из теоремы. Нужно перебрать все пары вершин s и t, найти количество непересекающихся путей из s в t и выбрать минимум.
Для нахождения количества непересекающихся путей из s в t воспользуемся алгоритмом нахождения максимального потока. Сопоставим каждому ребру пропускную способность, равную 1 и найдем максимальный поток. Он и будет равен количеству путей. Действительно, если провести декомпозицию потока, то получим набор реберно непересекающихся путей из s в t, по которым поток неотрицателен и равен 1 (т.к. пропускная способность всех ребер равна 1). А значит, если поток равен
, то и количество путей равно .Псевдокод алгоритма
ans = INF
for
flow = find_flow(s, t)
ans = min(ans, flow)
Нахождение вершинной связности
Литература
- Харари Ф. Теория графов: Пер. с англ. / Предисл. В. П. Козырева; Под ред. Г.П.Гаврилова. Изд. 4-е. — М.: Книжный дом "ЛИБРОКОМ", 2009. — 60 с.