GRAAFITEORIAA Pertti Koivisto { Riitta Niemisto¨ Esipuhe T(cid:228)m(cid:228)n monisteen tarkoituksena on tutustuttaa lukija graa(cid:28)teorian perusk(cid:228)sit- teisiin ja -tuloksiin. Vaikka algoritminen graa(cid:28)teoria on tietokoneiden laskentate- hon kasvun my(cid:246)t(cid:228) tullut yh(cid:228) merkitt(cid:228)v(cid:228)mm(cid:228)ksi, p(cid:228)(cid:228)paino t(cid:228)ss(cid:228) monisteessa on kuitenkin perinteisell(cid:228) graa(cid:28)teorialla. Moniste siis sis(cid:228)lt(cid:228)(cid:228) huomattavan m(cid:228)(cid:228)r(cid:228)n lauseita ja niiden todistuksia. Algoritmista graa(cid:28)teoriaa k(cid:228)siteell(cid:228)(cid:228)n vain lyhyes- ti. Monisteen keskeisin(cid:228) l(cid:228)htein(cid:228) ovet olleet Thulasiramanin ja Swamyn [17] sek(cid:228) Rosenin [15] kirjat. Muita kirjallisuusluettelossa mainittuja teoksia on k(cid:228)ytetty tukemaan edell(cid:228) mainittuja l(cid:228)hteit(cid:228). Monisteen aiempia versiota on k(cid:228)ytetty Tampereen yliopiston matematiikan opiskelijoillepidetyill(cid:228)aineopintojentasoisillagraa(cid:28)teoriankursseilla.Esitietoina kursseilla on edellytetty diskreetin matematiikan perustietoja (esimerkiksi Meri- koski, Virtanen & Koivisto [13]). Monisteen teknisest(cid:228) toimitusty(cid:246)st(cid:228) haluamme kiitt(cid:228)(cid:228) Heikki Rantalaihoa ja Helmi Untista. Tampereella kes(cid:228)kuussa 2001 Pertti Koivisto Riitta Niemist(cid:246) Sis(cid:228)lt(cid:246) Esipuhe ii Symbolit v 1 Perusk(cid:228)sitteit(cid:228) 1 1.1 M(cid:228)(cid:228)ritelmi(cid:228) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Esimerkkej(cid:228) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Terminologiaa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Joitakin erikoisia yksinkertaisia graafeja . . . . . . . . . . . . . . 10 1.5 Aligraa(cid:28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.6 Komplementtigraa(cid:28) . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7 Graa(cid:28)operaatioita . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.8 Graa(cid:28)en esitt(cid:228)minen matriisien avulla . . . . . . . . . . . . . . . 20 1.9 Isomor(cid:28)suus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2 Yhten(cid:228)isyys 24 2.1 Polku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2 Lyhin painotettu polku . . . . . . . . . . . . . . . . . . . . . . . . 30 2.3 Yhten(cid:228)inen graa(cid:28) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.4 Komponentti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.5 Aste ja nulliteetti . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.6 Irrotussolmu ja lohko . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.7 Irrotus ja irrotusjoukko . . . . . . . . . . . . . . . . . . . . . . . . 42 2.8 Yhten(cid:228)isyysaste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.9 S(cid:228)rm(cid:228)yhten(cid:228)isyys . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.10 Mengerin lause . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3 Puut 60 3.1 Puu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2 Viritt(cid:228)v(cid:228) puu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.3 Viritt(cid:228)v(cid:228)n puun konstruointi . . . . . . . . . . . . . . . . . . . . . 66 iii SIS˜LT(cid:214) iv 3.4 Minimaalinen viritt(cid:228)v(cid:228) puu . . . . . . . . . . . . . . . . . . . . . 69 3.5 Mets(cid:228) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.6 Silmukka ja irrotusjoukko . . . . . . . . . . . . . . . . . . . . . . 74 3.7 Perussilmukka ja perusirrotusjoukko . . . . . . . . . . . . . . . . . 76 3.8 Graa(cid:28)n vektoriavaruus . . . . . . . . . . . . . . . . . . . . . . . . 79 4 Erilaisia graafeja 83 4.1 Eulerin graa(cid:28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.2 Hamiltonin graa(cid:28) . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.3 Tasograa(cid:28) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.4 Graa(cid:28)n v(cid:228)ritt(cid:228)minen . . . . . . . . . . . . . . . . . . . . . . . . . 94 5 Juurelliset puut 97 5.1 Juurellinen puu . . .m. . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2 Bin(cid:228)(cid:228)ripuut ja muut -puut . . . . . . . . . . . . . . . . . . . . . 102 5.3 Juurellisen puun l(cid:228)pik(cid:228)ynti . . . . . . . . . . . . . . . . . . . . . . 106 5.4 Aritmeettisten lausekkeiden esitysmuotoja . . . . . . . . . . . . . 108 Kirjallisuutta 111 Hakemisto 113 Symbolit Symboli Selitys Sivu (cid:14)((cid:1)) (cid:20)((cid:1)) minimiaste 8 (cid:20)0((cid:1)) solmuyhten(cid:228)isyysaste 47 (cid:22)((cid:1)) s(cid:228)rm(cid:228)yhten(cid:228)isyysaste 55 (cid:26)((cid:1)) nulliteetti 36 (cid:31)((cid:1)) graa(cid:28)n aste 36 (cid:1)((cid:1)) v(cid:228)riluku 94 deg((cid:1)) maksimiaste 8 deg+((cid:1)) solmun tai alueen aste 7, 90 deg−((cid:1)) solmun l(cid:228)ht(cid:246)aste 9 r(m;n) solmun tuloaste 9 w((cid:1)) Ramsayn luku 16 C paino 4 n H silmukka 11 k;n K Hararyn graa(cid:28) 52 m;n K t(cid:228)ydellinen kaksijakoinen graa(cid:28) 11 n W t(cid:228)ydellinen graa(cid:28) 10 n W py(cid:246)r(cid:228) 11 C W silmukka-avaruus 79 S irrotusavaruus 80 Luku 1 Perusk(cid:228)sitteit(cid:228) Aluksi m(cid:228)(cid:228)rittelemme muutamia perusk(cid:228)sitteit(cid:228). On syyt(cid:228) huomata, ett(cid:228) graa(cid:28)- teorian terminologiassa on kirjallisuudessa paljon kirjavuutta. T(cid:228)ss(cid:228) monisteessa k(cid:228)ytetyt m(cid:228)(cid:228)ritelm(cid:228)t ja termit eiv(cid:228)t v(cid:228)ltt(cid:228)m(cid:228)tt(cid:228) ole aivan samat kuin jossain muussa esityksess(cid:228). Esimerkiksi jo pelkk(cid:228) graa(cid:28)n k(cid:228)site voidaan m(cid:228)(cid:228)ritell(cid:228) (ja my(cid:246)s m(cid:228)(cid:228)ritell(cid:228)(cid:228)n) hyvinkin monella toisistaan eroavalla tavalla. Keskeisimm(cid:228)t k(cid:228)sitteetonannettumy(cid:246)senglanniksi,jottakirjallisuuteentutustuminenolisihel- pompaa.Onkuitenkinmuistettava,ett(cid:228)my(cid:246)senglanninkielisess(cid:228)terminologiassa on kirjavuutta. 1.1 M(cid:228)(cid:228)ritelmi(cid:228) G (V;E) VM(cid:228)6=(cid:228)r;itelm(cid:228) 1.1. YksinkertainEen graa(cid:28) (simple graph) on pari , miss(cid:228) fu;vg on (cid:228)(cid:228)ure;lvlin2enV jouu6=kkov ja onV(cid:228)(cid:228)rellinen joukko j(cid:228)rjest(cid:228)m(cid:228)tt(cid:246)mi(cid:228) pareja , miss(cid:228) , . JoEukon alkioita sanotaan solmuiksi (vertex, mon. vertices) tai pisteiksi ja joukon alkioita s(cid:228)rmiksi (edge) tai viivoiksi. Yksisolmuista yksinkertaista graa(cid:28)a sanotaan triviaaliksi graa(cid:28)ksi (trivial graph). Yksinkertaisen graa(cid:28)n m(cid:228)(cid:228)ritelm(cid:228)st(cid:228) seuraa, ett(cid:228) triviaalissa graa(cid:28)ssa ei oleyht(cid:228)(cid:228)ns(cid:228)rm(cid:228)(cid:228)(ks.kuva1.1).Joissakinkirjoissamy(cid:246)snollagraa(cid:28)a(null graph) G : G : 1 2 v v 1 2 v v v 3 4 G = (fvg;;) G = (fv ;v ;v ;v g; 1 2 1 2 3 4 Kffuvv;av1g.;1f.vT;rviviga;aflvi g;rvaag(cid:28);fv ;v gg) ja yksinkertainen graa(cid:28) 1 2 1 3 2 3 3 4 . 1 LUKU 1. PERUSK˜SITTEIT˜ 2 (;;;) eli paria pidet(cid:228)(cid:228)n graa(cid:28)na. T(cid:228)ss(cid:228) monisteessa nollagraa(cid:28) ei ole graa(cid:28) (ellei erikseen toisin mainita). Joskus on tarkoituksenmukaista tarkastella graafeja alkeellisemmin, esimer- kiksi kuvion avulla (ks. esimerkiksi kuva 1.1). T(cid:228)ll(cid:246)in esimerkiksi yksinkertainen graa(cid:28) voidaan m(cid:228)(cid:228)ritell(cid:228) seuraavalla m(cid:228)(cid:228)ritelm(cid:228)n 1.1 kanssa yht(cid:228)pit(cid:228)v(cid:228)ll(cid:228) taval- la. M(cid:228)(cid:228)ritelm(cid:228) 1.2. Yksinkertainen graa(cid:28) koostuu solmuista ja niit(cid:228) yhdist(cid:228)vist(cid:228) s(cid:228)rmist(cid:228), miss(cid:228) 1. kahden eri solmun v(cid:228)lill(cid:228) voi olla korkeintaan yksi s(cid:228)rm(cid:228), 2. solmusta ei voi olla s(cid:228)rm(cid:228)(cid:228) solmuun itseens(cid:228). M(cid:228)(cid:228)ritelm(cid:228) 1.3. Multigraa(cid:28)(multigraph)on yksinkertaisengraa(cid:28)nyleistys,jos- sa kahden eri solmun v(cid:228)lill(cid:228) voi olla useita ((cid:228)(cid:228)rellinen m(cid:228)(cid:228)r(cid:228)) s(cid:228)rmi(cid:228). v 1 e e 1 2 v2 e v3 3 (V;E) V = fv ;v ;v g E = fe ;e ;e g 1 2 3 1 2 3 Kuva 1.2. Multigraa(cid:28) , miss(cid:228) ja . Vaikka edell(cid:228) oleva multigraa(cid:28)n m(cid:228)(cid:228)rittely tuntuu luonnolliselta, m(cid:228)(cid:228)ritel- m(cid:228)ss(cid:228) on tiettyj(cid:228) ongelmia. Multigraa(cid:28) voidaan nimitt(cid:228)in m(cid:228)(cid:228)ritell(cid:228) kahdella toisistaan poikkeavalla tavalla. Ensiksikin voidaan ajatella, ett(cid:228) kun meill(cid:228) on moninkertainen s(cid:228)rm(cid:228), niin itse asiassa t(cid:228)ll(cid:246)(inV;vEa)in sama Vs(cid:228)rm(cid:228) esiintyy useamman kerran. Multigraa(cid:28) on t(cid:228)ll(cid:246)in Esiis pari V , miss(cid:228) on (cid:228)(cid:228)rellinen ep(cid:228)tyfhuj(cid:228);vsgol(muu6=jovu)kko ja s(cid:228)rm(cid:228)- joukko on joukon j(cid:228)rjest(cid:228)m(cid:228)tt(cid:246)mien pisteparien muodostama multijoukko (multiset). S(cid:228)rm(cid:228)n kertaluku ilmoittaa, kuinka monta kertaa s(cid:228)rm(cid:228) kuuluu multijoukkoon. Joissakin tilanteissa t(cid:228)m(cid:228) on hyvinkin j(cid:228)rkev(cid:228) tulkinta multijoukolle. Tulkintaa k(cid:228)ytt(cid:228)v(cid:228)t esimerkiksi Ruohonen [16] ja Wilson [21]. Toisaalta voidaan ajatella, ett(cid:228) kun meill(cid:228) on moninkertainen s(cid:228)rm(e(cid:228);,fum;evigll)(cid:228) on useita eri(Vs(cid:228);rEm)i(cid:228). T(cid:228)ll(cid:246)in s(cid:228)rm(cid:228) on siis itse asiassa j(cid:228)rjestetty pari V . Multigraa(cid:28) muodoEstuu nyt (cid:228)(cid:228)rellisest(cid:228) ep(cid:228)tyhj(cid:228)st(cid:228) solmujoukosta , (cid:228)(cid:228)- rellisest(cid:228) s(cid:228)rm(cid:228)joukosta ja funktiosta f:E ! ffu;vgj u;v 2 V;u 6= vg: LUKU 1. PERUSK˜SITTEIT˜ 3 f(e ) = f(e ) e e 1 2 1 2 Jos , s(cid:228)rm(cid:228)t ja ovat rinnakkaisia (parallel). T(cid:228)m(cid:228)kin tulkinta on joissakin tilanteissa luonnollinen. Tulkintaa k(cid:228)ytt(cid:228)v(cid:228)t esimerkiksi Rosen [15] sek(cid:228) Thulasiraman ja Swamy [17]. Edell(cid:228) esitetyt m(cid:228)(cid:228)rittelytavat johtavat joissakin tapauksissa my(cid:246)s eri tulok- siin. Esimerkiksi multigraa(cid:28)en leikkaus (ks. m(cid:228)(cid:228)ritelm(cid:228) 1.32, s. 17) riippuu olen- naisesti siit(cid:228), kumpaa m(cid:228)(cid:228)rittelytapaa k(cid:228)ytet(cid:228)(cid:228)n. T(cid:228)ss(cid:228) monisteessa pyrit(cid:228)(cid:228)n kuitenkin v(cid:228)ltt(cid:228)m(cid:228)(cid:228)n tilanteita, joissa m(cid:228)(cid:228)rittelytapojen eroista voi aiheutua se- kaannusta. Jos kuitenkin ep(cid:228)selvyytt(cid:228) esiintyy, k(cid:228)ytet(cid:228)(cid:228)n j(cid:228)lkimm(cid:228)ist(cid:228)m(cid:228)(cid:228)ritte- lytapaa (ellei toisin mainita). M(cid:228)(cid:228)ritelm(cid:228) 1.4. Pseudograa(cid:28) (pseudograph) on multigraa(cid:28)n yleistys, jossa sol- mustavoiollas(cid:228)rm(cid:228)tais(cid:228)rmi(cid:228)solmuunitseens(cid:228).N(cid:228)it(cid:228)s(cid:228)rmi(cid:228)sanotaanluupeiksi (loop). e 1 v 2 e 2 v1 e3 v3 (V;E) = (fv ;v ;v g;fe ;e ;e g) 1 2 3 1 2 3 Kuva 1.3. Pseudograa(cid:28) . G M(cid:228)(cid:228)rite(lVm;E(cid:228))1.5. SuuVnna6=ttu; graa(cid:28) (directed graph, oriEented graph) eli digraa(cid:28) on pari(u;v) , missu(cid:228);v 2 V on (cid:228)(cid:228)rellinen joukko ja on joukko j(cid:228)rjestettyj(cid:228) pareja , miss(cid:228) . v v 1 2 v v 4 3 (V;E) = (fv ;v ;v ;v g;f(v ;v );(v ;v );(v ;v );(v ;v ) 1 2 3 4 1 2 1 4 2 1 2 3 K(vu;vva)1;.(4v.;Svuu)gn)nattugraa(cid:28) , 4 3 4 4 . Suunnatun graa(cid:28)n s(cid:228)rmi(cid:228) sanotaan kaariksiut6=aivnuoliksi (arc). Koska suun- natun graa(cid:28)n m(cid:228)(cid:228)ritelm(cid:228)ss(cid:228) ei edellytet(cid:228), ett(cid:228) , suunnatussa graa(cid:28)ssa voi olla luuppeja. My(cid:246)s suunnatun graa(cid:28)n voi m(cid:228)(cid:228)ritell(cid:228) alkeellisemmin. M(cid:228)(cid:228)ritelm(cid:228) 1.6. Suunnattu graa(cid:28) koostuu solmuista ja niit(cid:228) yhdist(cid:228)vist(cid:228) kaa- rista, miss(cid:228) LUKU 1. PERUSK˜SITTEIT˜ 4 1. kahdenerisolmunv(cid:228)lill(cid:228)voiollakorkeintaankaksikaarta,yksikumpaankin suuntaan, 2. solmusta voi olla kaari solmuun itseens(cid:228). M(cid:228)(cid:228)ritelm(cid:228) 1.7.Suunnattumultigraa(cid:28)(directedmultigraph)onsuunnatungraa- (cid:28)n yleistys, jossa voi olla moninkertaisia kaaria. e 1 e 2 v v 1 2 e 3 (V;E) = (fv ;v g;fe ;e ;e g) 1 2 1 2 3 Kuva 1.5. Suunnattu multigraa(cid:28) . Kun t(cid:228)ss(cid:228) monisteessa puhutaan pelk(cid:228)st(cid:228) graa(cid:28)sta, tarkoitetaan yleens(cid:228) mit(cid:228) tahansa suuntaamatonta graa(cid:28)a. Jos kuitenkin graa(cid:28)n luonne on asiayhteydest(cid:228) selv(cid:228), lis(cid:228)m(cid:228)G(cid:228)r=e o(nV;uEse)in j(cid:228)tetty pois. V V(GG)raa(cid:28)n EsolmujoukolleE(Gv)oidaan tarvittaessa k(cid:228)ytt(cid:228)(cid:228) merkint(cid:228)(cid:228) ja s(cid:228)rm(cid:228)joukolle merkint(cid:228)(cid:228) . M(cid:228)(cid:228)ritelm(cid:228) 1.8. Painotettu graa(cid:28) (weighted graph) on graa(cid:28)n yleistys, jossa jokaiseen s(cid:228)rm(cid:228)(cid:228)n on liitetty jokin luku. T(cid:228)t(cid:228) lukua sanotaan s(cid:228)rm(cid:228)n painoksi. w((cid:1)) M(cid:228)(cid:228)ritelm(cid:228) 1.9. Merkinn(cid:228)ll(cid:228) tarkoitetaan s(cid:228)rm(cid:228)n painoa tai painotetun graa(cid:28)n s(cid:228)rmien yhteenlaskettua painoa. G w(fv ;v g) = 5 1 3 wE(sfimv e;vrkgk)i=1.31. Kwu(fvvan;v1.g6)g=ra4a(cid:28)ssa sG(cid:228)rmien painot ovat w(G), 2 3 1 2 ja . Graa(cid:28)n s(cid:228)rmien yhteenlaskettu paino on 12. G: v 3 5 3 v 4 v 1 2 G Kuva 1.6. Painotettu graa(cid:28) , joka mallintaa Pythagoraan lausetta. LUKU 1. PERUSK˜SITTEIT˜ 5 1.2 Esimerkkej(cid:228) Graafeillavoidaan mallintaamonia asioita.Seuraavassa on nelj(cid:228) esimerkki(cid:228) graa- (cid:28)en k(cid:228)yt(cid:246)st(cid:228) mallina. Esimerkki 1.2. Graa(cid:28)en avulla voidaan mallintaa eri el(cid:228)inlajien v(cid:228)list(cid:228) vuoro- vaikutusta. Esimerkiksi ekosysteemiss(cid:228) lajien v(cid:228)list(cid:228) kilpailua voidaan mallintaa graa(cid:28)lla,jokakuvaaekologistenlokeroidenp(cid:228)(cid:228)llekk(cid:228)isyytt(cid:228)(nicheoverlapgraph). Graa(cid:28)ssa kutakin el(cid:228)inlajia vastaa oma solmunsa ja kaksi eri solmua on yhdis- tetty s(cid:228)rm(cid:228)ll(cid:228) vain, jos kyseisi(cid:228) s(cid:228)rmi(cid:228) edustavat el(cid:228)inlajit kilpailevat kesken(cid:228)(cid:228)n eli k(cid:228)ytt(cid:228)v(cid:228)t samoja ravintovaroja. Kuvan 1.7 graa(cid:28) mallintaa mets(cid:228)n ekosys- teemi(cid:228). Graa(cid:28)n perusteella esimerkiksi orava ja supi ovat kesken(cid:228)(cid:228)n kilpailevia lajeja, mutta varis ja p(cid:228)(cid:228)st(cid:228)inen eiv(cid:228)t ole. Haukka Supi Pöllö Orava Opossumi Varis Päästäinen Tikka Hiiri Kuva 1.7. Ekologisten lokeroiden p(cid:228)(cid:228)llekk(cid:228)isyys. Esimerkki 1.3. Ryhm(cid:228)n k(cid:228)ytt(cid:228)ytymist(cid:228) tutkittaessa voidaan havaita, ett(cid:228) jot- kut ryhm(cid:228)n j(cid:228)senet voivat vaikuttaa ryhm(cid:228)n muiden j(cid:228)senten k(cid:228)ytt(cid:228)ytymiseen. T(cid:228)llaista k(cid:228)ytt(cid:228)ytymist(cid:228) voidaan mallintaa suunnatulla vaaikubtusvaltagraa(cid:28)lla. Kutakin ryhm(cid:228)n j(cid:228)sent(cid:228) edustaa oma solmunsa. Solmujen ja v(cid:228)lill(cid:228) on s(cid:228)rm(cid:228) Tiina Mira Anna Raija Kaisa Kuva 1.8. Ryhm(cid:228)n j(cid:228)senten vaikutus toistensa k(cid:228)ytt(cid:228)ytymiseen.