V řadě je $2n$ aut $n$ různých typů -- od každého typu dvě.
V řadě je $2n$ aut $n$ různých typů -- od každého typu dvě.
Chtěli bychom od každého typu nabarvit jedno auto červeně a druhé modře.
Chtěli bychom od každého typu nabarvit jedno auto červeně a druhé modře.
Auta však na barvicí linku vjíždí v pořadí, v jakém jsou v řadě.
Auta však na barvicí linku vjíždí v pořadí, v jakém jsou v řadě.
Barvící linka je optimalizovaná na barvení velkého počtu aut jednou barvou.
Barvicí linka je optimalizovaná na barvení velkého počtu aut jednou barvou.
Tedy měnit barvu, kterou se barví, je složitá a drahá záležitost.
Tedy měnit barvu, kterou se barví, je složitá a drahá záležitost.
Chceme tedy nají obarvení aut tak, aby od každého typu bylo jedno červené a jedno modré, přitom počet změn barev v řadě byl co nejmenší.
Chceme tedy najít obarvení aut tak, aby od každého typu bylo jedno červené a jedno modré, přitom počet změn barev v řadě byl co nejmenší.
:::
:::
Počet změn barev řešení považujeme za _skóre_ algoritmu.
Počet změn barev řešení považujeme za _skóre_ algoritmu.
...
@@ -119,8 +119,8 @@ Dále se pokusíme porovnat již známé algoritmy.
...
@@ -119,8 +119,8 @@ Dále se pokusíme porovnat již známé algoritmy.
Struktura práce
Struktura práce
---------------
---------------
Nejprve si zavedeme notaci potřebnou pro pohodlnou práci s BPS
Nejprve zavedeme notaci potřebnou pro pohodlnou práci s BPS
a definujeme si aproximační algoritmy.
a definujeme aproximační algoritmy.
Kapitola 2 obsahuje shrnutí doposud známých algoritmů a jiných výsledků ohledně BPS.
Kapitola 2 obsahuje shrnutí doposud známých algoritmů a jiných výsledků ohledně BPS.
V kapitole 3 je představen princip semidefinitního programování,
V kapitole 3 je představen princip semidefinitního programování,
které má uplatnění v algoritmu představeném o kapitole 4.
které má uplatnění v algoritmu představeném o kapitole 4.
...
@@ -165,14 +165,14 @@ stejně jako u variant s algoritmem, jen skóre daného algoritmu nahradíme za
...
@@ -165,14 +165,14 @@ stejně jako u variant s algoritmem, jen skóre daného algoritmu nahradíme za
Definice aproximačních algoritmů
Definice aproximačních algoritmů
--------------------------------
--------------------------------
Protože ne na všechny problémy známe polynomiální algoritmus, co je schopný je vyřešit,
Protože ne pro všechny problémy známe polynomiální algoritmus, který je schopný je vyřešit,
zajímavý výsledek může být, i když se k řešení zvládneme jen v nějakém smyslu alespoň přiblížit.
zajímavý výsledek může být, i když se k řešení zvládneme jen v nějakém smyslu alespoň přiblížit.
Na to nejprve musíme říct, co pro nás znamená, že nějaké řešení je několikrát horší než jiné. To nám poskytne obecná definice optimalizačního problému.
Na to nejprve musíme říct, co pro nás znamená, že nějaké řešení je několikrát horší než jiné. To nám poskytne obecná definice optimalizačního problému.
::: {c=box t=def name="Optimalizační problém"}
::: {c=box t=def name="Optimalizační problém"}
Problém je _optimalizační_, pokud pro každý vstup $I$, existuje množina
Problém je _optimalizační_, pokud pro každý vstup $I$, existuje množina
přípustných řešení $F(I)$.
přípustných řešení $F(I)$.
Dále existuje účelová funkce$f$, která pro každý vstup a jeho přípustné řešení určuje reálné nezáporné číslo -- jeho hodnotu.
Dále existuje účelová funkce$f$, která pro každý vstup a jeho přípustné řešení určuje reálné nezáporné číslo -- jeho hodnotu.
Pokud se jedná o minimalizační problém, tak pod pojmem _optimum_ daného vstupu (značíme $\opt(I)$) myslíme infimum hodnot účelové funkce přes všechna přípustná řešení, tedy $\inf f[F(i)]$.
Pokud se jedná o minimalizační problém, tak pod pojmem _optimum_ daného vstupu (značíme $\opt(I)$) myslíme infimum hodnot účelové funkce přes všechna přípustná řešení, tedy $\inf f[F(i)]$.
Pro maximalizační problém analogicky použijeme supremum.
Pro maximalizační problém analogicky použijeme supremum.
...
@@ -191,9 +191,9 @@ aproximace, kde $g(n)$ je konstantní funkce rovna $c$.
...
@@ -191,9 +191,9 @@ aproximace, kde $g(n)$ je konstantní funkce rovna $c$.
U maximalizačních problémů je drobný problém v terminologii,
U maximalizačních problémů je drobný problém v terminologii,
protože není shoda na tom, jestli má platit
protože není shoda na tom, jestli má platit
$f(A(I)) \ge g(|I|) \cdot \opt(I)$
$f(\alg(I)) \ge g(|I|) \cdot \opt(I)$
nebo
nebo
$f(A(I)) \ge {1\over g(|I|)} \cdot \opt(I)$.
$f(\alg(I)) \ge {1\over g(|I|)} \cdot \opt(I)$.
Naštěstí podle kontextu jde snadno rozhodnout, která definice se používá,
Naštěstí podle kontextu jde snadno rozhodnout, která definice se používá,
protože je potřeba násobit optimum číslem menším rovno jedné (jinak by pro
protože je potřeba násobit optimum číslem menším rovno jedné (jinak by pro
kladné hodnoty účelové funkce nemohl existovat žádný vyhovující algoritmus).
kladné hodnoty účelové funkce nemohl existovat žádný vyhovující algoritmus).
...
@@ -223,7 +223,7 @@ Pokud existuje $(1+\varepsilon)$-aproximační algoritmus pro každé $\varepsil
...
@@ -223,7 +223,7 @@ Pokud existuje $(1+\varepsilon)$-aproximační algoritmus pro každé $\varepsil
Doposud známé výsledky
Doposud známé výsledky
======================
======================
Bonsmaa, Epping, a Hochstättler [@apx] dokázali, že optimalizační verze BPS je $\APX$-těžký problém,
Bonsmaa, Epping a Hochstättler [@apx] dokázali, že optimalizační verze BPS je $\APX$-těžký problém,
což je silnější tvrzení, než že rozhodovací verze je $\NP$-těžká.
což je silnější tvrzení, než že rozhodovací verze je $\NP$-těžká.
Za předpokladu $\P\neq \NP$ víme, že kromě polynomiálního algoritmu na rozhodovací verzi nemůže existovat
Za předpokladu $\P\neq \NP$ víme, že kromě polynomiálního algoritmu na rozhodovací verzi nemůže existovat
ani polynomiální aproximační schéma na optimalizační verzi.
ani polynomiální aproximační schéma na optimalizační verzi.
...
@@ -290,7 +290,7 @@ Zajímavé je pro nás zkoumat chování algoritmů na velkých vstupech, tedy d
...
@@ -290,7 +290,7 @@ Zajímavé je pro nás zkoumat chování algoritmů na velkých vstupech, tedy d
smysl uvažovat limitu střední hodnoty do nekonečna.
smysl uvažovat limitu střední hodnoty do nekonečna.
Ovšem s narůstajícím počtem aut narůstá i počet potřebných změn, takže
Ovšem s narůstajícím počtem aut narůstá i počet potřebných změn, takže
samotná limita střední hodnoty moc nedává smysl, protože by byla nekonečná.
samotná limita střední hodnoty moc nedává smysl, protože by byla nekonečná.
Místo ní budeme uvažovat $\lim_{n\to\infty} {\gamma_{\alg}(n)) / n} = \lim_{n\to\infty}\delta_{\alg}(n)$.
Místo ní budeme uvažovat $\lim_{n\to\infty} {\gamma_{\alg}(n) / n} = \lim_{n\to\infty}\delta_{\alg}(n)$.
O ní víme, že pro libovolný algoritmus (pokud existuje) bude v intervalu $[0, 2]$,
O ní víme, že pro libovolný algoritmus (pokud existuje) bude v intervalu $[0, 2]$,
protože maximální počet změn musí být mezi $0$ a $2n-1$.
protože maximální počet změn musí být mezi $0$ a $2n-1$.
...
@@ -347,7 +347,7 @@ a pokud budeme přidávat auto do okolí evidované dvojice tak, že
...
@@ -347,7 +347,7 @@ a pokud budeme přidávat auto do okolí evidované dvojice tak, že
prohození barev dané dvojice by pomohlo, prohodíme její barvy.
prohození barev dané dvojice by pomohlo, prohodíme její barvy.
Budeme pracovat nad rozšířenou abecedou barev o znak "$*$" reprezentující neurčenou barvu.
Budeme pracovat nad rozšířenou abecedou barev o znak "$*$" reprezentující neurčenou barvu.
Při rekurzi budeme udržovat invariant, že pro každý typ obě auta buď budou označeny $*$ a nebo ani jedno z nich nebude označeno $*$ a pak nutně budou mít různé barvy.
Při rekurzi budeme udržovat invariant, že pro každý typ obě auta buď budou označena $*$ a nebo ani jedno z nich nebude označeno $*$ a pak nutně budou mít různé barvy.
Navíc bude platit, že $*$ nikdy není na okrajích a nejsou dvě vedle sebe.
Navíc bude platit, že $*$ nikdy není na okrajích a nejsou dvě vedle sebe.
Specificky tedy na $*$ budeme přebarvovat dvojici aut v momentě, kdy získá všechny sousedy.
Specificky tedy na $*$ budeme přebarvovat dvojici aut v momentě, kdy získá všechny sousedy.
...
@@ -370,7 +370,7 @@ F) Když $N(o_0) = \{c(1), *\}$, nastavíme $c(0) = c(1)$ a přenastavíme $*$ v
...
@@ -370,7 +370,7 @@ F) Když $N(o_0) = \{c(1), *\}$, nastavíme $c(0) = c(1)$ a přenastavíme $*$ v
A druhé auto typu $t_0$ obarvíme zbývající barvou.
A druhé auto typu $t_0$ obarvíme zbývající barvou.
Pokud auta typu $t_{1}$ spolu nesousedí, $*\not\in N(1) \cap N(o_1)$
Pokud auta typu $t_{1}$ spolu nesousedí, $*\not\in N(1) \cup N(o_1)$
a prohození barev aut typu $t_1$ by zachovalo počet změn, přenastavíme jejich barvy na $*$.
a prohození barev aut typu $t_1$ by zachovalo počet změn, přenastavíme jejich barvy na $*$.
Po návratu ze všech rekurzí zbylé dvojice aut $*$ přebarvíme na dvě různé barvy.
Po návratu ze všech rekurzí zbylé dvojice aut $*$ přebarvíme na dvě různé barvy.
...
@@ -459,14 +459,14 @@ Pro nás bude důležitý následující fakt z lineární algebry:
...
@@ -459,14 +459,14 @@ Pro nás bude důležitý následující fakt z lineární algebry:
::: {c=box t=fact}
::: {c=box t=fact}
Nechť $X \in \SYM_n$. Následující tvrzení jsou ekvivalentní definice pozitivně semidefinitní matice:
Nechť $X \in \SYM_n$. Následující tvrzení jsou ekvivalentní definice pozitivně semidefinitní matice:
- Všechny vlastní čísla matice $X$ jsou nezáporná.
- Všechna vlastní čísla matice $X$ jsou nezáporná.
- Pro každý vektor $\vec{x} \in \R^n$ platí $\vec{x}^{\rm T} X\vec{x}\ge 0$.
- Pro každý vektor $\vec{x} \in \R^n$ platí $\vec{x}^{\rm T} X\vec{x}\ge 0$.
- Existuje matice $Y \in \R^{n\times n}$ taková, že $X = Y^{\rm T} Y$.
- Existuje matice $Y \in \R^{n\times n}$ taková, že $X = Y^{\rm T} Y$.
:::
:::
Pro nás bude důležitá zejména třetí podmínka,
Pro nás bude důležitá zejména třetí podmínka,
protože navíc platí, že ze semidefinitní matice $X$ zvládneme zkonstruovat $Y$
protože navíc platí, že ze semidefinitní matice $X$ zvládneme zkonstruovat $Y$
pomocí Choleského dekompozice a to v čase $\O(n^3)$.
v čase $\O(n^3)$ pomocí tzv. Choleského dekompozice.
Navíc pro libovolnou reálnou matici $Y$ je $Y^{\rm T} Y$ symetrická.
Navíc pro libovolnou reálnou matici $Y$ je $Y^{\rm T} Y$ symetrická.
Tedy semidefinitní programování můžeme chápat jako optimalizační úlohu na $Y\in \R^{n\times n}$.
Tedy semidefinitní programování můžeme chápat jako optimalizační úlohu na $Y\in \R^{n\times n}$.
...
@@ -487,7 +487,7 @@ Představíme si pravděpodobnostní aproximační algoritmus založený na semi
...
@@ -487,7 +487,7 @@ Představíme si pravděpodobnostní aproximační algoritmus založený na semi
::: {c=box t=task}
::: {c=box t=task}
Nechť $G=(V, E)$ je graf s hranami ohodnocenými nezápornými čísly dle $h: E \rightarrow \R^+_0$.
Nechť $G=(V, E)$ je graf s hranami ohodnocenými nezápornými čísly dle $h: E \rightarrow \R^+_0$.
Řezem grafu rozumíme rozdělení vrcholů na dvě disjunktní množiny $A \cup B = V$.
Řezem grafu rozumíme rozdělení vrcholů na dvě disjunktní množiny $A \cup B = V$.
Hodnotou daného řezu je pak součet cen hran vedoucích mezi$A$ a $B$. Tedy:
Hodnotou daného řezu je pak součet cen hran vedoucích mezi$A$ a $B$. Tedy:
$$
$$
H(A,B) = \sum_{\{u,v\}\in E\atop u\in A, v\in B} h({u,v})
H(A,B) = \sum_{\{u,v\}\in E\atop u\in A, v\in B} h({u,v})
$$
$$
...
@@ -496,7 +496,7 @@ Cílem je maximalizovat hodnotu řezu.
...
@@ -496,7 +496,7 @@ Cílem je maximalizovat hodnotu řezu.
Problém maximálního řezu (resp. rozhodovací verze, kde se ptáme na existenci řezu alespoň dané velikosti)
Problém maximálního řezu (resp. rozhodovací verze, kde se ptáme na existenci řezu alespoň dané velikosti)
je NP-úplný [@maxcut-np], proto
je NP-úplný [@maxcut-np], proto
se u něj zkoumají aproximační algoritmy a pravděpodobností aproximační algoritmy.
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í $0.5$-aproximační pravděpodobnostní algoritmus:
...
@@ -505,12 +505,12 @@ Každý vrchol uniformně náhodně přiřaď do množiny $A$ nebo $B$.
...
@@ -505,12 +505,12 @@ Každý vrchol uniformně náhodně přiřaď do množiny $A$ nebo $B$.
:::
:::
::: {c=box t=theorem}
::: {c=box t=theorem}
Triviální algoritmus je $0.5$aproximační pravděpodobnostní algoritmus.
Triviální algoritmus je $0.5$-aproximační pravděpodobnostní algoritmus.
:::
:::
::: {c=proof}
::: {c=proof}
Každá hrana bude v řezu s pravděpodobností $1/2$ -- při umisťování druhého vrcholu dané hrany
Každá hrana bude v řezu s pravděpodobností $1/2$ -- při umisťování druhého vrcholu dané hrany
máme pravděpodobnost $1/2$, že ho umístíme do stejné množiny a tedy hrna nebude součásti řezu
máme pravděpodobnost $1/2$, že ho umístíme do stejné množiny a tedy hrana nebude součásti řezu
a pravděpodobnost $1/2$ že do opačné a tedy bude součástí řezu.
a pravděpodobnost $1/2$ že do opačné a tedy bude součástí řezu.
Součet hran v řezu je součtem indikátorů jevů přítomnosti jednotlivých hran v řezu vynásobený jejich hodnotou.
Součet hran v řezu je součtem indikátorů jevů přítomnosti jednotlivých hran v řezu vynásobený jejich hodnotou.
Z linearity střední hodnoty tedy střední hodnota součtu vah hran v řezu je $1/2$ celkového součtu vah hran, což je alespoň $1/2$ optima.
Z linearity střední hodnoty tedy střední hodnota součtu vah hran v řezu je $1/2$ celkového součtu vah hran, což je alespoň $1/2$ optima.
...
@@ -577,7 +577,7 @@ spočítat skalární součin se $\vec{z}$ a podle znaménka víme,
...
@@ -577,7 +577,7 @@ spočítat skalární součin se $\vec{z}$ a podle znaménka víme,
do kterého poloprostoru patří.
do kterého poloprostoru patří.
Pokud vybereme uniformně náhodný jednotkový vektor, tak jsme uniformně náhodně vybrali nadrovinu.
Pokud vybereme uniformně náhodný jednotkový vektor, tak jsme uniformně náhodně vybrali nadrovinu.
Jednotkový vektor můžeme generovat tak, že vygenerujeme náhodný vektor nezávisle po složkách z normálního rozdělení, a pak ho znormujeme.
Jednotkový vektor můžeme generovat tak, že vygenerujeme náhodný vektor nezávisle po složkách z normálního rozdělení, a pak ho znormujeme.
Povšimne si, že normalizace ani není potřeba,
Povšimněme si, že normalizace ani není potřeba,
protože to na znaménku součinů nic nemění.
protože to na znaménku součinů nic nemění.
Nyní pojďme precizněji spočítat pravděpodobnost toho, že se dvojice bodů (vektorů) $\vec{y_u}$,
Nyní pojďme precizněji spočítat pravděpodobnost toho, že se dvojice bodů (vektorů) $\vec{y_u}$,
...
@@ -690,14 +690,14 @@ Goemansův-Williamsonův algoritmus je pravděpodobnostní $0.878$-aproxi\-mačn
...
@@ -690,14 +690,14 @@ Goemansův-Williamsonův algoritmus je pravděpodobnostní $0.878$-aproxi\-mačn
::: {c=proof}
::: {c=proof}
Využitím předešlých pozorování a elipsoidové metody získáme (MC značí max cut, tedy maximální řez):
Využitím předešlých pozorování a elipsoidové metody získáme (MC značí max cut, tedy maximální řez):
Nyní tedy pro každou dvojici sousedních aut přičítáme číslo mezi $0$ a $1$, kde $0$ nastane pro stejné vektory,
Nyní tedy pro každou dvojici sousedních aut přičítáme číslo mezi $0$ a $1$, kde $0$ přičteme pro stejné vektory,
mezi nimiž nikdy nebude změna barvy a $1$ nastane v případě opačných vektorů, mezi nimiž se nutně barva změní.
mezi nimiž nikdy nebude změna barvy a $1$ přičteme v případě opačných vektorů, mezi nimiž se nutně barva změní.
Účelovou funkci se snažíme minimalizovat.
Účelovou funkci se snažíme minimalizovat.
::: {c=box t=theorem}
::: {c=box t=theorem}
...
@@ -983,7 +983,7 @@ fig.update_layout(
...
@@ -983,7 +983,7 @@ fig.update_layout(
Distribuce skalárních součinů $100$ běhů algoritmu pro $n=200$.
Distribuce skalárních součinů $100$ běhů algoritmu pro $n=200$.
:::
:::
Z grafu jde vidět, že skoro nikdy semidefinitní program neumístí sousední body do protilehlých částí. Drobnou výjimku tvoří hodnota skalárního součinu okolo $-1$, kterých semidefinitní program
Z grafu je vidět, že skoro nikdy semidefinitní program neumístí sousední body do protilehlých částí. Drobnou výjimku tvoří hodnota skalárního součinu okolo $-1$, kterých semidefinitní program
za $100$ běhů vyrobil zhruba $100$.
za $100$ běhů vyrobil zhruba $100$.
K tomuto mohl být donucen existencí dvojic aut stejného typu hned vedle sebe, kdy nemá jinou možnost než mezi nimi mít skalární součin $-1$.
K tomuto mohl být donucen existencí dvojic aut stejného typu hned vedle sebe, kdy nemá jinou možnost než mezi nimi mít skalární součin $-1$.
...
@@ -1008,7 +1008,7 @@ Semidefinitní program rozmísťuje vektory do $n-1$ dimenzionální sféry.
...
@@ -1008,7 +1008,7 @@ Semidefinitní program rozmísťuje vektory do $n-1$ dimenzionální sféry.
Z naměřených dat však vychází, že semidefinitní program většinou generuje řešení, které
Z naměřených dat však vychází, že semidefinitní program většinou generuje řešení, které
má mnohem menší dimenzi. Přesněji řečeno, pro řešení často platí, že
má mnohem menší dimenzi. Přesněji řečeno, pro řešení často platí, že
všechny vektory v něm mají několik prvních souřadnic velké hodnoty
všechny vektory v něm mají několik prvních souřadnic velké hodnoty
a ve zbylých souřadnic mají hodnoty blízké nule.
a ve zbylých souřadnicích mají hodnoty blízké nule.
Tedy kdybychom vektory promítli na méně dimenzionální sféru (vzali místo nich nejbližší bod na ní), tak se účelová funkce moc nezmění.
Tedy kdybychom vektory promítli na méně dimenzionální sféru (vzali místo nich nejbližší bod na ní), tak se účelová funkce moc nezmění.
Světlá barva bodu značí bod na zadní straně sféry.
Světlá barva bodu značí bod na zadní straně sféry.
Černé čáry spojují sousední auta a šedé jsou jim středově simetrické (protože dvojice aut, jejichž druhá auta stejného typu jsou vedle sebe, je také přitahována k sobě).
Černé čáry spojují sousední auta a šedé jsou jim středově symetrické (protože dvojice aut, jejichž druhá auta stejného typu jsou vedle sebe, je také přitahována k sobě).
Vizualizace jednoho z řešení pro $n=50$, které se vejde do 3D.
Vizualizace jednoho z řešení pro $n=50$, které se vejde do 3D.
:::
:::
...
@@ -1268,7 +1268,7 @@ $\widehat{\delta_{\alg}(n)^2}$ značí výběrový rozptyl, tedy $\frac{1}{m-1}\
...
@@ -1268,7 +1268,7 @@ $\widehat{\delta_{\alg}(n)^2}$ značí výběrový rozptyl, tedy $\frac{1}{m-1}\
Dolní odhad
Dolní odhad
-----------
-----------
Výstup z každého algoritmu nám dává hodní odhad na optimum daného vstupu.
Výstup z každého algoritmu nám dává horní odhad na optimum daného vstupu.
Ovšem semidefinitní programování nám navíc dává i dolní odhad na optimum, protože víme,
Ovšem semidefinitní programování nám navíc dává i dolní odhad na optimum, protože víme,
že optimum jednoho z ekvivalentních vyjádření účelové funkce je vždy menši rovno optimu BPS.
že optimum jednoho z ekvivalentních vyjádření účelové funkce je vždy menši rovno optimu BPS.
Použité řešiče semidefinitních programů nám navíc dají i horní odhad na optimum SDP (který se od nalezeného řešení může nepatrně lišit).
Použité řešiče semidefinitních programů nám navíc dají i horní odhad na optimum SDP (který se od nalezeného řešení může nepatrně lišit).
...
@@ -1321,13 +1321,13 @@ V této práci jsme představili algoritmus ${\bf sdp}$ na BPS založený na sem
...
@@ -1321,13 +1321,13 @@ V této práci jsme představili algoritmus ${\bf sdp}$ na BPS založený na sem
Bohužel se nám nepodařilo dokázat žádný netriviální odhad na $\delta_{\algo{sdp}}^+$.
Bohužel se nám nepodařilo dokázat žádný netriviální odhad na $\delta_{\algo{sdp}}^+$.
Nicméně dle naměřených dat můžeme soudit, že $\delta_{\algo{sdp}}^+$ se pohybuje okolo 0.34.
Nicméně dle naměřených dat můžeme soudit, že $\delta_{\algo{sdp}}^+$ se pohybuje okolo 0.34.
Místo toho jsme však dokázali, že pro libovolný vstup bude střední hodnota
Místo toho jsme však dokázali, že pro libovolný vstup bude střední hodnota
(přes náhodné čísla generovaná algoritmem nikoliv přes vstup)
(přes náhodná čísla generovaná algoritmem nikoliv přes vstup)
skóre řešení nejhůře $0.212 n$ od optima, tedy, že platí $$\forall \alpha:\qquad\E[\delta_{\algo{sdp}}(\alpha)] \le \delta(\alpha) + 0.212 n.$$
skóre řešení nejhůře $0.212 n$ od optima, tedy, že platí $$\forall \alpha:\qquad\E[\delta_{\algo{sdp}}(\alpha)] \le \delta(\alpha) + 0.212 n.$$
Toto řešení jsme dále dokonce dvakrát implementovali s využitím
Toto řešení jsme dále dokonce dvakrát implementovali s využitím
různých implementací řešení semidefinitních programů, které jsme tímto i porovnali.
různých implementací řešení semidefinitních programů, které jsme tímto i porovnali.
Z naměřených dat jsme jednak odhadli střední hodnotu skóre algoritmu přes náhodný vstup.
Z naměřených dat jsme jednak odhadli střední hodnotu skóre algoritmu přes náhodný vstup.
A druhak jsme si všimli, že dimenze řešení semidefinitního programování je poměrně malá, což jsme zformulovali jako hypotézu.
A také jsme si všimli, že dimenze řešení semidefinitního programování je poměrně malá, což jsme zformulovali jako hypotézu.
Stále však zůstává otevřená otázka, kolik přesně je $\delta^+$ a $\delta^-$ (a případně zda se rovnají)
Stále však zůstává otevřená otázka, kolik přesně je $\delta^+$ a $\delta^-$ (a případně zda se rovnají)
a jaké nejlepší $\delta^+_{\alg}$ je možno dosáhnout polynomiálním algoritmem $\alg$.
a jaké nejlepší $\delta^+_{\alg}$ je možno dosáhnout polynomiálním algoritmem $\alg$.