diff --git a/prace/bakalarka/index.md b/prace/bakalarka/index.md
index c3313edf08c9042f199cea9fb51b82b921641148..005661f3c0f953b1173354a536c2d0ac3cbfb19a 100755
--- a/prace/bakalarka/index.md
+++ b/prace/bakalarka/index.md
@@ -432,20 +432,20 @@ Minimalizovat počet intervalů je to stejné jako minimalizovat počet hranic m
 Ve vstupu problému dělení náhrdelníku navíc musí platit, pro každý typ má být stejný počet aut obarvený jednotlivými barvami
 (a tedy počet aut daného typu musí být násobkem $k$).
 Naopak binární paint shop problém je speciálním případem dělení náhrdelníku
-pro dva lupiče, kde navíc platí, že všechna $a_i$ jsou 1 (tedy od každého drahokamu jsou na náhrdelníku právě dva drahokamy).
+pro dva lupiče, kde navíc platí, že všechna $a_i$ jsou 1 (tedy od každého typu jsou na náhrdelníku právě dva drahokamy).
 
 Semidefinitní programování
 ==========================
 
 V této kapitole si představíme princip semidefinitního programování (dále též SDP), jak jej popisují Gärtner a Matoušek [@semidef], a jeho použití na problém maximálního řezu,
-z něhož vychází algoritmus na  binary paint shop.
+z něhož vychází algoritmus na  binární paint shop.
 
 Nejprve zavedeme a připomeneme notaci důležitou v této kapitole.
 Nechť $\R^{n\times m}$ značí množinu $n$-řádkových $m$-sloupcových matic
 složených z reálných čísel.
 Řádky i sloupce indexujeme od $0$,
 tedy matice $A\in \R^{n\times m}$ obsahuje prvky $A_{i,j}$ pro všechna $0\le i < n$ a $0 \le j < m$.
-Nechť $\SYM_n = \{X \in \R^{n\times n} \mid x_{i,j} = x_{j,i} \hbox{\ pro všechna\ } 0 \le i,j < n\}$ je třída všech symetrických matic a nechť $X \circ Y = \sum_{0\le i<n} \sum_{0\le j<0} x_{i,j} y_{i,j}$ značí součet součinu matic po složkách.
+Nechť $\SYM_n = \{X \in \R^{n\times n} \mid x_{i,j} = x_{j,i} \hbox{\ pro všechna\ } 0 \le i,j < n\}$ je třída všech symetrických matic a nechť $X \circ Y = \sum_{0\le i<n} \sum_{0\le j<m} x_{i,j} y_{i,j}$ značí součet součinu matic po složkách.
 Nakonec $X \succeq 0$ bude značit skutečnost, že matice $X$ je pozitivně semidefinitní (bude vysvětleno později).
 
 Úloha semidefinitního programování je optimalizační úloha (podobně jako lineární programování) následujícího formátu:
@@ -501,14 +501,14 @@ Problém maximálního řezu (resp. rozhodovací verze, kde se ptáme na existen
 je NP-úplný [@maxcut-np], proto
 se u něj zkoumají aproximační algoritmy a pravděpodobnostní aproximační algoritmy.
 
-Nejprve si ukážeme triviální $0.5$-aproximační pravděpodobnostní algoritmus:
+Nejprve si ukážeme triviální pravděpodobnostní $0.5$-aproximační algoritmus:
 
 ::: {c=box t=algo}
 Každý vrchol uniformně náhodně přiřaď do množiny $A$ nebo $B$.
 :::
 
 ::: {c=box t=theorem}
-Triviální algoritmus je $0.5$-aproximační pravděpodobnostní algoritmus.
+Triviální algoritmus je pravděpodobnostní $0.5$-aproximační algoritmus.
 :::
 
 ::: {c=proof}
@@ -526,9 +526,9 @@ Předešlý algoritmus lze derandomizovat, jak popisuje Dimitrakakis [@maxcut-de
 Výsledný algoritmus pak vždy najde řešení obsahující alespoň $1/2$ hran, tedy alespoň $1/2$ optima.
 
 
-Lepšího aproximačního poměru můžeme dosáhnout
-Goemansův-Williamsonovým algoritmem, založeným na semidefinitním
-programování a proto popsaného mimo jiné v již dříve zmíněném úvodu do semidefinitního programování [@semidef].
+Lepšího aproximačního poměru dosáhneme
+Goemansovým-Williamsonovým algoritmem, založeným na semidefinitním
+programování a proto popsaným mimo jiné v již dříve zmíněném úvodu do semidefinitního programování [@semidef].
 
 Naivní implementace je, že si pro každý vrchol $u$
 vyrobíme proměnnou $x_u$, která může nabývat hodnot $\pm 1$, která bude říkat, do jaké množiny máme vrchol umístit.
@@ -562,7 +562,7 @@ $n-1$ dimenzionální sféru v $\R^n$.
 Účelová funkce se snaží umístit body vrcholů spojených hranou co nejdále od sebe.
 
 V případě, kdy jsme povolovali pouze hodnoty $\pm 1$, bylo jasné, které vrcholy patří do které množiny.
-Nyní jsou však výstupem optimalizace vektory a tedy přiřazení množinám není tak jednoznačné.
+Nyní však výstupem optimalizace jsou vektory a tedy přiřazení množinám není tak jednoznačné.
 Rádi bychom umístili od sebe vzdálené body do různých množin.
 Na to můžeme rovnoměrně náhodně zvolit nadrovinu 
 procházející počátkem a rozdělit body
@@ -745,7 +745,7 @@ Ovšem v našem případě místo maximalizace děláme minimalizaci účelové
 Tedy abychom mohli tvrdit, že pravděpodobnost je menší než nějaký násobek účelové funkce,
 potřebovali bychom horní odhad poměru. Ovšem tento poměr je neomezený (viz obrázky [](#gw-func) a [](#gw-frac)).
 V okolí $x=1$ jsou obě funkce poblíž $0$, ovšem pravděpodobnost se k nule blíží mnohem strměji.
-Tedy pro dvojici vektorů poblíž sobě je skalární součin skoro 1, ovšem pravděpodobnost oddělení je libovolně krát větší než vzdálenost součinu od jedné.
+Tedy pro dvojici vektorů poblíž sebe je skalární součin skoro 1, ovšem pravděpodobnost oddělení je libovolně krát větší než vzdálenost součinu od jedné.
 
 O binárním paint shop problému je navíc známé, že je za předpokladu Unique game conjecture a $\P\neq \NP$ je polynomiálně  neaproximovatelný s konstantním faktorem [@neaprox], takže nemožnost výše uvedeného
 postupu by nás ani neměla zaskočit, protože v případě, že by šlo udělat odhad tímto způsobem, získali bychom pravděpodobnostní aproximační algoritmus.
@@ -844,8 +844,9 @@ Měření řešení BPS
 Součástí práce je implementace algoritmů řešících Binární paint shop problém.
 Každý z nich byl následně spuštěn pro různé velikosti, pokaždé na $1\,000$ nezávisle náhodně vybraných vstupech s počtem typů aut
 10, 20, 50, 100, 200, 400, 566, 800, 1131, 1600, 2263 a 3200.[^2]
-Jedna z implementací $\algo{sdp}$ -- pomocí sage vyžaduje moc paměti a proto byla spuštěna jen na vstupech do velikosti $566$.
-Celý test běžel jednovláknově zhruba dva dny a využíval nejvýše 16 GB operační paměti.
+Jedna z implementací $\algo{sdp}$ -- pomocí sage vyžaduje velké množství paměti a proto byla spuštěna jen na vstupech do velikosti $566$.
+Celý test běžel několik dní na čtveřici stojů, na každém dva programy současně,
+každý z nich běžel jednovlákonvě a využíval nejvýše 16 GB operační paměti.
 U $\algo{sdp}$ řešení bylo použito 10 náhodných řezů a vždy byl vybraný nejlepší z nich.
 Gitový repozitář s implementací i naměřenými daty je k dispozici na <https://gitlab.kam.mff.cuni.cz/jirikalvoda/binary-paint-shop-problem>.
 Na následujících stranách jsou zpracovaná různá naměřená data.
@@ -860,7 +861,7 @@ tedy v polovině mezi okolními hodnotami na logaritmické stupnici.
 
 Praktické řešení semidef. programů
 -----------------------------------------
-U triviálních algoritmů byla implementace poměrně přímočará.
+U většiny algoritmů byla implementace poměrně přímočará.
 Ovšem u řešení semidefinitního programování je většina složitosti algoritmu schovaná právě v řešení semidefinitních programů,
 což už svojí složitostí nepatří mezi algoritmy, které bychom chtěli (re)implementovat.
 Proto je žádoucí se spolehnout na funkčnost již existujících implementací.
@@ -960,7 +961,7 @@ Hodnoty skalárních součinů
 --------------------------
 
 V odhadu střední hodnoty počtu změn barev v $\algo{sdp}$ řešení jsme využívali toho, že funkce rozdílu pravděpodobnosti řezu a účelové funkce (funkce $f$) je nejvýše $d = 0.1053$.
-Ovšem tato funkce nenabývá takto vysokých hodnot zdaleka všude, na polovině definičního oboru je dokonce záporná (viz obrázek [](#sdp-diff)). Kdyby tedy alespoň část optimalizovaných skalárních součinů se vyskytovala mimo oblast, kde $f$ nabývá vysokých hodnot, šel by odhad zlepšit.
+Ovšem tato funkce nenabývá takto vysokých hodnot zdaleka všude, na polovině definičního oboru je dokonce záporná (viz obrázek [](#sdp-diff)). Kdyby se tedy alespoň část optimalizovaných skalárních součinů vyskytovala mimo oblast, kde $f$ nabývá vysokých hodnot, šel by odhad zlepšit.
 
 Bohužel dle naměřených dat to vypadá, že hodnoty skalárních součinů se
 koncentrují pouze poblíž maxima $f$. Viz obrázek [](#scalar_products_200).
@@ -1211,7 +1212,7 @@ fig.update_layout(
 Naměřená závislost relativního skóre řešení na velikosti vstupu.
 :::
 
-Na výše uvedeném grafu a tabulek na následujících stranách si můžeme všimnout, že s rostoucím $n$
+Na výše uvedeném grafu a tabulkách na následujících stranách si můžeme všimnout, že s rostoucím $n$
 se u všech měřených algoritmů zmenšuje rozptyl relativního skóre.
 
 Z grafu vidíme, že pro dostatečně velká $n$ je naměřené relativní skóre algoritmu $\algo{sdp}$ menší než $0.34$.