-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlecture2.tex
120 lines (97 loc) · 5.11 KB
/
lecture2.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
\section{Семинар 2}
\subsection*{Продолжаем про TU}
TH1:
Пусть есть полиэдр
\[
P = \begin{cases}
x \in \R^+\\
A x = b\\
A \in Mat_{m \times n}
\end{cases}
\]
$A -- TU$ и $b \in \Z^+$, тогда полиэдр целый(любая вершина целая)
Lm1: $x$ -- вершина полиэдра $\Leftrightarrow$ $A_{nz(x)}$ -- Линейно Независимые столбцы (упражнение)
$\Leftrightarrow$ $\exists$ базисное допустимое решение $(x, B)$, и:
\[
\begin{cases}
nz(x) \subseteq B \\
|B| = m\\
det A_B \ne 0
\end{cases}
\]
Проебал док-во Th1
Пример:
Есть двудольный граф
$G = (V, E)$, $V = L \bigsqcup R$
def Политоп парасочетаний
Мы будем работать с векторами у которых
1. Мощность $E$ у каждого вектора
2. $x_e \geq 0$
3. $\sum_{e \in \sigma(v)} x_e \leq 1$
Буде обознать $M(G)$ этот политоп
def Далее есть политоп $PM(G)$ -- политоп совершенных паросочетаний про него
1. Мощность E
2. $x_e \geq 0$
3. $\sum_{e \in \sigma(v)} x_e = 1$
Чтобы он был(ну не пустым) должно быть:
1. $|L| = |R|$ -- посчитали сумму всех ребер, с одной стороны это размер левой доли, с другой стороны с правой
Окей пусть $x \in M(G)$, -- целая точка. Но тогда $x \to$ некоторое множество ребер. Как битовую маску к примеру.
Пусть множество ребер которых получилось $A = \left\{e | x_e = 1\right\}$
С другой стороны берем парсоч и переводим его в точку политопа как битовую маску.
Тогда заметим что целые точки в $PM(G)$ соответствуют совершенными парсочетаниям
Th $PM(G)$ -- целый
Lm матрица $PM(G) -- TU$.
Заметим что $PM(G)$ -- политоп заданный в стандартной форме.
Итак в столбце будет ровно две единички. То есть это матрица инцидентности
Докажем по индукции. Если в миноре есть столбец без единиц, определитель 0.
Если есть столбец с одной единицей то разложим по ней
Если нет то в нём есть цикл, значит есть линейно заивисимые столбцы, а значит определитель 0
Ну мы закончили
Th $M(G)$
Ну сначала переведем в стандартную форму:
\[
\widetilde{M}(G) = \begin{cases}
\forall e: x_e \leq 0,\\
s_v \leq 0,\\
\sum_{e \in \sigma(v)} x_e + s_v = 1\\
\end{cases}
\]
Очевидно что есть биекция $M(G) \leftrightarrow \widetilde{M}(G)$, докажем что вершина уйдет в вершину.
Докажем что не вершина соответствует не вершине.
Итого $x$ не вершина, тогда $\exists [x - \eps, x + \eps] \subseteq M(G)$
Итого $y$ не вершина, тогда $\exists [(x - \eps, s - \delta), (x + \eps, s + \delta)] \subseteq \widetilde{M}(G)$
надо пруфануть
Итак получается таже самая матрица и справа единичная, раскладываем сначала по ним дальше очев предидущая.
\subsection{Профит с целых полиэдров}
Итак пусть у нас есть задача поиска максимального паросочетания
\[
\begin{cases}
x_e \in \{0, 1\} \Leftrightarrow x_e \in \Z, x_e \leq 0, x_e \leq 1\\
\sum_{x_e} \leq 1\\
e \in \sigma(v)\\
\sum x_e \to \max
\end{cases}
\]
Это задача целочисленного ЛП. Давайте возьмем и сделаем другую задачу
\[
\begin{cases}
x_e \in \R^+ \\
\sum_{x_e} \leq 1\\
e \in \sigma(v)\\
\sum x_e \to \max
\end{cases}
\]
Мы достигаем того-же максимума и можем это сделать это на вершине.
Мы сделали релаксацию от целочисленной к линейной. И это способ валиден только если полиэдр целый.
Упр.
Проверить наличие $K_{n}$ в графе
Двойственная к $M(G)$ это политоп вершинного покрытия
Убедиться что мы умеем искать минимальное вершинное покрытие по макс парасочетанию
Итак давай-те зашарашим условия доп нежесткости
пусть $x, y$ -- оптимальны, тогда
\[
\begin{cases}
x_e (y_u + y_v - 1) = 0\\
y_v (\sum_{e\in\sigma(v)}x_e - 1) = 0
\end{cases}
\]