slama.dev

Kombinatorika a Grafy I

Úvodní informace

Tato stránka obsahuje moje poznámky z přednášky Martina Kouteckého z akademického roku 2020/2021 (MFF UK). Pokud by byla někde chyba/nejasnost, nebo byste rádi něco přidali, tak stránku můžete upravit pull requestem (případně mi dejte vědět na mail).

1. přednáška

Odhady faktoriálu

Věta (meh odhad): nn/2n!(n+12)nn^{n/2} \le n! \le \left(\frac{n + 1}{2}\right)^n

Důkaz (\ge): (n!)2=123nn(n1)21=i=1n(i(ni+1)) \begin{aligned} \left(n!\right)^2 &= 1 \cdot 2 \cdot 3 \cdot \ldots \cdot n \cdot n \cdot (n - 1) \cdot \ldots \cdot 2 \cdot 1 \\ &= \prod_{i = 1}^{n} \left(i \cdot (n - i + 1)\right) \end{aligned}

Využijeme A-G nerovnost:

aba+b2i(n+1i)i+n+1i2=n+12 \begin{aligned} \sqrt{ab} &\le \frac{a + b}{2} \\ \sqrt{i (n + 1 - i)} &\le \frac{i + n + 1 - i}{2} = \frac{n + 1}{2} \end{aligned}

Dostáváme: n!=i=1ni(ni+1)(n+12)nn! = \prod_{i = 1}^{n} \sqrt{i \cdot (n - i + 1)}\le \left(\frac{n + 1}{2}\right)^n

Důkaz (\le): ni(ni+1),i[n]n \le i (n - i + 1), \forall i \in [n]:

(n!)2=i=1ni(ni+1)i=1nn=nnn!nn/2 \begin{aligned} \left(n!\right)^2 &= \prod_{i = 1}^{n} i\left(n - i + 1\right) \ge \prod_{i = 1}^{n}n = n^n \\ n! &\ge n^{n/2} \end{aligned}

Věta (nice odhad): e(ne)nn!en(ne)n e\left(\frac{n}{e}\right)^n \le n! \le en \left(\frac{n}{e}\right)^n

Důkaz (indukcí):

Důkaz, toho proč ten výraz 1\le 1:

(11n)ne(e1n)ne=e1e=11+xex \begin{aligned} \left(1 - \frac{1}{n}\right)^n e &\le \left(e^{-\frac{1}{n}}\right)^n e = e^{-1} e = 1 \qquad 1 + x \le e^x \end{aligned}

Věta (Stirlingova formule): n!2πn(ne)nn! \cong \sqrt{2 \pi n} \left(\frac{n}{e}\right)^n

Odhady binomických koeficientů

(👀): pro malé k<<n(nk)=n!(nk)!k!=n(n1)(nk+1)k!nkk << n \ldots \binom{n}{k} = \frac{n!}{(n - k)! k!} = \frac{n \cdot (n - 1) \cdot \ldots \cdot (n - k + 1)}{k!} \le n^k

Věta (hodně meh odhad): 2nn+1(nn/2)2n\frac{2^n}{n + 1} \le \binom{n}{\left\lfloor n/2 \right\rfloor} \le 2^n

Důkaz:

Věta (nice odhad): 22m2m(2mm)22m2m\frac{2^{2m}}{2 \sqrt{m}} \le \binom{2m}{m} \le \frac{2^{2m}}{\sqrt{2m}}

Důkaz: Nejprve jedno kouzlo: P=135(2m1)2462m=135(2m1)2462m2462m2462m=(2m)!22m(m!)2=(2mm)22m \begin{aligned} P &= \frac{1 \cdot 3 \cdot 5 \cdot \ldots \cdot (2m - 1)}{2 \cdot 4 \cdot 6 \cdot \ldots \cdot 2m} \\ &= \frac{1 \cdot 3 \cdot 5 \cdot \ldots \cdot (2m - 1)}{2 \cdot 4 \cdot 6 \cdot \ldots \cdot 2m}\frac{2 \cdot 4 \cdot 6 \cdot \ldots \cdot 2m}{2 \cdot 4 \cdot 6 \cdot \ldots \cdot 2m}\\ &= \frac{(2m)!}{2^{2m} \left(m!\right)^2} = \frac{\binom{2m}{m}}{2^{2m}} \end{aligned}

Chceme tedy: 12mP12m \frac{1}{2 \sqrt{m}} \le P \le \frac{1}{\sqrt{2m}}

Pak ještě druhé kouzlo: (1122)(11(2m)2)=(1322)(3544)((2m1)(2m+1)(2m)2)=P2(2m+1)<1// soucˇin veˇcıˊ <1 \begin{aligned} \left(1 - \frac{1}{2^2}\right) \ldots \left(1 - \frac{1}{\left(2m\right)^2}\right) &= \left(\frac{1 \cdot 3}{2 \cdot 2}\right) \left(\frac{3 \cdot 5}{4 \cdot 4}\right) \ldots \left(\frac{(2m - 1)(2m + 1)}{\left(2m\right)^2}\right) \\ &= P^2 (2m + 1) < 1 \qquad //\ \text{součin věcí $<1$} \\ \end{aligned}

Máme tedy: P2<12m+1<12mP<12m \begin{aligned} P^2 &< \frac{1}{2m + 1} < \frac{1}{2m} \\ P &< \frac{1}{\sqrt{2m}} \\ \end{aligned}

Druhá strana analogicky (uvažujeme (1132)(1152)=(2432)(4652)=12(2m)P2\left(1 - \frac{1}{3^2}\right)\left(1-\frac{1}{5^2}\right)\ldots = \left(\frac{2 \cdot 4}{3^2}\right)\left(\frac{4 \cdot 6}{5^2}\right)\ldots = \frac{1}{2 \left(2m\right) P^2}).

2. přednáška

Náhodné procházky

Definice (náhodná procházka): Náhodný proces, v každém kroku se panáček začínající v bodu 00 posune ze své aktuální pozice doprava nebo doleva.

Zadefinujeme si náhodnou veličinu X=IS2+IS4++IS2nX = I_{S_2} + I_{S_4} + \ldots + I_{S_{2n}} :

(2nn)22n22n2n22n=12n \frac{\binom{2n}{n}}{2^{2n}} \ge \frac{\frac{2^{2n}}{2 \sqrt{n}}}{2^{2n}} = \frac{1}{2 \sqrt{n}}

E[X]=E[i=1IS2i]=i=1E[IS2i]// linearita strˇednıˊ hodnoty=i=1Pr[IS2i]// strˇednıˊ hodnota indikaˊtoru je pravdeˇpodobnosti=112i// pouzˇitıˊ odhadu vyˊsˇe; diverguje \begin{aligned} \mathbb{E}[X] &= \mathbb{E}\left[\sum_{i=1}^{\infty} I_{S_{2i}}\right]&& \\ &= \sum_{i=1}^{\infty} \mathbb{E}\left[I_{S_{2i}}\right]&&//\ \text{linearita střední hodnoty}\\ &= \sum_{i=1}^{\infty} \Pr\left[I_{S_{2i}}\right] &&//\ \text{střední hodnota indikátoru je pravděpodobnost}\\ &\ge \sum_{i=1}^{\infty} \frac{1}{2 \sqrt{i}} && //\ \text{použití odhadu výše; diverguje} \\ \end{aligned}

Generující funkce

Definice (mocninná řada): je nekonečná řada tvaru a(x)=a0+a1x1+a2x2+,a(x) = a_0 + a_1x^1 + a_2x^2 + \ldots, kde a0,a1Ra_0, a_1 \ldots \in \mathbb{R}.

Příklad: a0=a1==11+x+x2+a_0 = a_1 = \ldots = 1 \mapsto 1 +x + x^2 + \ldots

Tvrzení: (a0,a1,a2,)(a_0, a_1, a_2, \ldots) reálná čísla. Předpoklad: pro nějaké KK t. ž. anKn|a_n| \le K^n. Poté řada a(x)a(x) pro každé x(1K,1K)x \in \left(-\frac{1}{K}, \frac{1}{K}\right) konverguje (dává smysl). Funkce a(x)a(x) je navíc jednoznačně určena hodnotami na okolí 00.

Definice (vytvořující/generující funkce): nechť (a0,a1,)\left(a_0, a_1, \ldots\right) je posloupnost reálných čísel. Vytvořující funkce této posloupnosti je mocninná řada a(x)=i=0aixia(x) = \sum_{i = 0}^{\infty} a_i x^i.

operace řada úprava
součet a0+b0,a1+b1,a2+b2,a_0 + b_0, a_1 + b_1, a_2 + b_2, \ldots a(x)+b(x)a(x) + b(x)
násobek αa0,αa1,αa2,\alpha a_0, \alpha a_1, \alpha a_2, \ldots αa(x)\alpha a(x)
     
posun doprava 0,a0,a1,0, a_0, a_1, \ldots xa(x)xa(x)
posun doleva a1,a2,a3,a_1, a_2, a_3, \ldots a(x)a0x\frac{a(x) - a_0}{x}
     
substituce αx\alpha x α0a0,α1a1,α2a2,\alpha^0 a_0, \alpha^1 a_1, \alpha^2 a_2, \ldots a(αx)a(\alpha x)
substituce xnx^n a0,0,n1,0,a1,0,n1,0,a2,a_0, 0, \overset{n - 1}{\ldots}, 0, a_1, 0, \overset{n - 1}{\ldots}, 0, a_2, \ldots a(xn)a(x^n)
     
derivace a1,2a2,3a3,a_1, 2a_2, 3a_3, \ldots a(x) a'(x)
integrování 0,a1,a2/2,a3/3,0, a_1, a_2/2, a_3/3, \ldots 0xa(t)dt \int_{0}^{x} a(t) dt
     
konvoluce an=k=0nakbnka_n = \sum_{k = 0}^{n} a_k \cdot b_{n - k} a(x)b(x) a(x) \cdot b(x)

Zde je několik příkladů řad a výrazů, kterým odpovídají (hodí se v důkazech): n=0xn=(1,1,1,1,)=11xn=0(ax)n=(a0,a1,a2,a3,)=11axn=0(x2)n=(1,0,1,0,)=11x2n=0(1)nxn=(1,1,1,1)=11+x \begin{aligned} \sum_{n=0}^{\infty} x^n &= (1, 1, 1, 1, \ldots) &= \frac{1}{1 - x} \\ \sum_{n=0}^{\infty} (ax)^n &= (a^0, a^1, a^2, a^3, \ldots) &= \frac{1}{1 - ax} \\ \sum_{n=0}^{\infty} (x^2)^n &= (1, 0, 1, 0, \ldots) &= \frac{1}{1 - x^2} \\ \sum_{n=0}^{\infty} (-1)^n x^n &= (1, -1, 1, -1\ldots) &= \frac{1}{1 + x} \\ \end{aligned}

Zobecněná binomická věta

Chceme binomickou větu zobecnit i pro reálné exponenty. K tomu potřebujeme definici kombinačního čísla, která se s reálnými kamarádí. Uděláme následující: rR,kN(rk)=r(r1)(r2)(rk+1)k!r \in \mathbb{R}, k \in \mathbb{N} \qquad \binom{r}{k} = \frac{r \cdot (r - 1) \cdot (r - 2) \cdot \ldots \cdot (r - k + 1)}{k!}

Věta (ZBV): nechť x,y,rRx, y, r \in \mathbb{R} a x>y|x| > |y| (kvůli konvergenci). Pak ZBV je následující výraz: (x+y)r=k=0(rk)xrkyk(x+y)^r = \sum_{k = 0}^{\infty} \binom{r}{k} x^{r-k}y^k

Příklad:

Příklad: V krabici je 3030 červených, 4040 žlutých a 5050 zelených míčků. Kolika způsoby lze vybrat 7070?

(1+x++x30)(1+x++x40)(1+x++x50)==1x311x1x411x1x511x// posuneme o 31 mıˊst a odecˇteme=1(1x)3(1x31)(1x41)(1x51)=((22)+(32)x+(42)x2+)(1x31)(1x41)(1x51)=1++[(722)(72312)(72412)(72512)]x70+=1061 \begin{aligned} &(1 + x + \ldots + x^{30})(1 + x + \ldots + x^{40})(1 + x + \ldots + x^{50}) =\\ &= \frac{1 - x^{31}}{1 - x} \frac{1 - x^{41}}{1 - x}\frac{1 - x^{51}}{1 - x} \qquad //\ \text{posuneme o $31$ míst a odečteme}\\ &= \frac{1}{\left(1 - x\right)^3} \left(1 - x^{31}\right)\left(1 - x^{41}\right)\left(1 - x^{51}\right) \\ &= \left(\binom{2}{2} + \binom{3}{2}x + \binom{4}{2}x^2 + \ldots\right) \left(1 - x^{31}\right)\left(1 - x^{41}\right)\left(1 - x^{51}\right) \\ &= 1 + \ldots + \left[\binom{72}{2} - \binom{72 - 31}{2} - \binom{72 - 41}{2} - \binom{72 - 51}{2}\right]x^{70} + \ldots\\ &= 1061 \end{aligned}

Kde poslední rovnost platí, protože:

3. přednáška

Fibonacciho čísla

Definice: F0=0,F1=1,Fn=Fn1+Fn2,n2F_0 = 0, F_1 = 1, F_n = F_{n - 1} + F_{n - 2}, \forall n \ge 2

Funkce/pozice 0 1 2 3 4
xF(x)x F(x) 00 F0F_0 F1F_1 F2F_2 F3F_3
x2F(x)x^2 F(x) 00 00 F0F_0 F1F_1 F2F_2
xx 00 11 00 00 00
  \Downarrow \Downarrow \Downarrow \Downarrow \Downarrow
F(x)F(x) F0F_0 F1F_1 F2F_2 F3F_3 F4F_4

Z funkcí výše vidíme, že F(x)=x+xF(x)+x2F(x)F(x) = x + xF(x) + x^2F(x). Algebraickou úpravou dostáváme: F(x)=x1xx2=x(11+52x)(1152x)// algebra=1511+52x151152x// parciaˊlnıˊ zlomky =15(111+52x11152x)// tvary ±11ax \begin{aligned} F(x) &= \frac{x}{1 - x - x^2} \\ &= \frac{x}{\left(1 - \frac{1 + \sqrt{5}}{2}x\right)\left(1 - \frac{1 - \sqrt{5}}{2}x\right)} \qquad //\ \text{algebra}\\ &= \frac{\frac{1}{\sqrt{5}}}{1 - \frac{1 + \sqrt{5}}{2}x} - \frac{\frac{1}{\sqrt{5}}}{1 - \frac{1 - \sqrt{5}}{2}x} \qquad //\ \text{parciální zlomky }\\ &= \frac{1}{\sqrt{5}}\left(\frac{1}{1 - \frac{1 + \sqrt{5}}{2}x} - \frac{1}{1 - \frac{1 - \sqrt{5}}{2}x}\right) \qquad //\ \text{tvary $\frac{\pm 1}{1 - ax}$}\\ \end{aligned}

Pro daný koeficient vytvořující funkce tedy máme: Fn=15[(1+52)n(152)njde k 0]=15(1+52)n \begin{aligned} F_n &= \frac{1}{\sqrt{5}} \left[\left(\frac{1 + \sqrt{5}}{2}\right)^n - \underbrace{\left(\frac{1 - \sqrt{5}}{2}\right)^n}_{\text{jde k $0$}}\right] \\ &= \left\lfloor \frac{1}{\sqrt{5}} \left(\frac{1 + \sqrt{5}}{2}\right)^n \right\rfloor \\ \end{aligned}

Catalanova čísla

b(x)=xb(x)2+1b(x)1,2=1±14x2x// + nedaˊvaˊ smysl, divergujeb(x)=11k=1(4)k(1/2k)xk2x// 14k=z. binom. v.k=0(4)k(1/2k)xk=12k=1(4)k(1/2k)xk1bn=12(4)n+1(1/2n+1)// konkreˊtnıˊ koeficient=12(1)n22n+212(121)n+1(12n)(n+1)!=12(1)n22n+212(12)n+1(2n12)(n+1)!=1222n+212122n12(n+1)!// kraˊcenıˊ zaˊpornyˊch cˇıˊsel=2n135(2n1)(n+1)!n!n!// kraˊcenıˊ 2=135(2n1)(n+1)n!2462nn!// rozdistribuovaˊnıˊ 2=1n+1(2n)!(n!)2=1n+1(2nn) \begin{aligned} b(x) &= x \cdot b(x)^2 + 1 \\ b(x)_{1, 2} &= \frac{1 \pm \sqrt{1 - 4x}}{2x} \qquad //\ \text{$+$ nedává smysl, diverguje}^*\\ \\ b(x) &= \frac{1 - 1 - \sum_{k = 1}^{\infty}(-4)^k \binom{1/2}{k} x^k }{2x} \qquad //\ \sqrt{1 - 4k} \overset{\text{z. binom. v.}}{=} \sum_{k = 0}^{\infty} (-4)^k \binom{1/2}{k} x^k\\ &= -\frac{1}{2} \sum_{k = 1}^{\infty} (-4)^k \binom{1/2}{k} x^{k - 1}\\ \\ b_n &= -\frac{1}{2} (-4)^{n + 1} \binom{1/2}{n + 1}\qquad //\ \text{konkrétní koeficient}\\ &= \frac{1}{2} (-1)^{n} 2^{2n + 2} \frac{\frac{1}{2} \cdot \left(\frac{1}{2} - 1\right) \cdot \overset{n + 1}{\ldots} \cdot \left(\frac{1}{2} - n\right)}{\left(n + 1\right)!}\\ &= \frac{1}{2} (-1)^{n} 2^{2n + 2} \frac{\frac{1}{2} \cdot \left(-\frac{1}{2}\right) \cdot \overset{n + 1}{\ldots} \cdot \left(-\frac{2n - 1}{2}\right)}{\left(n + 1\right)!}\\ &= \frac{1}{2} 2^{2n + 2} \frac{\frac{1}{2} \cdot \frac{1}{2} \cdot \ldots \cdot \frac{2n - 1}{2}}{\left(n + 1\right)!} \qquad //\ \text{krácení záporných čísel}\\ &= 2^{n} \frac{1 \cdot 3 \cdot 5 \cdot \ldots \cdot (2n - 1)}{(n + 1)!} \cdot \frac{n!}{n!} \qquad //\ \text{krácení $2$}\\ &= \frac{1 \cdot 3 \cdot 5 \cdot \ldots \cdot (2n - 1)}{(n + 1) n!} \cdot \frac{2 \cdot 4 \cdot 6 \cdot \ldots \cdot 2n}{n!} \qquad //\ \text{rozdistribuování $2$}\\ &= \frac{1}{n + 1} \frac{(2n)!}{\left(n!\right)^2} \\ &= \frac{1}{n + 1} \binom{2n}{n} \\ \end{aligned}

*: divergencí myslíme v rámci toho tvrzení o slušně vychovaných vytvořujících funkcí: funkce 1+14x2x\frac{1 + \sqrt{1 - 4x}}{2x} na okolí 00 konverguje zleva a zprava k jiným hodnotám

Konečné projektivní roviny

První axiom zajišťuje netrivialitu. Není těžké si rozmyslet, že lze nahradit axiomem “Existují alespoň 2 různé přímky, z nichž každá má alespoň 3 body”. Bez některé z těchto podmínek by definici vyhovovala např. libovolně velká množina bodů s právě jednou přímkou, která by všechny body spojovala. Případně by k tomuto schématu šel přidat ještě jeden bod, který by s každým dalším byl spojen dvoubodovou přímkou.

Definice (KPR): Nechť XX je konečná množina, P\mathcal{P} systém podmnožin množiny XX. (X,P)\left(X, \mathcal{P}\right) je KPR pokud:

  1. Existuje CX,C=4\mathcal{C} \subseteq X, |\mathcal{C}| = 4 t. ž. PP:PC2\forall P \in \mathcal{P}: |P \cap \mathcal{C}| \le 2
    • „každá přímka obsahuje 2\le 2 body z C\mathcal{C}
  2. P,QP,PQ:!xX\forall P, Q \in \mathcal{P}, P \neq Q: \exists! x \in X t. ž. PQ={x}P \cap Q = \left\{x\right\}
    • „každé dvě přímky se protínají právě v 11 bodě“
  3. x,yX,xy!PP\forall x, y \in X, x \neq y \exists! P \in \mathcal{P} t. ž. x,yPx, y \in \mathcal{P}
    • „každé dva body určují právě 11 přímku“

Příklad (Fanova rovina): Fanova rovina.

Počet bodů a přímek

Tvrzení: „v KPR mají všechny přímky stejný počet bodů“

Pomocné tvrzení: P,PPzX\forall P, P' \in \mathcal{P} \exists z \in X, které neleží ani na jedné z nich.

Dokáže se přes to přes rozbor příkladů toho, jak vedou přímky přes C\mathcal{C}:

4. přednáška

Důkaz původního tvrzení: pro přímky PP, PP' a bod zz (který nesdílí) budeme dělat bijekci tak, že budu tvořit přímky z bodu zz na body z PP, které budou rovněž protínat body z PP'.

Definice (řád KPR): řádem (X,P)(X, \mathcal{P}) je n=P1n = |P| - 1 pro jakoukoliv PPP \in \mathcal{P}.

Tvrzení: nechť (X,P)(X, \mathcal{P}) je KPR řádu nn. Pak:

  1. každým bodem prochází n+1n + 1 přímek
  2. X=n2+n+1|X| = n^2 + n + 1
  3. P=n2+n+1|\mathcal{P}| = n^2 + n + 1

Důkaz: {:.rightFloatBox}

Explicitní důkaz (3): Pro každý bod započítejme všechny přímky jím procházející. Dostaneme tak (n2+n+1)(n+1)(n^2+n+1)(n+1) přímek. Ale každou jsme započítali (n+1)(n+1)-krát – jednou pro každý z jejích bodů.

  1. triviálně z definice.
  2. viz. níže.
  3. vychází z duality (viz. další kapitola).

Vezměme libovolné xXx \in X. Pak PP:x∉P\exists P \in \mathcal{P}: x \not\in P, protože vezmeme-li body a,b,cCa, b, c \in \mathcal{C}, pak přímky abab a acac nemohou mít další společný bod než aa (došlo by ke sporu s některým z axiomů).

Poté stačí uvážit následující obrázek a spočítat body/přímky. Další bod už neexistuje, protože kdyby existoval, tak by jím musela procházet přímka z xx a ta by rovněž někde protínala PP (a nesplňovala tak axiomy).

Bodů na obrázku je 1x+(n+1)P0Pnnbody Pi, bez x=n2+n+1\overbrace{1}^{x} + \underbrace{\left(n + 1\right)}_{P_0 \ldots P_n}\overbrace{n}^{\text{body $P_i$, bez $x$}} = n^2 + n + 1.

Dualita KPR

Definice (incidenční graf): nechť (X,S)(X, \mathcal{S}) je množinový systém (S2X\mathcal{S} \subseteq 2^X). Jeho incidenční graf je bipartitní graf (V=XS,E={(x,s)X×S  xs})\left(V = X \cup \mathcal{S}, E = \left\{(x, s) \in X \times \mathcal{S}\ |\ x \in s\right\}\right)

Definice (duál grafu): (Y,T)(Y, \mathcal{T}) je duál (X,S)(X, \mathcal{S}) pokud Y=SY = \mathcal{S} a T={{sS  xs}  xX}\mathcal{T} = \left\{\left\{s \in \mathcal{S}\ |\ x \in s\right\}\ |\ x \in X\right\}

Příklad (duál Fanovy roviny): Duál Fanovy roviny.

Věta: duál KPR je KPR.

  1. „každá přímka obsahuje 2\le 2 body z C\mathcal{C}
  2. „každé dvě přímky se protínají právě v 11 bodě“
  3. „každé dva body určují právě 11 přímku“

Důkaz: ověření axiomů v duálním světě:

  1. C\exists \mathcal{C} čtveřice přímek t. ž. xX\forall x \in X leží na nanejvýš 22 přímkách z C\mathcal{C}
    • stejné jako „žádné 33 přímky z C\mathcal{C} nemají společný bod“
    • zvolím C={ab,cd,ad,bc}\mathcal{C} = \left\{ab, cd, ad, bc\right\}, což funguje (zkusit si rozkreslit)
  2. x,yX,xy:!PP\forall x, y \in X, x \neq y: \exists! P \in \mathcal{P} t. ž. jimi prochází právě 11 přímka
    • stejné jako původní axiom o přímkách
  3. analogicky viz. ^

Důsledek: (X,P)(X, \mathcal{P}) je řádu n    P=n2+n+1n \implies |\mathcal{P}| = n^2 + n + 1

Konstrukce KPR

Pro KPR řádu pkp^k, pp prvočíslo vezmu algebraické těleso K\mathbb{K} řádu nn (příklad K=Z3\mathbb{K} = \mathbb{Z}_3).

  1. „každá přímka obsahuje 2\le 2 body z C\mathcal{C}
  2. „každé dvě přímky se protínají právě v 11 bodě“
  3. „každé dva body určují právě 11 přímku“

Ověření axiomů:

  1. C={(1,0,0),(0,1,0),(0,0,1),(1,1,1)}\mathcal{C} = \left\{(1, 0, 0), (0, 1, 0), (0, 0, 1), (1, 1, 1)\right\}
    • jsou po třech lineárně nezávislé, proto (1)(1) platí
  2. dvojice přímek (a1,b1,c1)(a_1, b_1, c_1) a (a2,b2,c2)(a_2, b_2, c_2) určují jeden bod:
    • jsou lineárně nezávislé a dimenze jádra následující matice je tedy 11 a určují jeden bod (až na α\alpha-násobek, což je definice bodů) (a1b1c1a2b2c2)(xyt)=0 \begin{pmatrix} a_1 & b_1 & c_1 \\ a_2 & b_2 & c_2 \end{pmatrix} \begin{pmatrix} x \\ y \\ t \end{pmatrix} = 0
  3. analogické, protože role (x,y,t)(x, y, t) a (a,b,c)(a, b, c) je identická

5. přednáška

Latinské čtverce

Definice (latinský čtverec): řádu nn je tabulka n×nn \times n vyplněná čísly [n][n], kde v žádném řádku či sloupci se symboly neopakují.

Definice (ortogonalita):A,BA, B jsou ortogonální, pokud pro každou dvojici symbolů a,b[n]a, b \in [n] existují indexy i,j[n]i, j \in [n] t. ž. (A)i,j=a,(B)i,j=b(A)_{i, j} = a, (B)_{i, j} = b.

Příklad: dvou navzájem ortogonálních latinských čtverců stupně nn:

12342143341243211234341243212143 \begin{matrix} 1 & 2 & 3 & 4 \\ 2 & 1 & 4 & 3 \\ 3 & 4 & 1 & 2 \\ 4 & 3 & 2 & 1 \end{matrix} \qquad \begin{matrix} 1 & 2 & 3 & 4 \\ 3 & 4 & 1 & 2 \\ 4 & 3 & 2 & 1 \\ 2 & 1 & 4 & 3 \end{matrix}

Lemma: pro daný řád nn může existovat nejvýše n1n - 1 NOLČ.

Důkaz: mějme maximální rodinu NOLČ L1,,LmL_1, \ldots, L_m a permutujme symboly tak, aby každý první řádek byl 1,2,3,,n1, 2, 3, \ldots, n; uvažme symbol na pozici (2,1)(2, 1):

Čtverců je dohromady tedy nejvýše n1n - 1.

Pro libovolné dvě pozice (které se liší v řádku a sloupci) existuje čtverec, který na nich má stejné hodnoty.

Tvrzení: pokud L1,,Ln1L_1, \ldots, L_{n - 1} jsou NOLČ, potom k,k,kk,l,l,lli:(Li)k,l=(Li)k,l\forall k, k', k \neq k', \forall l, l', l \neq l' \exists i: \left(L_i\right)_{k, l} = \left(L_i\right)_{k', l'}

Důkaz: zpermutujeme symboly tak, aby i(Li)k,l=1\forall i \left(L_i\right)_{k, l} = 1:

[(1)?][(1)?][(1)?]n1 \underbrace{\begin{bmatrix} & & & \\ & (1) & & \\ & & & \\ & & ? & \end{bmatrix} \qquad \begin{bmatrix} & & & \\ & (1) & & \\ & & & \\ & & ? & \end{bmatrix} \qquad \ldots \qquad \begin{bmatrix} & & & \\ & (1) & & \\ & & & \\ & & ? & \end{bmatrix}}_{n - 1}

Ve sloupci s otazníkem nemůže symbol 11 být:

Mám tedy n1n - 1 možností a musím přijít na n1n - 1 různých řešení. Jedno z nich tedy vyjde na ??.

NOLČ     \iff KPR

Věta: L1,,Ln1\exists L_1, \ldots, L_{n - 1} NOLČ     KPR\iff \exists KPR řádu nn.

Důkaz (konstrukce \Rightarrow):

Latinský čtverec na KPR.

  1. „každá přímka obsahuje 2\le 2 body z C\mathcal{C}
  2. „každé dvě přímky se protínají právě v 11 bodě“
  3. „každé dva body určují právě 11 přímku“

Ověření axiomů:

  1. C={r,s,m1,1,m2,2}\mathcal{C} = \left\{r, s, m_{1, 1}, m_{2, 2}\right\}
  2. mezi:
    • I,IIrI, II \rightarrow r
    • I,IIIsI, III \rightarrow s
    • I,IVliI, IV \rightarrow l_i
    • II,IIrII, II \rightarrow r
    • III,IIIsIII, III \rightarrow s
    • II,IIImk,lII, III \rightarrow m_{k, l}
    • II,IVII, IV \rightarrow čtverec je latinský, na řádku se symbol někde vyskytuje
    • III,IVIII, IV \rightarrow obdobně ^
    • IV,IVIV, IV \rightarrow
      • různé čtverce: přesně definice ortogonality (existuje dvojice souřadnic pro dvojici symbolů)
      • stejné čtverce: lil_i
  3. mezi:
    • r,s,liIr, s, l_i \rightarrow \mathrm{I}
    • r,mk,lIIr, m_{k, l} \rightarrow \mathrm{II}
    • s,mk,lIIIs, m_{k, l} \rightarrow \mathrm{III}
    • li,mk,lIVl_{i}, m_{k, l} \rightarrow \mathrm{IV}, symbol (Li)k,l\left(L_i\right)_{k, l} určuje, o kterou přímku z lil_i jde
    • mk,l,mk,lm_{k, l}, m_{k', l'} \rightarrow
      • stejný řádek: II\mathrm{II}
      • stejný sloupec: III\mathrm{III}
      • jinak: IV\mathrm{IV} a existuje, vycházíme z minulého pozorování

Důkaz (konstrukce \Leftarrow):

Jsou NOLČ, protože:

KPR na latinský čtverec.

6. přednáška

Počítání dvěma způsoby

Tvrzení: počet podmnožin X=(Xk)=(Xk)X = \left| \binom{X}{k}\right| = \binom{|X|}{k}

Důkaz: nechť máme bublinu s tečkami, každá reprezentuje uspořádanou kk-tici prvků z XX.

n!(nk)!=(Xk)k!(Xk)=n!(nk)!k!=(nk) \begin{aligned} \frac{n!}{(n - k)!} &= \left|\binom{X}{k}\right| \cdot k! \\ \left|\binom{X}{k}\right|&= \frac{n!}{(n - k)! k!} = \binom{n}{k} \\ \end{aligned}

Věta (Spernerova): nechť (P,)(\mathcal{P}, \subseteq) je částečné uspořádání, kde P\mathcal{P} je množinový systém. Nechť M\mathcal{M} je největší antiřetězec (M1,M2M,M1M2:M1M2M2M1\forall M_1, M_2 \in \mathcal{M}, M_1 \neq M_2: M_1 \nsubseteq M_2 \land M_2 \nsubseteq M_1). Pak M(nn2)|\mathcal{M}| \le \binom{n}{\left\lceil \frac{n}{2} \right\rceil}, kde n=Xn = |X|.

Sperenerova věta.

Tvrzení (pomocné): MMM!(nM)!n!\sum_{M \in \mathcal{M}} \left|M\right|! (n - \left|M\right|)! \le n!. Přes dvojí počítání počtu permutací na XX:

Důkaz (přes pomocné tvrzení): MMM!(nM)!n!(nn2)1MMM!(nM)!n!1// pouzˇıˊvaˊme veˇtsˇıˊ kombinacˇnıˊ cˇıˊsloM(nn2) \begin{aligned} \sum_{M \in \mathcal{M}} |M!| (n - |M|)! &\le n! \\ \sum \binom{n}{\left\lceil \frac{n}{2} \right\rceil}^{-1} \le \sum_{M \in \mathcal{M}} \frac{|M!| (n - |M|)!}{n!} &\le 1 \qquad //\ \text{používáme větší kombinační číslo} \\ \left|\mathcal{M}\right| &\le \binom{n}{\left\lceil \frac{n}{2} \right\rceil} \\ \end{aligned}

Grafy bez CkC_k

Motivace:

Věta: graf GG s nn vrcholy bez C4C_4 má nejvýše 12(n3/2+n)\frac{1}{2} \left(n^{3/2} + n\right) hran.

Důkaz: dvojí počítání „vidliček“ (cest delky 22):

  1. pro pevnou dvojici {u,u}\left\{u, u'\right\} mám nanejvýš 1 vidličku (dvě by tvořily čtyřcyklus), tedy # vidlicˇek (n2)\#\ \text{vidliček}\ \le \binom{n}{2}
  2. pro pevný vrchol vv máme # vidlicˇek =(di2)\#\ \text{vidliček}\ = \binom{d_i}{2}

# vidlicˇek =i=1n(di2)(n2) \#\ \text{vidliček}\ = \sum_{i = 1}^{n} \binom{d_i}{2} \le \binom{n}{2}

Také víme (z principu sudosti), že:

E=12i=1ndi |E| = \frac{1}{2} \sum_{i = 1}^{n} d_i

Předpoklad: nemáme izolované vrcholy (di1d_i \ge 1), jsou zbytečné. Pak (di2)(di1)22\binom{d_i}{2} \ge \frac{(d_i - 1)^2}{2}.

n22(n2)i=1n(di2)(di1)22=ki22// substituceki2n2 \frac{n^2}{2} \ge \binom{n}{2} \ge \sum_{i = 1}^{n} \binom{d_i}{2} \ge \sum \frac{(d_i - 1)^2}{2} = \sum \frac{k_i^2}{2} \qquad //\ \text{substituce} \\ \sum k_i^2 \le n^2

Využijeme Cauchy-Schwartzovu nerovnost na x=(k1,,kn),y=(1,,1)x = (k_1, \ldots, k_n), y = (1, \ldots, 1): xy=ki=(di1)=2Enx2=ki2n2=ny2=1=n xy = \sum k_i = \sum \left(d_i - 1\right) = 2|E| - n \\ || x ||_2 = \sqrt{\sum k_i^2} \le \sqrt{n^2} = n \qquad || y ||_2 = \sqrt{\sum 1} = \sqrt{n}

2En=xyx2y2=n3/2E12(n3/2+n) \begin{aligned} 2|E| - n &= xy \le ||x||_2 ||y||_2 = n^{3/2} \\ |E| &\le \frac{1}{2} \left(n^{3/2} + n\right) \end{aligned}

Počítání koster

Věta (Cayleyho formule): počet koster úplného grafu κ(n)=nn2\kappa(n) = n^{n - 2}.

Důkaz: počítání (T,r,cˇ)(T, r, č), kde:

  1. #(T,r,cˇ)=κ(n)n(n1)!\#(T, r, č) = \kappa(n) \cdot n \cdot \left(n - 1\right)!
    • TT je to, co hledáme
    • rr volíme libovolně z nn vrcholů
    • cˇč je prostě random očíslovaní na n1n - 1 hranách
  2. představa: přidávám hrany, až nakonec dojdu k (T,r,cˇ)(T, r, č) a jsem v kk-tém kroce:
    • (👀): nesmím vést hranu uvnitř komponenty (cykly)
    • (👀): musím vést hranu pouze z kořene dané komponenty (jeden vrchol by měl 2 rodiče)
    1. zvolím, kam šipka povede… nn způsobů
    2. zvolím komponentu, ze které povede… nk1n - k - 1
      • máme nkn - k komponent a 11 je blokovaná

#(T,r,cˇ)=k=0n2pocˇet sˇipek je n1n(nk1)=nn1(n1)!κ(n)n(n1)!=nn1(n1)!κ(n)=nn2 \begin{aligned} \#(T, r, č) &= \prod_{k = 0}^{ \overbrace{n - 2}^{\text{počet šipek je $n - 1$}}} n ( n - k - 1) = n^{n - 1} (n -1)! \\ \kappa(n) \cdot n \cdot \left(n - 1\right)! &= n^{n - 1} (n -1)! \\ \kappa(n) &= n^{n - 2} \end{aligned}

7. přednáška

Toky

Definice (síť): je čtveřice (G,z,s,c)(G, z, s, c), kde:

  1. omezení shora kapacitami
  2. Kirchhoff

Definice (tok): v síti je f:ER0f: E \mapsto \mathbb{R}_{\ge 0}, t. ž.:

  1. eE(G)\forall e \in E(G) platí 0f(e)c(e)0 \le f(e) \le c(e)
  2. vV(G),v∉{z,s}\forall v \in V(G), v \not\in \left\{z, s\right\} platí f(x,v)=f(v,y)\sum f(x, v) = \sum f(v, y)

To, co teče ven ze zdroje.

Definice (velikost toku): w(f)=f(z,x)f(x,z)w(f) = \sum f(z, x) - \sum f(x, z)

Věta: existuje maximální tok.

Definice (pseudo): Nástin je takový, že množina toků je kompaktní a obsahuje tedy i maximum (nevznikne nám tam nějaká divnost).

Definice (řez): v síti je množina hran RE(G)R \subseteq E(G) taková, že v grafu (V,ER)(V, E \setminus R) neexistuje cesta ze zdroje do stoku.

max flow, min cut

Věta (max flow, min cut): pro každou síť je maximální tok roven minimálnímu řezu.

Lemma: pro každou AVA \subseteq V t. ž. zA,s∉Az \in A, s \not\in A a pro libovolný tok ff platí: w(f)=f(A,VA)f(VA,A)w(f) = f(A, V \setminus A) - f(V \setminus A, A)

Důkaz: w(f)=uA((u,x)Ef(u,x)(x,u)Ef(x,u))// pouze definice=uA,v∉Af(u,v)u∉A,vAf(v,u)// hrany  A prˇispeˇjıˊ jednou + a jednou =f(A,VA)f(VA,A) \begin{aligned} w(f) &= \sum_{u \in A} \left(\sum_{(u, x) \in E} f(u, x) - \sum_{(x, u) \in E} f(x, u)\right) \qquad //\ \text{pouze definice} \\ &= \sum_{u \in A, v \not\in A} f(u, v) - \sum_{u \not\in A, v \in A} f(v, u) \qquad //\ \text{hrany $\in$ A přispějí jednou $+$ a jednou $-$} \\ &= f(A, V \setminus A) - f(V \setminus A, A) \\ \end{aligned}

Důsledek: w(f)c(R)w(f) \le c(R), protože w(f)=f(A,VA)f(VA,A)f(A,VA)c(A,VA)c(R)w(f) = f(A, V \setminus A) - f(V \setminus A, A) \le f(A, V \setminus A) \le c(A, V \setminus A) \le c(R)

Definice (nasycená cesta): je (neorientovaná) cesta, pokud e\exists e na cestě t. ž. buďto:

Definice (nasycený tok): je tok takový, že každá (neorientovaná) cesta ze zz do ss je nasycená.

Tvrzení: ff je maximální     f\iff f je nasycený.

Důkaz (maximální je nasycený):

Důkaz (nasycený je maximální):

w(f)=f(A,VA)f(VA,A)// prˇedesˇleˊ lemma=c(A,VA)0=c(f) \begin{aligned} w(f) &= f(A, V \setminus A) - f(V \setminus A, A) \qquad //\ \text{předešlé lemma}\\ &= c(A, V \setminus A) - 0\\ &= c(f) \end{aligned}

Ford-Fulkerson
  1. f(e)=0,eEf(e) = 0, \forall e \in E
  2. dokud \exists zlepšující cesta PP, zlepši tok přes PP

Tvrzení: pokud jsou kapacity racionální, pak algoritmus doběhne. Pokud jsou přirozené, dá celočíselný tok.

(👀): Celočíselný tok lze rozdělit na celočíselný součet cest a cyklů.

Důkaz: Plyne z běhu F-F algoritmu. Tok je součtem zlepšujících cest a cyklů.

8. přednáška

Aplikace toků v sítích

Párování v bipartitním grafu

Věta (Königova): v bipartitním grafu je velikost maximálního párování rovna velikosti minimalního vrcholového pokrytí.

Důkaz: přes toky, jako na následujícím obrázku na síti kapacit 11:

Königova věta.

Z toku získávám minimální zsz-s řez RR. Ten upravíme na minimální řez RR' tak, aby neobsahoval hrany původního grafu. To jde, protože hranu původního grafu mohu vyměnit za tu ze zdroje/stoku, protože ta je jediný způsob, jak se dostat do hrany z původního vrcholu.

Tento řez určuje velikost minimálního vrcholového pokrytí (pokud by tomu tak nebylo, tak nemáme minimální řez).

Nyní chceme ukázat, že velikost RR' je rovná velikosti nějakého vrcholového pokrytí, a že velikost min. pokrytí je rovna velikosti nějakému řezu, což k důkazu věty stačí.

Najdeme vrcholové pokrytí stejně veliké jako RR':

Nyní pro WW minimální vrcholové pokrytí najdeme řez RR:

Systém reprezentantů

Definice:

Analogicky pro grafy: bipartitní graf G=(LP,E)G = (L \cup P, E) má párování pokrývající PP pokud PP:vPN(v)P\forall P' \subseteq P: \left|\bigcup_{v \in P'} N(v)\right| \ge |P'|. NN je sousedství (to, co vrcholy zprava na levé straně „vidí“).

Věta (Hallova): SRR      JI:iJMiJ\ \exists\iff \forall J \subseteq I: \left|\bigcup_{i \in J} M_i\right| \ge |J|.

Důkaz (SSR \Rightarrow Hall): zvolím libovolnou JIJ \subseteq I. Pak platí, že jJ pjMj,pj=f(j)\forall j \in J\ \exists p_j \in M_j, p_j = f(j), tak že prvky pjp_j jsou navzájem různé (ff je prostá). V tom případě ale J={pj  jJ}jJMj|J| = \left|\left\{p_j\ |\ j \in J\right\}\right| \le \left|\bigcup_{j \in J} M_j\right|

Důkaz (SSR \Leftarrow Hall): opět najdu v grafu (celočíselný, jednotková síť) maximální tok. Najdu minimální řez z hran pouze ze zdroje/do stoku, R=R|R| = |R'|. Uvážím následující obrázek:

Chceme najít systém různých reprezentantů. Dokážeme to tak, že R=I|R'| = |I|, pak max. tok má velikost I|I| a hrany s tokem 11 mi dají SRR.

(👀): hrany z JJ vedou pouze do BB, protože jinak by existovala zsz-s cesta a nejednalo by se o řez, tedy jJMjB\left|\bigcup_{j \in J} M_j\right| \subseteq B.

R=c(R)// jednotkoveˊ kapacity=A+B=IJA+BIJ+jJMj// z pozorovaˊnıˊIJ+J// z Hallovy podmıˊnky=I//     tok maˊ velikost alesponˇ I \begin{aligned} |R'| &= c(R') &&//\ \text{jednotkové kapacity}\\ &= |A| + |B| \\ &= \overbrace{|I| - |J|}^{|A|} + |B| \\ &\ge |I| - |J| + \left|\bigcup_{j \in J} M_j\right| &&//\ \text{z pozorování}\\ &\ge |I| - |J| + \left|J\right| &&//\ \text{z Hallovy podmínky}\\ &= |I| &&// \implies\ \text{tok má velikost alespoň $|I|$} \\ \end{aligned}

Definuji SRR jako f(i)=xXf(i) = x \in X, pokud po hraně (i,x)(i, x) něco teče.

9. přednáška

Důsledek: nechť B=(V1V2,E)B = (V_1 \cup V_2, E) je bipartitní graf, kde k1=min degvV1 v,  k2=max degvV2 v  a  k1k2k_1 = \mathrm{min}\ \underset{v \in V_1}{\deg}\ v,\ \ k_2 = \mathrm{max}\ \underset{v \in V_2}{\deg}\ v\ \ \text{a}\ \ k_1 \ge k_2 pak je splněna Hallova podmínka.

Důkaz: Ověřím Hallovu podmínku (pozor, prohozené strany). Máme-li množinu JJ a každá vidí alespoň k1k_1 hran, pak vidím Jk1\ge |J| k_1 hran. Abych pohltil všechny tyto hrany, tak musí napravo být alespoň k2N[j]k_2 |N[j]| vrcholů. Musí tedy platit: Jk1# hrank2N[J]|J| k_1 \le \#\ \text{hran} \le k_2 |N[J]|

Protože k1k2k_1 \ge k_2, pak N[j]J|N[j]| \ge |J|.

Příklad: doplňování latinských obdélníků:

Latinský obdelník.

Máme tedy (nk)\left(n - k\right)-regulární graf, pro který \exists perfektní párování (použití minulého důsledku).

Míra souvislosti neorientovaných grafu

Definice:

Lemma: G,eE\forall G, \forall e \in E platí ke(G)1ke(Ge)ke(G)k_e(G) - 1 \le k_e(G - e) \le k_e(G)

Tomovo poznámka: V důkazu ke(G)kv(G)k_e(G) \le k_v(G) se tohle lemma nepoužívá (alespoň tak, jak to chápu). Jsem trochu zmatený z toho, proč Martin říkal, že ano.

Důkaz (\le): vezmu minimální řez FEF \subseteq E v GG, F=F{e}F' = F \setminus \left\{e\right\} jistě musí být řez v GeG - e; pak: ke(Ge)FF=ke(G)k_e(G - e) \le |F'| \le |F| = k_e(G)

Důkaz (\ge): vezmu minimální řez BB v GeG - e B=B{e}B' = B \cup \left\{e\right\} je řezem v GG, pak: ke(G)B=B+1=ke(Ge)+1ke(G)1ke(Ge) \begin{aligned} k_e(G) \le |B'| &= |B| + 1 = k_e(G - e) + 1\\ k_e(G) - 1 &\le k_e(G - e) \end{aligned}

Tvrzení: G,eE\forall G, \forall e \in E platí kv(G)1kv(Ge)kv(G)k_v(G) - 1 \le k_v(G - e) \le k_v(G)

Důkaz: trochu přeformulujeme… pro H=Ge:kv(H+e)kv(H)+1H = G - e: k_v (H + e) \le k_v (H) + 1:

V HH existuje vrcholový řez AV(H),kv(H)=AA \subseteq V(H), k_v(H) = |A|. Při odebrání AA se HH rozpadne na alespoň 22 komponenty. Sledujeme (rozebíráme případy), co se se souvislostí stane, když přidáme do grafu hranu ee:

Věta: kv(G)ke(G)k_v(G) \le k_e(G): indukcí podle počtu hran:

Kde poslední rovnost platí, protože F=FeF' = F \setminus {e} je (z definice) řezem GeG - e.

Věta (Mengerova hranová): ke(G)=t    k_e(G) = t \iff mezi  u,v t\ \forall u, v\ \exists \ge t hranově disjunktních cest.

Důkaz (\Leftarrow): sporem nechť existuje hranový řez FF a F<t|F| < t. GFG \setminus F je rozdělený na více komponent. Vezmi uC1,vC2u \in C_1, v \in C_2. Mezi u,vu, v vedlo tt hranově disjunktních cest. FF nemohl přerušit všechny z nich.

Důkaz (\Rightarrow): mějme ke(G)tk_e(G) \ge t a pro u,vu, v hledám disjunktní cesty. Sestrojím jednotkovou síť, najdu tok z uu do vv. Pak vidím, že mám tok alespoň tt (maximální tok je minimální řez) a začnu odčítat cesty.

Věta (Mengerova vrcholová): kv(G)=t    k_v(G) = t \iff mezi  u,v t\ \forall u, v\ \exists \ge t vrcholově disjunktních cest (vyjma u,vu, v).

Důkaz (\Leftarrow): stejný jako FF, jen nahraď „hrany“ za „vrcholy“.

Důkaz (\Rightarrow): uděláme trik s dělením vrcholů na dva (degin,degout\deg_{\mathrm{in}}, \deg_{\mathrm{out}}) a v libovolném řezu nahradíme hrany vedoucí do/z vrcholů za hranu spojující vrcholy.

10. přednáška

Lepení uší

Věta: graf je 22-souvislý právě tehdy, když jej lze vytvořit z K3K_3 posloupností:

Důkaz (\Rightarrow):

Lepení uší.

Důkaz (\Leftarrow): stačí vidět, že nikdy nevznikne artikulace, protože uši lepím mezi 22 různé vrcholy.

Samoopravné kódy

Definice (Hammingův kód): vycházíme z Fanovy roviny a o přímkách uvažujeme jako o prvcích Z27\mathbb{Z}_2^7

H={char. vektory prˇıˊmek}P1={1,2,4}=(1 1 0 1 0 0 0){char. vektory doplnˇku˚ prˇıˊmek}P1+(1  1)=(0 0 1 0 1 1 1){(0  0),(1  1)}H = \underbrace{\left\{\text{char. vektory přímek}\right\}}_{P_1 = \left\{1, 2, 4\right\} = (1\ 1\ 0\ 1\ 0\ 0\ 0)} \cup \underbrace{\left\{\text{char. vektory doplňků přímek}\right\}}_{P_1 + (1\ \ldots\ 1) = (0\ 0\ 1\ 0\ 1\ 1\ 1)} \cup \left\{(0\ \ldots\ 0), (1\ \ldots\ 1)\right\}

Protokol:

  1. vezmi kódovou zprávu
  2. rozděl na 44-bitové bloky
  3. zakóduj přes Hammingův kód
    • nějak rozumně očísluj kódová slova!
  4. profit?

Výsledek: zpráva je o 7/47/4 delší, ale pro pp šanci otočení bitu získáváme následující:

Pr[jeden blok se spraˊvneˇ rozkoˊduje]=(1p)7vsˇe ok+7p(1p)6jeden sˇpatneˇ=(1p)6(1+6p)Pr[celaˊ zpraˊva se spraˊvneˇ dekoˊduje]=((1p)6(1+6p))n/4 \begin{aligned} \Pr\left[\text{jeden blok se správně rozkóduje}\right] &= \overbrace{(1 - p)^7}^{\text{vše ok}} + \overbrace{7p(1 - p)^6}^{\text{jeden špatně}} = (1-p)^6(1 + 6p) \\ \Pr\left[\text{celá zpráva se správně dekóduje}\right] &= \left((1-p)^6(1 + 6p)\right)^{n/4} \end{aligned}

Definice:

Příklad (kódy):

  1. totální kód C=ΣnC = \Sigma^n (nic se nekóduje)
    • délka =n = n
    • velikost =2n    k=logC=n= 2^n \implies k = \log |C| = n
    • d=1d = 1
    •     (n,n,1)\implies (n, n, 1)-kód
  2. opakovací kód délky nn (nn-krát opakujeme 00 nebo 11)
    • délka =n= n
    • velikost =2= 2 (samé nuly/jedničky)     k=1\implies k = 1
    • d=nd = n
    •     (n,1,n)\implies (n, 1, n)-kód
  3. paritní kód CΣnC \subseteq \Sigma^n t. ž. xC:xi=0x \in C: \sum_{x_i} = 0 (počet jedniček je sudý)
    • délka =n= n
    • velikost =2n1    k=n1= 2^{n - 1} \implies k = n - 1
    • d=2d = 2, protože změna bitů mění paritu
    •     (n,n1,2)\implies (n, n - 1, 2)-kód
  4. Hammingův kód
    •     (7,4,3)\implies (7, 4, 3)-kód

11. přednáška

Jak nejefektivněji můžeme kódovat?

(👀): dn,d2:A(n,d)A(n1,d1)\forall d \le n, d \ge 2: A(n, d) \le A(n - 1, d - 1)

Důsledek (Singletonův odhad): dn\forall d \le n platí A(n,d)nd+1A(n, d) \le n - d + 1

Tvrzení: pro každé liché dnd \le n je A(n,d)=A(n+1,d+1)A(n, d) = A(n + 1, d + 1)

Důkaz: nechť CC je (n,k,d)(n, k, d)-kód. Přidáním paritního bitu ke každému slovu vytvořím (n+1,k,d+1)(n + 1, k, d + 1)-kód, jelikož slova vzdálená lichým číslem (jmenovitě dd) mají různou paritu a proto je od sebe o 11 vzdálím.

Důsledek: nejzajímavější jsou kódy s lichým dd (na sudé lze triviálně rozšířit)

Lineární kódy

Definice: kód CC nad Z2n\mathbb{Z}_2^n je lineární kód, pokud tvoří vektorový podprostor.

(👀): pokud CC je dimenze kk, pak má 2k2^k prvků, ale k jeho popisu stačí nějaká báze C,C=kC, |C| = k (ostatní dostanu lineárními kombinacemi).

(👀): Hammingův kód H\mathcal{H} je lineární a generuje ho jeho generujicí matice v1v2v3v4(1101000011010000110100001101) \begin{matrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix} \begin{pmatrix} 1 & 1 & 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 & 1 & 0 & 1 \end{pmatrix}

(👀): x,y,zC:d(x,y)=d(x+z,y+z)\forall x, y, z \in C: d(x, y) = d(x + z, y + z)

Duální kódy

Definice (duální kód): CC je ortogonální doplněk C={x  x,y=0,yC}C^\perp = \left\{x\ |\ \langle x, y \rangle = 0, \forall y \in C\right\}

(👀): CC^\perp je opět vektorový podprostor, je to tedy taky kód

(👀): nechť GG je generující matice kódu CC

c=(1 1 0 1)x=(1 1 0 1informacˇnıˊ bitykontrolnıˊ/paritnıˊ bity)c = (1\ 1\ 0\ 1) \qquad x = (\underbrace{1\ 1\ 0\ 1}_{\text{informační bity}} \overbrace{\ldots\ldots\ldots}^{\text{kontrolní/paritní bity}})

Dekódování

Mějme CC lineární kód délky nn nad Z24\mathbb{Z}_2^4. Bylo odesláno slovo xCx \in C a přijato slovo x~\tilde{x}.

PP je paritní matice kódu CC, tzn. C={x  Px=0}C = \left\{x\ |\ Px = 0\right\}.

Definice (syndrom): slova zz je PzPz, kde PP je paritní matice kódu CC.

Předpoklad: chybový vektor ee je slovo s nejmenší vahou ve své třídě

Dekódování:

Příklad:

  1. x~=v1=(1 1 1 0 0)\tilde{x} = v_1 = (1\ 1\ 1\ 0\ 0), Px~=(0 0 0)TP\tilde{x} = (0 \ 0 \ 0)^T (nulový syndrom, což je správně)
  2. x~=(0 0 1 0 1)\tilde{x} = (0\ 0\ 1\ 0\ 1), Px~=(0 1 1)TP\tilde{x} = (0 \ 1 \ 1)^T (nějaký syndrom)
    • podíváme se do tabulky syndromů (vybruteforcená)
    • dostaneme ze syndromu reprezentanta m(s)=(0 0 0 1 0)m(s) = (0\ 0\ 0\ 1\ 0)
    • spočítáme x=x~e=(0 0 1 1 1)x = \tilde{x} - e = (0\ 0\ 1\ 1\ 1)
    • protože došlo k chybě v 11 pozici a jedná se o (5,2,3)(5, 2, 3)-kód, xx je správné dekódování
  3. pro x~=(0 1 1 0 1)\tilde{x} = (0\ 1\ 1\ 0\ 1) dostáváme váhu syndromu 22 a to už neopravíme
Hammingovy kódy

(👀): nechť PP je kontrolní matice CC. Pak Δ(C)=\Delta(C) = maximální dd t. ž. d1\forall d - 1 sloupců PP je lineárně nezávislých.

Důkaz: kódová slova Pc=0\equiv Pc = 0. Nechť sloupce PP jsou p1,,pnp_1, \ldots, p_n. Pak i=1ncipi=0\sum_{i = 1}^{n} c_i p_i = 0

Pro spor nechť x\exists x t. ž. xipi=0\sum x_i p_i = 0 (je tedy kódové slovo) a w(x)<dw(x) < d \rightarrow. To je spor, Δ(C)=d\Delta(C) = d ale tohle slovo má w(x)<dw(x) < d. To musí nutně znamenat, že x:w(x)<di=1nxipi0\forall x: w(x) < d \rightarrow \sum_{i = 1}^{n}x_i p_i \neq 0 \rightarrow každých d1\le d - 1 sloupců je tedy lineárně nezávislých.

Důsledek: pokud chci d=3d = 3, potřebuji co největší matici PP t. ž. 2\forall 2 sloupce jsou lineárně nezávislé. To v Z2\mathbb{Z}_2 znamená, že musí být různé a žádný z nich není nulový.

P=(0001101111011)2r1 nenulovyˊch r-dim. vektoru˚ P = \underbrace{\begin{pmatrix} 0 & 0 & 0 & \cdots & 1 \\ \vdots & \vdots & \vdots & \ddots & 1 \\ 0 & 1 & 1 & & 1 \\ 1 & 0 & 1 & & 1 \end{pmatrix}}_{\text{$2^r - 1$ nenulových $r$-dim. vektorů}}

Jedná se o binární zápisy čísel 12r11 \ldots 2^{r} - 1. Nechť CC je generovaný PP a Hr=C\mathcal{H}_r = C^\perp (PP je paritní matice Hr\mathcal{H}_r). Má délku n=2r1n = 2^{r} - 1 a dimHr=nr=2rr1\dim \mathcal{H}_r = n - r = 2^{r} - r - 1.

Z pozorování (nezávislé sloupce) dostáváme, že Δ(Hr)=3\Delta(\mathcal{H}_r) = 3.

Věta: pro každé r2r \ge 2 je Hr[2r1,2rr1,3]\mathcal{H}_r \left[2^{r} - 1, 2^r - r - 1, 3\right]-kód.

12. přednáška

Dekódování Hammingova kódu

Perfektnost kódu

Pokud pro CC platí Δ(C)=2t+1\Delta(C) = 2t + 1, pak pro libovolné slovo xZ2nx \in \mathbb{Z}^n_2 je nejvýše jedno kódové slovo ve vzdálenosti t\le t od xx (pozorování výše). Kódová slova tedy indukují navzájem disjunktní symetrické koule dimenze nn se středem xx a poloměrem tt: B(x,n,t)={zZ2n  d(x,z)t}B(x, n, t) = \left\{z \in \mathbb{Z}_2^n\ |\ d(x, z) \le t\right\}

Jelikož disjunktní koule mohou pokrýt nejvýše všech 2n2^n slov, tak dostáváme následující pozorování na počet kódových slov:

Věta (Hammingův odhad): pro binární kód s Δ(C)2t+1\Delta(C) \ge 2t + 1 platí CA(n,d)2nV(n,t)|C| \le A(n, d) \le \frac{2^n}{V(n, t)}

Důkaz: mám na 2n2^n prvcích C|C| disjunktních koulí objemu V(n,t)V(n, t)… koule pokrývají CV(n,t)|C| \cdot V(n, t) prvků, což je 2n\le 2^n (méně nebo rovno všem prvkům – nevím, jestli se nepřekrývají) a vydělím.



Definice: kód CC je perfektní, pokud pro něj platí Hammingův odhad s rovností.

Příklad (perfektních kódů):

Tvrzení: Hammingův kód je perfektní.

Důkaz: Hr=[2r1,2rr1,3]\mathcal{H}_r = \left[2^r - 1, 2^r - r - 1, 3\right]-kód.

2nV(n,t)=22r12r=22rr1=C\frac{2^n}{V(n, t)} = \frac{2^{2^r - 1}}{2^r} = 2^{2^r - r - 1} = |C|

Hadamardův kód

Tvrzení: Hadamardův kód je [2r,r,2r1]\left[2^r, r, 2^{r - 1}\right]-kód.

(👀): x,yi\langle x, y_i \rangle nenese informaci o x1x_1, pokud první bit yy je 0    0 \implies stačí brát yi,i(2r1,2r1)y_i, i \in \left(2^{r - 1} , 2^r - 1\right)

Ramseyova teorie

Motivace: party o 66 lidech:

Věta: pro každý graf na 6\ge 6 vrcholech \exists podrgraf E3E_3 (prázdný graf) nebo K3K_3.

Důkaz: vyberu libovolný vrchol uu. Podívám se na vrcholy AA, se kterými nesousedí, zbytek nechť je BB.

  1. A3,A{x,y,z}|A| \ge 3, A \supseteq \left\{x, y, z\right\}
    • všichni mezi sebou mají hranu, pak máme K3K_3
    • BUNO \exists nehrana xyxy, pak {u,x,y}\left\{u, x, y\right\} tvoří E3E_3
  2. symetricky

Definice (Ramseyovo číslo) r(k,l)=min nr(k, l) = \mathrm{min}\ n t. ž. G\forall G o nn vrcholech obsahuje buď KkK_k nebo ElE_l

Pár hodnot:

Definice (symetrické Ramseyovo číslo) r(n)=r(n,n)r(n) = r(n, n)

Věta (Ramseyova): r(k,l)(k+l2k1)r(k, l) \le \binom{k + l - 2}{k - 1}

Důkaz: indukcí podle k+lk + l

Zvolím uGu \in G libovolně a opět rozdělím graf na nesousedy AA a sousedy BB vrcholu uu. Z principu holubníku je An1|A| \ge n_1 nebo Bn2|B| \ge n_2 (jsou-li obě množiny ostře menší, tak jejich součet dá nejvýše n2n - 2, ale sousedů + nesousedů uu je právě n1n - 1)

  1. An1|A| \ge n_1, použijeme IP na AA:
    • ω(G[A])k\omega(G[A]) \ge k a jsem hotov
    • α(G[A])l1\alpha(G[A]) \ge l - 1, pak tato nezávislá množina spolu s uu dává nezávislou mnozinu velikosti l\ge l
  2. analogicky: Bn2|B| \ge n_2, použijeme IP na BB:
    • ω(G[B])k1\omega(G[B]) \ge k - 1, pak tato klika spolu s uu dává kliku velikosti k\ge k
    • α(G[B])l\alpha(G[B]) \ge l a jsem hotov

Důsledek: k,l r(k,l)\forall k, l\ \exists r(k, l) t. ž. G:ω(G)k\forall G: \omega(G) \ge k nebo α(G)l\alpha(G) \ge l.

Věta: k,nNk, n \in \mathbb{N} t. ž. (nk)21(k2)<1    r(k)>n\binom{n}{k} 2^{1 - \binom{k}{2}} < 1 \implies r(k) > n.

Co jsou čísla zač? Použijeme odhad:

(nk)21(k2)<nk2k/2+121k(k1)/2=(n2k/2)k\binom{n}{k}2^{1 - \binom{k}{2}} < \frac{n^k}{2^{k/2 + 1}} 2^{1 - k(k - 1) / 2} = \left(\frac{n}{2^{k / 2}}\right)^k

Kde poslední rovnost platí, protože: 12k/2+121k(k1)/2=122k/222k(k1)/2=12k/2(1+k1)=(12k/2)k\frac{1}{2^{k/2 + 1}} 2^{1 - k(k - 1)/2} = \frac{1}{2 \cdot 2^{k/2}} \frac{2}{2^{k(k - 1)/2}} = \frac{1}{2^{k/2 (1 + k - 1)}} = \left(\frac{1}{2^{k/2}}\right)^k

Důsledek: k3:r(k)>2k/2\forall k \ge 3: r(k) > 2^{k/2}

Důkaz: vezmu náhodný graf GG t. ž. každá z (n2)\binom{n}{2} hran má pravděpodobnost 1/21/2, nezávisle na ostatních. Nechť KV,K=kK \subseteq V, |K| = k. AKA_K \ldots jev, že G[K]G[K] je klika. Pr[AK]=(12)(k2)=2(k2)\Pr[A_K] = \left(\frac{1}{2}\right)^{\binom{k}{2}} = 2^{-\binom{k}{2}}. Obdobně BKB_K jev, že vznikla nezávislá množina a CKAKBKPr[CK]=22(k2)=21(k2)C_K \ldots A_K \cup B_K \ldots \Pr[C_K] = 2 \cdot 2^{-\binom{k}{2}} = 2^{1 - \binom{k}{2}}. pp \ldots pravděpodobnost, že KV\exists K \subseteq V t. ž. nastal jev CKC_K. Je ji těžké určit, protože jevy nejsou nezavislé (množiny se mohou překrývat), nám ale stačí odhad který předpokládá, že jsou jevy nezávislé:

Pr[C]KV,K=kPr[CK]=(nk)21(k2)<1\Pr[C] \le \sum_{K \in V, |K| = k} \Pr[C_K] = \binom{n}{k} \cdot 2^{1 - \binom{k}{2}} < 1

Někomu může použití pravděpodobnosti připadat trochu magické. Umíme i explicitní.

Důkaz (alternativní): Uvažme všechny grafy na nn vrcholech. Těch je 2(n2)2^{\binom{n}{2}}. Kolik z nich obsahuje kliku nebo nezávislou množinu velikosti alespoň kk? Tedy, kolik z nich je “dobrých”? Začněme jednodušeji – označme množinu vrcholů VV a mějme KV,K=kK \subseteq V, |K| = k. V kolika grafech tvoří KK kliku? Hrany uvnitř KK jsou fixované, ostatní můžeme nastavovat libovolně. Odpověď je tedy 2(n2)(k2)2^{\binom{n}{2}-\binom{k}{2}}. Případ nezávislé množiny je symetrický, tudíž v 22(n2)(k2)=2(n2)(k2)+12 \, 2^{\binom{n}{2}-\binom{k}{2}} = 2^{\binom{n}{2}-\binom{k}{2}+1} grafech bude KK klika nebo nezávislá množina.

Nyní zásadní krok: V součtu (nk)2(n2)(k2)+1\binom{n}{k} 2^{\binom{n}{2}-\binom{k}{2}+1} přes všechny takové množiny KK jsme započítali každý dobrý graf (nejspíše vícekrát, ale to nevadí). Každý dobrý graf totiž obsahuje kliku nebo nezávislou množinu velikosti přesně kk. Tento součet je tedy horní mezí pro počet dobrých grafů.

A jsme hotovi. Předpoklad věty je totiž po přenásobení ekvivalentní nerovnosti:

(nk)2(n2)(k2)+1<2(n2)\binom{n}{k} 2^{\binom{n}{2}-\binom{k}{2}+1} < 2^\binom{n}{2}

A z té díky našemu odhadu tranzitivně plyne, že počet dobrých grafů je menší než počet všech grafů. Tedy existuje nedobrý graf na nn vrcholech a r(k,k)>nr(k,k) > n.

13. přednáška

Ramseyovy vícebarevně věty

Chceme zobecnit Ramseyovu větu tak, že vyžadujeme stejnobarevné (pro konstantní počet barev) kliky/nezávislé množiny (pro konečné/nekonečné grafy).

Pokud mám tt holubníků a chci, aby existoval holubník s alespoň kk prvky, tak na to potřebuji alespoň nN=t(k1)+1n \ge N = t(k - 1) + 1 prvků.

Věta (princip holubníku): pro každé t,kN Nt, k \in \mathbb{N}\ \exists N t. ž. c:[n][t]\forall c: [n] \mapsto [t] platí, že nN A[n],A=k\forall n \ge N\ \exists A \subseteq [n], |A| = k, na níž je funkce cc konstantní.

Důkaz: N=t(k1)+1N = t (k - 1) + 1.

Věta (nekonečný princip holubníku): pro každé tNt \in \mathbb{N} a každé c:N[t]c: \mathbb{N} \mapsto [t] existuje nekonečná množina ANA \subseteq \mathbb{N}, pro níž je funkce cc konstantní.

Důkaz: rozdělím N\mathbb{N} na B1,,BtB_1, \ldots, B_t, kde Bi={mN  c(m)=i}B_i = \left\{m \in \mathbb{N}\ |\ c(m) = i\right\}. Protože sjednocením je nekonečná množina pak alespoň jedna musí být nekonečná.

Na každém nekonečném úplném grafu existuje nekonečná klika s jednobarevnými hranami.

Věta (nekonečná Ramseyova (vícebarevná)): tN,c:(N2)[t] \forall t \in \mathbb{N}, \forall c: \binom{\mathbb{N}}{2} \mapsto [t]\ \exists nekonečná množina ANA \subseteq \mathbb{N}, pro níž je funkce cc na hranách (A2)\binom{A}{2} konstantní.

Důkaz: sestrojíme posloupnost nekonečných množin A1=NA_1 = \mathbb{N}; pro i=1,2,i = 1, 2, \ldots opakujeme:

(👀): posloupnost vrcholů v1,v2,v_1, v_2, \ldots má vlastnost, že pokud i<ji < j, pak {vi,vj}\left\{v_i, v_j\right\} má barvu bib_i

(👀): posloupnost barev b1,b2,b3,b_1, b_2, b_3, \ldots je nekonečná, ale opakuje se tu konečně mnoho hodnot

(tt počet barev, kk velikost kliky)

Stejné jako nekonečná věta, ale omezíme se na konečně velkou kliku a hledáme NN, pro které G\forall G s počtem vrcholů nNn \ge N bude obsahovat jednobarevnou kliku (opět v rámci hran) velikosti kk.

Věta (Ramseyova (vícebarevná)): t,kNNN\forall t, k \in \mathbb{N} \exists N \in \mathbb{N} t. ž. c:([n]2)[t],nN\forall c: \binom{[n]}{2} \mapsto [t], \forall n \ge N existuje množina A[n],A=kA \subseteq [n], |A| = k, pro níž je funkce cc na hranách (A2)\binom{A}{2} konstantní.

Důkaz: adaptujeme nekonečný na konečný případ – chtěli bychom posloupnost barev b1,,btkb_1, \ldots, b_{tk} – když do toho praštíme holubníkem, tak máme barvu, která je tam kk-krát.

Definice (hypergraf) je zobecněný graf, kde:

Stejné jako nekonečná věta, ale máme hypergraf.

Věta (nekonečná Ramseyova (vícebarevná) pro p-tice): p,tN\forall p, t \in \mathbb{N} a c:(Np)[t]AN\forall c: \binom{\mathbb{N}}{p} \mapsto [t] \exists A \subseteq \mathbb{N} nekonečná t. ž. cc je na (Ap)\binom{A}{p} konstantní.

Důkaz: indukcí podle pp

Pomocné obarvení (p1)(p-1)-tic – každá má barvu, kterou měla v pp-tici s vrcholem viv_i (abychom využili IP).

(👀): barva pp-tice {vi1,,vip}\left\{v_{i_1}, \ldots, v_{i_p}\right\} (vzhledem k vzniklé posloupnosti v1,v2,v_1, v_2, \ldots), kde i1<i2<i3<ipi_1 < i_2 < i_3 < i_p závisí pouze na barvě prvku vi1v_{i_1} (stejný argument jako u věty výše)

Stejné jako nekonečná věta, ale máme fixní velikost kliky a konečně mnoho vrcholů.

Věta (Ramseyova (vícebarevná) pro p-tice): p,t,kNNN\forall p, t, k \in \mathbb{N} \exists N \in \mathbb{N} t. ž. nN,c:([n]p)[t] A[n],A=k\forall n \ge N, \forall c: \binom{[n]}{p} \mapsto [t]\ \exists A \subseteq [n], |A| = k t. ž. cc je na (Ap)\binom{A}{p} konstantní.

Důkaz: mějme p,k,tp, k, t z předpokladu. Uvažme ci:([n]p)[t]c_i: \binom{[n]}{p} \mapsto [t]. To je dobré, pokud \exists kk-prvková jednobarevná podmnožina, jinak je špatné. Věta tedy tvrdí, že nNn \ge N jsou všechna cc dobrá.

Sporem: předpokládejme, že pro nekonečně mnoho nn \exists špatné obarvení.

(👀): Pokud SnS_n je množina špatných obarvení a SnS_n je neprázdné, pak Sn1S_{n - 1} je neprázdné, protože mám-li špatné obarvení pp-tic nad nn, tak mohu zapomenout na nn-tý prvek a tak dostanu špatné obarvení i na n1n - 1.

Strukturu špatných obarvení popíšeme stromem, kde hladiny jsou obarvení SnS_n; platí:

Lemma (Königovo): nekonečný strom s konečnými stupni má nekonečnou cestu z kořene.

Díky tomuto lemmatu víme, že \exists nekonečná cesta z S0S_0. Z nekonečné Ramseyovy věty ale víme, že kdyby tomu tak bylo, tak neplatí, protože by existovalo nekonečné obarvení přirozených čísel (podle nekonečné cesty v tomto stromu).

Forma zkoušky

Zdroje/materiály

Poděkování

  1. Rekurence pro bnb_n vypadá skoro jako konvoluce sama sebe, takže by se nám líbilo něco jako b(x)=b(x)2b(x) = b(x)^2. Jenže narozdíl od konvoluce pronásobujeme jen prvních n1n-1 prvků. Uvažme tedy posloupnost 0,b0,b1,b2,0, b_0, b_1, b_2, \ldots generovanou funkcí xb(x)x b(x). Ta je již skoro konvolucí sama sebe – nn-tý prvek se v sumě požere s nulou. Jediná nepřesnost je u b0b_0, protože podle definice konvoluce b0=0b0+b00=0b_0 = 0 \cdot b_0 + b_0 \cdot 0 = 0, ale my víme b0=1b_0 = 1. Stačí tedy přičíst jedničku posunutou o jedna doprava, čímž dostaneme xb(x)=(xb(x))2+xx b(x) = (x b(x))^2 + x. Jinými slovy b(x)=xb(x)2+1b(x) = x b(x)^2 + 1