Catalan numbers
This commit is contained in:
parent
70bc9cdc4d
commit
2fed4f2df8
249
luku22.tex
249
luku22.tex
|
@ -177,16 +177,17 @@ above values:
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
\subsubsection{Laatikot ja pallot}
|
\subsubsection{Boxes and balls}
|
||||||
|
|
||||||
''Laatikot ja pallot'' on usein hyödyllinen malli,
|
''Boxes and models'' is a useful model,
|
||||||
jossa $n$ laatikkoon sijoitetaan $k$ palloa.
|
where we count the ways to
|
||||||
Tarkastellaan seuraavaksi kolmea tapausta:
|
place $k$ balls in $n$ boxes.
|
||||||
|
Let's consider three cases:
|
||||||
|
|
||||||
\textit{Tapaus 1}: Kuhunkin laatikkoon saa sijoittaa
|
\textit{Case 1}: Each box can contain
|
||||||
enintään yhden pallon.
|
at most one ball.
|
||||||
Esimerkiksi kun $n=5$ ja $k=2$,
|
For example, when $n=5$ and $k=2$,
|
||||||
sijoitustapoja on 10:
|
there are 10 solutions:
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tikzpicture}[scale=0.5]
|
\begin{tikzpicture}[scale=0.5]
|
||||||
|
@ -219,11 +220,12 @@ sijoitustapoja on 10:
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
Tässä tapauksessa vastauksen antaa suoraan binomikerroin ${n \choose k}$.
|
In this case, the answer is directly the
|
||||||
|
binomial coefficient ${n \choose k}$.
|
||||||
|
|
||||||
\textit{Tapaus 2}: Samaan laatikkoon saa sijoittaa
|
\textit{Case 2}: A box can contain multiple balls.
|
||||||
monta palloa.
|
For example, when $n=5$ and $k=2$,
|
||||||
Esimerkiksi kun $n=5$ ja $k=2$, sijoitustapoja on 15:
|
there are 15 solutions:
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tikzpicture}[scale=0.5]
|
\begin{tikzpicture}[scale=0.5]
|
||||||
|
@ -261,27 +263,28 @@ Esimerkiksi kun $n=5$ ja $k=2$, sijoitustapoja on 15:
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
Prosessin voi kuvata merkkijonona, joka muodostuu
|
This process can be represented as a string
|
||||||
merkeistä ''o'' ja ''$\rightarrow$''.
|
that consists of symbols
|
||||||
Pallojen sijoittaminen alkaa
|
''o'' and ''$\rightarrow$''.
|
||||||
vasemmanpuoleisimmasta laatikosta.
|
Initially, we are standing at the leftmost box.
|
||||||
Merkki ''o'' tarkoittaa, että pallo sijoitetaan
|
The symbol ''o'' means we place a ball
|
||||||
nykyiseen laatikkoon, ja merkki
|
in the current box, and the symbol
|
||||||
''$\rightarrow$'' tarkoittaa, että siirrytään
|
''$\rightarrow$'' means that we move to
|
||||||
seuraavaan laatikkoon.
|
the next box right.
|
||||||
|
|
||||||
Nyt jokainen sijoitustapa on merkkijono, jossa
|
Using this notation, each solution is a string
|
||||||
on $k$ kertaa merkki ''o'' ja $n-1$ kertaa
|
that has $k$ times the symbol ''o'' and
|
||||||
merkki ''$\rightarrow$''.
|
$n-1$ times the symbol ''$\rightarrow$''.
|
||||||
Esimerkiksi sijoitustapaa
|
For example, the upper-right solution
|
||||||
ylhäällä oikealla
|
corresponds to the string
|
||||||
vastaa merkkijono ''$\rightarrow$ $\rightarrow$ o $\rightarrow$ o $\rightarrow$''.
|
''$\rightarrow$ $\rightarrow$ o $\rightarrow$ o $\rightarrow$''.
|
||||||
Niinpä sijoitustapojen määrä on ${k+n-1 \choose k}$.
|
Thus, the number of solutions is
|
||||||
|
${k+n-1 \choose k}$.
|
||||||
|
|
||||||
\textit{Tapaus 3}: Kuhunkin laatikkoon saa sijoittaa
|
\textit{Case 3}: Each box may contain at most one ball,
|
||||||
enintään yhden pallon ja lisäksi missään kahdessa
|
and in addition, no two adjacent boxes may both contain a ball.
|
||||||
vierekkäisessä laatikossa ei saa olla palloa.
|
For example, when $n=5$ and $k=2$,
|
||||||
Esimerkiksi kun $n=5$ ja $k=2$, sijoitustapoja on 6:
|
there are 6 solutions:
|
||||||
|
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
|
@ -310,36 +313,45 @@ Esimerkiksi kun $n=5$ ja $k=2$, sijoitustapoja on 6:
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
Tässä tapauksessa voi ajatella, että alussa $k$ palloa
|
In this case, we can think that
|
||||||
ovat laatikoissaan ja joka välissä on yksi tyhjä laatikko.
|
$k$ balls are initially placed in boxes.
|
||||||
Tämän jälkeen jää valittavaksi $n-k-(k-1)=n-2k+1$ tyhjän laatikon paikat.
|
and between each such box there is an empty box.
|
||||||
Mahdollisia välejä on $k+1$, joten tapauksen 2 perusteella
|
The remaining task is to choose the
|
||||||
sijoitustapoja on ${n-2k+1+k+1-1 \choose n-2k+1} = {n-k+1 \choose n-2k+1}$.
|
positions for
|
||||||
|
$n-k-(k-1)=n-2k+1$ empty boxes.
|
||||||
|
There are $k+1$ positions, so as in case 2,
|
||||||
|
the number of solutions is
|
||||||
|
${n-2k+1+k+1-1 \choose n-2k+1} = {n-k+1 \choose n-2k+1}$.
|
||||||
|
|
||||||
\subsubsection{Multinomikerroin}
|
\subsubsection{Multinomial coefficient}
|
||||||
|
|
||||||
\index{multinomikerroin@multinomikerroin}
|
\index{multinomial coefficient}
|
||||||
|
|
||||||
Binomikertoimen yleistys on \key{multinomikerroin}
|
A generalization for a binomial coefficient is
|
||||||
|
a \key{multinomial coefficient}
|
||||||
|
|
||||||
\[ {n \choose k_1,k_2,\ldots,k_m} = \frac{n!}{k_1! k_2! \cdots k_m!}, \]
|
\[ {n \choose k_1,k_2,\ldots,k_m} = \frac{n!}{k_1! k_2! \cdots k_m!}, \]
|
||||||
|
|
||||||
missä $k_1+k_2+\cdots+k_m=n$.
|
where $k_1+k_2+\cdots+k_m=n$.
|
||||||
Multinomikerroin ilmaisee, monellako tavalla $n$ alkiota voidaan jakaa osajoukkoihin,
|
A multinomial coefficient i the number of ways
|
||||||
joiden koot ovat $k_1,k_2,\ldots,k_m$.
|
we can divide $n$ elements into subsets
|
||||||
Jos $m=2$, multinomikertoimen kaava vastaa binomikertoimen kaavaa.
|
whose sizes are $k_1,k_2,\ldots,k_m$.
|
||||||
|
If $m=2$, the formula
|
||||||
|
corresponds to the binomial coefficient formula.
|
||||||
|
|
||||||
\section{Catalanin luvut}
|
\section{Catalan numbers}
|
||||||
|
|
||||||
\index{Catalanin luku@Catalanin luku}
|
\index{Catalan number}
|
||||||
|
|
||||||
\key{Catalanin luku} $C_n$ ilmaisee,
|
A \key{Catalan number} $C_n$ is the
|
||||||
montako tapaa on muodostaa kelvollinen sulkulauseke
|
number of valid
|
||||||
$n$ alkusulusta ja $n$ loppusulusta.
|
parenthesis expressions that consist of
|
||||||
|
$n$ left parentheses and $n$ right parentheses.
|
||||||
|
|
||||||
Esimerkiksi $C_3=5$, koska 3 alkusulusta
|
For example, $C_3=5$, because using three
|
||||||
ja 3 loppusulusta on mahdollista muodostaa
|
left parentheses and three right parentheses,
|
||||||
seuraavat kelvolliset sulkulausekkeet:
|
we can construct the following parenthesis
|
||||||
|
expressions:
|
||||||
|
|
||||||
\begin{itemize}[noitemsep]
|
\begin{itemize}[noitemsep]
|
||||||
\item \texttt{()()()}
|
\item \texttt{()()()}
|
||||||
|
@ -349,96 +361,101 @@ seuraavat kelvolliset sulkulausekkeet:
|
||||||
\item \texttt{(()())}
|
\item \texttt{(()())}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsubsection{Sulkulausekkeet}
|
\subsubsection{Parenthesis expressions}
|
||||||
|
|
||||||
\index{sulkulauseke@sulkulauseke}
|
\index{parenthesis expression}
|
||||||
|
|
||||||
Mikä sitten tarkkaan ottaen on
|
What is exactly a \emph{valid parenthesis expression}?
|
||||||
\textit{kelvollinen sulkulauseke}?
|
The following rules precisely define all
|
||||||
Seuraavat säännöt kuvailevat täsmällisesti
|
valid parenthesis expressions:
|
||||||
kaikki kelvolliset sulkulausekkeet:
|
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Sulkulauseke \texttt{()} on kelvollinen.
|
\item The expression \texttt{()} is valid.
|
||||||
\item Jos sulkulauseke $A$ on kelvollinen,
|
\item If a expression $A$ is valid,
|
||||||
niin myös sulkulauseke \texttt{(}$A$\texttt{)}
|
then also the expression
|
||||||
on kelvollinen.
|
\texttt{(}$A$\texttt{)} is valid.
|
||||||
\item Jos sulkulausekkeet $A$ ja $B$ ovat kelvollisia,
|
\item If expressions $A$ and $B$ are valid,
|
||||||
niin myös sulkulauseke $AB$ on kelvollinen.
|
then also the expression $AB$ is valid.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
Toinen tapa luonnehtia kelvollista sulkulauseketta on,
|
Another way to characterize valid
|
||||||
että jos valitaan mikä tahansa lausekkeen alkuosa,
|
paranthesis expressions is that if
|
||||||
niin alkusulkuja on ainakin yhtä monta
|
we choose any prefix of the expression,
|
||||||
kuin loppusulkuja.
|
it has to contain at least as many left
|
||||||
Lisäksi koko lausekkeessa
|
parentheses as right parentheses.
|
||||||
tulee olla tarkalleen yhtä monta
|
In addition, the complete expression has to
|
||||||
alkusulkua ja loppusulkua.
|
contain an equal number of left and right
|
||||||
|
parentheses.
|
||||||
|
|
||||||
\subsubsection{Laskutapa 1}
|
\subsubsection{Formula 1}
|
||||||
|
|
||||||
Catalanin lukuja voi laskea rekursiivisesti kaavalla
|
Catalan numbers can be calculated using the formula
|
||||||
\[ C_n = \sum_{i=0}^{n-1} C_{i} C_{n-i-1}.\]
|
\[ C_n = \sum_{i=0}^{n-1} C_{i} C_{n-i-1}.\]
|
||||||
|
|
||||||
Summa käy läpi tavat
|
The sum goes through the ways to divide the
|
||||||
jakaa sulkulauseke kahteen osaan niin,
|
expression into two parts
|
||||||
että kumpikin osa on kelvollinen sulkulauseke
|
such that both parts are valid
|
||||||
ja alkuosa on mahdollisimman lyhyt mutta ei tyhjä.
|
expressions and the first part is as short as possible
|
||||||
Kunkin vaihtoehdon kohdalla alkuosassa
|
but not empty.
|
||||||
on $i+1$ sulkuparia ja lausekkeiden määrä
|
For any $i$, the first part contains $i+1$ pairs
|
||||||
saadaan kertomalla keskenään:
|
of parentheses, and the number of expressions
|
||||||
|
is the product of the following values:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item $C_{i}$: tavat muodostaa sulkulauseke
|
\item $C_{i}$: number of ways to construct an expression
|
||||||
alkuosan sulkupareista ulointa sulkuparia lukuun ottamatta
|
using the parentheses in the first part,
|
||||||
\item $C_{n-i-1}$: tavat muodostaa sulkulauseke
|
not counting the outermost parentheses
|
||||||
loppuosan sulkupareista
|
\item $C_{n-i-1}$: number of ways to construct an
|
||||||
|
expression using the parentheses in the second part
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
Lisäksi pohjatapauksena on $C_0=1$, koska 0
|
In addition, the base case is $C_0=1$,
|
||||||
sulkuparista voi muodostaa
|
because we can construct an empty parenthesis
|
||||||
tyhjän sulkulausekkeen.
|
expression using zero pairs of parentheses.
|
||||||
|
|
||||||
\subsubsection{Laskutapa 2}
|
\subsubsection{Formula 2}
|
||||||
|
|
||||||
Catalanin lukuja voi laskea myös binomikertoimen avulla:
|
Catalan numbers can also be calculated
|
||||||
|
using binomial coefficients:
|
||||||
\[ C_n = \frac{1}{n+1} {2n \choose n}\]
|
\[ C_n = \frac{1}{n+1} {2n \choose n}\]
|
||||||
Kaavan voi perustella seuraavasti:
|
The formula can be explained as follows:
|
||||||
|
|
||||||
Kun käytössä on $n$ alkusulkua ja $n$ loppusulkua,
|
There are a total of ${2n \choose n}$ ways
|
||||||
niistä voi muodostaa kaikkiaan ${2n \choose n}$
|
to construct a (not necessarily valid)
|
||||||
sulkulauseketta.
|
parenthesis expression that contains $n$ left
|
||||||
Lasketaan seuraavaksi, moniko tällainen
|
parentheses and $n$ right parentheses.
|
||||||
sulkulauseke \textit{ei} ole kelvollinen.
|
Let's calculate the number of such
|
||||||
|
expressions that are \emph{not} valid.
|
||||||
|
|
||||||
Jos sulkulauseke ei ole kelvollinen,
|
If a parenthesis expression is not valid,
|
||||||
siinä on oltava alkuosa,
|
it has to contain a prefix where the
|
||||||
jossa loppusulkuja on alkusulkuja enemmän.
|
number of right parentheses exceeds the
|
||||||
Muutetaan jokainen tällaisen alkuosan
|
number of left parentheses.
|
||||||
sulkumerkki käänteiseksi.
|
The idea is to reverse each parenthesis
|
||||||
Esimerkiksi lausekkeessa \texttt{())()(}
|
that belongs to such a prefix.
|
||||||
alkuosa on \texttt{())} ja kääntämisen
|
For example, the expression
|
||||||
jälkeen lausekkeesta tulee \texttt{)((()(}.
|
\texttt{())()(} contains a prefix \texttt{())},
|
||||||
|
and after reversing the prefix,
|
||||||
|
the expression becomes \texttt{)((()(}.
|
||||||
|
|
||||||
Tuloksena olevassa lausekkeessa on $n+1$ alkusulkua
|
The resulting expression consists of $n+1$
|
||||||
ja $n-1$ loppusulkua. Tällaisia lausekkeita on
|
left parentheses and $n-1$ right parentheses.
|
||||||
kaikkiaan ${2n \choose n+1}$,
|
The number of such expressions is ${2n \choose n+1}$
|
||||||
joka on sama kuin ei-kelvollisten
|
that equals the number of non-valid
|
||||||
sulkulausekkeiden määrä.
|
parenthesis expressions.
|
||||||
Niinpä kelvollisten
|
Thus the number of valid parenthesis
|
||||||
sulkulausekkeiden määrä voidaan laskea kaavalla
|
expressions can be calculated using the formula
|
||||||
\[{2n \choose n}-{2n \choose n+1} = {2n \choose n} - \frac{n}{n+1} {2n \choose n} = \frac{1}{n+1} {2n \choose n}.\]
|
\[{2n \choose n}-{2n \choose n+1} = {2n \choose n} - \frac{n}{n+1} {2n \choose n} = \frac{1}{n+1} {2n \choose n}.\]
|
||||||
|
|
||||||
\subsubsection{Puiden laskeminen}
|
\subsubsection{Counting trees}
|
||||||
|
|
||||||
Catalanin luvut kertovat myös juurellisten
|
Catalan numbers are also related to rooted trees:
|
||||||
puiden lukumääriä:
|
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item $n$ solmun binääripuiden määrä on $C_n$
|
\item there are $C_n$ binary trees of $n$ nodes
|
||||||
\item $n$ solmun juurellisten puiden määrä on $C_{n-1}$
|
\item there are $C_{n-1}$ rooted trees of $n$ nodes
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\noindent
|
\noindent
|
||||||
Esimerkiksi tapauksessa $C_3=5$ binääripuut ovat
|
For example, for $C_3=5$, the binary trees are
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tikzpicture}[scale=0.7]
|
\begin{tikzpicture}[scale=0.7]
|
||||||
|
@ -469,7 +486,7 @@ Esimerkiksi tapauksessa $C_3=5$ binääripuut ovat
|
||||||
\draw[fill=white] (11.5+1.5,-2) circle (0.3);
|
\draw[fill=white] (11.5+1.5,-2) circle (0.3);
|
||||||
\end{tikzpicture}
|
\end{tikzpicture}
|
||||||
\end{center}
|
\end{center}
|
||||||
ja yleiset puut ovat
|
and the rooted trees are
|
||||||
\begin{center}
|
\begin{center}
|
||||||
\begin{tikzpicture}[scale=0.7]
|
\begin{tikzpicture}[scale=0.7]
|
||||||
\path[draw,thick,-] (0,0) -- (-1,-1);
|
\path[draw,thick,-] (0,0) -- (-1,-1);
|
||||||
|
|
Loading…
Reference in New Issue