diff --git a/luku22.tex b/luku22.tex index 2d5be11..cb6d700 100644 --- a/luku22.tex +++ b/luku22.tex @@ -1,18 +1,18 @@ \chapter{Combinatorics} -\index{kombinatoriikka@kombinatoriikka} +\index{combinatorics} -\key{Kombinatoriikka} tarkoittaa yhdistelmien määrän laskemista. -Yleensä tavoitteena on toteuttaa laskenta -tehokkaasti niin, että jokaista yhdistelmää -ei tarvitse muodostaa erikseen. +\key{Combinatorics} studies methods for counting +combinations of objects. +Usually, the goal is to find a way to +count the combinations efficiently +without generating each combination separately. -Tarkastellaan esimerkkinä tehtävää, -jossa laskettavana on, -monellako tavalla luvun $n$ voi esittää positiivisten -kokonaislukujen summana. -Esimerkiksi luvun 4 voi esittää 8 tavalla -seuraavasti: +As an example, let's consider a problem where +our task is to calculate the number of representations +for an integer $n$ as a sum of positive integers. +For example, there are 8 representations +for the number $4$: \begin{multicols}{2} \begin{itemize} \item $1+1+1+1$ @@ -26,29 +26,28 @@ seuraavasti: \end{itemize} \end{multicols} -Kombinatorisen tehtävän ratkaisun voi usein -laskea rekursiivisen funktion avulla. -Tässä tapauksessa voimme määritellä funktion $f(n)$, -joka laskee luvun $n$ esitystapojen määrän. -Esimerkiksi $f(4)=8$ yllä olevan esimerkin mukaisesti. -Funktion voi laskea rekursiivisesti seuraavasti: +A combinatorial problem can often be solved +using a recursive function. +In this case, we can define a function $f(n)$ +that counts the number of representations for $n$. +For example, $f(4)=8$ according to the above example. +The function can be recursively calculated as follows: \begin{equation*} f(n) = \begin{cases} 1 & n = 1\\ f(1)+f(2)+\ldots+f(n-1)+1 & n > 1\\ \end{cases} \end{equation*} -Pohjatapauksena on $f(1)=1$, -koska luvun 1 voi esittää vain yhdellä tavalla. -Rekursiivinen tapaus käy läpi -kaikki vaihtoehdot, -mikä on summan viimeinen luku. -Esimerkiksi tapauksessa $n=4$ summa voi päättyä -$+1$, $+2$ tai $+3$. -Tämän lisäksi lasketaan mukaan esitystapa, -jossa on pelkkä luku $n$. +The base case is $f(1)=1$, +because there is only one way to represent the number 1. +Otherwise, we go through all possibilities for +the last number in the sum. +For example, in when $n=4$, the sum can end +with $+1$, $+2$ or $+3$. +In addition, we also count the representation +that only contains $n$. -Funktion ensimmäiset arvot ovat: +The first values for the function are: \[ \begin{array}{lcl} f(1) & = & 1 \\ @@ -58,83 +57,86 @@ f(4) & = & 8 \\ f(5) & = & 16 \\ \end{array} \] -Osoittautuu, että funktiolle on myös suljettu muoto +It turns out that the function also has a closed-form formula \[ f(n)=2^{n-1}, \] -mikä johtuu siitä, että summassa on $n-1$ mahdollista -kohtaa +-merkille ja niistä valitaan mikä tahansa osajoukko. +which is based on the fact that there are $n-1$ +possible positions for +-signs in the sum, +and we can choose any subset of them. -\section{Binomikerroin} +\section{Binomial coefficient} -\index{binomikerroin@binomikerroin} +\index{binomial coefficient} -\key{Binomikerroin} ${n \choose k}$ ilmaisee, -monellako tavalla $n$ alkion joukosta -voidaan muodostaa $k$ alkion osajoukko. -Esimerkiksi ${5 \choose 3}=10$, -koska joukosta $\{1,2,3,4,5\}$ -voidaan valita $10$ tavalla $3$ alkiota: +A \key{binomial coefficient} ${n \choose k}$ +is the number of ways we can choose a subset +of $k$ elements from a set of $n$ elements. +For example, ${5 \choose 3}=10$, +because the set $\{1,2,3,4,5\}$ +has 10 subsets of 3 elements: \[ \{1,2,3\}, \{1,2,4\}, \{1,2,5\}, \{1,3,4\}, \{1,3,5\}, \{1,4,5\}, \{2,3,4\}, \{2,3,5\}, \{2,4,5\}, \{3,4,5\} \] -\subsubsection{Laskutapa 1} +\subsubsection{Formula 1} -Binomikertoimen voi laskea rekursiivisesti seuraavasti: +Binomial coefficients can be +recursively calculated as follows: \[ {n \choose k} = {n-1 \choose k-1} + {n-1 \choose k} \] -Ideana rekursiossa on tarkastella tiettyä -joukon alkiota $x$. -Jos alkio $x$ valitaan osajoukkoon, -täytyy vielä valita $n-1$ alkiosta $k-1$ alkiota. -Jos taas alkiota $x$ ei valita osajoukkoon, -täytyy vielä valita $n-1$ alkiosta $k$ alkiota. - -Rekursion pohjatapaukset ovat seuraavat: +The idea is to consider a fixed +element $x$ in the set. +If $x$ is included in the subset, +the remaining task is to choose $k-1$ +elements from $n-1$ elements, +and otherwise +the remaining task is to choose $k$ elements from $n-1$ elements. +The base cases for the recursion are as follows: \[ {n \choose 0} = {n \choose n} = 1 \] -Tämä johtuu siitä, että on aina yksi tapa -muodostaa tyhjä osajoukko, -samoin kuin valita kaikki alkiot osajoukkoon. +The reason for this is that there is always +one way to construct an empty subset, +or a subset that contains all the elements. -\subsubsection{Laskutapa 2} +\subsubsection{Formula 2} -Toinen tapa laskea binomikerroin on seuraava: +Another way to calculate binomial coefficients is as follows: \[ {n \choose k} = \frac{n!}{k!(n-k)!}. \] -Kaavassa $n!$ on $n$ alkion permutaatioiden määrä. -Ideana on käydä läpi kaikki permutaatiot -ja valita kussakin tapauksessa -permutaation $k$ ensimmäistä alkiota osajoukkoon. -Koska ei ole merkitystä, -missä järjestyksessä osajoukon alkiot -ja ulkopuoliset alkiot ovat, -tulos jaetaan luvuilla $k!$ ja $(n-k)!$. +There are $n!$ permutations for $n$ elements. +We go through all permutations and in each case +select the first $k$ elements of the permutation +to the subset. +Since the order of the elements in the subset +and outside the subset doesn't matter, +the result is divided by $k!$ and $(n-k)!$ -\subsubsection{Ominaisuuksia} +\subsubsection{Properties} -Binomikertoimelle pätee +For binomial coefficients, \[ {n \choose k} = {n \choose n-k}, \] -koska $k$ alkion valinta osajoukkoon -tarkoittaa samaa kuin että valitaan -$n-k$ alkiota osajoukon ulkopuolelle. +because we can either select $k$ +elements to the subset, +or select $n-k$ elements that +will be outside the subset. -Binomikerrointen summa on +The sum of binomial coefficients is \[ {n \choose 0}+{n \choose 1}+{n \choose 2}+\ldots+{n \choose n}=2^n. \] -Nimi ''binomikerroin'' tulee siitä, että +The reason for the name ''binomial coefficient'' +is that \[ (a+b)^n = {n \choose 0} a^n b^0 + @@ -143,12 +145,13 @@ Nimi ''binomikerroin'' tulee siitä, että {n \choose n-1} a^1 b^{n-1} + {n \choose n} a^0 b^n. \] -\index{Pascalin kolmio} +\index{Pascal's triangle} -Binomikertoimet esiintyvät myös \key{Pascalin -kolmiossa}, jonka reunoilla on lukua 1 -ja jokainen luku saadaan -kahden yllä olevan luvun summana: +Binomial coefficients also appear in +\key{Pascal's triangle} +whose border consists of 1's, +and each value is the sum of two +above values: \begin{center} \begin{tikzpicture}{0.9} \node at (0,0) {1};