Kombinatorické počítání (Combinatorial counting) NDMI015, LS 2013/14
Místo a čas přednášky (place and time of the lecture): Tuesday 10:40 - 12:10, S221 (corridor lecture room of KAM (Dept. of Applied Mathematics), 2nd floor).
Výuka tohoto předmětu v minulých letech (past lectures): zde .
Plán letošní přednášky (plan of the course). Vyložím
různé výsledky kombinatorické enumerace pomocí v
ní hojně používané techniky generujících funkcí, s důrazem na
algebraické manipulace s nimi (The topic is various results of
combinatorial enumeration and the method of generating functions,
emphasizing algebraic manipulations with them).
Otázky ke zkoušce/Exam questions. 1. Uveďte (a někdy dokažte)
základní vlastnosti Catalanových čísel.
2. Dokažte, že Catalanova čísla c_n nesplňují žádnou lineární
rekurenci s konstantními koeficienty.
3. Dokažte Stirlingovu formuli pro faktoriál.
4. Odvoďte Schurovu asymptotiku.
5. Načrtněte, jak se v O(log n) operacích počítá modulo p n-tý koeficient algebraické mocninné řady ze Z[[x]].
6. Zformulujte a odvoďte Gesselovo--Viennotovo lemma o determinantech a cestách.
7. Odvoďte vzorec pro počet koster n-rozměrné nadkrychle Q_n.
Literatura. Literatura bude uvedena na přednášce (literature will be mentioned in the lectures). preliminary lecture notes (předběžný učební text) (URL upravit, jak bylo řečeno na přednášce).
lecture 1, March 1, 2016. Introduction
via Catalan numbers. c_n = number of rooted plane trees with n
vertices. Derivation of c_n = (1/n)Binom(2n - 2, n - 1) by generating
"function" C = C(x) = c_1x + c_2x^2 + ... . New recurrence c_{n + 1} =
((4n - 2) / (n - 1))c_n and its deduction from C^2 - C + x =
0: C satisfied the DE (1 - 4x)C' = 1 - 2C. Parity of c_n. Estimates of
the growth of c_n.
přednáška 2, 8. 3. 2016. Nyní již cesky. Dvě formulky pro c_n pomocí binomických koeficientů. Přesná
asymptotika čísel c_n pomocí Stirlingovy formule pro faktoriál.
Bijektivní důkaz vzorce c_n = (1/n)binom(2n - 2, n - 1) pomocí
Dyckových slov.
přednáška 3, 15. 3. 2016.
Tři důkazy toho, že Catalanova čísla c_n nesplňují žádnou lineární
rekurenci s konstantními koeficienty. První založený na tom, že c_n je
liché, právě když n je mocnina 2. Druhý založený na tom, že GF
Catalanových čísel C(x) = (1/2)(1 - (1 - 4x)^{1/2}) není racionální.
Třetí založený na tom, že Catalanova čísla mají asymptotiku c_n ~
cn^{-3/2}4^n, což není asymptoticky rovno (d_1z_1^n+ ...
+d_tz_t^n)n^kg^n + O(n^{k-1}g^n), kde d_i jsou nenulová komplezní
čísla, g>0 je reálné, k je celé nezáporné a z_i jsou různá čísla na jednotkové komplexní kružnici (to je vedoucí člen obecné formule pro lin. rekurentní posloupnost).
přednáška 4, 22. 3. 2016. Další
stuktury počítané Catalanovými čísly, zejména; s_n(pi) = počet
n-permutací neobsahujících permutaci pi = c_{n+1} pro každou
3-permutaci pi. Uměli byste dokázat, že Pravd(4 náhodné body ve čtverci
tvoří konvexní řetězec) / Pravd(4 náhodné body ve čtverci tvoří
konvexní čtyřúhelník) = 1 / 5 ? Pro n bodů je ten poměr 1 / c_n (P.
Valtr, 1995).
přednáška 5, 29. 3. 2016. 1.
důkaz Stirlingovy asymptotiky n! = (2pi*n)^{1/2}(n/e)^n(1 + o(1))
pomocí náhrady log(n!) integrálem z log x přes [1/2, n + 1/2]. 2. důkaz
pomocí n! = int_0^{+infty} x^n e{-x}dx Laplaceovou metodou, dokončení
příště.
přednáška 6, 5. 4. 2016. Dokončení
druhého důkazu Stirlingovy asymptotiky. Pouze idea 3. důkazu: kruhová
metoda, tj. Cauchyova formule dává 1/n! = (1/2pi*i)int_C
(e^z/z^{n+1})dz (C je lib. kladně orientovaná kružnice v komplexní
rovině se středem v počátku). Co si řekneme příště: jak efektivně (v
polylog n operacích) spočítat n-té Catalanovo číslo modulo p, pro každé
pevné prvočíslo p. Pro p = 2 to je založeno na relaci pro GF
Catalanových čísel C(x) = C(x)^2 + x = C(x^2) + x (poslední rovnost
platí pouze modulo 2). Samozřejmě to funguje obecněji pro
posloupnosti koeficientů algebraických mocninných řad - uvidíme příště.
přednáška 7, 12. 4. 2016. Ale místo toho jsme si dokazovali Schurovu asymptotiku
pro počet rozkladů čísla n na části z množiny A, kde A je
konečná množina vesměs nesoudělných přirozených čísel.
přednáška 8, 19. 4. 2016. Tak teď už. V
preprintu A. Bostana, G. Christola a P. Dumase
se dokazuje věta (Theorem 5): Nechť E je v F_p[x, y]_{h, d} (tj. E(x,
y) je polynom s koeficienty v p-prvkovém tělese, p je prvočíslo, s
x-ovým stupněm h a y-ovým d), přičemž E(0, 0) = 0 a E_y(0, 0) (parc.
derivace podle y) není 0, a f v F_p[[x]] (moc. řada s koef. v F_p) je
(jednoznačné) řešení rovnice E(x, f(x)) = 0 s f(0) = 0 --- pak lze n-tý
koeficient f_n v f(x) = f_1x + f_2x^2 + ... spočítat v
O~(d^3*h^2*p^{3d}*log(n)) operacích v tělese F_p, tj. v počtu
operací polynomiálním (vlastně lineárním) ve velikosti (=počtu bitů)
čísla n. Zde O~(a) znamená O(a*log^k(a)) pro nějaké pevné k > 0, tj.
v odhadu počtu operací zanedbáváme polylogaritmické faktory. Já se budu
snažit ukázat jednodušeji pouze kvalitativní výsledek, že ten počet
operací je O_{E, p}(log(n)). Začali jsme klíčovým faktem (Lemma 1), že
pro každou mocninnou (ba i Laurentovu, viz dále) řadu z(x) v F_p[[x]]
máme identitu z(x)^p = z(x^p) (to je základní trik). Dále algebraičnost
f(x) implikuje tzv. mahlerovskou rovnici c_0(x)f(x) + c_1(x)f(x^p) +
... + c_k(x)f(x^{p^k}) = 0 (termín podle
K. Mahlera), kde c_i(x) jsou polynomy z F_p[x] a k je nejvýše d. Podle jednoho lemmatu (Lemma 12.2.3) v knize
J.-P. Allouche a J. Shallita o automatických posloupnostech
z minimality k (tj. pro f(x) máme mahlerovskou rovnici minimálního
řádu)
plyne nenulovost koeficientu c_0(x). Ten bychom potřebovali, aby měl
jen jeden monom, a nejlépe, aby byl 1. To se dosáhne přechodem k nové
neznámé (moc. řadě) g(x), dané vztahem f(x) = c_0(x)g(x). Tato
substituce dává pro g(x) mahlerovskou rovnici g(x) +
c_1(x)c_0(x)^{p - 2}g(x^p) + ... + c_k(x)c_0(x)^{p^k - 2}g(x^{p^k}) =
0. Teď máme ten koeficient rovný 1, ale za (mírnou) cenu, že g(x) není
moc. řada, ale řada
Laurentova v F_p((x)), tedy má obecně pár členů se zápornými exponenty,
g(x) = sum_{n>r}g_nx^n, kde g_n jsou v F_p a r je celé číslo - to je
zřejmé ze vztahu g(x) = f(x)/c_0(x). Rozdělme g(x) na zápornou část a
na moc. řadu: g(x) = g_{-}(x) + h(x) = sum_{n<0}g_nx^n +
sum_{n>-1}g_nx^n. Pro h(x) pak dostáváme (nehomogenní) mahlerovskou
rovnici
(*)
h(x) + c_1(x)c_0(x)^{p - 2}h(x^p) + ... + c_k(x)c_0(x)^{p^k -
2}h(x^{p^k}) = b(x), kde b(x) je polynom v F_p[x] daný jako b(x) =
-L(x, M)g_{-}(x) (zde L(x, M)g(x) = 0 je původní rovnice pro g(x) a M
je Mahlerův operátor x |--> x^p). Laurentův polynom g_{-}(x)
se lehce spočte z prvních pár členů v f(x), takže z h(x) hned máme
g(x), a od g(x) snadno přejdeme k f(x) (f_n je podle f(x) =
c_0(x)g(x) jenom lineární kombinace pár koeficientů g_n). A mahlerovská
rovnice (*) pro h(x) už dává efektivní rekurenci pro její koeficienty
h_n (=
g_n pro nezáporné n), která umožňuje počítat h_n - a tedy i f_n - v
O(log(n)) operacích v F_p. To dodělám podrobněji příště, kdy se též
pokusím celý postup ilustrovat na Catalanových číslech f(x) =
sum_{n>0}f_nx^n = x + x^2+ 2x^3 + 5x^4 + ..., f^2 - f +x = 0, a p =
3 (pro p = 2 též funguje: máme ihned (v F_2[[x]]) f(x) =f(x)^2 + x =
f(x^2) + x
, tedy f_n = f_{n/2} pro n > 1 a f_1 = 1 (pro necelý index je
hodnota koeficientu 0), což hned dává výsledek f_n = 1 pro n = 2^m, f_n
= 0 jinak, z 1. přednášky).
přednáška 9, 26. 4. 2016. Dokončení
důkazu věty o počítání n-tého koeficientu celočíselné algebraické moc.
řady modulo p v O(log n) operacích. Lépe jsem to celé popsal zde.
přednáška 10, 3. 5. 2016. Determinanty v enumeraci. Gesselovo--Viennotovo lemma o determinantech a cestách. Dokončení aplikace příště. Podle kapitolky v knize Aigner, Ziegler - Proofs from the Book.
přednáška 11, 10. 5. 2016.
Ještě jednou identita det(binom(a_i, b_j)) = počet k-tic
neprotínajících se cest z (0, -a_i) do (b_i, -b_i), i=1, 2, ..., k, v
mřížovém or. grafu (vrcholy jsou Z^2 a hrany jsou šipky délky 1 nahoru
a doprava), kde 0<a_1<...<a_k a 0<b_1<...<b_k jsou
celá čísla. Dále odvozování determinantového vzorce pro počet
eulerovských tahů v souvislém or. vyváženém grafu. Podle
kapitolky v knize Stanley - Enumerative Combinatorics 2.
přednáška 12, 17. 5. 2016. Pokračování v odvozování determinantového vzorce pro počet koster grafu.
přednáška 13, 24. 5. 2016. Dokončení
toho důkazu. Poznámka: na přednášce jsem tvrdil, že důkaz lemmatu ve
Stanleym (Lemma 5.6.5) není správně, že nasčítáním sloupců matice N(x)
do posledního se dostanou -x a ne nuly. Protože se ale správně
načítávají sloupce matice N(0), x zmizí a Stanley má pravdu (a já jsem
si to pořádně nepřečetl). Odvození vzorce pro počet koster n-rozměrné
nadkrychle Q_n (stále
podle Stanleyho).
květen 2016