Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
Binary paint shop problem
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jiří Kalvoda
Binary paint shop problem
Commits
aa99d6cf
Commit
aa99d6cf
authored
Mar 12, 2024
by
Jiří Kalvoda
Browse files
Options
Downloads
Patches
Plain Diff
Zanesení korektur
parent
57e875c2
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
prace/bakalarka/index.md
+7
-7
7 additions, 7 deletions
prace/bakalarka/index.md
with
7 additions
and
7 deletions
prace/bakalarka/index.md
+
7
−
7
View file @
aa99d6cf
...
...
@@ -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^{
\r
m T} Y$ symetrická.
Ještě poznamenejme, že pro libovolnou matici $Y$ je $Y^{
\r
m T} Y$ symetrická.
Tedy semidefinitní programování můžeme chápat jako optimalizační úlohu na $Y
\i
n
\R
^{n
\t
imes 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ů $
\v
ec{y_0},
\d
ots,
\v
ec{y_{n-1}}$ vedle sebe.
Matici $Y$ můžeme považivat za $n$ sloupcových vektorů $
\v
ec{y_0},
\d
ots,
\v
ec{y_{n-1}}$ vedle sebe.
(TODO sazba větší šipky nad vektorem)
Matice $Y^{
\r
m T}$ pak odpovídá těmto vektorům zapsaných v řádcích pod sebou.
Matice $X = Y^{
\r
m 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: $|
\v
ec{y_i}| =
\v
ec{y_i}^{
\r
m T}
\v
ec{y_i} = C$.
Speciálně tedy můžeme mít podmínku na délku vektoru: $|
\v
ec{y_i}| =
\s
qrt{
\v
ec{y_i}^{
\r
m T}
\v
ec{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áh
nu
poměrně zajímavého aproximačního poměru
Povšimněme si, že triviální algoritmus dosáh
l
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é $
\v
arepsilon > 0$ jsme schopní najít řešení s účelovou funkcí.
Přesněji řečeno, pro každé $
\v
arepsilon > 0$ jsme schopní najít řešení s účelovou funkcí
nejdále $
\v
arepsilon$ od optima
.
TODO toto víc popsat u řešení semidefinitních programů
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment