Matematyka dyskretna 1/Wykład 8: Funkcje tworzące w zliczaniu obiektów kombinatorycznych
Obiekty kombinatoryczne często są zadane w sposób rekurencyjny. Tak zadawaliśmy np. drzewa binarne. Nawet, gdy obiekty nie są zadane w sposób rekurencyjny, to ich liczba (uzależniona np. od rozmiaru lub innego parametru) spełnia pewne zależności rekurencyjne. Często rozwikłanie takich zależności i wyprowadzenie wzoru na postać zwartą jest skomplikowane. W tym wykładzie zobaczymy jak w wielu przypadkach funkcje tworzące mogą być pomocne w zliczaniu różnych obiektów kombinatorycznych.
Zliczanie drzew
Drzewo binarne to dowolny obiekt powstały zgodnie z regułami:
- jest drzewem binarnym,
- jeśli i są drzewami binarnymi to też jest drzewem binarnym.
Węzeł wewnętrzny drzewa binarnego jest zdefiniowany rekurencyjnie:
- drzewo nie ma węzłów wewnętrznych,
- węzłami wewnętrznymi drzewa są wszystkie węzły wewnętrzne drzew i a także nowy węzeł łączący drzewa i .
Liczba Catalana to liczba drzew binarnych o węzłach wewnętrznych.
Przykład
Drzewa binarne są modelem dla tzw. wyrażeń nawiasowych, czyli termów z jednym działaniem binarnym i jedną zmienną . Wyrażenia takie są zdefiniowane poprzez:
- zmienna jest wyrażeniem nawiasowym,
- jeśli i są wyrażeniami nawiasowymi, to też jest wyrażeniem nawiasowym.
rysunek 1:Wszystkie pełne drzewa binarne o 3 węzłach wewnętrznych.(rys z pliku:genfunc_catalan.eps)
Obserwacja 8.1
Liczby Catalana spełniają zależność rekurencyjną:
Dowód
Pojedynczy wierzchołek jest jedynym pełnym drzewem binarnym bez węzłów wewnętrznych, a więc . Każde drzewo o co najmniej jednym wierzchołku wewnętrznym rozkłada się jako , dla pewnych jednoznacznie wyznaczonych poddrzew . Poddrzewo nazywamy lewym, a prawym podrzewem drzewa .
Niech teraz
- Parser nie mógł rozpoznać (nieznana funkcja „\rodzina”): {\displaystyle \rodzina{T}_n} będzie rodziną wszystkich drzew binarnych
o węzłach wewnętrznych, oraz
- Parser nie mógł rozpoznać (nieznana funkcja „\rodzina”): {\displaystyle \rodzina{T}_{n_l,n_r}} będzie rodziną wszystkich drzew,
których lewe i prawe poddrzewo mają odpowiednio oraz węzłów wewnętrznych.
Zachodzi więc:
Ponadto, jeśli drzewo o wierzchołkach wewnętrznych posiada lewe poddrzewo o wierzchołkach wewnętrznych oraz prawe poddrzewo o węzłów wewnętrznych to . Zatem rodzina wszystkich drzew o wewnętrznych wierzchołkach rozbija się na rozłączną sumę
W konsekwencji otrzymujemy:

Wniosek 8.2
Funkcja tworząca Parser nie mógł rozpoznać (nieznana funkcja „\fGen”): {\displaystyle \fGen{C}(x)=c_0+c_1x+c_2x^2+\ldots} dla ciągu liczb Catalana spełnia
Dowód
Używając zależności rekurencyjnej z Obserwacji 8.1 otrzymujemy:
skąd natychmiast:
Warunek Parser nie mógł rozpoznać (nieznana funkcja „\fGen”): {\displaystyle \fGen{C}(0)=c_0=1}
eliminuje rozwiązanie
Parser nie mógł rozpoznać (nieznana funkcja „\fGen”): {\displaystyle \fGen{C}(x)\cdot 2x = 1+\sqrt{1-4x}}
,
a zatem

Twierdzenie 8.3
Liczby Catalana wyrażają się wzorem
Dowód
Twierdzenie o rozwinięciu funkcji w szereg daje
Podstawiając powyższe rozwinięcie do wzoru na Parser nie mógł rozpoznać (nieznana funkcja „\fGen”): {\displaystyle \fGen{C}(x)}
otrzymanego we Wniosku 8.2 po dokonaniu kilku prostych przekształceń otrzymujemy:
czyli
Iloczyn
po wymnożeniu przez przyjmuje postać
Mnożąc więc teraz ten iloczyn otrzymujemy:
Tym samym dostajemy

Używając ostatniego Twierdzenia, można określic asymptotyczne zachowanie liczb Catalana.