Algoritmus $\alg$ je pravděpodobnostně $g(n)$-aproximační, existuje-li konstanta $p \in (0,1)$, taková, že pro každý vstup $I$ algoritmus vrátí přípustně řešení,
pro které s pravděpodobností alespoň $p$ platí, že $f(\alg(I)) \le g(|I|) \cdot \opt(I)$.
Náhodný algoritmus $\alg$ je pravděpodobnostně $g(n)$-aproximační na minimalizačním problému,
pokud pro každý vstup $I$ algoritmus vždy vrátí přípustné řešení $\alg(I)$, pro které platí, že $\E[f(\alg(I))]\le g(|I|) \cdot \opt(I)$.
:::
Všimněme si, že na konstantě $p$ příliš nezáleží.
Snadným důsledkem definice je, že pro každé $\varepsilon > 1$ pravděpodobnostně $g(n)$-aproximační algoritmus
vrátí s pravděpodobností zdola omezenou konstantou $1- {1\over \varepsilon} \in (0,1)$ řešení s hodnotou nejvýše $\varepsilon \cdot g(n)\cdot \opt(I)$.
Všimněme si, že na hodnotě $1-{1\over \varepsilon}$ příliš nezáleží.
Opakovaným spouštěním algoritmu a pak vybráním nejlepšího
z dodaných řešení zvládneme $p$ libovolně těsně přiblížit k jedné.
z dodaných řešení zvládneme pravděpodobnost libovolně těsně přiblížit k jedné.
Pokud řešíme složitost algoritmů a úloh,
většinou vyžadujeme, aby účelová funkce i rozhodování přípustnosti řešení byly vyčíslitelné v polynomiálním čase.
Navíc chceme, aby všechna přípustná řešení měla omezenou délku nějakým polynomem v délce vstupu.
Navíc chceme, aby všechna přípustná řešení měla délku omezenou nějakým polynomem v délce vstupu.
Snadno nahlédneme, že za takovýchto podmínek je rozhodovací verze,
jestli je optimum alespoň zadané číslo, v $\NP$.
Pro takovou úlohu většinou hledáme polynomiální aproximační algoritmus.
...
...
@@ -438,7 +441,7 @@ V této kapitole si představíme princip semidefinitního programování (dále
z něhož vychází algoritmus na binary paint shop.
Nejprve zavedeme a připomeneme notaci důležitou v této kapitole.
Tedy když je optimalizační funkce $h(u,v)r$, tak pravděpodobnost výběru hrany do řezu bude alespoň $cr$.
Tedy když je účelová funkce dané hrany $h(u,v)r$, tak pravděpodobnost výběru hrany do řezu bude alespoň $cr$.
Sečtením přes všechny hrany (z linearity středních hodnot) tedy získáme, že
střední hodnota součtu hran v řešení je $cR$, kde $R = \sum_{uv \in E} h(u,v)\cdot\left(\frac 12
střední hodnota součtu hran v řešení je alespoň $cR$, kde $R = \sum_{uv \in E} h(u,v)\cdot\left(\frac 12
-\frac{\vec{y_u}^{\rm T}\vec{y_v}}2\right)$, tedy jedno z ekvivalentních vyjádření účelové funkce.
Pokud tedy najdeme dobré řešení semidefinitního programu, ve střední hodnotě
...
...
@@ -682,7 +685,7 @@ Přesněji řečeno, pro každé $\varepsilon > 0$ jsme schopní najít řešen
Ovšem musí platit, že všechna přípustná řešení jsou dostatečně malá.
Přesněji řečeno, musí platit, že Frobeniova norma všech přípustných matic je omezena konstantou s polynomiální délkou zápisu.
Tohoto výsledku jde dosáhnout pomocí elipsoidové metody, která má nejlepší teoretické výsledky. V praxi se však často používají jiné algoritmy.
Všechny naše programy budou splňovat podmínky na řešení, protože každá z hodnot hledané matice nutně bude ležet v intervalu $[-1, -1]$.
Všechny naše programy budou splňovat podmínky na řešení, protože každá z hodnot hledané matice nutně bude ležet v intervalu $[-1, 1]$.
::: {c=box t=theorem}
Goemansův-Williamsonův algoritmus je pravděpodobnostní $0.878$-aproxi\-mační algoritmus.
...
...
@@ -840,7 +843,8 @@ 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 100 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 (jedna z implementací $\algo{sdp}$ -- pomocí sage vyžaduje moc paměti a proto byla spuštěna jen na vstupech do velikosti $566$).