Tudd Intuíció, előadás, három algoritmus grafikonokon
Kivonat: Az építőiparban a minimális feszítőfa gráf: Kruskal-algoritmus. A probléma a labirintusban, és megtalálni a mélysége egy irányítatlan gráf. Megtaláljuk a legrövidebb utak egy forrásból: Dijkstra algoritmus
Építése a minimális feszítőfa
Sok problémát egy adott gráf kell kiosztani egy részét, amelyek bizonyos tulajdonság.
Definíció 11.1. Graph G1 = (V1, E1) nevezzük részgráfja G = (V, E). if.
Az irányítatlan összefüggő gráfok egyik legérdekesebb osztályok részgráfok fák, megőrizve a kapcsolat a csúcsot. Ezek az úgynevezett magok. feszítőfa. hasított vagy csontvázak grafikonon.
Definíció 11.2. Csontváz (irányítatlan) csatlakoztatott gráf G = (V, E) az úgynevezett részgráfja S = (V, T). egy fa.
Legyen c: E -> R. az egyes él érték (. Tömeg Hosszúság) (R - a valós számok halmaza). Ezután az értéke c (S) fa S definiáljuk értékének összegét az összes széle, azaz a .
A minimális feszítőfa hívják a csontváz egy minimális költség.
Így a minimális feszítőfa - a legolcsóbb (rövid) rendszere utak összeköti a csúcsai G.
Nézzük ismertesse az eljárást építésének minimális feszítőfa. J. javasolt. Kruskal 1956.
Azt bizonyítja, hogy ez az algoritmus helyes.
Tétel 11.1. MinOstov algoritmus konstrukciók legalább csontváz a bemeneti gráf G = (V, E).
Bizonyítás: Legyen az eredménye MinOstov egy G = (V, E) egy olyan grafikon, S = (V, T). Megjegyzés először, hogy S egy fa. Sőt, a hiánya ciklusok meghatározása Ti állítja. Tegyük fel, hogy S nincs csatlakoztatva. Aztán ott kell lennie két csúcs, hogy nem érhetők el egymástól S. De G csatlakozik, így van egy út a u v. Ezután az úton szükségszerűen van egy él, amely össze van kötve az egyik végén egy átmenő u a gráfban S. és a második vég b - nincs. De aztán az i ei éle bejutni Ti. mivel a kívül ezek nem alkot hurkot. Ezért, S csatlakozik grafikon.
Mi most azt mutatják, hogy a fa S van egy minimális költség. Legyen T = 1. dk. dn-1> - sorrendje az élek a T érték.
Megmutatjuk szerinti indukcióval k = 1. (N-1). hogy van egy minimális feszítőfa. tartalmazó bordák D1. dk.
Legyen S '= (V, T'), - minimális csontváz. amelyben a (K-1) legkisebb költség élek egybeesnek élek T. azaz elrendelő valamennyi széle van formájában: T „= 1 = d1. FK-1 = dk-1. fk. Fn-1> és. Hagyja, dk = (u, v). A T „van némi útvonal p u-ból v. amely nem tartalmaz dk szélét. Ily módon óhatatlanul némi éle f = (u „”). Ne nyomja meg a T. egyébként T képezné egy ciklus. Az építési T, hogy a c (dk) <= c(f). Рассмотрим граф . Очевидно, что этот граф является остовным деревом. Действительно, связь между u' и v' сохранилась, так как в S'' имеется путь. . Поэтому S'' - связный граф. Если бы в S'' был цикл, то он обязательно включал бы ребро dk. Но тогда часть этого цикла без ребра dk образовывала бы путь p' между u в v. не совпадающий с путем p. Следовательно, в дереве T' было бы два разных пути между u в v. что невозможно, так как тогда в T' был бы цикл. Отсюда заключаем, что в S'' циклов нет и S'' - остовное дерево. Его стоимость c(S'')= c(S') - c(f) + c(dk ) <= c(S'). Так как S' - минимальный остов. то c(S'')=c(S') и S'' - тоже минимальный остов. у которого с S имеется k общих ребер: d1. dk .
Ezután k = n-1, hogy az S - a minimális feszítőfa.
Példa 11.1. Tekintsük G. betöltött ábrán mutatjuk be. 11.1.