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í,
Náhodný algoritmus $\alg$ je pravděpodobnostně $g(n)$-aproximační na minimalizačním problému,
pro které s pravděpodobností alespoň $p$ platí, že $f(\alg(I)) \le g(|I|) \cdot \opt(I)$.
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
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,
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.
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,
Snadno nahlédneme, že za takovýchto podmínek je rozhodovací verze,
jestli je optimum alespoň zadané číslo, v $\NP$.
jestli je optimum alespoň zadané číslo, v $\NP$.
Pro takovou úlohu většinou hledáme polynomiální aproximační algoritmus.
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
...
@@ -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.
z něhož vychází algoritmus na binary paint shop.
Nejprve zavedeme a připomeneme notaci důležitou v této kapitole.
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
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.
-\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ě
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
...
@@ -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á.
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.
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.
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}
::: {c=box t=theorem}
Goemansův-Williamsonův algoritmus je pravděpodobnostní $0.878$-aproxi\-mační algoritmus.
Goemansův-Williamsonův algoritmus je pravděpodobnostní $0.878$-aproxi\-mační algoritmus.
...
@@ -840,7 +843,8 @@ Měření řešení BPS
...
@@ -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.
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
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$).