diff --git a/jk_web/teaching_24_kg1/7.md b/jk_web/teaching_24_kg1/7.md new file mode 100644 index 0000000000000000000000000000000000000000..0f5d3b7ab628f7847db918010695e3bde8cf05e5 --- /dev/null +++ b/jk_web/teaching_24_kg1/7.md @@ -0,0 +1,100 @@ +--- +title: "KG1 Jiří Kalvoda: Cvičení 5" +lang: "cs" +--- + +[#jk_web.teaching_24_kg1.cvic_formatitko]{type=module} + +\def\sectioneject{} + +[]{c=head} + +Projektivní roviny +================== + +::: {c=from_lesson} +Připomeňme, že projektivní rovina byla definovaná jako hypergraf $(X, {\cal P})$ splňující trojici axiomů: + +1) Pro každé dva různé vrcholy $x, y \in X$ existuje právě jedna hyperhrana $p \in {\cal P}$, která je oba obsahuje. +2) Pro každé dvě různé hyperhrany $p, q \in {\cal P}$ platí $|p \cap q| = 1$. +3) Existuje čtyřprvková množina vrcholů $C$, jejíž žádné tři vrcholy neleží ve společné hyperhraně. + +::: + +Konstrukce +---------- + +Nechť $p$ je prvočíslo a $[p] = \{0,1,\dots, p-1\}$. Uvažme množinu trojic $[p]^3-\{(0,0,0)\}$. +Na této množině zavedeme ekvivalenci $(x_1, y_1, z_1) \sim (x_2, y_2, z_2)$ právě tehdy když existuje $\alpha \in \{1,2,\dots, p-1\}$ takové, že: +$$ +x_1 \equiv \alpha \cdot x_2 \qquad +y_1 \equiv \alpha \cdot y_2 \qquad +z_1 \equiv \alpha \cdot z_2 \qquad +({\rm mod}\ p).$$ +Množinu všech tříd ekvivalence $\sim$ ozmačíme $X$. + +Definujeme ${\cal P} = \{\{(x,y,z) \mid (x,y,z)\in [p]^3, ax+by+cz \equiv 0 \ ({\rm mod}\ p) \} \mid (a,b,c)\in [p]^3-\{(0,0,0)\}\}$. + +a) Ověřte, že $\sim$ je skutečně relace ekivalence. +b) Ověřte, že $(X, {\cal P})$ je projektivní rovina. + Nejprve nahlédněte, že vnitřní množina v definici ${\cal P}$ se skládá vždy z celých tříd ekivalence $\sim$. + Dále si rozyslete, že pro různá $a,b,c$ ze stejne třídy ekvivalence $\sim$ dosteneme stejnou množinu bodů (tedy pro jednu třídu ekvivalence máme jen jednu přímku). + Nakonec ověřte axiomy projektivní roviny. + + +Aplikace +-------- + +Ukažte, že existuje graf s $n$ vrcholy s alespoň $\Omega(n^{3/2})$ hranami, který neobsahuje cyklus na čtyřech vrcholech. + +\vfill\eject + +Toky +==== + +::: {c=from_lesson} +Toková síť $(V, E, z, s, c)$ je uspořádaná 5-tice, kde $(V,E)$ je orientovaný graf, +$z$ je zdroj, $s$ je stok a $c:E\rightarrow \R_0^+$ je funkce kapacit hran. + +Tok v této síti je $f:E\rightarrow \R_0^+$ tž: + +1) $\forall e\in E: f(e) < c(e)$ +2) $\forall x\in V-\{z,s\}: f[{\rm In}(x)] = f[{\rm Out}(x)]$. + +Velikost toku je $f[{\rm Out}(z)] - f[{\rm In}(z)] = f[{\rm In}(s)] - f[{\rm Out}(s)]$. + +Řez $R$ v takovéto síti je podmnožina $R\subset E$ tž v grafu $(V, E-R)$ neexistuje orientovaná cesta ze $z$ do $s$. + +Zlepšující cesta pro tok $f$ je taková cesta ze $z$ do $s$ složená z dopředných i zpětných hran taková, +že pro každou dopřednou $e$ na ní platí $f(e) < c(e)$ a zpětnou $e'$ platí $f(e')>0$. + +Párování v grafu $G$ je podmnožina hran taková, že žádně dvě nesdílí společný vrchol. + +Vrcholové pokrytí v grafu $G$ je podmnožina vrcholů taková, že pro každou hranu $G$ platí, že obsahuje alespoň jeden vrchol pokrytí. +::: + + +Lemátka +------- + +Dokažte/nahlédněte následujíci lemátka, které jste na přednášce používali bez důkazu: + +a) Tok, který má zlepšující cestu, není maximální. +b) Pokud $M$ je párování a $C$ je vrcholové pokrytí v nějakém grafu, tak $|M| \le |C|$. + +Algoritmické aplikace toků +-------------------------- + +Ukažte, jak lze následující úlohy efektivně, tj. v polynomiálním čase, vyřešit (například převedením na standardní +úlohu pro nalezení největšího toku v síti). + + +a) Máme dánu tokovou síť $(V, E, z, s, c)$, cílem je najít její minimální $zs$-řez. +b) Máme dánu tokovou síť, kde ovšem místo jednoho spotřebiče s je několik spotřebičů $s_1 , s_2 , \dots , s_k$ a jeden + zdroj $z$. Rozdíl oproti běžné síti je jen v tom, že pro žádný z vrcholů $z, s_1 , s_2 , \dots , s_k$ nepožadujeme, aby se v + nich zachovával tok. Cílem je najít maximální tok v této síti. (Velikost toku definujeme obvyklým způsobem, + tedy jako rozdíl mezi tím, co vytéká ze zdroje, a tím, co do zdroje přitéká.) +c) Máme dánu tokovou síť $(V, E, z, s, c)$ a hranu $e \in E$, cílem je najít tok $f$ (ne nutně maximální) takový, že + $f(e)$ je co největší. +d) Máme dánu matici $M4 , jejíž prvky jsou nuly a jedničky. Cílem je najít v $M$ co největší množinu jedniček + takových, že žádné dvě nejsou ve stejném řádku ani ve stejném sloup diff --git a/jk_web/teaching_24_kg1/__init__.py b/jk_web/teaching_24_kg1/__init__.py index f7b653f3be27fef2f2e5bfb7327e2633ed19c02d..a44e3d3041671e160cf3396b51a6f6dd5fd5155a 100644 --- a/jk_web/teaching_24_kg1/__init__.py +++ b/jk_web/teaching_24_kg1/__init__.py @@ -73,6 +73,7 @@ with web.Module("teaching_24_kg1") as module: b._a(href="https://maso.mff.cuni.cz/")("MaSo"), ", vyberte si)."), pdf=False) + b<<lesson(7, "12. 11.", b._bucket("Projektivní roviny a toky v sítích.")) return base_page(b.root)