Skip to content
Snippets Groups Projects
Commit aa99d6cf authored by Jiří Kalvoda's avatar Jiří Kalvoda
Browse files

Zanesení korektur

parent 57e875c2
No related branches found
No related tags found
No related merge requests found
......@@ -61,9 +61,9 @@ Auta budeme indexovat od $0$ do $2n-1$ a typy od $0$ do $n-1$.
Pomocí $a_{i,0}$ budeme značit pozici prvního auta typu $i$ a pomocí $a_{i,1}$ pozici druhého.
Opačně $t_i$ bude značit typ auta na pozici $i$
a $p_i$ bude značit, jestli se jedná o první nebo druhé auto daneho typu (tedy bude nabívat hodnoty $0$ nebo $1$).
a $p_i$ bude značit, jestli se jedná o první nebo druhé auto daneho typu (tedy bude nabývat hodnoty $0$ nebo $1$).
Protože někdy bude výhodnější zacházet se znaménky, zavedeme ještě $P_i = -1+2 p_i$, které bude nabívat hodnot $-1$ a $1$.
Protože někdy bude výhodnější zacházet se znaménky, zavedeme ještě $P_i = -1+2 p_i$, které bude nabývat hodnot $-1$ a $1$.
Také rozšíříme notaci o $a_{i, -1} = a_{i,0}$.
Nakonec ještě zavedeme zkratku indexu druhého auta stejného typu jako na pozici $i$: $o_i = a_{t_i,-P_i}$.
......@@ -339,15 +339,15 @@ 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$
pomocí Choleského dekompozice a to v čase $\O(n^3)$.
Ještě poznamenejme, že pro libovolnou čtvercovou matici $Y$ je $Y^{\rm T} Y$ symetrická.
Ještě poznamenejme, že pro libovolnou 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}$.
Pojďme se zamyslet nad tím, co v takovémto pohledu znamenají podmínky a účelová funkce.
Matici $Y$ můžeme považivat za $n$ sloupcových vektorů $\vec{y_0}, \dots, \vec{y_{n-1}}$ vedle sebe.
Matici $Y$ můžeme považivat za $n$ sloupcových vektorů $\vec{y_0}, \dots, \vec{y_{n-1}}$ vedle sebe. (TODO sazba větší šipky nad vektorem)
Matice $Y^{\rm T}$ pak odpovídá těmto vektorům zapsaných v řádcích pod sebou.
Matice $X = Y^{\rm T} Y$ tedy na pozici $i,j$ obsahuje skalární součin vektorů $y_i$ a $y_j$.
Účelová funkce tedy je lineární kombinací skalárních součinů a podmínky
odpovídají vynucení rovnosti lineární kombinace skalárních součinů vektorů a konstanty.
Speciálně tedy můžeme mít podmínku na délku vektoru: $|\vec{y_i}| = \vec{y_i}^{\rm T}\vec{y_i} = C$.
Speciálně tedy můžeme mít podmínku na délku vektoru: $|\vec{y_i}| = \sqrt{\vec{y_i}^{\rm T}\vec{y_i}} = C$.
Semidefinitní programování v tomto tvaru bude nazývat semidefinitní programování _v dekompomovaném tvaru_.
Maximální řez
......@@ -391,7 +391,7 @@ Součet hran v řezu je součtem indikátorů jevů přítomnosti jednotlivých
Z linearity součtu středních hodnot tedy střední hodnota součtu hran v řezu je $1/2$ celkového součtu hran, což je alespoň $1/2$ optima.
:::
Povšimněme si, že triviální algoritmus dosáhnu poměrně zajímavého aproximačního poměru
Povšimněme si, že triviální algoritmus dosáhl poměrně zajímavého aproximačního poměru
a to se ani nedíval na vstup.
......@@ -524,7 +524,7 @@ Vrcholům jedné množiny přidělíme vektory $(1,0,\dots,0)$ a druhé $(-1,0,\
Bohužel na rozdíl od lineárního programování, u semidefinitního programování nejsme schopní v polynomiálním čase najít optimální řešení.
Naštěstí však platí, že v polynomiálním čase jsme schopní se mu libovolně přiblížit.
Přesněji řečeno, pro každé $\varepsilon > 0$ jsme schopní najít řešení s účelovou funkcí.
Přesněji řečeno, pro každé $\varepsilon > 0$ jsme schopní najít řešení s účelovou funkcí nejdále $\varepsilon$ od optima.
TODO toto víc popsat u řešení semidefinitních programů
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment