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