🗊Презентация Двусвязность. (Лекция 7)

Категория: Математика
Нажмите для полного просмотра!
Двусвязность. (Лекция 7), слайд №1Двусвязность. (Лекция 7), слайд №2Двусвязность. (Лекция 7), слайд №3Двусвязность. (Лекция 7), слайд №4Двусвязность. (Лекция 7), слайд №5Двусвязность. (Лекция 7), слайд №6Двусвязность. (Лекция 7), слайд №7Двусвязность. (Лекция 7), слайд №8Двусвязность. (Лекция 7), слайд №9Двусвязность. (Лекция 7), слайд №10Двусвязность. (Лекция 7), слайд №11Двусвязность. (Лекция 7), слайд №12

Вы можете ознакомиться и скачать презентацию на тему Двусвязность. (Лекция 7). Доклад-сообщение содержит 12 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Двусвязность
Лекция 7
Описание слайда:
Двусвязность Лекция 7

Слайд 2





Определения
Пусть G = (V, Е) — связный неориентированный граф. Узел а называют точкой сочленения графа G, если существуют такие узлы v и w, что v, w и а различны и всякий путь между v и w содержит узел а.
 Иначе говоря, а — точка сочленения графа G, если удаление узла a расщепляет G не менее чем на две части. 
Граф G называется двусвязным, если для любой тройки различных узлов v, w, а существует путь между v и w, не содержащий а. 
Таким образом, неориентированный связный граф двусвязен тогда и только тогда, когда в нем нет точек сочленения.
Описание слайда:
Определения Пусть G = (V, Е) — связный неориентированный граф. Узел а называют точкой сочленения графа G, если существуют такие узлы v и w, что v, w и а различны и всякий путь между v и w содержит узел а. Иначе говоря, а — точка сочленения графа G, если удаление узла a расщепляет G не менее чем на две части. Граф G называется двусвязным, если для любой тройки различных узлов v, w, а существует путь между v и w, не содержащий а. Таким образом, неориентированный связный граф двусвязен тогда и только тогда, когда в нем нет точек сочленения.

Слайд 3





Точки сочленения. Пример
Описание слайда:
Точки сочленения. Пример

Слайд 4





Двусвязные компоненты
На множестве ребер графа G можно задать естественное отношение, полагая, что для ребер е1 и e2 выполняется это отношение, если e1= e2 или они лежат на некотором цикле.
 Легко показать, что это отношение является отношением эквивалентности ( R называется отношением эквивалентности на множестве S, если R рефлексивно (aRa для всех а  S), симметрично (из аRb следует bRа для всех а, b  S) и транзитивно (из аRb и bRc следует аRc)), разбивающим множество ребер графа G на такие классы эквивалентности E1, Е2, . . ., Еk, что два различных ребра принадлежат одному и тому же классу тогда и только тогда, когда они лежат на общем цикле. 
Для 1  i  k обозначим через Vi множество узлов, лежащих на ребрах из Ei . Каждый граф Gi = (Vi, Ei) называется двусвязной компонентой графа G.
Описание слайда:
Двусвязные компоненты На множестве ребер графа G можно задать естественное отношение, полагая, что для ребер е1 и e2 выполняется это отношение, если e1= e2 или они лежат на некотором цикле. Легко показать, что это отношение является отношением эквивалентности ( R называется отношением эквивалентности на множестве S, если R рефлексивно (aRa для всех а  S), симметрично (из аRb следует bRа для всех а, b  S) и транзитивно (из аRb и bRc следует аRc)), разбивающим множество ребер графа G на такие классы эквивалентности E1, Е2, . . ., Еk, что два различных ребра принадлежат одному и тому же классу тогда и только тогда, когда они лежат на общем цикле. Для 1  i  k обозначим через Vi множество узлов, лежащих на ребрах из Ei . Каждый граф Gi = (Vi, Ei) называется двусвязной компонентой графа G.

Слайд 5





Двусвязные компоненты. Пример
Описание слайда:
Двусвязные компоненты. Пример

Слайд 6





Лемма 1. 
Пусть Gi=(Vi, Ei) для 1  i  k — двусвязные компоненты связного неориентированного графа G = (V, Е). 
Тогда
1) граф Gi двусвязен для каждого i, 1  i  k;
2) для всех i  j пересечение Vi Vj содержит не более одного узла;
3) а — точка сочленения графа G тогда и только тогда, когда а  Vi Vj для некоторых i  j.
Описание слайда:
Лемма 1. Пусть Gi=(Vi, Ei) для 1  i  k — двусвязные компоненты связного неориентированного графа G = (V, Е). Тогда 1) граф Gi двусвязен для каждого i, 1  i  k; 2) для всех i  j пересечение Vi Vj содержит не более одного узла; 3) а — точка сочленения графа G тогда и только тогда, когда а  Vi Vj для некоторых i  j.

Слайд 7





Лемма 2. 
Пусть G = (V, Е) — связный неориентированный граф, а S=(V, Т) —глубинное остовное дерево для него. Узел а является точкой сочленения графа G тогда и только тогда, когда выполнено одно из условий:
1) а — корень и а имеет более одного сына;
2) а — не корень и для некоторого его сына s нет обратных ребер между потомками узла s (в том числе самим s) и подлинными предками узла а.
Описание слайда:
Лемма 2. Пусть G = (V, Е) — связный неориентированный граф, а S=(V, Т) —глубинное остовное дерево для него. Узел а является точкой сочленения графа G тогда и только тогда, когда выполнено одно из условий: 1) а — корень и а имеет более одного сына; 2) а — не корень и для некоторого его сына s нет обратных ребер между потомками узла s (в том числе самим s) и подлинными предками узла а.

Слайд 8





Нахождение двусвязных компонент и точек сочленения методом поиска в глубину
Для всех вершин v вычисляются числа dfnumber[v]. Они фиксируют последовательность обхода вершин глубинного остовного дерева в прямом порядке.
Для каждой вершины v вычисляется число
				 dfnumber[v]; 	
 	low[v] = min	 dfnumber[z], (v, z) – обратное ребро;
				 low[x], x – потомок v.
3. Точки сочленения определяются следующим образом:
корень остовного дерева будет точкой сочленения тогда и только тогда, когда он имеет двух и более сыновей;
вершина v, отличная от корня, будет точкой сочленения тогда и только тогда, когда имеет такого сына w, что
			 low[w] ≥ dfnumber [v].
Описание слайда:
Нахождение двусвязных компонент и точек сочленения методом поиска в глубину Для всех вершин v вычисляются числа dfnumber[v]. Они фиксируют последовательность обхода вершин глубинного остовного дерева в прямом порядке. Для каждой вершины v вычисляется число dfnumber[v]; low[v] = min dfnumber[z], (v, z) – обратное ребро; low[x], x – потомок v. 3. Точки сочленения определяются следующим образом: корень остовного дерева будет точкой сочленения тогда и только тогда, когда он имеет двух и более сыновей; вершина v, отличная от корня, будет точкой сочленения тогда и только тогда, когда имеет такого сына w, что low[w] ≥ dfnumber [v].

Слайд 9





Алгоритм нахождения двусвязных компонент и точек сочленения
Вход. Связный неориентированный граф G= (V, Е).  

Выход. Список ребер каждой двусвязной компоненты графа G. 

Метод.
 Вначале полагаем Т= и СЧЕТ=1. Помечаем каждый узел в V как "белый", выбираем произвольный узел v0 в V, отец[v0] = 0 и вызываем Поиск_дк(v0), чтобы построить глубинное остовное дерево S= (V,Т) и вычислить low[v] для каждого v из V.
Описание слайда:
Алгоритм нахождения двусвязных компонент и точек сочленения Вход. Связный неориентированный граф G= (V, Е). Выход. Список ребер каждой двусвязной компоненты графа G. Метод. Вначале полагаем Т= и СЧЕТ=1. Помечаем каждый узел в V как "белый", выбираем произвольный узел v0 в V, отец[v0] = 0 и вызываем Поиск_дк(v0), чтобы построить глубинное остовное дерево S= (V,Т) и вычислить low[v] для каждого v из V.

Слайд 10





Процедура Поиск_дк(v)
Поиск_дк(v)
{	цвет [v] ← серый;     dfnumber[v]  СЧЕТ;   СЧЕТ  СЧЕТ+1;	
	low[v]  dfnumber[v] ;
	для  w  смежные(v)  выполнить
	{      	если (цвет[w] = белый) то
		{      поместить  (v, w) в СТЕК;    добавить (v, w) к Т;     отец [w] ← v;
		        Поиск_дк (w);
 		        если low[w]  dfnumber[v]  то
		        { 	обнаружена двусвязная компонента:
 			вытолкнуть из СТЕКа все ребра вплоть до ребра (v, w) ;
		        }
		        low[v] ←  min ( low[v], low[w]);
		}
		иначе 
		        если (w ≠ отец[v]) то  
		       {	если (dfnumber[w] < dfnumber[v] ) то 					{    поместить  (v, w) в СТЕК;
			     low[v] ← min ( low[v], dfnumber[w] ) }
		        }
	}
	 цвет[v] ← чёрный; 
}
Описание слайда:
Процедура Поиск_дк(v) Поиск_дк(v) { цвет [v] ← серый; dfnumber[v]  СЧЕТ; СЧЕТ  СЧЕТ+1; low[v]  dfnumber[v] ; для  w  смежные(v) выполнить {    если (цвет[w] = белый) то { поместить (v, w) в СТЕК; добавить (v, w) к Т; отец [w] ← v; Поиск_дк (w); если low[w]  dfnumber[v] то { обнаружена двусвязная компонента: вытолкнуть из СТЕКа все ребра вплоть до ребра (v, w) ; } low[v] ← min ( low[v], low[w]); } иначе если (w ≠ отец[v]) то { если (dfnumber[w] < dfnumber[v] ) то { поместить (v, w) в СТЕК; low[v] ← min ( low[v], dfnumber[w] ) } } } цвет[v] ← чёрный; }

Слайд 11





Пример
Описание слайда:
Пример

Слайд 12





Теорема
Алгоритм правильно находит двусвязные компоненты графа G с e ребрами и тратит на это время О(е).
Описание слайда:
Теорема Алгоритм правильно находит двусвязные компоненты графа G с e ребрами и тратит на это время О(е).



Похожие презентации
Mypresentation.ru
Загрузить презентацию