DISKREETTI MATEMATIIKKA Martti E. Pesonen Uudistettu 7. huhtikuuta 2003 ISBN 951-696-814-7 Sivu 1 / 250
LUKIJALLE Luentomoniste Diskreetti matematiikka sisältää Joensuun yliopiston matematiikan laitoksen samannimisen kurssin teoreettisen oppiaineksen. Sen lisäksi kurssilla on monisteen sisältöön perustuvia kotitehtäviä ja tietokoneharjoituksia. Luentoni olen koonnut edellisvuosien luentosarjoista, jotka puolestaan ovat pohjautuneet kirjallisuusluettelossa mainittuihin oppikirjoihin sekä Helsingin yliopiston samannimisen ja Turun yliopiston Tietojenkäsittelyn matemaattiset apuneuvot nimisen opintojakson luentomuistiinpanoihin. Tämä laitos on parannettu versio ensimmäisen kerran vuonna 1989 ilmestyneestä ja siitä vuosien mittaan laajennetusta ja korjatusta samannimisestä monisteesta. Tekstissä :llä merkityt kohdat ovat joko muilta kursseilta tuttuja asioita, jotka voitaisiin olettaa muutenkin tunnetuiksi, tai todistamattomia, yleissivistäviksi tarkoitettuja tuloksia, jotka saatetaan luentokurssilla sivuuttaa. Kurssiin liittyy jonkin verran yksinkertaista ohjelmointia, lähinnä Matlab- tai Maple-ympäristöissä. Tämän tarkoitus on antaa opiskelijalle, paitsi valmiuksia relaatioiden, verkkojen, lukumääräongelmien ja rekursiokaavojen käsittelyyn, myös harjaannusta tietotekniikan käyttöön äärellisen matematiikan ongelmien ratkaisemisessa. Joensuussa 7. huhtikuuta 2003 Sivu 2 / 250
Martti E. Pesonen Sivu 3 / 250
Sisältö 1 JOUKOT, RELAATIOT JA KUVAUKSET 6 1.1 Joukko-oppia ja matriisilaskentaa................. 6 1.2 Relaatio ja sen sulkeuma..................... 19 1.3 Ekvivalenssirelaatio........................ 37 1.4 Joukkojen mahtavuuksista.................... 41 1.5 Äärelliset ja äärettömät joukot.................. 44 1.6 Osajoukot ja ositukset....................... 50 2 VERKOT 61 2.1 Suuntaamaton verkko....................... 61 2.2 Suunnattu verkko......................... 93 2.3 Isomorfia, planaarisuus ja muita verkko-ongelmia........ 119 3 JÄRJESTETYT JOUKOT JA HILAT 144 3.1 Järjestetty joukko......................... 144 3.2 Hila................................ 153 Sivu 4 / 250
4 LUKUMÄÄRÄONGELMISTA 168 4.1 Kombinatoriikkaa......................... 168 4.2 Generoivat funktiot ja kombinatoriikka.............. 175 4.3 Sijoittelu- ja partitio-ongelmat.................. 179 5 REKURSIOKAAVOISTA 198 5.1 Rekursiokaava ja differenssiyhtälö................ 198 5.2 Homogeeninen rekursiokaava................... 213 5.3 Lineaarinen vakiokertoiminen rekursiokaava........... 220 5.4 Rekursiokaava ja generoiva funktio................ 226 5.5 Lineaarinen rekursiokaava generoivalla funktiolla........ 231 5.6 Asymptoottinen arviointi..................... 235 5.7 Hajota ja hallitse -rekursiokaavat................ 242 Sivu 5 / 250
DISKREETTI MATEMATIIKKA 1. JOUKOT, RELAATIOT JA KUVAUKSET 1.1. Joukko-oppia ja matriisilaskentaa Merkinnät ja peruskäsitteet. Tyhjää joukkoa eli joukkoa, jossa ei ole yhtään alkiota, merkitään symbolilla. Standardeille lukujoukoille käytetään tavanomaisia merkintöjä N = {1, 2, 3,...} N 0 = {0, 1, 2,...} Z = {..., 2, 1, 0, 1, 2,...} Q R C A + luonnolliset luvut perusluvut kokonaisluvut rationaaliluvut reaaliluvut kompleksiluvut joukon A positiivinen osa. Toistuvasti käytetään äärellistä lukumääräjoukkoa {, jos n = 0, [n] := {1, 2, 3,..., n} muutoin. Sivu 6 / 250
Perusjoukko on, kustakin tilanteesta riippuen, laajin tarkasteltava kokonaisuus. Perusjoukkoja voi olla yhtaikaa käytössä useita. Niitä merkitään tässä esityksessä lihavoiduilla symboleilla. Olkoon X perusjoukko, A, B, A i sen osajoukkoja, n N ja I epätyhjä joukko, nk. indeksijoukko. Jatkossa käytetään mm. seuraavia joukko-opin merkintöjä: x A x / A A B A B A B, n i=1a i, i=1a i, i I A i A B, n i=1a i, i=1a i, i I A i X \ A = A A \ B = A B joukon alkio ei joukon alkio osajoukko aito osajoukko joukkojen yhdiste joukkojen leikkaus komplementti erotus. Sivu 7 / 250
Joukkoalgebraa. Olkoon X perusjoukko ja A, B, C X. Tällöin on 1) A A = A A = A idempotenttisuuslait 2) A B = B A kommutatiivisuuslaki 3) A (B C) = (A B) C assosiatiivisuuslait A (B C) = (A B) C 4) A (A B) = A (A B) = A absorptiolait 5) A (B C) = (A B) (A C) distributiivisuuslait A (B C) = (A B) (A C) 6) A A = komplementtilait A A = X 7) A B = A B de Morganin lait A B = A B 8) [ A B = A ] [ A B = B ] [ A B ] 9) [ A B ] [ B A ]. Täydellisen induktion periaate. Diskreetin matematiikan keskeinen todistusmenetelmä on ns. täydellisen induktion periaate eli matemaattisen induktion periaate, joka pohjautuu seuraavaan uskottavaan (ja algebrassa todistettavaan) tulokseen: Jos joukko S N 0 toteuttaa ehdot Sivu 8 / 250
1) 0 S, 2) [ n S ] [ n + 1 S ], niin S = N 0. Induktiotodistus. Olkoon k Z kiinteä luku ja V (n) kokonaislukua n koskeva väite. Jos voidaan todistaa, että 1) V (k) on tosi, 2) mielivaltaisella n k on voimassa [ V (n) tosi ] [ V (n + 1) tosi ], niin väite V (n) on tosi kaikilla n k. Kohdan 2) implikaatiota sanotaan induktioaskeleeksi ja väitteen V (n) todeksi olettamista induktio-oletukseksi. Todistusmenetelmää käytetään usein seuraavassa muodossa: Jos voidaan osoittaa, että 1 ) V (k) on tosi, 2 ) mielivaltaisella n k on voimassa [ V (m) tosi kaikilla k m n ] [ V (n + 1) tosi ], niin väite V (n) on tosi kaikilla n k. Sivu 9 / 250
Induktiotodistus toimii seuraavasti: Väite todistetaan suoraan pienimmällä väitetyllä arvolla k Z. Kun kohdan 2) implikaatio on todistettu, seuraa kohdista 1) ja 2), että väite pätee arvolla k + 1. Tämän ja kohdan 2) nojalla väite pätee arvolla k + 2, josta seuraa väite arvolla k + 3 jne. Jos n k on mielivaltainen, saadaan väite todeksi arvolla n soveltamalla menettelyä toistuvasti. Täten väite on tosi jokaisella n k. Esimerkki 1.1.1 Osoita, että kaikilla n N 2(1 + 2 + + n) = n(n + 1). Ratkaisu. 1) Havaitaan heti, että kaava pitää paikkansa arvolla 1. 2) Oletetaan, että kaava pitää paikkansa arvolla n N. Silloin arvolla n + 1: 2(1 + 2 + + n + (n + 1)) = 2(1 + 2 + + n) + 2(n + 1) = n(n + 1) + 2(n + 1) = (n + 1)((n + 1) + 1). Kaava pitää siis paikkansa myös arvolla n + 1, jos se pitää paikkansa arvolla n. Täydellisen induktion periaatteen nojalla väite on tosi kaikilla n N. Esimerkki 1.1.2 Osoita, että kaikilla n N (1 + 2 + + n) 2 = 1 3 + 2 3 + + n 3. Sivu 10 / 250
Ratkaisu. 1) 1 2 = 1 = 1 3, joten kaava pitää paikkansa arvolla 1. 2) Oletetaan, että kaava pitää paikkansa arvolla n N. Arvolla n + 1 saadaan vasen puoli induktio-oletuksen ja Esimerkin 1.1.1 tuloksen nojalla muotoon (1 + 2 + + n + (n + 1)) 2 = ((1 + 2 + + n) + (n + 1)) 2 = (1 + 2 + + n) 2 + 2(1 + 2 + + n)(n + 1) + (n + 1) 2 = (1 3 + 2 3 + + n 3 ) + n(n + 1) 2 + (n + 1) 2 = 1 3 + 2 3 + + n 3 + (n + 1) 3. Induktioaskel on todistettu, joten kohtien 1) ja 2) perusteella väite on tosi kaikilla n N. Kokonaislukujen jakoyhtälö. Kokonaislukuja koskevia väitteitä todistettaessa on usein edullista käyttää algebrassa todistettavaa ns. jakoyhtälöä (division algorithm). Lause 1.1.3 (kokonaislukujen jakoyhtälö) Jos m Z ja n N, on olemassa yksikäsitteisesti määrätyt luvut q, r Z, 0 r < n, joille m = qn + r. Jos r = 0, ts. m = qn, sanotaan, että n on luvun m tekijä tai että m on jaollinen luvulla n; merkitään n m ja luetaan n jakaa luvun m. Jos m 0, lukua q kutsutaan osamääräksi ja lukua r jakojäännökseksi. Sivu 11 / 250
Esimerkki 1.1.4 a) Jaa jakoyhtälöllä luku 243 luvulla 7. b) Mille luvuille n N on n 24? Ratkaisu. a) 243 = 34 5, joten 243 = ( 35) 7 + 2. 7 7 b) Ainakin n = 1, 24. Muista riittää tarkastaa luvut välillä 2 n 24 = 12. 2 Siis luvut ovat n = 1, 2, 3, 4, 6, 8, 12, 24. Alkuluvuista. Kokonaislukujen joukossa alkuluvuilla (prime number) on keskeinen asema. Ne ovat yksinkertaisimpia lukuja, joiden avulla kaikki kokonaisluvut voidaan muodostaa käyttäen pelkästään kertolaskua. Tämän kokonaisluvun alkutekijöihin jaon takaa algebrassa todistettava aritmetiikan peruslause. Määritelmä 1.1.5 Luku p N, jolle ainoastaan p p ja 1 p, on alkuluku. Lause 1.1.6 (aritmetiikan peruslause) Jokainen luku n N on esitettävissä (järjestystä vaille) yksikäsitteisessä muodossa n = p 1 p 2 p 3 p k, missä luvut p j ovat positiivisia alkulukuja, nimeltään luvun n alkutekijöitä. Alkulukuja ovat mm. 2, 3, 5, 7, 11, 13, 17, 19, 23,.... Alkulukuja on äärettömän paljon, mutta suurten lukujen joukossa niitä on yhä harvemmassa. Jokainen alkuluku (paitsi 2 ja 3) on muotoa 6n ± 1, mutta kaikki nämä eivät ole alkulukuja. Sivu 12 / 250
Vuonna 1960 suurin tunnettu alkuluku oli 2 3217 1, v. 1989 jo 391581 2 216193 1 ja v. 2001 jo 2 13466917 1. Nykyisen tilanteen ja paljon muuta infoa saa osoitteesta http://www.utm.edu/research/primes/largest.html Tehtävä 1.1.7 Selvitä kuinka monta numeroa on luvun 2 13466917 1 normaalissa kymmenjärjestelmäesityksessä. Alkulukujen joukko on nykyään intensiivisen tutkimuksen kohteena. Monet koodaus-, salakirjoitus- ja tietosuojausmenetelmät perustuvat siihen, että annetun kokonaisluvun alkutekijöihin jako on hidas prosessi. Esimerkiksi satanumeroisen kokonaisluvun jako kestää nykyään noin kuukauden parhaalla tunnetulla ohjelmalla, joka toimii hajautetun laskennan periaatteella käyttäen hyväksi satojen tietokoneiden joutoaikaa. Kun käytetään 155-numeroisia (512 bittiä) lukuja, on jakoaika n. 40 000-kertainen. Eratosteneen algoritmi. Antiikin kreikkalainen matemaatikko Eratostenes kehitti menetelmän, nk. seulan, joukon [n] alkulukujen etsimiseksi: Poistetaan ensin joukosta [n] luku 1. Sitten poistetaan kaikki luvulla 2 jaolliset paitsi 2, luvulla 3 jaolliset paitsi 3, luvulla 4 jaolliset (turhaa!), luvulla 5 jaolliset paitsi itse 5, jne. Lopuksi jäävät jäljelle alkuluvut 2 p n, ks. Kuvan 1 algoritmi. Sivu 13 / 250
Aseta I = [n]; I 0 = I \ {1}; alkuluvut = ; while (I 0 ) luku = min I 0 ; I 0 = I 0 \ (luku I); alkuluvut = alkuluvut {luku}; end Kuva 1: Eratosteneen algoritmi Alkuehtoista while-silmukkaa toistetaan, kunnes joukko I 0 on tyhjä. Muuttuja luku saa vuorollaan alkulukuarvot 2, 3,..., jotka kerätään joukkoon alkuluvut. Algoritmi on suoraviivainen, mutta käytännössä raskas toteuttaa. Karteesinen tulo ja matriisi. Kahden joukon X ja Y karteesinen tulo eli tulojoukko X Y on järjestettyjen parien (a, b) joukko, missä a X ja b Y; siis X Y := { (a, b) a X, b Y }. Yleisempi äärellinen n-ulotteinen tulojoukko määritellään vastaavasti n X i = X 1 X 2 X n := { (a 1, a 2,..., a n ) a i X i } i=1 Sivu 14 / 250
ja sen alkioita (a 1, a 2,..., a n ) sanotaan vektoreiksi. Erityisesti merkitään X n := X } {{ X }. n kpl Joukkoa R n varustettuna vektorien alkioittaisella yhteenlaskulla ja reaalivakiolla kertomisella sanotaan n-ulotteiseksi euklidiseksi avaruudeksi. Vektoreiden a = (a 1, a 2,..., a n ) ja b = (b 1, b 2,..., b n ) R n skalaari- eli pistetulo on luku n a b := a i b i. Jos tulojoukon tekijöitä X i on nm kappaletta, n, m N, ne voidaan indeksoida uudelleen ja kirjoittaa (n m)-suorakulmioksi muotoon i=1 X = n,m i,j X ij := X 11 X 12 X 1m X 21 X 22 X 2m...... X n1 X n2 X n Sivu 15 / 250
Joukon X alkiota M sanotaan (n m)-matriisiksi ja merkitään a 11 a 12 a 1m a 21 a 22 a 2m M = (a ij ) n m =......, a ij X ij. a n1 a n2 a nm Tällaisia tulojoukkoja ja matriiseja, jotka voivat koostua eri tietotyyppejä edustavista perusjoukoista X ij, käytetään mm. taulukkolaskentaohjelmissa. Yksirivistä matriisia sanotaan myös vaakavektoriksi ja yksisarakkeista pystyvektoriksi. Matriisilaskennan yhteydessä vektorin alkioiden väliset pilkut korvataan usein tyhjeellä. Matriisien laskutoimitukset. Matriisin A = (a ij ) R n m transpoosi on matriisi A T = (b kl ) R m n, missä b kl := a lk, ts. rivit on vaihdettu järjestyksessä sarakkeiksi. Avaruuden R n m matriiseja voidaan laskea yhteen, kertoa vakiolla ja kertoa keskenään alkioittain kuten vektoreitakin. Matriisia O, jonka kaikki alkiot ovat nollia, kutsutaan nollamatriisiksi. Nollamatriisi on matriisien yhteenlaskun neutraalialkio. Varsinainen matriisien kertolasku määritellään seuraavasti: Matriisien A = (a ij ) R n m ja B = (b jk ) R m r (matriisi)tulo on matriisi AB = C = (c ik ) R n r, missä c ik := m j=1 a ijb jk. Tulomatriisin alkio c ik on siis matriisin A rivin i ja matriisin B sarakkeen k pistetulo. Pystyvektorien x ja y R n pistetulo voidaan Sivu 16 / 250
kirjoittaa matriisitulona x y = x T y. Pystyvektorin x = ( x 1 x 2 x n ) T normille x pätee n x 2 = x 2 i = x T x. i=1 Avaruuden R n n alkioita sanotaan neliömatriiseiksi. Avaruus R n n on suljettu matriisien kertolaskun suhteen, sillä tulo on myös n n-matriisi. Matriisin (a ij ) diagonaaliksi sanotaan vektoria (a 11, a 22,..., a nn ). Matriisia sanotaan diagonaalimatriisiksi, jos sen diagonaalin ulkopuolella olevat alkiot ovat nollia. Yksikkömatriisi on diagonaalimatriisi I, jonka diagonaalialkiot ovat ykkösiä. Yksikkömatriisi on matriisien kertolaskun neutraalialkio: jos A R n n, niin AI = IA = A. Matriisi (a ij ) on symmetrinen, jos a ij = a ji kaikilla i, j [n], ts. jos matriisi on diagonaalin suhteen symmetrinen. Matriisi on yläkolmiomatriisi, jos sen diagonaalin alapuolella on vain nollia; vastaavasti määritellään alakolmiomatriisi. Matriisien kertolasku ei ole vaihdannainen; yleensä AB BA. Sen sijaan kertolasku on liitännäinen ja laskutoimituksille pätevät osittelulait. Totuusarvo- ja kokonaislukumatriisit. Relaatioiden yhteydessä on luonnollista käyttää totuusarvoista 1 ja 0 (tai TOSI = TRUE ja EPÄTOSI = FALSE) koostuvia matriiseja ja verkkojen yhteydessä kokonaislukumatriiseja. Nämä saadaan valitsemalla X := {0, 1} (tai X := {T, E}) ja X := N 0. Ensin mainitussa Sivu 17 / 250
tapauksessa lasketaan Boolen aritmetiikalla 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 1, 0 0 = 0 1 = 1 0 = 0, 1 1 = 1, ja jälkimmäisessä kokonaisluvuilla. Jos tapauksessa X = {0, 1} käytetään kokonaislukujen laskutoimituksia, on matriisien laskutoimitusten tulokset redusoitava nk. etumerkkifunktioilla (funktion käsite: Määritelmä 1.2.12). Määritellään reaalifunktio sign : R { 1, 0, 1}, sign(x) := +1, kun x > 0, 0, kun x = 0, 1, kun x < 0, ja matriisifunktio SIGN : R n m { 1, 0, 1} n m, ) ( ) SIGN ((a ij ) n m := sign(a ij ) n m Ei-järjestetty tulo. Joukon X ei-järjestetty tulo itsensä kanssa on sen järjestämättömien parien {a 1, a 2 } joukko X & X := { {a 1, a 2 } a 1, a 2 X }. Järjestämätön pari {a 1, a 2 } X & X ei tarkasti ottaen ole joukko, sillä kukin {a i, a i } on järjestämätön pari, mutta joukkona siinä olisi vain yksi alkio. Eijärjestettyä tuloa käytetään suuntaamattoman verkon yhteydessä (Luku 2.1 ).. Sivu 18 / 250
Huomautus 1.1.8 Karteesisen tulon ja järjestämättömän tulon ero voidaan ilmaista seuraavasti: joukossa X Y mutta joukossa X & X [ (a 1, b 1 ) = (a 2, b 2 ) ] [ a 1 = a 2 ja b 1 = b 2 ], [ {a 1, a 2 } = {a 3, a 4 } ] [ (a 1 = a 3 ja a 2 = a 4 ) tai (a 1 = a 4 ja a 2 = a 3 ) ]. 1.2. Relaatio ja sen sulkeuma Määritelmä ja käsitteitä. Tarkastellaan perusjoukkojen tulojoukkojen osajoukkoja, nk. relaatioita, mm. relaatioiden yhdistämistä, erilaisia relaatiotyyppejä ja relaatioiden sulkeumia. Määritelmä 1.2.1 Olkoot X ja Y joukkoja. Osajoukkoa R X Y sanotaan joukkojen X ja Y väliseksi relaatioksi, relaatioksi joukosta X joukkoon Y tai lyhyesti relaatioksi joukossa X Y. Jos (x, y) R, sanotaan, että x ja y ovat relaatiossa R. Merkintä (x, y) R korvataan usein merkinnällä xry tai Rxy. Jos (x, y) / R, merkitään x Ry. Joukko R(x) := { y Y (x, y) R } on alkion x X kuva relaatiossa R. Jos R X X, sanotaan lyhyesti, että R on relaatio joukossa X. Vastaavaan tapaan määritellään n-paikkainen relaatio R X 1 X 2 X n. Sivu 19 / 250
Esimerkki 1.2.2 a) Valitaan X = Y = N = {1, 2,...}. Silloin on (järjestys)relaatio luonnollisten lukujen joukossa N. b) Valitaan X = naiset ja Y = miehet. Silloin joukko on relaatio joukossa X Y. R := { (N, M) N ja M olleet joskus aviossa } c) Tasossa yksikköympyrän sisäosan muodostava joukko on relaatio joukossa R 2. D := { (x, y) R 2 x 2 + y 2 < 1 } Relaation esitystapoja. Alkeellisin tapa esittää relaatio on luetella sen alkiot tai esittää riippuvuus jollakin kaavalla tai muulla sitovalla ehdolla. On olemassa lukuisia muitakin tapoja esittää relaatioita. Jotkut esitystavat on tarkoitettu havainnollistamaan itse relaatiota, jotkut taas helpottamaan tai mekanisoimaan niiden käsittelyä. Olkoot X = {x 1, x 2,..., x n }, Y = {y 1, y 2,..., y m } ja R X Y relaatio. Seuraavassa luetellaan kaksi havainnollista ja kaksi laskennallista tapaa relaation esittämiseksi. Sivu 20 / 250
Kuva 2: Nuolikaavioesityksiä: X Y ja X X 1. Nuolikaaviona, missä nuoli x i y j tarkoittaa, että x i Ry j. Jos X = Y, voidaan relaatio esittää myös suunnattuna verkkona (ks. Luku 2.2). Kuvassa 2 nämä kahdentyyppiset esitystavat. 2. Taulukkona (ks. Taulukko 1), R y 1 y 2 y n x 1 1 1 0 x 2 0 1 0....... x n 0 0 0 Taulukko 1: Relaatio ilmaistuna taulukon avulla Sivu 21 / 250
jonka kohdassa (x i, y j ) on luku 1, jos x i Ry j, muutoin luku 0. 3. Käyttäen karakterista funktiota χ R : X Y {0, 1}, { 1, jos xry, χ R (x, y) := 0, jos x Ry. 4. Matriisina M R = (a ij ) = a 11 a 12 a 1m a 21 a 22 a 2m...... a n1 a n2 a nm = X\Y y 1 y 2 y m x 1 1 1 0 x 2 0 1 0......., x n 0 0 0 missä a ij = χ R (x i, y j ). Tehtävä 1.2.3 Olkoon X = Y = {1, 2, 3} ja kokonaislukujen tavallinen suuruusjärjestys. Muodosta relaatiolle nuolikaavio- ja verkkoesitys Sivu 22 / 250
ja määritä karakteristisen funktion arvot χ R (1, 1) = χ R (2, 1) = χ R (3, 1) = χ R (4, 1) = χ R (1, 2) = χ R (2, 2) = χ R (3, 2) = χ R (4, 2) = χ R (1, 3) = χ R (2, 3) = χ R (3, 3) = χ R (4, 3) = χ R (1, 4) = χ R (2, 4) = χ R (3, 4) = χ R (4, 4) = Käänteisrelaatio ja relaatioiden yhdistäminen. Todistetaan pari relaatioiden kääntämistä ja yhdistämistä koskevaa perustulosta. Määritelmä 1.2.4 Relaation R X Y käänteisrelaatio on joukko R 1 := { (y, x) Y X (x, y) R }. Relaatioiden R X Y ja S Y Z tulo (eli yhdistelmä, kompositio) on relaatio S R := { (x, z) X Z jollekin y Y : xry ja ysz }. Joukon X X yksikkö- eli identtisyysrelaatio on diagonaali X := { (x, x) x X }. Huomautus 1.2.5 a) Selvästi (R 1 ) 1 = R. Sivu 23 / 250
b) Jos R X Y, niin R 1 R X X ja R R 1 Y Y. c) Yksikkörelaatio X vastaa matriisien avaruuden kertolaskun neutraalialkiota I ja kuvausten avaruuden identtistä kuvausta Id(x) := x. Nimittäin, jokaiselle R X X on (harjoitustehtävä) X R = R X = R. Tehtävä 1.2.6 Olkoot X = {1, 2, 3}, Y = {a, b, c} ja Z = {α, β}. Piirrä seuraavaan kuvioon nuolet, jotka kuvaavat relaatioita R := {(1, a), (1, b), (2, b), (2, c), (3, a)}, ja relaatioita S R sekä R 1 : S := {(b, α), (c, α), (c, β)} X Y Z X Z Y X R S S R R 1 1 a 1 a 1 α α 2 b 2 b 2 β β 3 c 3 c 3 Muodosta vielä kyseisten relaatioiden matriisit M R = M S = Sivu 24 / 250
M S R = M R 1 = Lause 1.2.7 Relaatioille R X Y ja S Y Z pätee laskusääntö (S R) 1 = R 1 S 1. Todistus. (S R) 1 ja R 1 S 1 ovat selvästikin relaatioita joukosta Z joukkoon X. Seuraava ekvivalenssiketju osoittaa, että relaatiot ovat samat: [ (z, x) (S R) 1 ] [ z(s R) 1 x ] [ x(s R)z ] [ jollekin y Y : xry ja ysz ] [ jollekin y Y : yr 1 x ja zs 1 y ] [ jollekin y Y : zs 1 y ja yr 1 x ] [ z(r 1 S 1 )x ] [ (z, x) (R 1 S 1 ) ]. Lause 1.2.8 Relaatioille R X Y, S Y Z, T Z V pätee (T S) R = T (S R). Sivu 25 / 250
Todistus. Koska T S Y V ja R X Y, on (T S) R relaatio joukosta X joukkoon V. Koska T Z V ja S R X Z, on myös T (S R) relaatio joukosta X joukkoon V. Väitteen osoittaa oikeaksi ekvivalenssiketju: [ x((t S) R)v ] [ jollekin y Y : xry ja y(t S)v ] [ joillekin y Y, z Z : xry, ysz ja zt v ] [ jollekin z Z : x(s R)z ja zt v ] [ x(t (S R))v ]. Huomautus 1.2.9 a) Relaatioiden yhdistäminen ei ole vaihdannainen operaatio. Lauseen 1.2.8 mukaan tulo on kuitenkin liitännäinen, joten voidaan merkitä T S R := (T S) R = T (S R). b) Joukon X X relaatioiden joukko varustettuna tulolla on algebralliselta rakenteeltaan puoliryhmä, jonka neutraalialkio on diagonaali X. Käänteisrelaatio ei yleensä toteuta ryhmän käänteisalkiolta vaadittavia ehtoja R R 1 = R 1 R = X, joten kyseessä ei ole ryhmä (vasta bijektiivisten kuvausten joukko on ryhmä). c) Lauseiden 1.2.7 ja 1.2.8 tuloksia käyttäen voidaan laskea esimerkiksi (T S R) 1 = R 1 S 1 T 1. Sivu 26 / 250
Käänteis- ja tulorelaation matriisit. Tarkastellaan relaatioiden matriisiesityksiä käytettäessä kokonaislukujen laskutoimituksia. Osoitetaan, että relaatioiden kääntäminen ja yhdistäminen voidaan mekanisoida matriisilaskennaksi. Luvussa 1.1 on jo määritelty etumerkkifunktiot sign : R { 1, 0, 1} ja SIGN : R n m { 1, 0, 1} n m. Lause 1.2.10 Olkoot R X Y ja S Y Z relaatioita. Silloin a) M R 1 = M T R, b) M S R = SIGN(M R M S ). Todistus. a) Merkitään M R = (a ij ), M T R = (b ji) ja M R 1 = (b ji), jolloin b kl = a lk. Koska relaation matriisin alkiot ovat lukuja 1 tai 0, seuraava ekvivalenssiketju todistaa väitteen: [ b ji = 1 ] [ y j R 1 x i ] [ x i Ry j ] [ a ij = 1 ] [ b ji = 1 ]. b) Olkoot M R = (a ij ) n m, M S = (b jk ) m r, M S R = (c ik ) n r, M R M S = (c ik ) n r, Sivu 27 / 250
missä c ik päättely = m j=1 a ijb jk. Koska c ik = 0 tai 1 ja c ik 0, väitteen todistaa [ c ik = 1 ] [ x i (S R)z k ] [ jollakin y j Y : x i Ry j, y j Sz k ] [ jollakin j : a ij = 1 ja b jk = 1 ] [ c ik > 0 ] [ sign(c ik ) = 1 ]. Esimerkki 1.2.11 Esimerkin 1.2.6 relaatioiden matriisit olivat 1 1 0 0 0 M R = 0 1 1 M S = 1 0 1 0 0 1 1 Silloin M S R = M R M S = 1 0 1 1 0 0 M R 1 = 1 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 = = M T R. 1 0 2 1 0 0. Sivu 28 / 250
Relaatioiden joukko-opilliset operaatiot. Koska relaatiot ovat joukkoja, niitä voidaan yhdistellä normaaliin tapaan joukko-opillisin operaatioin. Voidaan helposti johtaa mm. yhdisteen, leikkauksen ja erotuksen matriisien laskukaavat (harjoitustehtävä). Kuvaukset eli funktiot. Edellä on jo käytetty funktion käsitettä tutussa muodossaan (etumerkkifunktiot ja karakteristinen funktio). Täsmällinen määrittely ja perusominaisuuksien esittely suoritetaan relaatiotulkinnan avulla. Määritelmä 1.2.12 Relaatio F X Y on kuvaus eli funktio, jos seuraavat kaksi ehtoa ovat täytetyt: 1) Jokaista x X kohti on olemassa y Y siten, että xf y. 2) Jos xf y ja xf z, niin y = z. Funktioiden yhteydessä käytetään joitakin erikoismerkintöjä: Jos relaatio F on kuvaus, niin F : X Y tarkoittaa F X Y F (x) = y tarkoittaa xf y. Jos F on kuvaus X Y ja F (x) = y, sanotaan, että y on pisteen x kuvapiste kuvauksessa F Sivu 29 / 250
X on lähtöjoukko tai määrittelyjoukko, Y maalijoukko F (X) := { F (x) x X } on arvojoukko, joukon X kuvajoukko F 1 (B) := { x X F (x) B } on joukon B Y alkukuvajoukko epätyhjään joukkoon A X liittyvä kuvaus F A : A Y, (F A)(x) := F (x), x A, on kuvauksen F rajoittuma(kuvaus) joukkoon A F on injektio, jos se toteuttaa vaatimuksen [ F (x 1 ) = F (x 2 ) ] [ x 1 = x 2 ] F on surjektio, jos F (X) = Y F on bijektio, jos se on injektio ja surjektio käänteisrelaatio F 1 on käänteiskuvaus, mikäli se on kuvaus. On helppo osoittaa, että kuvauksella F : X Y on käänteiskuvaus jos ja vain jos F on bijektio. Käänteiskuvaus on myös bijektio. Jos F : X Y on injektio, kuvaus F : X F (X), F (x) := F (x), Sivu 30 / 250
on bijektio; merkitään edelleen F = F. Muita relaatiotyyppejä. Kuvaus oli kahden joukon välinen relaatio. Tarkastellaan yhden joukon sisäisiä relaatioita. Nimetään aluksi muutamia relaatioiden ominaisuuksia. Määritelmä 1.2.13 Relaation R X X sanotaan olevan a) refleksiivinen, jos jokaiselle x X on xrx, b) symmetrinen, jos kaikilla x, y X pätee [ xry ] [ yrx ], c) antisymmetrinen, jos kaikilla x, y X pätee [ xry & yrx ] [ x = y ], d) transitiivinen, jos kaikilla x, y, z X pätee [ xry & yrz ] [ xrz ], e) täysi, jos kaikilla x, y X pätee [ xry ] tai [ yrx ]. Lause 1.2.14 Relaatio R X X on Sivu 31 / 250
α) refleksiivinen jos ja vain jos X R, β) symmetrinen jos ja vain jos R = R 1, γ) antisymmetrinen jos ja vain jos R R 1 X, δ) transitiivinen jos ja vain jos R R R, ɛ) täysi jos ja vain jos R R 1 = X X. Todistus. Kohdat α), β) ja ɛ) ovat ilmeisiä. Kohta δ) on harjoitustehtävä. Todistetaan näytteeksi kohta γ). Olkoon R antisymmetrinen ja (x, y) R R 1. Silloin on xry ja yrx, joten antisymmetrisyyden perusteella x = y ja siten (x, y) X. Olkoon toiseksi R R 1 X ja xry ja yrx. Silloin (x, y) R R 1 X, joten x = y. Siis R on antisymmetrinen. Määritelmä 1.2.15 Relaatio R X X on a) ekvivalenssirelaatio, jos se on refleksiivinen, symmetrinen ja transitiivinen, b) osittainen järjestys, jos se on refleksiivinen, antisymmetrinen ja transitiivinen, c) täydellinen järjestys (tai lyhyesti järjestys), jos se on täysi osittainen järjestys. Relaation sulkeuma. Tarkastellaan relaatiota R X X. Sivu 32 / 250
Ongelma. On löydettävä relaation R sisältävistä tietyn ehdon E täyttävistä relaatioista suppein, ts. relaatio R X X, jolle a) R R, b) R toteuttaa ehdon E, c) jos S R toteuttaa ehdon E, niin R S. Ongelmalla ei aina ole ratkaisua. Ratkaisu on olemassa (ja se on samalla yksikäsitteinen) jos ja vain jos joukko R := { T X X R T, T toteuttaa ehdon E } on epätyhjä ja toteuttaa ehdon E. Annettuun relaatioon R (mahdollisesti) liittyvää suppeinta sen sisältävää refleksiivistä (vast. symmetristä, transitiivista) relaatiota sanotaan relaation R refleksiiviseksi (vast. symmetriseksi, transitiiviseksi) sulkeumaksi ja sitä merkitään symbolilla R. Osoitetaan, että nämä sulkeumat ovat aina olemassa. Refleksiivisyyden ja symmetrisyyden osalta asia on helpohko, transitiivisuustapaus on mielenkiintoisempi. Lause 1.2.16 Relaation R X X a) refleksiivinen sulkeuma on R r = X R, b) symmetrinen sulkeuma on R s = R 1 R. Sivu 33 / 250
Todistus. Harjoitustehtävä. Lause 1.2.17 a) Jos relaatiot R i X X, i I, ovat transitiivisia, niiden leikkaus i I R i on transitiivinen. b) Olkoon R X X relaatio. Relaatiolla R on transitiivinen sulkeuma R t ja se saadaan kaikkien relaation R sisältävien transitiivisten relaatioiden leikkauksena. Todistus. a) Merkitään R := i I R i. Jos xr y ja yr z, jokaisella i I on xr i y ja yr i z. Koska relaatiot R i ovat transitiivisia, seuraa xr i z kaikilla i I, joten xr z. Relaatio R on siis transitiivinen. b) Olkoon R annettu relaatio joukossa X. Koska relaatio X X on triviaalisti transitiivinen, on joukko T := { T X X R T, T T T } epätyhjä ja koostuu Lauseen 1.2.14 mukaan kaikista relaation R sisältävistä transitiivisista relaatioista. Kohdan a) nojalla T on relaation R sisältävä transitiivinen relaatio. Määrittelynsä perusteella se on sellaisista suppein, joten transitiivinen sulkeuma on olemassa ja on R t = { T X X R T, T T T }. Sivu 34 / 250
Määritelmä 1.2.18 Relaation R X X n. potenssi R n määritellään luvuille n N 0 seuraavasti: 1. R 0 := X, 2. R n+1 := R n R, n N 0. Lemma 1.2.19 a) Jos R R X Y ja S S Y Z, niin { } S S R R S R S R. b) Jos R S X X, niin R k S k kaikilla k N. c) Jos S X X on transitiivinen, niin S k S kaikilla k N. Todistus. Harjoitustehtäviä. Lause 1.2.20 Mielivaltaisen relaation R X X transitiivinen sulkeuma voidaan muodostaa suoralla kaavalla R t = R k. k=1 Sivu 35 / 250
Jos erikoisesti X on äärellinen n-alkioinen joukko, niin n R t = R k. k=1 Todistus. Osoitetaan, että myös joukko R + := k=1 Rk on suppein relaation R sisältävistä transitiivisista relaatioista. Sen jälkeen väite seuraa suppeimman yksikäsitteisyydestä. Triviaalisti R = R 1 R +. Olkoot xr + y ja yr + z. Silloin (x, y) R q ja (y, z) R p joillekin q, p N, joten (x, z) R p R q = R p+q R +. Siis R + on transitiivinen. Olkoon lopuksi S X X transitiivinen relaation R sisältävä relaatio. Koska S on transitiivinen, on Lemman 1.2.19 c)-kohdan nojalla S + S. Koska R S, on Lemman b)-kohdan mukaan R k S k kaikilla k N. Siis R + = R k S k = S + S, k=1 k=1 joten R + on suppein relaation R sisältävistä transitiivisista relaatioista. Väitteen toinen osa on harjoitustehtävä. Huomautus 1.2.21 Äärellisessä n-alkioisessa joukossa määritellyn relaation R matriisin M = M R avulla ( n M R t = SIGN k=1 M k ) Sivu 36 / 250
= SIGN (M(I + M(I +... M(I + M)...))). Käytännön laskuissa jälkimmäinen esitysmuoto on edullisempi, miksi? Suurten matriisien käsittelyssä tämäkin menetelmä on hidas, parempaan tulokseen päästään soveltamalla verkkoteorian yksinkertaista Floydin menetelmää (ks. Luku 2.3 ) (harjoitustehtävä). 1.3. Ekvivalenssirelaatio Tarkastellaan lähemmin Määritelmässä 1.2.15 määriteltyä ekvivalenssirelaatiota, ts. relaatiota, joka on refleksiivinen, symmetrinen ja transitiivinen. Sana ekvivalenssi tarkoittaa samuutta tai samanarvoisuutta. Samassa joukossa voi olla erilaisia ekvivalenssirelaatioita; esimerkiksi atomin ytimet ovat kemiallisesti ekvivalentit, jos niiden ytimillä on sama varaus, ja fysikaalisesti ekvivalentit, jos niillä on sama varaus ja massaluku. Ekvivalenssiluokat. Tietty ekvivalenssirelaation määräämä ominaisuus yhdistää perusjoukon alkioita. Määritelmä 1.3.1 Olkoon relaatio R X X ekvivalenssi. Alkion x X määräämä ekvivalenssiluokka relaatiossa R on joukko R(x) := { y X xry }, Sivu 37 / 250
jota sanotaan myös R-luokaksi tai ekvivalenssiluokaksi modulo R. Kaikkien ekvivalenssiluokkien (modulo R) joukko on joukon X tekijäjoukko modulo R, ja sitä merkitään X/R := { R(x) x X }. Lause 1.3.2 Olkoon R X X ekvivalenssirelaatio ja x, y X. Tällöin a) x R(x), b) [ R(x) R(y) ] [ xry ], c) [ R(x) = R(y) ] [ xry ]. Todistus. Harjoitustehtävä. Esimerkki 1.3.3 a) Tarkastellaan kompleksitasoa C R 2, jonka alkiota merkitään z = re iϕ, r 0, 0 ϕ < 2π. Relaatio C C, [ r 1 e iϕ 1 r 2 e iϕ 2 ] [ r 1 = r 2 ], on ekvivalenssi. Se jakaa tason ekvivalenssiluokkiin, jotka ovat origokeskisiä ympyröitä D ρ := { z C z = ρe iϕ, 0 ϕ < 2π }, ρ 0. Sivu 38 / 250
b) Merkitään Z = Z\{0} ja määritellään relaatio R (Z Z ) (Z Z ), [ (m 1, n 1 )R(m 2, n 2 ) ] [ m 1 n 2 = n 1 m 2 ]. Suoralla laskulla voidaan todeta, että R on ekvivalenssirelaatio. Olkoot vastaavat joukon Z Z ekvivalenssiluokat R(m, n). Näitä luokkia kutsutaan rationaaliluvuiksi ja niiden muodostamaa joukkoa, ts. joukon Z Z tekijäjoukkoa modulo R merkitään symbolilla Q. Alkion (m, n) Z Z määräämälle ekvivalenssiluokalle voidaan käyttää tuttua merkintää R(m, n) = m. Lauseen 1.3.2 n mukaan [ m1 = m ] 2 n 1 n 2 [ R(m 1, n 1 ) = R(m 2, n 2 ) ] [ (m 1, n 1 )R(m 2, n 2 ) ] [ m 1 n 2 = n 1 m 2 ]. Ositukset. Olkoon annettu ekvivalenssirelaatio R X X. Koska R on refleksiivinen, on jokainen alkio x X relaatiossa ainakin itsensä kanssa. Jokainen alkio on siis jossakin ekvivalenssiluokassa. Toisaalta mikään alkio ei voi kuulua Lauseen 1.3.2 nojalla useampaan kuin yhteen ekvivalenssiluokkaan. Täten ekvivalenssirelaatio jakaa perusjoukon X pistevieraisiin osiin, ts. määrää seuraavan määritelmän mukaisen osituksen. Määritelmä 1.3.4 Perhe A = { X i X i I } on joukon X ositus, jos Sivu 39 / 250
a) jokainen X i on epätyhjä, b) i I X i = X, c) X i X j on tyhjä aina, kun i j. Lause 1.3.5 a) Ekvivalenssirelaation R X X määräämät ekvivalenssiluokat { R(x) x X } muodostavat joukon X osituksen. b) Jos A = { X i i I } on joukon X ositus, on olemassa täsmälleen yksi ekvivalenssirelaatio R X X, joka muodostaa osituksen A, nimittäin R := { (x, y) X X x, y X i jollekin i }. Todistus. Kohta a) on todettu edellä. b) Selvästi R on relaatio joukossa X. Osoitetaan, että R on refleksiivinen, symmetrinen ja transitiivinen. 1) Olkoon x X mielivaltainen. Koska A on ositus, on olemassa indeksi i I, jolle x X i. Mutta silloin (x, x) R eli xrx. Täten R on refleksiivinen. 2) Olkoot xry. Silloin x ja y ovat samassa joukossa X j, joten myös yrx, mikä osoittaa symmetrisyyden. 3) Olkoot xry ja yrz. On olemassa i 1, i 2 I, joille x, y X i1 ja y, z X i2. Koska y kuuluu molempiin ja A on ositus, on X i1 = X i2. Siis x,z X i1 eli xrz. Relaatio R on siis myös transitiivinen. Sivu 40 / 250
Tuli siis osoitetuksi, että R on ekvivalenssi. Jos S X X on jokin ekvivalenssi, joka määrää osituksen A, niin [ xsy ] [ x, y X i ] [ xry ], eli S = R. Huomautus 1.3.6 a) Lause 1.3.5 osoittaa, että ekvivalenssirelaatio voidaan ilmaista antamalla siihen liittyvä ositus. b) On helposti osoitettavissa, että ekvivalenssien leikkaus on ekvivalenssi. Jokainen relaatio voidaan täydentää ekvivalenssiksi Lauseiden 1.2.16 ja 1.2.20 tarjoamin keinoin (harjoitustehtävä). 1.4. Joukkojen mahtavuuksista Tarkastellaan keinoja vertailla joukkojen suuruuksia. Jos joukko X on äärellinen, sen koon mitaksi voidaan luonnollisesti ottaa alkioiden lukumäärä #X. Jotta myös äärettömien joukkojen kokoja päästään vertailemaan, määritellään joukkojen välisten funktioiden avulla abstraktimpi käsite kardinaaliluku eli kardinaliteetti. Joukon kardinaaliluku on alkiomäärän käsitteen yleistys siinä mielessä, että sen rajoittuma äärellisten joukkojen luokkaan voidaan samaistaa joukkojen alkioiden lukumäärien kanssa. Määrittelyn yhteydessä joukon X kardinaalilukua merkitään card X, mutta kun samaistus on suoritettu, siirrytään käyt- Sivu 41 / 250
tämään alkiomäärä-merkintää #X, joka äärellisen joukon yhteydessä tulkitaan kardinaaliluvun yksikäsitteisesti määräämäksi perusluvuksi n = #X N 0. Koska joukko-opin perusajatuksiin kuuluu, että joukko ei voi olla itsensä alkio, ei puhuta kaikkien joukkojen joukosta vaan kaikkien joukkojen luokasta tai kokoelmasta. Mahtavuuksien vertailu. Lähdetään liikkeelle joukkojen suhteellisesta suuruudesta. Määritelmä 1.4.1 Olkoot X ja Y joukkoja. Sanotaan, että 1) joukot X ja Y ovat yhtä mahtavat, jos joko X = Y = tai on olemassa bijektio X Y; merkitään X Y. 2) joukko X on korkeintaan yhtä mahtava kuin Y (tai joukko Y on vähintäin yhtä mahtava kuin X), jos joko X = tai on olemassa injektio X Y; merkitään X Y. 3) joukko Y on (aidosti) mahtavampi kuin X, jos joko X = ja Y, tai on olemassa injektio, mutta ei bijektiota X Y; merkitään X Y. Lause 1.4.2 Yhtämahtavuus on ekvivalenssirelaatio kaikkien joukkojen luokassa. Sivu 42 / 250
Todistus. Harjoitustehtävä. Joukon kardinaliteetti. Ekvivalenssi- ja järjestysrelaatioiden avulla saadaan määritellyksi joukon absoluuttinen suuruus. Määritelmä 1.4.3 Joukon X määräämää ekvivalenssiluokkaa relaatiossa sanotaan sen kardinaaliluvuksi eli kardinaliteetiksi, ja sitä merkitään card X. Kaikkien kardinaalilukujen joukkoa merkitään symbolilla K. Kardinaalilukujen joukkoon saadaan järjestys relaation avulla: asetetaan kaikilla κ 1, κ 2 K [ κ 1 κ 2 ] [ X 1 X 2 joillakin X 1 κ 1, X 2 κ 2 ]. Koska kardinaaliluvun alkiot ovat keskenään yhtä mahtavia, sana joillakin voitaisiin korvata sanalla kaikilla. Lause 1.4.4 Relaatio on täydellinen järjestys kardinaalilukujen joukossa. Todistus. Asia on selvä, kun uskotaan, että jokaisesta joukkoparista X, Y jompikumpi on vähintäin yhtä mahtava kuin toinen, ts. että on olemassa injektio X Y tai Y X. Lause 1.4.5 Olkoot X ja Y epätyhjiä joukkoja. Tällöin card X card Y jos ja vain jos on olemassa surjektio X Y. Sivu 43 / 250
Todistus. Harjoitustehtävä. Määritelmä 1.4.6 Joukko X on äärellinen, jos X [n] jollakin n N 0, muutoin joukko X on ääretön. Jos joukko X on äärellinen ja X [n], samaistetaan sen kardinaliteetti ja alkioiden lukumäärä n = #X seuraavasti: #X = n card[n] = card X. Myös näin saatua peruslukua #X sanotaan kardinaaliluvuksi. Tästä lähtien myös äärettömän joukon kardinaliteettia merkitään symbolilla #X. 1.5. Äärelliset ja äärettömät joukot Joukon äärellisyys voitaisiin määritellä myös seuraavasti: Joukko X on äärellinen, jos mikään sen aito osajoukko ei ole sen kanssa yhtä mahtava. Äärellisten yhtä mahtavien joukkojen välillä oleva injektio on aina bijektio, mutta äärettömien joukkojen välillä jokin kuvaus voi olla injektio olematta bijektio, vaikka joukot olisivatkin yhtä mahtavia (harjoitustehtävä). Äärelliset joukot. Tiedetään, että joukossa [n] on alkioita n kappaletta. Äärellisen joukon X alkioiden lukumäärä saadaan kardinaliteetin määritelmän avulla niin, että etsitään joukon X määräämästä ekvivalenssiluokasta muotoa [n] oleva joukko ja asetetaan #X := n. Todistetaan aluksi, että äärellisen joukon alkioiden lukumäärä on yksikäsitteisesti määrätty. Sitten osoitetaan, että kardinaliteetti on äärellisten joukkojen luokassa aidosti kasvava ja äärellisten erillisten Sivu 44 / 250
joukkojen suhteen äärellisesti additiivinen (summaperiaate). Lopuksi esitellään yksinkertainen, mutta usein käytetty äärellisten joukkojen laatikko- eli kyyhkyslakkaperiaate. Lause 1.5.1 Jos X on äärellinen joukko ja X [n 1 ], X [n 2 ], niin n 1 = n 2. Todistus. Olkoot f 1 : X [n 1 ] ja f 2 : X [n 2 ] oletusten mukaiset bijektiot. Koska yhdistetty kuvaus f 2 f1 1 : [n 1 ] [n 2 ] on bijektio, on n 1 = n 2. Lause 1.5.2 Olkoot X ja Y äärellisiä joukkoja. a) Jos X Y, niin #X #Y. b) Jos X Y, niin #X < #Y. Todistus. a) Jos X = Y, on asia selvä; muussa tapauksessa riittää todistaa vahvempi väite b). Todistetaan väite b) induktiolla luvun m = #Y N suhteen. 1) Olkoon #Y = 1. Koska tällöin X =, on #X = 0 < 1 = #Y. 2) Oletetaan, että väite on tosi joukoille, joiden kardinaaliluku = m N. Olkoon Y = {y 1, y 2,..., y m, y m+1 } ja X Y. Tällöin on olemassa y k Y \ X. Kuvaus f : Y\{y k } [m], { f(y i ) := i, kun i < k, i 1, kun i > k, Sivu 45 / 250
on selvästi bijektio, joten #(Y\{y k }) = m. Koska X Y\{y k }, on induktiooletuksen mukaan #X m < m + 1 = #Y. Siis väite on tosi arvolla m + 1. Induktioperiaatteen mukaan väite b) on tosi kaikilla Y, joille #Y = m N. Lause 1.5.3 Jos X 1, X 2,..., X p, p N, on kokoelma äärellisiä joukkoja, jotka ovat pareittain erillisiä, ts. X i X j = kaikilla i j, niin niiden yhdiste on äärellinen ja ( p ) p # X j = #X j. j=1 j=1 Todistus. Todistetaan väite tapauksessa p = 2. Yleinen tapaus on helppo todistaa tätä käyttäen induktiolla (harjoitustehtävä). Olkoot X ja Y äärellisiä joukkoja, joille X Y =. Olkoot n = #X, m = #Y ja kuvaukset f : X [n], g : Y [m] bijektioita. Tällöin kuvaus h : X Y [n + m], { f(z), kun z X, h(z) := g(z) + n, kun z Y, on bijektio. Täten #(X Y) = n + m = #X + #Y. Laatikkoperiaate (the pigeon hole principle). Seuraava tuttu ilmiö Sivu 46 / 250
On käytettävissä m laatikkoa. Jos n > m kappaletta palloja asetetaan noihin laatikoihin, on ainakin yhdessä vähintäin 2 palloa. voidaan esittää matematiikan kielellä laatikkoperiaatteena: Lause 1.5.4 (laatikkoperiaate) Olkoot X ja Y äärellisiä joukkoja, joille #X > #Y. Jos f : X Y on kuvaus, on joukossa X pistepari x 1 x 2, jolle f(x 1 ) = f(x 2 ). Todistus. Määritelmän 1.4.1 mukaan funktio f ei voi olla injektio, joten on olemassa x 1 x 2, joille f(x 1 ) = f(x 2 ). Lauseen 1.5.4 vahvennus, nk. yleistetty laatikkoperiaate todistetaan summaperiaatteen avulla. Lause 1.5.5 (yleistetty laatikkoperiaate) Olkoot X ja Y äärellisiä joukkoja ja f : X Y kuvaus. Jos #X > n #Y, niin #(f 1 (y)) > n jollakin y Y. Todistus. Olkoon m = #Y, Y = {y 1, y 2,..., y m } ja X j := f 1 (y j ) kaikilla j [m]. Vastaoletus: #X j n kaikilla j [m]. Koska f on kuvaus, on X = m X j ja X i X j = j=1 Sivu 47 / 250
kaikilla i j, joten Lauseen 1.5.3 ja vastaoletuksen nojalla #X = #X 1 + #X 2 + + #X m n m. Toisaalta oletuksen mukaan #X > n #Y, mikä johtaa edellisen nojalla ristiriitaan n m = n #Y < #X n m. Esimerkki 1.5.6 Aritmeettinen muotoilu yleistetylle laatikkoperiaatteelle: Olkoot n 1, n 2,..., n k N 0 lukuja ja n 1 + n 2 + + n k k > n. Silloin ainakin yksi luvuista n j > n, ts. kaikki luvut eivät voi olla aidosti pienempiä kuin niiden keskiarvo. Esimerkki 1.5.7 Oletetaan, että maapallon valtioiden pääkaupunkien joukon X kardinaliteetti on 200. Olkoon näissä mahdollisten lämpötilojen joukko eräällä hetkellä Y = { 40, 39,..., +39, +40 }. Tavallisen laatikkoperiaatteen (Lause 1.5.4 ) mukaan kuvaus f : X Y, f : pääkaupunki lämpötila kyseisessä kaupungissa Sivu 48 / 250
saa (asteen tarkkuudella) saman arvon ainakin kahdessa kaupungissa. Yleistetyn laatikkoperiaatteen (Lause 1.5.5 ) nojalla ainakin 3 kaupungissa on sama lämpötila, sillä n = 2 on suurin luku, jolle #X = 200 > n 81 = n #Y. Äärettömistä joukoista. Joukko X on Määritelmän 1.4.6 mukaan ääretön, jos se ei ole yhtä mahtava minkään joukon [n], n N 0, kanssa. Äärettömät joukot ovat siis aidosti mahtavampia kuin äärelliset joukot. Lauseen 1.5.2 kohta a) pätee myös äärettömille joukoille; jäljempänä todetaan, että b)-kohta ei aina ole totta. Myöskään summaperiaate ei päde, ks. Esimerkki 1.5.9 Tarkastellaan joitakin äärettömyyden eri asteita. Merkitään luonnollisten lukujen joukon kardinaliteettia ℵ 0 = #N. Silloin n < ℵ 0 kaikilla n N, sillä [n] [n + 1] N ja siten n < n + 1 ℵ 0. Määritelmä 1.5.8 Joukkoa X sanotaan numeroituvaksi, jos #X ℵ 0, muutoin ylinumeroituvaksi. Numeroituva joukko, joka ei ole äärellinen, on numeroituvasti ääretön. Äärelliset joukot ja joukon N kanssa yhtä mahtavat joukot ovat siis numeroituvia. On helpohko asia osoittaa (harjoitustehtävä), että ℵ 0 = #N 0 = #Z = #Q, vaikka N N 0 Z Q. Täten Lauseen 1.5.2 väite b) ei ole tosi äärettömille joukoille. Voidaan osoittaa (esimerkiksi Lebesguen mittateorian avulla, Analyy- Sivu 49 / 250
si 5), että R on ylinumeroituva. Joukko R on siten aidosti mahtavampi kuin Q, ts. #Q < #R. Äärettömien joukkojen kardinaliteettien laskulait poikkeavat oleellisesti äärellisten kardinaalilukujen laskulaeista; jälkimmäisillä lasketaan kuten luvuilla. Esimerkki 1.5.9 a) Äärellisille joukoille X, Y pätee #(X Y) #X + #Y ja #(X Y) = #X #Y. b) Jos ainakin toinen joukoista on ääretön, niin #(X Y) = #(X Y) = max{#x, #Y}. c) Jos Y on ääretön ja #X < #Y, niin #(Y\X) = #Y. d) Jos X on ääretön joukko, niin oleellisesti ainoa keino muodostaa alkeisoperaatioiden avulla tätä aidosti mahtavampi joukko on muodostaa sen potenssijoukko P(X) (ks. Luku 1.6). 1.6. Osajoukot ja ositukset Potenssijoukko. Tarkastellaan seuraavaksi perusjoukon X osajoukkojen kokoelmaa. Osoitetaan aluksi, että potenssijoukko on aina aidosti mahtavampi Sivu 50 / 250
kuin joukko itse. Sitten todistetaan äärellisten joukkojen summa- ja erotusperiaate eli yleinen yhteenlaskukaava sekä tarkastellaan joukon ositusten lukumääriä. Määritelmä 1.6.1 Joukon X potenssijoukko on sen kaikkien osajoukkojen muodostama perhe P(X) := { A A X }. Lause 1.6.2 a) Mielivaltaiselle joukolle X on #X < #P(X). b) Äärellisen joukon Y potenssijoukko on äärellinen ja #P(Y) = 2 #Y. Todistus. a) Kuvaus f : X P(X), f(x) := {x}, on selvästi injektio, joten #X #P(X). Osoitetaan toiseksi, että ei ole olemassa surjektiota X P(X). Olkoon g : X P(X) funktio ja A := { x X x / g(x) }. Näytetään, että mikään joukon X alkio ei kuvaudu joukolle A X. Vastaoletus: On olemassa x 0 X, jolle g(x 0 ) = A. Koska x 0 A tai x 0 / A, seuraa: Jos x 0 A, joukon A määrittelyn nojalla x 0 / g(x 0 ) = A. Jos x 0 / A = g(x 0 ), joukon A määrittelyn nojalla x 0 A. Sivu 51 / 250
Vastaoletus johtaa molemmissa tapauksissa ristiriitaan, joten ei ole olemassa alkiota x 0 X, joka kuvautuisi joukolle A. Koska ei ole olemassa surjektiota X P(X), on #X < #P(X). b) Induktiotodistus luvun n = #Y suhteen: 1) Arvolla n = 0 on Y = ja P(Y) = { }, joten #P(Y) = 1 = 2 0 = 2 #Y. 2) Oletetaan, että n-alkioisille joukoille pätee kaava #P(Z) = 2 #Z. Olkoon Y äärellinen joukko, jolle #Y = n + 1. Olkoon y Y mielivaltainen. Määritellään Y := Y\{y} ja A := { B {y} B P(Y ) }. Tällöin #Y = n ja kuvaus h : P(Y ) A, h(b) := B {y}, on bijektio (harjoitustehtävä), joten P(Y ) A. Induktio-oletuksen nojalla #A = #P(Y ) = 2 #Y = 2 n. Koska selvästikin P(Y ) A = ja P(Y) = P(Y ) A, on Lauseen 1.5.3 nojalla #P(Y) = #P(Y ) + #A = 2 n + 2 n = 2 n+1. Induktioperiaatteen nojalla väite pätee kaikille äärellisille joukoille. Sivu 52 / 250
Karakteristinen funktio. Joukon A X karakteristinen funktio (todennäköisyyslaskennassa nimeltään indikaattori) on kuvaus χ A : X {0, 1}, { 1, jos x A, χ A (x) := 0, jos x X\A. Jos A X on äärellinen, sen alkiomäärä voidaan esittää muodossa #A = 1 = χ A (x) = χ A (x) + χ A (x) = χ A (x). x A x A x A x (X\A) x X Lause 1.6.3 Olkoot A, B ja A 1, A 2,..., A n X. Silloin a) χ X\A = 1 χ A, b) χ A1 A 2 A n = χ A1 χ A2 χ An, c) χ A B = χ A + χ B χ A B. Todistus. a) Jos x A, on χ X\A (x) = 0 = 1 1 = 1 χ A (x). Jos taas x (X\A), niin χ X\A (x) = 1 = 1 0 = 1 χ A (x). b) Väite seuraa ekvivalenssiketjusta [ χ A1 A 2 A n (x) = 1 ] [ x (A 1 A n ) ] [ χ A1 (x) = = χ An (x) = 1 ] [ χ A1 (x) χ An (x) = 1 ]. Sivu 53 / 250
c) Todistetaan tarkastelemalla funktioiden χ A B ja χ A + χ B χ A B arvoja erikseen kussakin tapauksessa x A ja x B, x A ja x / B, x / A ja x B sekä viimein x / A ja x / B. Summa- ja erotusperiaate. Todistetaan äärellisen monen joukon yhdisteen alkioiden määrän laskukaava, joukkojen yleinen yhteenlaskukaava, joka on Lauseen 1.5.3 yleistys. Lause 1.6.4 (summa- ja erotusperiaate) Jos A 1,..., A n ovat äärellisiä joukkoja, niin #(A 1... A n ) = n #A i #(A i A j ) i=1 + 1 i<j<k n 1 i<j n #(A i A j A k ) + ( 1) n 1 #(A 1... A n ). Todistus. Merkitään X = A 1... A n. Jos x X, on x A i jollekin i [n], joten 1 = χ X = 1 (1 χ A1 )(1 χ A2 ) (1 χ An ) Sivu 54 / 250
= 1 = ( 1 n χ Ai i=1 n χ Ai + i=1 1 i<j<k n 1 i<j n 1 i<j n χ Ai χ Aj χ Ai χ Aj χ Ak + + ( 1) n χ A1 χ An ) χ Ai χ Aj + 1 i<j<k n + ( 1) n 1 χ A1 χ An. Lauseen 1.6.3 kohdan b) nojalla saadaan edellisestä #(A 1... A n ) = #X = x X χ X (x) χ Ai χ Aj χ Ak = x X n χ Ai (x) χ Ai (x) A j x X 1 i<j n + χ Ai (x) A j A k x X i=1 1 i<j<k n + ( 1) n 1 χ A1... A n (x). x X Vaihtamalla summausjärjestys ja ottamalla huomioon, että #A = χ A (x) x X Sivu 55 / 250
kaikilla A X, saadaan #(A 1... A n ) = n χ Ai (x) χ Ai (x) A j i=1 x X + 1 i<j<k n x X 1 i<j n x X χ Ai (x) A j A k + ( 1) n 1 x X χ A1... A n (x) = n #A i i=1 + 1 i<j n 1 i<j<k n #(A i A j ) #(A i A j A k ) + ( 1) n 1 #(A 1... A n ). Äärellisen joukon ositukset. Olkoon X epätyhjä äärellinen joukko, jossa on #X = n alkiota. Voidaan selvästikin olettaa, että X = [n]. Ongelma. Kuinka monta erilaista ositusta on joukossa [n]? Ratkaisu saadaan seuraavalla tarkastelulla. Sanotaan, että joukon [n] ositus on k-osainen, jos osituksessa on k kappaletta joukon [n] osajoukkoja. Merkitään p(n) = joukon [n] kaikkien ositusten lukumäärä, Sivu 56 / 250
p(n, k) = joukon [n] k-osaisten ositusten lukumäärä. Selvästi p(n, n) = 1 ja p(n, 1) = 1 kaikilla n N ja p(n) = n p(n, k). k=1 Lause 1.6.5 (palautuskaava) Jos joukossa X on n N alkiota, niin kaikilla n > k > 1 on p(n, k) = k p(n 1, k) + p(n 1, k 1). Todistus. Joukon [n] k-osaisia osituksia saadaan joukon [n 1] osituksista seuraavilla tavoilla: 1) Joukon [n 1] k-osaisen osituksen yhteen joukkoon lisätään n. 2) Joukon [n 1] (k 1)-osainen ositus täydennetään joukolla {n}. Lasketaan, montako näitä saadaan yhteensä. Tapa 1. Olkoon {A 1,..., A k } joukon [n 1] k-osainen ositus. Sitä vastaavat seuraavat k kappaletta joukon [n] osituksia: {A 1 {n}, A 2,..., A k } {A 1, A 2 {n},..., A k }. {A 1, A 2,..., A k {n}}. Sivu 57 / 250
Näin saadaan k p(n 1, k) joukon [n] k-osaista ositusta. Tapa 2. Jokaista joukon [n 1] (k 1)-osaista ositusta {B 1,..., B k 1 } vastaa joukon [n] k-osainen ositus {B 1,..., B k 1, {n}}; yhteensä p(n 1, k 1) ositusta. Tavoilla 1 ja 2 saadut ositukset ovat aivan ilmeisesti erilaisia, joten p(n, k) k p(n 1, k) + p(n 1, k 1). Yhtäsuuruuden osoittamiseksi riittää näyttää, että jokainen joukon [n] k-osainen ositus saadaan tavalla 1 tai 2. Olkoon A := {A 1,..., A k } mielivaltainen joukon [n] k-osainen ositus ja olkoon A i alkion n sisältävä joukko. Silloin: a) Jos A i \{n} =, on A i = {n}, joten ositus A on tyyppiä 2. b) Jos A i \{n} =, on kokoelma {A 1,..., A i \{n},..., A k } eräs joukon [n 1] k-osainen ositus; täten A on tyyppiä 1. On osoitettu, että myös p(n, k) k p(n 1, k) + p(n 1, k 1). Esimerkki 1.6.6 Lasketaan ilman palautuskaavaa joukon [6] kolmiosaisten ositusten määrä. Niitä on kolmea tyyppiä: {{a}, {b}, {c, d, e, f}}, {{a}, {b, c}, {d, e, f}}, {{a, b}, {c, d}, {e, f}}. Sivu 58 / 250
Ensimmäistä tyyppiä on 15, toista 60 ja kolmatta 15 erilaista, yhteensä 90 (ks. Esimerkki 1.6.7 ). Stirlingin kolmio. Palautuskaavan avulla luvut p(n, k) voidaan helposti laskea. Luvut voi näppärästi ilmaista nk. Stirlingin kolmion avulla (Taulukko 2). p(n, k) k = 1 2 3 4 5... p(n) = p(n, k) n = 1 1 1 2 1 1 2 3 1 3 1 5 4 1 7 6 1 15 5 1 15 25 10 1 52 6 1 31 90 65 15... 203....... Taulukko 2: Stirlingin kolmio Palautuskaavat (Lause 1.6.5 ) p(n, 1) = p(n, n) = 1, p(n, k) = k p(n 1, k) + p(n 1, k 1) ovat esimerkki kaksiulotteisesta rekursiokaavasta, ks. Luku 5 Sivu 59 / 250
Esimerkki 1.6.7 Palautuskaava antaa p(6, 3) = 3 p(5, 3) + p(5, 2) = 3 25 + 15 = 90. Selvitä, miten tämä saadaan taulukosta palautuskaavaa käyttäen ja laske vastaavaan tapaan p(7, 4). (Vastaus: p(7, 4) = 350.) Huomautus 1.6.8 Ositus-ongelmassa joukon alkiot ovat nimettyjä, joten on merkittävää, mitkä alkiot osajoukkoon kuuluvat. Luvussa 4 tarkastellaan identtisiä objekteja sisältävän kokoelman osittelujen lukumääriä. Sivu 60 / 250
2. VERKOT Perinteistä verkkojen sovellusaluetta ovat olleet maantieteellisiin verkkoihin kuten tiestö ja vesistö, sähköisiin verkkoihin kuten puhelinverkko ja sähkönsiirtoverkko sekä materian virtaukseen putkistossa liittyvät ongelmat. Uudempia verkkoina esitettävissä olevia struktuureja ovat mm. integroidut piirit ja mikroprosessorit, tietokoneohjelman vuokaaviot, yrityksen henkilöstöstruktuurit, tietopankit ja vaikkapa kansallisen tai koko maailman talouselämän rakenne. Modernin teknologian ripeä kehitys on, paitsi tuonut lisää verkkojen avulla ratkaistavia ongelmia, myös mahdollistanut yhä laajempien perinteistenkin ongelmakokonaisuuksien käsittelyn nopeasti, tehokkaasti ja halvalla. Tässä luvussa tarkastellaan aluksi erikseen suuntaamattomia ja suunnattuja verkkoja. Lopuksi käsitellään yhteisesti verkkojen isomorfisuutta ja tasoverkko-ominaisuutta sekä lyhyesti esimerkkien valossa painotettujen verkkojen ongelmia. 2.1. Suuntaamaton verkko Määritelmiä ja käsitteitä. Suuntaamaton verkko soveltuu sellaisten struktuurien malliksi, joissa materia tai informaatio voi liikkua kahta kohdetta yhdistävässä välineessä kumpaan suuntaan tahansa. Merkitään epätyhjän joukon X Sivu 61 / 250
ei-järjestettyä tuloa (ks. Luku 1.1) X & X = { {a, b} a, b X }. Määritelmä 2.1.1 Kolmikko (X, E, Ψ) on suuntaamaton verkko eli graafi ((undirected) graph, multigraph), jos X ja E ovat joukkoja ja Ψ: E X & X on kuvaus. Suuntaamattoman verkon yhteydessä käytetään nimityksiä vastaavuuskuvaus (incidence mapping) = joukon X alkio solmu (vertex, node) = joukon X alkio kaari tai väli (edge, link, arc) = joukon E alkio vastaavuuskuvaus = funktio Ψ Jos Ψ(e) = {x, y}, solmut x ja y ovat kaaren e päitä tai päätesolmuja ja kaari e yhdistää solmut x ja y. Sanotaan myös, että kaari e liittyy solmuihin x ja y ja vastaavasti solmut x ja y liittyvät kaareen e. Kaksi solmua ovat vierekkäisiä (adjacent), jos ne ovat saman kaaren päitä. Kaksi kaarta ovat rinnakkaisia, jos niillä on yhteiset päätesolmut, ja vierekkäisiä, jos niillä on ainakin yksi yhteinen pää. Jos Ψ(e) = {x, x}, on e silmukka tai luuppi. Tällöin merkitään lyhyesti Ψ(e) = {x}. Solmun x X asteluku (degree) on d G (x) := #{ e E Ψ(e) = {x, y}, y x } + 2 #{ e E Ψ(e) = {x} }, ts. niiden kaarien lukumäärä, joilla on päänä x, kun silmukat lasketaan kahdesti. Solmu x X on erillinen tai eristetty (isolated), jos d G (x) = 0, ts. jos se ei ole minkään kaaren pää. Sivu 62 / 250