Diskreetit rakenteet 811120P 5 op 7. Oulun yliopisto Tietojenkäsittelytieteiden laitos 2015 / 2016 Periodi 1
Mikä on verkko? verkko (eli graafi) koostuu solmuista ja väleistä, jotka yhdistävät solmuja verkko on abstraktio, jonka avulla voidaan kuvata objekteja ja niiden välisiä suhteita tietokoneverkossa solmut edustavat isäntäkoneita ja välit koneiden välisiä yhteyksiä symmetrinen binaarirelaatio voidaan esittää graafina (ja kääntäen) jokainen binäärirelaatio voidaan esittää ns. suunnattuna verkkona (ja kääntäen) 2
Peruskäsitteitä Verkko (eli graafi) on järjestetty kolmikko G=(V,E,h), missä V ja E ovat joukkoja, V, ja h on funktio: E P(V), missä kullakin e E on voimassa joko h(e) =1 tai h(e) = 2. V :n alkiot: G:n solmut E :n alkiot: G:n välit olkoot e E ja h(e)= {x,y}; tällöin x ja y ovat välin e päät; jos edellä x y ovat solmut x ja y toistensa naapureita; jos taas x = y, on väli e silmukka 3
Peruskäsitteitä (2) kaksi verkon G eri väliä e 1 ja e 2 ovat rinnakkaiset, jos niiden päät ovat samat (eli h(e 1 )= h(e 2 )) verkko G on äärellinen, jos joukot V ja E ovat äärellisiä solmun x aste: d G (x)= {e E h(e)= {x,y}, x y } +2 {e E h(e)= {x} } verkko on yksinkertainen, jos siinä ei ole silmukoita eikä rinnakkaisia välejä yksinkertainen verkko kirjoitetaan G=(V,E), missä kukin väli e on muotoa {x,y} ja x y 4
Esimerkki 5
Peruskäsitteitä (3) yksinkertaisen verkon G=(V,E) komplementti on yksinkertainen verkko G c =(V,E ), missä E = {{x,y} x,y V ja x y ja {x,y} E } Lause 1. Äärellisessä verkossa solmujen asteiden summa on kaksi kertaa välien lukumäärä. Korollaario. Äärellisesä verkossa on paritonasteisten solmujen lukumäärä parillinen. 6
Peruskäsitteitä (4) yksinkertainen verkko G=(V,E) on täydellinen, jos {x,y} verkon G väli aina, kun x,y V ja x y Verkon G=(V,E,h) polku on mikä tahansa jono =(x 0,e 1,x 1,e 2,x 2,..., e n,x n ) missä n N, x 0,x 1,..., x n V, e 1,e 2,..., e n E ja h(e i ) = {x i 1, x i }, kun i = 1,2,...,n. Edellä n on polun pituus, merk.. Solmu x 0 on polun alkusolmu ja x n sen loppusolmu. 7
Peruskäsitteitä (5) Polku kulkee solmujen x 0,x 1,..., x n kautta ja se on polku solmusta x 0 solmuun x n, merk. : x 0 x n Yksinkertaisen verkon G = (V,E) polku voidaan esittää solmujonona (x 0,x 1,...,x n ) missä n N, x 0,x 1,..., x n V, {x i 1, x i } E, kun i = 1,2,...,n. Verkko G on yhtenäinen, jos jokaisella G :n solmuparilla x,y on olemassa polku solmusta x solmuun y. 8
Peruskäsitteitä (6) Verkon G=(V,E,h) polku =(x 0,e 1,x 1,e 2,x 2,..., e n,x n ) on yksinkertainen, jos x 0,x 1,...,x n ovat kaikki eri solmuja; avoin, jos x 0 x n ; suljettu (eli piiri), jos x 0 = x n ; triviaali, jos n = 0; ja sykli, jos n > 0, x 0 = x n ja x 0,x 1,...,x n 1 ovat kaikki eri solmuja. 9
n alku Königsbergin sillat ongelma. Onko Königsbergissä mahdollista löytää yhtenäinen reitti, jossa kukin silta ylitetään täsmälleen kerran? 10
Königsbergin sillat (2) Verkkoteoreettisesti: onko alla olevassa verkossa polkua, jossa kukin väli esiintyy täsmälleen kerran? C A D B 11
Verkon matriisiesitys olkoon G=(V,E,h) äärellinen verkko, jonka solmut ovat x 1,x 2,..., x n (n N + ) verkon G yhteys eli vierusmatriisi on n n matriisi M G =(m i j ) n n, missä m i j = { e E h(e)= {x i, x j }}. yllä matriisi M G on ilman muuta symmetrinen. 12
Verkkojen isomorfia Verkot G 1 =(V 1,E 1,h 1 ) ja G 1 =(V 2,E 2,h 2 ) ovat isomorfiset, jos on olemassa sellaiset bijektiot f : V 1 V 2, ja g : E 1 E 2, että h 1 (e) = {x,y} jos ja vain jos h 2 (g(e)) = {f(x),f(y)} aina, kun e E 1 ja x, y V 1 Yksinkertaiset verkot G 1 =(V 1,E 1 ) ja G 1 =(V 2,E 2 ) ovat isomorfiset, jos on olemassa sellainen bijektio f : V 1 V 2, että {f(x),f(y)} E 2 jos ja vain jos {x,y} E 1 aina, kun x,y V 1. 13
Isomorfiset verkot 14
Epäisomorfisia verkkoja 15
Eulerin polut Verkon G polku on Eulerin polku, jos se kulkee verkon jokaisen solmun kautta ja verkon jokainen väli esiintyy polussa täsmälleen kerran. Eulerin polku voi olla avoin (polun alku- ja loppusolmu ovat eri solmuja) tai sujettu (polun alkusolmu on myös sen loppusolmu). Suljettua Eulerin polkua kutsutaan myös Eulerin piiriksi. 16
Eulerin polut (2) Lause 2. Äärellisessä verkossa G on Eulerin piiri jos ja vain jos G on yhtenäinen ja sen jokaisen solmun aste on parillinen. Lause 3. Äärellisessä verkossa G on avoin Eulerin polku jos ja vain jos G on yhtenäinen ja siinä on täsmälleen kaksi paritonasteista solmua. Jos G:ssä on avoin Eulerin polku, sen kaksi paritonasteista solmua muodostavat G:n (kaikkien) Eulerin polkujen päät. 17
Onko Eulerin polkuja? 18
Hamiltonin polut Verkon G polku on Hamiltonin polku, jos se on joko yksinkertainen tai sykli ja kulkee G:n jokaisen solmun kautta. Hamiltonin polkua, joka on sykli, kutsutaan Hamiltonin piiriksi. Oletetaan, että verkossa G on Hamiltonin polku. Koska Hamiltonin polku kulkee kaikkien verkon solmujen kautta, on verkko G yhtenäinen ja sen solmujoukko äärellinen. 19
Onko Hamiltonin polkuja? 20
Puut Verkko G on metsä, jos se on syklitön. Jos metsä on yhtenäinen, se on puu. Siten puu on syklitön ja yhtenäinen verkko. Huom. Jokainen metsä (ja siten myös puu) on aina yksinkertainen verkko. 21
Esimerkki puusta ja metsästä 22
Virittävät puut Verkko G 1 =(V 1,E 1,h 1 ) on verkon G=(V,E,h) aliverkko, jos V 1 V, E 1 E ja h 1 (e) = h(e) aina, kun e E 1. Olkoon nyt G äärellinen verkko. Verkon G aliverkko T on G :n virittävä puu mikäli T on puu ja sen solmujoukko muodostuu kaikista G :n solmuista. 23
Verkko T on verkon G viritttävä puu 24
Juurelliset puut Olkoon nyt T äärellinen puu, siis äärellinen verkko, joka on puu. Voimme tällöin nimetä minkä tahansa T :n solmun juureksi ja esittää T :n graafisesti siten, että T :n juuri asetetaan ylimmälle tasolle, seuraavalle tasolle alaspäin asetetaan ne solmut, joiden etäisyys juuresta on yksi ja näin jatketaan alaspäin. Alimmille tasoille tulevat puun lehdet. Huomattakoon, että kaikki lehdet eivät ole välttämättä samalla etäisyydellä juuresta. 25
Valitaan solmu 5 puun T juureksi 26