7_Verkot
Transcription
7_Verkot
Diskreetit rakenteet 811120P 5 op 7. Verkkoteoria 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) 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 3 Peruskäsitteitä (2) • kaksi verkon G eri väliä e1 ja e2 ovat rinnakkaiset, jos niiden päät ovat samat (eli h(e1)= h(e2)) • verkko G on äärellinen, jos joukot V ja E ovat äärellisiä • solmun x aste: dG(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 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 4 Esimerkki 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 5 Peruskäsitteitä (3) • yksinkertaisen verkon G=(V,E) komplementti on yksinkertainen verkko Gc=(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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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 =(x0,e1,x1,e2,x2, . . . , en,xn) missä n N, x0,x1, . . ., xn V, e1,e2, . . . , en E ja h(ei ) = {xi –1, xi }, kun i = 1,2, . . . ,n . Edellä n on polun pituus, merk. | |. Solmu x0 on polun alkusolmu ja xn sen loppusolmu. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 7 Peruskäsitteitä (5) Polku kulkee solmujen x0,x1, . . . , xn kautta ja se on polku solmusta x0 solmuun xn, merk. : x0 xn Yksinkertaisen verkon G = (V,E) polku voidaan esittää solmujonona (x0,x1, . . . ,xn) missä n N, x0,x1, . . ., xn V, {xi –1, xi } 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 8 Peruskäsitteitä (6) Verkon G=(V,E,h) polku =(x0,e1,x1,e2,x2, . . . , en,xn) on • yksinkertainen, jos x0,x1, . . . ,xn ovat kaikki eri solmuja; • avoin, jos x0 xn ; • suljettu (eli piiri), jos x0 = xn ; • triviaali, jos n = 0; ja • sykli, jos n > 0, x0 = xn ja x0,x1, . . . ,xn –1 ovat kaikki eri solmuja. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 9 Verkkoteorian alku Königsbergin sillat – ongelma. Onko Königsbergissä mahdollista löytää yhtenäinen reitti, jossa kukin silta ylitetään täsmälleen kerran? 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 10 Königsbergin sillat (2) Verkkoteoreettisesti: onko alla olevassa verkossa polkua, jossa kukin väli esiintyy täsmälleen kerran? C A D B 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 11 Verkon matriisiesitys • olkoon G=(V,E,h) äärellinen verkko, jonka solmut ovat x1,x2, . . . , xn (n N +) • verkon G yhteys– eli vierusmatriisi on n n – matriisi MG=(mi j )n n , missä mi j = │{ e E | h(e)= {xi , xj }}│. • yllä matriisi MG on ilman muuta symmetrinen. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 12 Verkkojen isomorfia Verkot G1=(V1,E1,h1) ja G1=(V2,E2,h2) ovat isomorfiset, jos on olemassa sellaiset bijektiot f : V1 V2, ja g : E1 E2 , että h1 (e) = {x,y} jos ja vain jos h2 (g(e)) = {f(x),f(y)} aina, kun e E1 ja x, y V1 Yksinkertaiset verkot G1=(V1,E1) ja G1=(V2,E2) ovat isomorfiset, jos on olemassa sellainen bijektio f : V1 V2, että {f(x),f(y)} E2 jos ja vain jos {x,y} E1 aina, kun x,y V1 . 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 13 Isomorfiset verkot 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 14 Epäisomorfisia verkkoja 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 17 Onko Eulerin polkuja? 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 19 Onko Hamiltonin polkuja? 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 21 Esimerkki puusta ja metsästä 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 22 Virittävät puut Verkko G1=(V1,E1,h1) on verkon G=(V,E,h) aliverkko, jos V1 V , E1 E ja h1(e) = h(e) aina, kun e E1 . 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 23 Verkko T on verkon G viritttävä puu 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 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. 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 25 Valitaan solmu 5 puun T juureksi 2015/2016 Periodi 1 Diskreetit rakenteet Verkkoteoria 26