9  Laskennallinen kombinatoriikka

Tekijä

Olli Järviniemi

9.1 Johdanto

Laskennallisessa kombinatoriikassa nimensä mukaisesti lasketaan erilaisia kombinaatioiden eli yhdistelmien määriä. Tässä tekstissä esitetään muutama usein tarvittava perusidea sekä pari soveltavaa tehtävää.

9.2 Perus­periaatteet

Seuraavat ideat ovat hyvin yksin­kertaisia, mutta koska niitä käytetään toistuvasti tästä eteenpäin, mainitaan ne selkeyden vuoksi. Käydään ideat läpi esimerkkien kautta.

Tulo­periaate. Jos ravintolassa on tarjolla kolmea eri alku­ruokaa, viittä eri pää­ruokaa ja neljää eri jälki­ruokaa, niin tilaamalla yhden alku­ruoan, yhden pää­ruoan ja yhden jälki­ruoan aterioita voidaan muodostaa 354=603 \cdot 5 \cdot 4 = 60 erilaista ateriaa.

Summa­periaate. Jos ravintolassa on kolme pöytää, joissa ensimmäisessä on 66 tuolia, toisessa 44 ja kolmannessa 55, on tuoleja yhteensä 6+4+5=156+4+5 = 15.

Tulo- ja summa­periaatteet yksin­kertaisesti kertovat, että tiettyjen asioiden määrä saadaan tilanteesta riippuen kertomalla tai summaamalla yksittäisten vaihto­ehtojen määrät.

9.3 Tärkeitä esimerkkejä

9.3.1 Esimerkki 1: Kertoma

Tehtävä 9.1 Pöydällä on luvuin 1,2,,81, 2, \ldots , 8 numeroidut kortit. Kortit laitetaan jossakin järjestyksessä riviin pöydälle. Kuinka moneen eri järjestykseen kortit voidaan laittaa?

Ajatellaan, että aluksi kortit otetaan käteen, ja kädestä kortteja laitetaan yksitellen pöydälle, ensimmäinen kortti rivin vasempaan päähän, toinen kortti sen oikealle puolelle, kolmas kortti sitä seuraavaksi ja niin edelleen. Ensimmäinen kortti voidaan valita 88 tavalla, koska kädessä on tällöin 88 korttia. Toisen kortin kohdalla kortteja on 77, joten vaihto­ehtoja on 77. Seuraavilla korteilla vaihto­ehtoja on 6,5,4,3,26, 5, 4, 3, 2 ja 11.

Tulo­periaatteen nojalla vastaus on 876543218 \cdot 7 \cdot 6 \cdot 5 \cdot 4 \cdot 3 \cdot 2 \cdot 1, joka on 4032040320. Vaihto­ehtoja on siis aika monta!

Yleisesti nn kortilla vastaus on samaan tapaan n(n1)(n2)321n \cdot (n-1) \cdot (n-2) \cdot \ldots \cdot 3 \cdot 2 \cdot 1. Tätä lukua merkitään n!n! ja kutsutaan luvun nn kertomaksi (ei ”nn huutomerkki”). Esimerkiksi 8!=403208! = 40320. Lukujen 1,2,3,4,5,6,7,8,9,101, 2, 3, 4, 5, 6, 7, 8, 9, 10 kertomat ovat1 1,2,6,24,120,720,5040,40320,362880,3628800.1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800.

1 Lisäksi määritellään 0!=10! = 1. Tämä voi aluksi tuntua omituiselta, mutta tälle on järkevät perustelut. Yksi perustelu: Jos summataan nolla lukua, on summa järkevä määritellä nollaksi. Jos nimittäin tutkimme esimerkiksi summaa 1+2+31+2+3 ja summaamme siihen vielä nolla lukua lisää, ei summan arvo muutu, joten nollan luvun summan tulee olla nolla. Vastaavasti jos kerromme nolla lukua keskenään, on tulo järkevä määritellä ykköseksi. Jos nimittäin tutkimme esimerkiksi tuloa 1231 \cdot 2 \cdot 3 ja kerromme sitä vielä nollalla luvulla lisää, ei tulon arvo muutu, joten nollan luvun tulon tulee olla yksi.

Joidenkin asioiden (tämän tehtävän tapauksessa korttien) järjestystä kutsutaan permutaatioksi (voidaan siis sanoa, että 88 kortilla on 4032040320 eri permutaatiota).

9.3.2 Esimerkki 2: Binomi­kertoimet

Tehtävä 9.2 Pitsaan valitaan kaksi täytettä kahdeksasta vaihto­ehdosta. Kuinka monta eri täyte­yhdistelmää on olemassa? (Samaa täytettä ei saa valita kahdesti.)

Ensimmäinen täyte voidaan valita kahdeksalla eri tavalla. Toinen täyte puolestaan voidaan valita seitsemällä eri tavalla. Tulo­periaate antaisi siis, että vaihto­ehtoja on 87=568 \cdot 7 = 56, mutta tämä ei ole aivan oikein. Täytteiden valitsemisen järjestyksellä ei tietenkään pitsaa tehdessä ole väliä, mutta tulemme yllä laskeneeksi jokaisen täyte­parin kahteen kertaan. Nimittäin yksi tapa saada pitsaan täytteet A ja B on valita ensin täyte A ja sitten täyte B, ja toinen tapa on valita ensin täyte B ja sitten täyte A.

Tämän vuoksi vastaus tulee jakaa kahdella, eli oikea vastaus on 872=28.\frac{8 \cdot 7}{2} = 28.

Tehtävä 9.3 Pitsaan valitaan neljä täytettä kahdeksasta vaihto­ehdosta. Kuinka monta eri täyte­yhdistelmää on olemassa? (Samaa täytettä ei saa valita kahdesti.)

Samaan tapaan kuin yllä ensimmäinen veikkaus voisi olla 8765=16808 \cdot 7 \cdot 6 \cdot 5 = 1680, mutta tämä ei taaskaan ole aivan oikein. Tällä kertaa sama täyte­yhdistelmä A, B, C, D voidaan valita 4!=244! = 24 eri järjestyksessä (vertaa tehtävään 9.1). Tämän vuoksi veikkaus pitää jakaa luvulla 4!4!, eli oikea vastaus on 876524=70.\frac{8 \cdot 7 \cdot 6 \cdot 5}{24} = 70.

Yleisesti jos on nn täytettä, joista voidaan valita jotkin kk, on vastaus tehtävään n(n1)(n2)(n(k1))k!.\frac{n \cdot (n-1) \cdot (n-2) \cdot \ldots \cdot (n - (k-1))}{k!}. Tätä lukua kutsutaan binomi­kertoimeksi, ja sitä merkitään (nk).{n \choose k}. (Tämä luetaan ”nn yli kk”.) Binomi­kertoimien kaavaa voi vielä hieman sieventää: huomataan, että n(n1)(n2)(n(k1))k!=n!(nk)!k!=n!k!(nk)!,\frac{n \cdot (n-1) \cdot (n-2) \cdot \ldots \cdot (n-(k-1))}{k!} = \frac{\frac{n!}{(n-k)!}}{k!} = \frac{n!}{k!(n-k)!}, joten usein määritelmä kirjoitetaan muodossa (nk)=n!k!(nk)!.{n \choose k} = \frac{n!}{k!(n-k)!}.

Huomaa, että (n0)=1{n \choose 0} = 1 ja (nn)=1{n \choose n} = 1: on tasan yksi pitsa, jossa ei ole täytteitä ja tasan yksi pitsa, jossa on kaikki nn täytettä. Tässä on esimerkkejä binomi­kertomista:

(50)=1,(51)=5,(52)=10,(53)=10,(54)=5,(55)=1.{5 \choose 0} = 1, {5 \choose 1} = 5, {5 \choose 2} = 10, {5 \choose 3} = 10, {5 \choose 4} = 5, {5 \choose 5} = 1.

9.4 Lisää binomi­kertoimista

Binomi­kertoimilla on paljon käteviä ominaisuuksia. Käsitellään tässä joitain niistä.

Seuraavassa kolmiossa on binomi­kertoimia. Ylimmällä rivillä on binomi­kerroin (00)=1{0 \choose 0} = 1, seuraavalla rivillä (10){1 \choose 0} ja (11){1 \choose 1}, seuraavalla rivillä (20),(21){2 \choose 0}, {2 \choose 1} ja (22){2 \choose 2} ja niin edelleen sopivasti aseteltuna.

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

Kolmiota kutsutaan Pascalin kolmioksi. Kolmiosta huomataan seuraava asia: alempana oleva luku on sen kahden ylä­puolella oleva luvun summa.

Lause 9.1 (Pascalin identiteetti) Olkoot nn ja kk kokonais­lukuja, joilla 0k<n0 \le k < n. Tällöin (nk)+(nk+1)=(n+1k+1).{n \choose k} + {n \choose k+1} = {n+1 \choose k+1}.

Todistus. Lauseen voi todistaa algebrallisesti käyttämällä määritelmää (nk)=n!/(k!(nk)!){n \choose k} = n!/(k!(n-k)!) ja tekemällä laskuja. Tässä kuitenkin esitetään kombinatorinen todistus.

Mietitään, monellako tavalla n+1n+1 täyte­vaihtoehdosta voidaan valita k+1k+1 pitsatäytettä. Täyte­yhdistelmien määrä on edellisen osion perusteella binomi­kerroin (n+1k+1){n+1 \choose k+1}. Toisaalta yhdistelmät voi jakaa kahteen kategoriaan.

Kategoria 1. Täyte numero 11 tulee valituksi. Tällöin lopuista nn täytteestä tulee valita vielä kk täytettä. Tämä voidaan tehdä (nk){n \choose k} tavalla.

Kategoria 2. Täyte numero 11 ei tule valituksi. Tällöin lopuista nn täytteestä tulee valita vielä k+1k+1 täytettä. Tämä voidaan tehdä (nk+1){n \choose k+1} tavalla.

Lauseen tulos seuraa summa­periaatteella.

9.5 Esimerkki­tehtävä

Tehtävä 9.4 Annalla, Bellalla ja Caroliinalla on nn karkkia, jotka he jakavat keskenään. Kuinka monella tavalla he voivat jakaa karkit? (Karkit ovat samanlaisia.)

Jos merkitsemme Annan saamien karkkien määrää aa:lla, Bellan bb:llä ja Caroliinan cc:llä, niin haluamme löytää yhtälön a+b+c=na + b + c = n ratkaisujen määrän, missä a,ba, b ja cc ovat kokonais­lukuja ja vähintään 00.

On parikin tapaa, miten tehtävää voi lähestyä. Ensinnäkin voisi miettiä, miten ongelma toimii kahdella henkilöllä. Jos kahden henkilön, Danielin ja Emilin, tulee jakaa nn karkkia keskenään, on vaihto­ehtoja n+1n+1: Danielille voidaan antaa 0,1,2,,n10, 1, 2, \ldots , n-1 tai nn karkkia ja loput annetaan Emilille.

Toiseksi voi tutkia, paljonko tapoja on pienillä nn:n arvoilla.

  • Jos n=0n = 0, tapoja on vain 11 (kukaan ei saa mitään).
  • Jos n=1n = 1, tapoja on 33 (valitaan, kenelle karkki annetaan).
  • Jos n=2n = 2, tapoja on 66: on kolme tapaa, joissa joku saa molemmat karkit ja kolme tapaa, joissa jotkut kaksi saavat yhden karkin ja kolmas jää ilman.
  • Jos n=3n = 3, tapoja on 1010: joku voi saada kaikki kolme karkkia (33 tapaa), joku saa kaksi karkkia ja joku toinen yhden (32=63 \cdot 2 = 6 tapaa), kaikki saavat yhden karkin (11 tapa).

Jotkut lukijat saattavat huomata, että tapojen määrät ovat 11, 1+21+2, 1+2+31+2+3, 1+2+3+41+2+3+4 ja niin edelleen. Tämä luku­jono on tuttu Induktiivinen päättely -tekstistä, mikä vihjaa siihen, että vastaus tehtävään on (n+1)(n+2)/2(n+1)(n+2)/2. Tämän keksiminen voi auttaa tehtävän ratkaisussa.

Ensimmäistä lähestymis­tapaa voi soveltaa myös kolmelle henkilölle. Tutkitaan tapauksia sen mukaan, kuinka monta karkkia Annalle annetaan.

  • Jos Annalle annetaan 00 karkkia, niin Bella ja Caroliina voivat jakaa nn karkkia keskenään n+1n+1 tavalla.
  • Jos Annalle annetaan 11 karkki, niin Bella ja Caroliina voivat jakaa n1n-1 karkkia keskenään nn tavalla.
  • \vdots
  • Jos Annalle annetaan n1n-1 karkkia, niin Bella ja Caroliina voivat jakaa 11 karkin keskenään 22 tavalla
  • Jos Annalle annetaan nn karkkia, niin Bella ja Caroliina voivat jakaa 00 karkkia keskenään 11 tavalla.

Siis vastaus tehtävään on 1+2+3++n+(n+1)1 + 2 + 3 + \ldots + n + (n+1). Ja kuten Induktiivinen päättely -tekstissä laskettiin, tämä summa sievenee muotoon (n+1)(n+2)/2(n+1)(n+2)/2.)

Kommentti. Vastauksen (n+1)(n+2)/2(n+1)(n+2)/2 voi kirjoittaa binomi­kertoimena (n+22){n+2 \choose 2}. Alla esitetään myös ratkaisu, joka selittää luontevasti, miksi vastaus on tämä binomi­kerroin. (Ratkaisu on sen verran luova, että sitä olisi vaikea keksiä itse, minkä vuoksi yllä esitettiin lähestyttävämpi ratkaisu.)

Laitetaan Annan, Bellan ja Cellan nn karkkia pöydälle riviin. Sijoitetaan riviin myöskaksi kapulaa, jotka jakavat karkit kolmeen ryhmään. Anna saa ensimmäisen kapulan vasemmalle puolelle jäävät karkit, Bella kapuloiden väliin jäävät karkit ja Cella kapuloiden oikealle puolelle jäävät karkit.

Kuusi karkkia kuvaavaa ympyrää rivissä. Niiden väliin on pystytetty kaksi kapulaa, jotka jakavat karkit kolmeen ryhmään: vasemmalla kaksi ympyrää, keskellä yksi ja oikealla kolme.

Esimerkkitilanne, jossa Anna saa kaksi karkkia, Bella yhden ja Cella kolme.

Monellako tavalla kapuloiden paikat voi valita? Voi ajatella, että joka tapauksessa rivissä tulee lopuksi olemaan n+2n+2 asiaa: nn karkkia ja 22 kapulaa. Meidän tulee vain valita, mitkä näistä kahdesta paikasta ovat juuri kapuloiden paikat. Täten tapoja on (n+22){n+2 \choose 2}.

(Parasta menetelmässä on, että se toimii samaan tapaan myös useammalla kuin kolmella henkilöllä.)

9.6 Tehtäviä

Tehtävä 1. Pöydällä on palloja, jotka ovat joko punaisia, sinisiä tai punasinisiä. Tiedetään, että 1010 pallossa on punaista, 1515 pallossa on sinistä ja 77 pallossa on sekä punaista että sinistä. Montako palloja on yhteensä?

Tehtävä 2. Säännöllisen yhdeksän­kulmion kärki­pisteistä valitaan jotkin kolme. Kuinka monta eri tasa­kylkistä kolmiota näin voidaan muodostaa?

Tehtävä 3. 6×66 \times 6 -ruudukkoon laitetaan 66 peli­merkkiä niin, etteivät mitkään kaksi peli­merkkiä ole samalla pysty- tai vaaka­rivillä. Kuinka monella tavalla peli­merkit voidaan laittaa ruudukkoon?

Tehtävä 4. Pöydällä on rivissä neljä korttia, joissa on luvut yhdestä neljään. Kuinka monella tavalla kortit voi sekoittaa ja laittaa uudestaan riviin niin, ettei mikään kortti ole alkuperäisellä paikallaan?

Tehtävä 5. Pitsaan voidaan valita täytteitä nn eri vaihto­ehdosta. Pitsaan saa valita niin monta täytettä kuin haluaa (mukaan lukien 00 tai nn täytettä), mutta samaa täytettä ei saa valita montaa kertaa. Osoita, että täyte­yhdistelmien määrä on 2n2^n.

Tehtävä 6. Opettaja laittaa luokkansa 99 oppilasta istumaan kolmen eri pöydän ääreen. Ensimmäisen pöydän ääreen mahtuu 44 oppilasta, toisen ääreen 33 ja kolmannen ääreen 22. Kuinka monella eri tavalla opettaja voi jakaa oppilaat?

Tehtävä 7. Osoita, että Pascalin kolmion nn:nnen rivin lukujen summa on 2n2^n, kun laskeminen tehdään niin, että ylin rivi on nollas rivi. Toisin sanoen osoita, että (n0)+(n1)++(nn)=2n.{n \choose 0} + {n \choose 1} + \ldots + {n \choose n} = 2^n.

Tehtävä 8. Olkoot nn ja 0kn0 \le k \le n kokonais­lukuja. Tutkitaan lauseketta, joka saadaan kertomalla (x+y)n(x+y)^n auki. Osoita, että termin xkynkx^ky^{n-k} kerroin lausekkeessa on (nk){n \choose k}.

(Tätä tulosta kutsutaan binomilauseeksi ja se selittää, miksi lukuja (nk){n \choose k} kutsutaan binomi­kertoimiksi: ne vastaavat kertoimia polynomissa, joka saadaan kun binomi (x+y)n(x+y)^n kerrotaan auki.)