811120P Diskreetit rakenteet 2018-2019 7. Kombinatoriikka
7.1 Johdanto Kombinatoriikka tutkii seuraavan kaltaisia kysymyksiä: Kuinka monella tavalla jokin toiminto voidaan suorittaa? Kuinka monta tietynlaista objektia on olemassa? Esimerkkejä Kuinka monesti algoritmin tietyt askeleet suoritetaan Montako salausavainta jossain tietyssä salausjärjestelmässä on käytössä Reittien lukumäärä lähteestä kohteeseen Objektien keskinäisten järjestysten lukumäärä Joukon osajoukkojen lukumäärä 811120P Diskreetit rakenteet, Kombinatoriikka 2
7.1 Johdanto (2) Kombinatoriikalla on läheinen yhteys klassiseen todennäköisyyslaskentaan Tapahtuman todennäköisyys = suotuisten tapausten lukumäärä jaettuna kaikkien tapausten lukumäärällä Esimerkki: Mikä on todennäköisyys saada lotossa yhdellä rivillä 7 oikein? Vastaus: 1/(kaikkien lottorivien lukumäärä) 811120P Diskreetit rakenteet, Kombinatoriikka 3
7.2 Joukkojen unionin koko Olkoot A ja B joukkoja; mikä on A B =? Jos lasketaan A + B, niin joukon A B alkiot lasketaan kahdesti; siis A B = A + B A B Tehtävä1: Erään kurssin 120:stä opiskelijasta 84 osaa ohjelmoida C kielellä ja 66 Javalla. Jos 45 osaa ohjelmoida sekä C:llä että Javalla, niin kuinka moni ei osaa ohjelmoida kummallakaan? Vastaus: 15 Tehtävä2: Laske A B C Vastaus: A + B + C A B A C B C + A B C 811120P Diskreetit rakenteet, Kombinatoriikka 4
7.3 Tuloperiaate Perustuu siihen, että A B = A B Esimerkki: Eräässä tekstinkäsittelyohjelmassa kirjaimelle on tarjolla viisi erilaista fonttia ja kolme tyyliä (normaali, kursivoitu ja lihavoitu). Monellako tavalla kirjaimen fontin ja tyylin yhdistelmä voidaan valita? Olkoon fonttien joukko F ja tyylien joukko T. Silloin F = 5 ja T = 3. Yhdistelmiä on yhtä paljon kuin joukossa F T alkioita, ts. F T = 15 Periaate: Jos toiminto A voidaan suorittaa m:llä eri tavalla ja toiminto B tämän jälkeen n:llä, toiminnon A suorittamisesta riippumattomalla tavalla, niin toiminto A ja B voidaan suorittaa m n eri tavalla. 811120P Diskreetit rakenteet, Kombinatoriikka 5
7.3 Tuloperiaate (2) Tehtävä: Eräässä tietojärjestelmässä käyttäjätunnukset koostuvat kolmesta latinalaisen aakkoston (26 kirjainta) suuresta kirjaimesta, joita seuraa kolmen numeron jono (esim. ABC123). Kuinka monta erilaista käyttäjätunnusta on olemassa? Kuinka monessa käyttäjätunnuksessa numero 0 esiintyy ainakin kerran? Vastaus: 17 576 000 ja 4 763 096 811120P Diskreetit rakenteet, Kombinatoriikka 6
7.4 Permutaatiot Permutaatio on jonkin joukon alkioiden järjestys Permutaatiolla pyritään selvittämään, kuinka moneen järjestykseen n:n alkion joukon alkiot voidaan asettaa Esim. alkioiden a, b ja c eri järjestykset abc, acb, bac, bca, cab, cba (6 kappaletta) Jos alkioita n, permutaation 1. alkio voidaan valita n eri tavalla, 2. alkio n 1 eri tavalla, jne..., (n 1). alkio kahdella eri tavalla ja n. alkio yhdellä tavalla -> tuloperiaatteen nojalla n:n alkion permutaatioiden lukumäärä on n (n 1) 2 1 = n! (merkintä; nimitys n:n kertoma) 811120P Diskreetit rakenteet, Kombinatoriikka 7
7.4 Permutaatiot (2) Tehtävä: Liikuntatunnilla on 10 oppilasta. Opettaja haluaa järjestää oppilaat jonoon kaikilla mahdollisilla tavoilla. Jos yhden jonon muodostaminen kestää 10 sekuntia, niin kuinka kauan kestää kaikkien järjestysten toteuttaminen? Vastaus: 420 vuorokautta 811120P Diskreetit rakenteet, Kombinatoriikka 8
7.4 Permutaatiot (3) Olkoon annettu 12 palloa, jotka ovat väriä lukuunottamatta samanlaisia. Olkoot palloista 3 sinistä, 4 punaista ja 5 vihreää. Monellako tavalla ne voidaan järjestää? Jos kaikki pallot olisivat erilaisia, järjestyksiä olisi 12! kappaletta. Nyt sinisiä palloja voidaan vaihdella 3! = 6 tavalla ja lopputulos on sama. Samoin punaisia 4! ja vihreitä 5! tavalla. Siten järjestyksiä on 12!/(3! 4! 5!) = 27 720 811120P Diskreetit rakenteet, Kombinatoriikka 9
7.4 Permutaatiot (4) Em. tarkastelu voidaan yleistää Oletetaan, että meillä on n kappaletta k:ta eri tyyppiä olevia alkioita; tyyppiä i on n i kpl niin, että n 1 +n 2 + + n k = n. Silloin alkioiden järjestyksiä on n! x = n 1!n 2! n k! 811120P Diskreetit rakenteet, Kombinatoriikka 10
7.5 Joukon osajoukon poimiminen Olkoon joukossa n alkiota. Kuinka monella tavalla siitä voidaan poimia r ( n) alkiota, jos alkiot pidetään järjestyksessä? Kuten permutaatiossa 1. alkio voidaan valita n eri tavalla, 2. alkio n 1 eri tavalla, jne..., r. alkio (n+1-r) eri tavalla ja n. alkio yhdellä tavalla -> kaikkiaan P n, r = n n 1 n 2 n r + 1 eri tapaa Esimerkki. Valmentaja poimii 10 pelaajan joukosta jääkiekkokentällisen kenttäpelaajat pelipaikkajärjestyksessä. Montako tapaa? Kentällä 5 pelaajaa, joten mahdollisuuksia on 10*9*8*7*6 = 30 240 811120P Diskreetit rakenteet, Kombinatoriikka 11
7.6 Kombinaatiot Tarkastellaan n-alkioista joukkoa A, josta otetaan r:n alkion otoksia. Otoksia tarkastellaan joukkoina, ts. niiden alkioiden järjestyksellä ei ole väliä -> tällaisia joukkoja nimitetään joukon A r-kombinaatioiksi Joukon A r-kombinaatioiden lukumäärä on C n, r = n r = P(n,r) r! = n! r! n r! Esimerkki. Montako erilaista Eurojackpot-riviä on olemassa? Pelissä arvotaan 5 numeroa 50:stä 2 tähtinumeroa 10:stä, joten rivejä on 50 5 * 10 2 = 2 118 760 45 = 95 344 200 811120P Diskreetit rakenteet, Kombinatoriikka 12
7.6 Kombinaatiot (2) Tehtävä. Mikä on todennäköisyys saada yhdellä pelatulla lottorivillä a) 7 oikein, b) tasan 6 oikein? Vastaus. 1/18 643 560 231/18 643 560 811120P Diskreetit rakenteet, Kombinatoriikka 13
Palaute #!? 811120P Diskreetit rakenteet, Kombinatoriikka 14