]> mj.ucw.cz Git - ads2.git/commitdiff
Korektury od Martina Jiricky.
authorMartin Mares <mj@ucw.cz>
Fri, 12 Feb 2010 19:44:20 +0000 (20:44 +0100)
committerMartin Mares <mj@ucw.cz>
Fri, 12 Feb 2010 19:44:20 +0000 (20:44 +0100)
11-np/11-np.tex
12-apx/12-apx.tex
5-addsort/5-addsort.tex
9-fft/9-fft.tex

index 171e51d8d3124a444e3cffe4c356e5ad5e7078e0..c81d9131215b89839daaf4f94d32e0eaa877f6cc 100644 (file)
@@ -273,7 +273,7 @@ na~obvodov
 (chápeme jako posloupnost $x_1, x_2, \ldots, x_n$),
 spoèítáme velikost nápovìdy $g(n)$. Víme, ¾e kontrolní
 algoritmus~$K$ (který kontroluje, zda nápovìda je správnì) je v~P. Vyu¾ijeme
-pøedhozí lemma, abychom získali obvod, který pro konkrétní velikost vstupu
+pøedchozí lemma, abychom získali obvod, který pro konkrétní velikost vstupu
 $x$ poèítá to, co kontrolní algoritmus $K$. Na vstupu tohoto obvodu bude $x$
 (vstup problému $L$) a~nápovìda~$y$. Na výstupu nám øekne, jestli je nápovìda
 správná. Velikost vstupu tohoto obvodu bude tedy $p(g(n))$, co¾ je také polynom.
@@ -285,7 +285,8 @@ spr
 \>Pro libovolný problém z~NP tak doká¾eme sestrojit funkci, která pro ka¾dý vstup~$x$ v~polynomiálním èase vytvoøí obvod, který je splnitelný pravì tehdy, kdy¾ odpovìï tohoto problému na vstup $x$ má být \<true>. Tedy libovolný problém z~NP se dá
 v~polynomiálním èase pøevést na obvodový SAT.
 
-\>Obvodový SAT je v NP triviálnì - ??? staèí topologicky setøídit a pak brát hradla postupnì.???
+\>Obvodový SAT je v NP triviálnì -- staèí si nechat poradit vstup, sí»
+topologicky setøídit a v~tomto poøadí poèítat hodnoty hradel.
 \qed
 
 \s{Lemma:} Obvodový SAT se dá pøevést na 3-SAT.
index aa6fb39d9c98aa537d9a72339e90addef9be0ab9..d2583f3aa42cab6a770deb065dd176c57d19ec98 100644 (file)
@@ -71,7 +71,7 @@ c_i$.
 \>Pou¾ijeme dynamické programování. Pøedstavme si problém omezený na~prvních~$k$
 pøedmìtù. Oznaème si $A_k(c)$ (kde $0\le c\le C$) minimální hmotnost
 podmno¾iny, její¾ cena je právì~$c$. Tato $A_k$ spoèteme indukcí podle~$k$:
-Pro $k=0$ je urèitì $A_0(0)=0$, $A_0(c)=\infty$ pro $c>0$. Pokud ji¾ známe
+Pro $k=0$ je urèitì $A_0(0)=0$, $A_0(c)=infty$ pro $c>0$. Pokud ji¾ známe
 $A_{k-1}$, spoèítáme $A_k$ následovnì: $A_k(c)$ odpovídá nìjaké podmno¾inì
 pøedmìtù z~$1,\ldots,k$. V~této podmno¾inì jsme buïto $k$-tý pøedmìt nepou¾ili
 (a pak je $A_k(c)=A_{k-1}(c)$), nebo pou¾ili a tehdy bude $A_k(c) =
@@ -84,7 +84,7 @@ T
 v~èase $\O(nC)$ pak v¹echny $A_k(c)$.
 
 \>Podle $A_n$ snadno nalezneme maximální cenu mno¾iny, která se vejde do~batohu.
-To bude nejvìt¹í~$c^*$, pro nì¾ je $A_n(c^*) < \infty$. Jeho nalezení nás stojí
+To bude nejvìt¹í~$c^*$, pro nì¾ je $A_n(c^*) \le H$. Jeho nalezení nás stojí
 èas $\O(C)$.
 
 \>A~jak zjistit, které pøedmìty do~nalezené mno¾iny patøí? Upravíme algoritmus,
index 9c64855c7e50636d4ef7383ba82c9d5e29733439..ed142fc0bb33a78447af700fa99ae77c85808f37 100644 (file)
@@ -162,7 +162,7 @@ Kompar
 a~která men¹í. Nevrací v¹ak booleovský výsledek jako bì¾né hradlo, ale má dva
 výstupy, pøièem¾ na~jednom vrátí men¹í ze~vstupních hodnot a~na~druhém vìt¹í.
 
-Výstupy komparátorù se nevìtví. Nemù¾eme tedy jeden výstup \uv{rozdvojit} a~pøipojit ho na~dva vstupy. (Vìtvení by dokonce ani nemìlo smysl, proto¾e zatímco rozdvojit bychom mohli, slouèit u¾~ne. Pokud tedy chceme aby sí» mìla $n$~vstupù i~$n$~výstupù, rozdvojení stejnì nesmíme provést, i kdybychom jej mìli povolené.)
+Výstupy komparátorù se nevìtví. Nemù¾eme tedy jeden výstup \uv{rozdvojit} a~pøipojit ho na~dva vstupy. (Vìtvení by dokonce ani nemìlo smysl, proto¾e zatímco rozdvojit bychom mohli, slouèit u¾~ne. Pokud tedy chceme, aby sí» mìla $n$~vstupù i~$n$~výstupù, rozdvojení stejnì nesmíme provést, i kdybychom jej mìli povolené.)
 
 \s{Pøíklad:} {\sl Bubble sort}
 
index 014302076c831cfce974f3d2938deb58a2a65afb..33407598369412b46d30cb952a76fa35f987dc24 100644 (file)
@@ -46,7 +46,7 @@ plat
 -- máme-li $A$ i $B$ reprezentované hodnotami v $n \geq 2d+1$ bodech, pak
 snadno (v $\Theta(n)$) spoèteme takovou reprezentaci $C$.
 Problémem je, ¾e typicky máme polynom zadaný koeficienty, a~ne hodnotami
-v~bodech. Tím pádem potøebujeme nìjaký hodnì rychlý algorimtus (tj.
+v~bodech. Tím pádem potøebujeme nìjaký hodnì rychlý algoritmus (tj.
 rychlej¹í ne¾ kvadratický, jinak bychom si nepomohli oproti hloupému
 algoritmu) na~pøevod polynomu z jedné reprezentace do druhé a~zase zpìt.
 
@@ -88,7 +88,7 @@ rovnosti $(x_{i})^{2} = (-x_{i})^{2}$).
 $3 + 4x + 6x^{2} + 2x^{3} + x^{4} + 10x^{5} = (3 + 6x^{2} + x^{4}) + x(4 +
 2x^{2} + 10x^{4})$.
 
-Teï nám ov¹em vyvstane problém s~oním párováním -- druhá mocina pøece nemù¾e
+Teï nám ov¹em vyvstane problém s~oním párováním -- druhá mocnina pøece nemù¾e
 být záporná a~tím pádem u¾ v~druhé úrovni rekurze body spárované nebudou.
 Z~tohoto dùvodu musíme pou¾ít komplexní èísla -- tam druhé mocniny záporné býti
 mohou.
@@ -252,7 +252,7 @@ K~tomu n
 
 
 \s{Definice:}
-\>{\I Diskretní Fourierova transformace} $(DFT)$
+\>{\I Diskrétní Fourierova transformace} $(DFT)$
 je zobrazení $f: { {\bb C} ^n} \rightarrow { {\bb C} ^n}$, kde $$y=f(x) \equiv
 \forall j \ y_{j} = \sum \limits ^{n-1}_{k=0} x_{k} \cdot \omega ^{jk}$$
 (DFT si lze mimo jiné pøedstavit jako funkci vyhodnocující polynom