Klasą kombinatoryczną nazywamy parę A = (A,|.|) taką, że A jest zbiorem niepustym zaś
jest funkcją ze zbioru A w zbiór liczb naturalnych taka, że dla każdej liczby naturalnej n zbiór {a ∈ A: |a| = n} jest skończony.
Liczbę |a| interpretujemy jako wagę lub rozmiar elementu a. Zbiór A nazywamy uniwersum klasy A. Klasy kombinatoryczne są podstawowymi obiektami Kombinatoryki Analitycznej.
Dwie klasy (A,|.|) i (B,[.]) są izomorficzne, jeśli istnieje bijekcja f:A → B taka, że dla każdego a ∈ A mamy |a| = [f(a)].
Podstawowe definicje
Niech A = (A,| . |) będzie klasą kombinatoryczną. Wprowadzamy oznaczenia:
- An = {a ∈ A:|a|=n}
- an = |An|
- A(z) =
![{\displaystyle \sum _{k=0}^{\infty }a_{k}z^{k}](https://wikimedia.org/api/rest_v1/media/math/render/svg/13ce7c11052adc7ee3240bff4ca9c93a8fe68a32)
- [zn]A(z) = an
Szereg potęgowy A(z) nazywamy funkcją tworzącą klasy kombinatorycznej A.
Jeśli klasy A i B są izomorficzne, to A(z) = B(z).
Podstawowe przykłady
1. Niech E = ({e},|.|), gdzie |e| = 0. Wtedy E(z) = 1.
2. Niech Z = ({a},|.|), gdzie |a| = 1. Wtedy Z(z) = z.
3. Niech N oznacza zbiór liczb naturalnych oraz niech N = (N,id), gdzie id oznacza identyczność na zbiorze liczb naturalnych. Wtedy
![{\displaystyle N(z)=\sum _{k=0}^{\infty }z^{k}={\frac {1}{1-z}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2f6ae41fbee24e336e5dbd8b63f6e7a2ffe2cf44)
4. Niech X będzie zbiorem mocy n oraz niech P(X) będzie zbiorem potęgowym zbioru X. Rozważamy klasę P = (P(X),|.|), gdzie |A| oznacza moc zbioru A. Wtedy
![{\displaystyle P(z)=\sum _{k=0}^{n}{\binom {n}{k}z^{k}=(1+z)^{n}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7d6f69e93dbbded62542bb0734ba8761d0c3eb30)
Podstawowe konstrukcje
Niech
będą klasami kombinatorycznymi.
Suma klas
Jeśli
to ich sumę definiujemy jako klasę
Twierdzenie:
Przykład: Rozważamy klasę A z uniwersum A = {ε, •, ♦, ♣, ♥} taką, że |ε| = 0, |•| = |♦|=1 i |♣| = |♥|=2.
Wtedy A(z) = {ε}(z) + {•}(z) + {♦}(z) + {♣}(z) + {♥}(z) = 1 + 2z + 2z².
Produkt klas
Produktem klas
i
nazywamy klasę
gdzie |(a,b)| = |a|A+|b|B.
Twierdzenie:
gdzie
oznacza iloczyn Cauchy’ego szeregów.
Operacja ciągów klas
Załóżmy, że a0 = 0. Klasą ciągów skończonych elementów klasy A nazywamy klasę
![{\displaystyle \mathrm {SEQ} ({\mathcal {A})=E\cup A\cup (A\times A)\cup (A\times A\times A)\cup \ldots }](https://wikimedia.org/api/rest_v1/media/math/render/svg/d014b0c6832a1d7ba6bf1d95eaf4c8e76b453987)
Twierdzenie:
Operacja podzbiorów skończonych klasy
Załóżmy, że a0 = 0. Klasą podzbiorów skończonych elementów klasy A nazywamy klasę
gdzie
oznacza zbiór wszystkich skończonych podzbiorów zbioru A oraz
Twierdzenie:
Operacja multizbiorów
Załóżmy, że a0 = 0. Klasą podzbiorów skończonych elementów klasy A nazywamy klasę
gdzie
oznacza zbiór wszystkich multizbiorów elementów zbioru A oraz
Twierdzenie:
Typowe zastosowanie
Przykład 1. Niech
gdzie
Niech
Wtedy
więc
![{\displaystyle {\begin{aligned}{\mathcal {B}(z)&=(1-z)^{-k}\\&=\sum _{n\geq 0}{\binom {-k}{n}(-1)^{n}z^{n}\\&=\sum _{n\geq 0}{\binom {n+k-1}{n}z^{n}\\&=\sum _{n\geq 0}{\binom {n+k-1}{k-1}z^{n}\end{aligned}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d65a27a95b32a7eaa7b1784db5eef4fda124488c)
zatem
Otrzymaliśmy wzór na liczbę multizbiorów rozmiaru n podzbioru k-elementowego.
Przykład 2. Niech T oznacza klasę drzew planarnych. Niech • oznacza wierzchołek drzewa. Wtedy T ≈ {•} × SEQ(T), więc T(z) = z/(1-T(z)), z czego wnioskujemy, że
![{\displaystyle T(z)={\frac {1}{2}\left(1-{\sqrt {1-4z}\right).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6823f06ca68895e729118466e89ed7f75416942e)
Po kilkunastu algebraicznych przekształceniach otrzymujemy
więc [zn]T(z) = Cn-1, gdzie Cn oznacza n-tą liczbę Catalana.
Bibliografia
- Philippe Flajolet, Robert Sedgewick: Analytic Combinatorics. Cambridge University Press, 2009. Brak numerów stron w książce
Linki zewnętrzne