LO118D Forelesning 10 (DM) Grafteori 03.10.2007
1 Korteste vei 2 Grafrepresentasjoner 3 Isomorfisme 4 Planare grafer
Korteste vei I en vektet graf går det an å finne den veien med lavest total kostnad mellom to noder. Vi antar at vektene er positive og at grafen er sammenhengende. Dijkstras algoritme løser dette problemet.
Dijkstras algoritme Dijkstras algoritme, del 1 Denne algoritmen finner den korteste veien fra node a til node z i en sammenhengende, vektet graf. Vekten til kanten (i, j) er w(i, j) > 0, og merkelappen til node x er L(x). Når algoritmen terminerer er L(z) lengden på den korteste veien fra a til z. Input: En sammenhengende, vektet graf der alle vektene er positive, nodene a og z. Output: L(z), lengden på den korteste veien fra a til z.
Dijkstras algoritme Dijkstras algoritme, del 2 1 dijkstra(w, a, z, L) { 2 L(a) = 0 3 for alle noder x a 4 L(x) = 5 T = mengden/av/alle/noder 6 //T er mengden av noder hvis korteste avstand fra a 7 //ikke er funnet
Dijkstras algoritme Dijkstras algoritme, del 3 8 while (z T ) { 9 velg v T med minst L(v) 10 T = T {v} 11 for hver x T som er nabo med v 12 L(x) = min{l(x), L(v) + w(v, x)} 13 } 14 }
Teorem Teorem 8.4.3 Dijkstras algoritme er korrekt og finner lengden av en korsteste vei fra a til z.
Teorem Teorem 8.4.5 Med input bestående av en n-noders, enkel, sammenhengende, vektet graf er kjøretiden for Dijkstras algoritme i verste tilfelle Θ(n 2 ).
1 Korteste vei 2 Grafrepresentasjoner 3 Isomorfisme 4 Planare grafer
Nabomatrise En graf kan representeres med en nabomatrise. Man starter med å velge en ordning av nodene og merke radene og kolonnene i matrisen med denne ordningen. Elementet i rad i, kolonne j, i j, er antallet kanter insident på i og j. Hvis i = j så er elementet på denne plassen to ganger antallet løkker insident på i.
Antall veier av lengde n Man kan bruke nabomatrisen A til en graf til å finne antallet veier av lengde n. Elementet i, j i A n gir antallet veier fra i til j av lengde n.
Teorem Teorem 8.5.3 Hvis A er nabomatrisen til en enkel graf, er element i, j i A n lik antallet veier av lengde n fra node i til node j, n = 1, 2,....
Insidensmatrise En graf kan også representeres med en insidensmatrise. Man starter med å merke radene med nodene og kolonnene med kantene (i tilfeldig rekkefølge). Element v, e er 1 hvis kant e er insident på node v, 0 ellers.
1 Korteste vei 2 Grafrepresentasjoner 3 Isomorfisme 4 Planare grafer
Isomorfisme Definisjon Grafene G 1 og G 2 er isomorfe hvis: Det finnes en bijeksjon f fra nodene i G 1 til nodene i G 2. Og det finnes en bijeksjon g fra kantene i G 1 til kantene i G 2. Slik at en kant e er insident på v og w i G 1 hvis og bare hvis kanten g(e) er insident på f (v) og f (w) i G 2 Funksjonene f og g kalles en isomorfisme til G 1 og G 2.
Teorem Teorem 8.6.4 Grafene G 1 og G 2 er isomorfe hvis og bare hvis nabomatrisene deres er like for en eller annen ordning.
Korollar Korollar 8.6.5 La G 1 og G 2 være enkle grafer. Da er følgende utsagn ekvivalente: 1 G 1 og G 2 er isomorfe. 2 Det finnes en bijeksjon f fra mengden av noder i G 1 til mengdene av noder i G 2 som oppfyller følgende: Nodene v og w er naboer i G 1 hvis og bare hvis nodene f (v) og f (w) er naboer i G 2.
Invarianter Gitt grafene G 1 og G 2. Hvis G 1 har en egenskap som G 2 ikke har, men som G 2 ville hatt hvis grafene var isomorfe, så kalles den egenskapen en invariant. Eksempler på invarianter er: Antallet noder og kanter Nodenes grad Antall enkle sykler av lengde n Man kan påvise at to grafer ikke er isomorfe ved å finne en invariant grafene ikke deler.
1 Korteste vei 2 Grafrepresentasjoner 3 Isomorfisme 4 Planare grafer
Planar graf Definisjon En graf er planar hvis den kan tegnes i et plan uten at noen kanter krysser hverandre.
Flater En sammenhengende graf deler et plan inn i flater. En flate karakteriseres av sykelen som omkranser den. Vi har følgende formel for flater, noder og kanter: f = e v + 2
Serier og seriereduksjon Definisjon Hvis en graf har en node v av grad 2 og kanter (v, v 1 ) og (v, v 2 ) der v 1 v 2, så sier vi at de to kantene er i serie. Vi utfører en seriereduksjon ved å fjerne noden v og bytte ut kantene (v, v 1 ) og (v, v 2 ) med kanten (v 1, v 2 ).
Homeomorfisme Definisjon Grafene G 1 og G 2 er homeomorfe hvis G 1 og G 2 reduseres til isomorfe grafer ved flere påfølgende seriereduksjoner.
Teorem Teorem 8.7.7 (Kuratowskis teorem) En graf G er planar hvis og bare hvis den ikke har en subgraf som er homeomorfisk med K 5 eller K 3,3.
Teorem Teorem 8.7.9 (Eulers formel for grafer) Hvis G er en sammenhengende, planar graf med e kanter, v noder og f flater, da er f = e v + 2