Елизавета Власова
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    [TOC] # 1. Неравенство Маркова, Чебышева. Быстрая сортировка, + ## Общие понятия ## Быстрая сортировка Прокидываем относительно pivot что-то влево, а что-то вправо. Pivot выбираем случайно. Докажем, что работает за O(n log n). Скорость работы пропорциональна количеству сравнений Отсортированный массив: $x_1, x_2, ..., x_n$ Найдем вероятность, что $x_i, x_j$ были сравнены за время работы алгоритма Когда это происходит: Если $x_i, x_j$ были находились по одну сторону от pivot, то они сравнены не будут, просто перекинуты в какую-то из сторон, если pivot выбран внутри интервала $(x_i, x_j)$, то они просто будут раскидаы в разные сторону и сравниваться друг с другом не будут. Единственная опция - pivot один из этих двух элементов. Вероятность этого равна $P(x_i or x_j - pivot) = 2 / (j - i +1)$. $E(algo time) = \sum_{i < j}E(x_i or x_j - pivot) = \sum_{i < j}2/(j-i+1) = $ $i = 1: 2 \cdot (1/1+1/2+1/3+...+1/n) $ ~log n $i = 2: 2 \cdot (1/1+1/2+1/3+...1/(n-1))$ $i = n-1: 2 \cdot (1)$ Итого на одну итерацию: $log{n} + o(log{n})$ Итого : $O(n \log{n})$ Про квадрат история в том, что его вероятность стремится к нулю, иначе мат. ожидание было бы квадратное ## Неравенство Маркова **Само неравенство:** $P(X \ge C) \leq E(X)/ c$ Выполняется для неотрицательных случайных величин. **Док-во:** $] x_1 \le x_2 \le ... \le x_n =>$ $EX = \sum_{i}(p_i x_i) \ge \sum_{i=k}^{n}p_i x_i$ Заменим $x_i$ на минимальный из элементов, на которые смотрим сейчас, а потом заменим $x_k = c$, а вероятность тогда как раз есть сумма слева: $\sum_{i=k}^{n}p_i x_i \ge (p_k + ... + p_n)\cdot x_k = P(X \ge c)\cdot c$ ## Неравенство Чебышева **Само неравенство:** $P(|X-EX| \ge \sqrt{c}) \le DX / c$ **Док-во:** Возведем в квадрат: $P((X-EX)^2 \ge c)$ Пусть $Y = (X-EX)^2=>$ Возьмем неравенство Маркова: $P(Y \ge C) = E(Y)/ c$ $P((X-EX)^2 \ge C) = E((X-EX)^2)/ c$ $P(|X-EX| \ge \sqrt{c}) = DX / c$ # 2. Поиск медианы за 2n+o(n), + Тут есть какой-то quick select, работает как quick sort. Массив длины n. Случайно с повторением выберем $n^{0.75}$ элементов. Сортируем за: $n^{3/4}\log{n^{3/4}} = o(n)$. Получается, что сортировка такого массива бесплатная. Найдем медиану в маленьком массиве, найдем $l = 1/2n^{3/4}-\sqrt{n}, r=1/2n^{3/4}+\sqrt{n}$ Сравниваем l, r с исходным массивом; слева то, что меньше l, справа, что больше r, иначе в серединку. Можем сравнивать со случайным из этих двух, тогда в среднем 1.5n вместо 2n. Мы хотим, чтобы m была между l, r и размер был маленький. Тогда ситуации: 1. $|X_1+X_2| < n / 2 ->$ медиана справа, выдаем $fail$ 2. $|X_1| > n/2->$ медиана левее левой границы, выдаем $fail$ 3. $|X_2| > 4n^{3/4}-> fail$ 4. $|X_2| \le 4n^{3/4}->$ сортируем, ищем, выдаем ответ Докажем, что **вероятности первой и второй ситуации** очень малы: Чтобы элемент l был правее медианы, нам надо, чтобы мы взяли $1/2n^{3/4}+\sqrt{n}$ элементов больше медианы. $X_i$ - i-ый элемент из маленького массива правее медианы, Бернуллиевая величина, тогда по Чебышеву $P(\sum_1^{n^{3/4}}{X_i} \ge 1/2n^{3/4}+\sqrt{n}) = P(\sum_1^{n^{3/4}}{X_i} - 1/2n^{3/4}\ge \sqrt{n})$ $= P(Y - EY\ge \sqrt{n}) \le DY/n = \frac{n^{3/4}/4}{n}\sim \frac{1}{4n^{0.25}}$ Докажем, что **вероятность большой длины** очень мала: Тут хотя бы одна из частей $[l, m], [m, r]$ должна быть больше чем $2n^{3/4}$. Рассмотрим для $[l, m]$. ![](https://i.imgur.com/tJ69y2e.png) Кусок в кружочке имеет длину $n/2 - 2n^{3/4}$. В этот кусок попало не меньше чем $1/2 n^{3/4}-\sqrt{n}$ элементов из X’. Опять по Чебышеву: $Z_i$ - i-ый элемент из маленького массива попал в конец, Бернуллиевая величина, тогда по Чебышеву $P(\sum_i^{n^{3/4}}{Z_i} \ge n/2 - 2n^{3/4}) = P(\sum_i^{n^{3/4}}{X_i} - 1/2n^{3/4}\ge \sqrt{n})$ $= P(Y - EY\ge \sqrt{n}) \le DY/n = \frac{n^{3/4}/4}{n}\sim \frac{1}{4n^{0.25}}$ # 3. Неравенство Чернова. Бросание монетки + ## Общая формулировка Пусть есть у нас функция $f_t(x) = e^{xt}, t > 0$ -- используется в производящей функции ($E[e^{xt}] = g_x(t)$) Из неравенства Маркова: $P[X\geq a]=P[e^{xt}\geq e^{at}]$ (вследствие монотонности) Применим к правой части Маркова: $P[X\geq a] = P[e^{xt} \geq e^{at}] \leq \frac{E(e^{xt})}{e^{at}}$ Нам интересно когда тут минимум, а это тогда когда мы будем минимизировать по t Итого оценка Чернова: $P[X\geq a]\leq \min_{t >0}\frac{E(e^{xt})}{e^{at}}$ ## Пуассоновский процесс Пусть X - биномиальная случайная величина $P[X=k] = C_n^k\cdot p^k\cdot (1-p)^k$ Тогда Пуассоновским процессом будет называться с.в. такая что: $Y =Y_1 + Y_2 + ... + Y_n$, где $P[Y_i=1]=p_i$ Найдем мат. ожидание этой штуки: $EY = E(\sum_{i=1}^n Y_i) = \sum_{i=1}^n EY_i = \sum_{i=1}^n p_i$ ## Неравенство Чернова На самом деле, мы хотим оценить вот такую штуку: $P[Y\geq (1+\delta)E(Y)] \leq ?$ Из определения неравенства Чернова получаем: $P[e^{Yt}\geq e^{(1+\delta)E(Y)t}] \leq \min_{t > 0}\frac{E(e^{Yt})}{e^{(1+\delta)E(Y)}}$ Оценим мат. ожидание: $E(e^{Yt}) = E(e^{Y_1 t + Y_2t+ ... + Y_nt}) = \prod_{i=1}^n e^{Y_i t}=\prod_{i=1}^n E(e^{Y_i t})$ Заметим, что мы умеем считать м.о. для того что стоит у нас под знаком произведения,поскольку $Y_i$ - величина с распределением Бернулли: $E(e^{Y_it}) = p_i\cdot e^t + (1-p_i)$ Вернемся к тому, что смотрели раньше: $\prod_{i=1}^n e^{Y_i t}=\prod_{i=1}^n E(e^{Y_i t}) = \prod_{i=1}^n 1+ p_i(e^t-1)$ Можем использовать что $1+x\leq e^x$ (из того что $e^x = 1 + x + x^2/2 + ...$) Вернемся опять к тому что было раньше: $\prod_{i=1}^n 1+ p_i(e^t-1) = \prod_{i=1}^n e^{p_i(e^t-1)}=exp(\sum_{i=1}^n p_i(e^t-1))$ $= exp(\sum p_i \cdot (e^t-1)) = exp(\mu\cdot (e_t-1)), \mu=E(Y)=\sum p_i$ Итого: $P[Y\geq (1+\delta)E(Y)]\leq \frac{e^{\mu(e^t - 1)}}{e^{t\mu (1+\delta)}}$ Пусть $t=\ln(1+\delta) => e^t-1=\delta, e^{(1+\delta)t}=(1+\delta)^{1+\delta}$ При такой подстановке получим: $P[Y\geq (1+\delta)\mu]\leq (\frac{e^\delta}{(1+\delta)^{1+\delta}})^\mu$ ## $\delta \in (0, 1]$ **Утверждение:** при $\delta\in (0, 1]$ выполняется $(\frac{e^\delta}{(1+\delta)^{1+\delta}})^\mu \leq e^{-\mu \delta^2 / 3}$ При таких значениях дельта можно сильно упростить исходное неравенство. Для этого $(\frac{e^\delta}{(1+\delta)^{1+\delta}})^\mu \leq e^{-\mu \delta^2 / 3}$ $\frac{e^\delta}{(1+\delta)^{1+\delta}} \leq e^{- \delta^2 / 3}$ Прологарифмируем: $\delta + (1+\delta)\ln{1+\delta} \leq -\frac{1}{3}\delta^2$ $\delta + (1+\delta)\ln{1+\delta} + \frac{1}{3}\delta^2<0, \forall \delta\in(0, 1)$ Ну тут возьмем производные: $f'(\delta) = \ln{1+\delta}+2/3\delta$ $f''(\delta) = -\frac{1}{1+\delta} + 2/3$ Видим что первая производная и в нуле и в 1 отрицательная. а между ними функция сначала убывала, а потом возрастала. Так что на всем интервале значение отрицательное. ## $1+\delta \geq 6$ **Утверждение:** $P[X\geq R] \leq 2^{-R}$ Исходная штука: $P[Y\geq (1+\delta)\mu]\leq (\frac{e^\delta}{(1+\delta)^{1+\delta}})^\mu \leq (\frac{e^\delta}{(1+\delta)^{1+\delta}})^\mu e^\mu = (\frac{e^{1+\delta}}{(1+\delta)^{1+\delta}})^\mu = (\frac{e}{1+\delta})^{\mu(1+\delta)}$=> $P[Y\geq R] \leq (\frac{e}{1+\delta})^R$ При $1+\delta > 6 => \frac{e}{1+\delta} < 0.5$ => $P[Y\geq R] \leq 2^{-R}$ ## Двусторонняя оценка $P[Y\leq (1-\delta)EY]\leq e^{-\frac{\mu\delta^2}{2}}$ $P[|Y-EY|\geq \delta EY]\leq e^{-\mu\delta^2 / 2}+ e^{-\mu\delta^2/3} \leq 2e^{-\mu\delta^2/3}$ ## Бросание монетки Пусть $X=X_1+...+X_n, X_i$- бросание честной монетки Тогда $P[|X-0.5 n| \geq 0.5\sqrt{6n\ln{n}}]\leq ?$ $\delta = \sqrt{\frac{6\ln{n}}{n}}$ Тогда $P[|X-0.5 n| \geq 0.5\sqrt{6n\ln{n}}]\leq 2e^{-\ln{n}}=2/n$ То есть вероятность отстоять от среднего на такую величину очень мала (меньше 2/n) При этом Чебышев бы дал: $P[|X-n/2|\geq n/4]\leq \frac{DX}{n^2/16} = 4/n$ Оценка в два раза слабее хотя граница сильно больше # 4. Set balancing (умножение матрицы на 1 и -1) + ## Чернов для Бернулли Попробуем для последовательности испытаний Бернулли еще написать. Для этого воспользуемся родственной с.в. Y=2X-1, тогда $Y=\sum_{i=1}^n Y_i$ **Утверждение:** $P[Y\geq a]\leq e^{-\frac{a^2}{2n}}, a>0$ **Док-во:** Посчитаем мат ожидание для одного испытания: $E(e^{tY_i}) = 0.5e^t+0.5e^{-t}$ $e^t = 1+t/1!+t^2/2!+...$ $e^{-t} = 1-t/1!+t^2/2!+...$ А сумма тогда: $e^t+e^{-t} = 2 \cdot(1 + t^2/2!+t^4/4!+...)$ При этом $e^{t^2/2} = \sum_{i=0}^{\infty}(t^2/2)^i / i!$ Таким образом, то что написано двумя строчками выше меньше чем то что на предыдущей => $E(e^{tY_i}) = 0.5e^t+0.5e^{-t} \leq e^{t^2/2}$ Тогда $E(e^{tY}) \leq e ^{nt^2/2}$ $P[Y\geq a] = P[e^{Yt}\geq e^{at}] \leq \frac{Ee^{Yt}}{e^{at}}\leq \frac{e^{nt^2/2}}{e^{at}} = e^{nt^2/2 - at}$ Такая штука достигает минимума при $t=a/n$ Итого получим что: $P[Y\geq a]\leq e^{-\frac{a^2}{2n}}$ Из симметричности: $P[Y\leq -a]\leq e^{-\frac{a^2}{2n}}$ Тут теперь можно перейти обратно к обычному Бернулли: $P[X \geq EX +a] \leq e^{-\frac{2a^2}{n}}$ $P[X\geq (1+\delta)EX] \leq e^{-\delta^2 n /2}$ ## Матрица из -1 и 1 Пусть есть матрица из нулей и 1 $a_{11}... a_{1m}$ $...$ $a_{n1}...a_{nm}$ Хотим ее умножить на вектор $(x_1, x_2, ..., x_m)$ такой чтобы $Ax \sim 0$ ($||Ax||_\infty\leq \sqrt{4mln{n}}$) $||Ax||_\infty = max_i (a_{i1}x_1+...+a_{im}x_m)$ Вот то что справа написано это как будто мы k раз кинули монетку и k это сколько из ашек получилось единицами Давайте найдем вероятность, что если мы зафиксируем набор ашек и будем случайно выбирать x, то нам не повезет. $P[a_{i1}x_1+...+a_{im}x_m]\geq \sqrt{4m\ln{n}}$ Пусть $Y_i = a_{i1}x_1$ давайте используем, что $P[|Y|\geq a]\leq 2e^{-\frac{a^2}{2n}}, a>0$ Только у нас не n, а k слагаемых, так что выходит: $P[|Y|\geq a]\leq 2e^{-\frac{a^2}{2k}}\leq 2e^{-\frac{a^2}{2m}}\leq 2e^{-4mln{n}/2m}=2e^{-2ln{n}}=2/n^2$ Это мы выяснили вероятность провала для одной строки, а для всех строчек это будет 2/n. # 5. Routing problem на гиперкубе - ![](https://i.imgur.com/qWfbEg5.jpg) ![](https://i.imgur.com/ABMLqrK.jpg) # 6. Wiring problem - ![](https://i.imgur.com/tJlNsUz.jpg) ![](https://i.imgur.com/R0O6qTC.jpg) ![](https://i.imgur.com/DgWTCdJ.jpg) # 7. Congestion problem - Обощение предыдущей задачи о проводах Тут вроде понятно написано по модулю деталей и вычислений, хотя бы идея описана ![](https://i.imgur.com/aziPnse.jpg) ![](https://i.imgur.com/jRAzPYT.jpg) # 8. Balls and bins. Bucket sort, + ## Balls and Bins Задача: У нас есть n корзин и m шариков. Назовем загрузкой число шариков в корзине. Тогда при n=m средняя загрузка равна 1, а чему равна максимальная загрузка? Очевидно, что совсем максимальная загрузка - 1, но вероятность такого исхода ничтожно мала. Давайте докажем, что $P(MaxLoad > 3\frac{\ln{n}}{ln{ln{n}}}) \leq 1/n, n\to\infty$. ![](https://i.imgur.com/W07LtPt.png) ## Bucket Sort Это сортировка, которая при определенных условиях может работать быстрее чем за $\Omega(n \log{n})$ Условия: берем $n=2^m$ элементов, равномерно распределенных на отрезке $[0, 2^k), k \geq m$ и независимых. Докажем, что ожидаемое время работы алгоритма - O(n). Причем это время зависит только от входных данных. ### Первая часть Раскладываем элементы по n корзинам. При этом в корзине с номером j будут храниться элементы, у которых первые m битов предcтавляют собой число j. Очевидно, что такое раскладывание делается за O(n), если мы можем запихивать число в корзину за O(1). Также заметим, что поскольку исходное распределение было равномерным, то количество элементов, которые попали в какую-то конкретную корзину будет распределено как B(n, 1/n). ### Вторая часть Просто сортим каждую корзину обычной квадратичной сортировкой. Осталось показать, что на вторую часть мы тратим O(n) времени. #### Док-во Исходя из того, что элементы распределены равномерно, мы получаем, что работаем с моделью balls and bins. Заметим, что для того, чтобы отсортировать какую-то одну корзину, мы потратим $c(X_j)^2$ времени, где $X_j$ - количество элементов в j-ой корзине. Тогда математическое ожидание времени, нужной на всю сортировку, будет выглядеть так: $E[\sum_{j=1}^n c(X_j)^2] = c\sum_{j=1}^n X_j^2 = cnEX_1^2$. Исходя из того, что для биномиального распределение мат. ожидание np, а дисперсия npq получим, что $EX^2 = DX + (EX)^2 = np(1-p) + n^2p^2 = np(1-p+np)$ В нашем случае $p=1/n=> EX^2 = 1-1/n+1 = 2-1/n < 2$ $E[\sum_{j=1}^n c(X_j)^2] =cnEX_1^2 \leq 2cn$, ЧТД # 9. Гамильтонов цикл на случайном графе ![](https://i.imgur.com/deBhhcv.png) ![](https://i.imgur.com/tO7kvij.jpg) ![](https://i.imgur.com/PfT2Jyi.jpg) ![](https://i.imgur.com/VOUVkdM.jpg) # 10. Граница сверху на количество шаров в самой загруженной корзине, +- **Лемма:** Пусть n шариков бросаются независимо из равномерного распределения, тогда $P(MaxLoad > 3\frac{\ln{n}}{ln{ln{n}}}) \leq 1/n, n\to\infty$. **Док-во:** Вероятность того, что в первую корзину попадет M шариков: $C_M^n\cdot (\frac{1}{n})^M$ Теперь несколько неравенств: $C_M^n\cdot (1/n)^M = \frac{n!}{M! (n-M)!n^M} \leq \frac{1}{M!(n-M)!} \leq 1/M!$ Несколько замечаний из Маклорена: $e^k = \sum_{i=0}^{\infty}\frac{k^i}{i!} > \frac{k^k}{k!}$ => $k! > (k/e)^k$ => $1/k! < (e/k)^k$ => $1/M! \leq (e/M)^M$ do not understand what’s going on next ![](https://i.imgur.com/W07LtPt.png) вставила чтобы можно было просто перекатать конец # 11. Counting Argument. Число Рамсея. + ![](https://i.imgur.com/iI959xl.png) Для того, чтобы доказать существование какого-либо объекта с каким-то набором свойств, мы можем построить вероятностное пространство и показать, что вероятность достать нужный нам объект в этом пространстве строго больше нуля. **Пример:** Если $C_2^n 2^{1-C_2^k} < 1$, то можно покрасить ребра полного графа на n вершинах в два цвета так, чтобы в этом графе не было ни одной клики размера k одного цвета. **Док-во:** Пространство -- все возможные покраски графа в два цвета. Всего их $2^{C_2^n}$. Отсюда вероятность того, что наш граф покрашен каким-то способом - $2^{-C_2^n}$. Тогда давайте посмотрим на все клики в нашем графе размера k и пронумеруем их. Всего клик такого размера будет $C_k^n$. Тогда пусть $A_i$ - событие, что клика покрашена в один цвет. Найдем вероятность такого события: $P(A_i) = 2 \cdot 2^{-C^{k}_2} = 2^{1-C^{k}_2}$ Тогда суммарная вероятность того, что произойдет хотя бы одно из этих событий (сразу воспользуемся union bound): $P(\Cup A_i) \leq \sum P(A_i) = C_n^k\cdot 2^{1-C^{k}_2} < 1$ (по условию теоремы) $P(\Cap !A_i) = 1 - A(\Cup A_i) > 0$, ЧТД # 12. Expectation Argument. Derandomization of expectation argument + ## Лемма о мат ожидании Кроме всего прочего, мы можем смотреть на мат. ожидание какой-то штуки. Например, если м.о. EX, то должен существовать элемент больше и меньше этого мат. ожидания. Можем этим тоже пользоваться. **Lemma:** Suppose we have a probability space $\mathcal{S}$ and a random variable $X$ defined on $\mathcal{S}$ such that $\mathbf{E}[X]=\mu$. Then $\operatorname{Pr}(X \geq \mu)>0$ and $\operatorname{Pr}(X \leq \mu)>0$. **Proof:** We have $$ \mu=\mathbf{E}[X]=\sum_{x} x \operatorname{Pr}(X=x), $$ where the summation ranges over all values in the range of $X$. If $\operatorname{Pr}(X \geq \mu)=0$, then $$ \mu=\sum_{x} x \operatorname{Pr}(X=x)=\sum_{x<\mu} x \operatorname{Pr}(X=x)<\sum_{x<\mu} \mu \operatorname{Pr}(X=x)=\mu, $$ giving a contradiction. Similarly, if $\operatorname{Pr}(X \leq \mu)=0$ then $$ \mu=\sum_{x} x \operatorname{Pr}(X=x)=\sum_{x>\mu} x \operatorname{Pr}(X=x)>\sum_{x>\mu} \mu \operatorname{Pr}(X=x)=\mu, $$ again yielding a contradiction. ## Максимальный разрез **Теорема:** Пусть дан граф с n вершинами и m ребрами, тогда граф можно разбить на 2 непересекающихся подмножества так, чтобы хотя бы m/2 ребер соединяли вершины из разных подмножеств. **Док-во:** Раскидаем вершины в два множество случайно и пронумеруем все ребра. Тогда пусть с.в. X равна 1 если соединяет вершины из разных частей и ноль иначе. Вероятность соединять вершины из разных частей -- 0.5, отсюда $EX_i = 0.5$. В таком случае математическое ожидание количества ребер, которые соединяют вершины из разных частей $EX=\sum EX_i = m EX_i=m/2$. Исходя из леммы которая была раньше, получаем, что есть такое разбиение. ## Дерандомизация **Алгоритм:** берем первую вершину в А. Дальше каждую следующую складываем туда, где для нее меньше соседей. **Док-во:** Индуктивно покажем, что $$ \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}\right] \leq \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k+1}\right] $$ Исходя из этого мы можем получить: $$ \mathbf{E}[C(A, B)] \leq \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{n}\right] $$ The right-hand side is the value of the cut determined by our placement algorithm, since if $x_{1}, x_{2}, \ldots, x_{n}$ are all determined then we have a cut of the graph. Hence our algorithm returns a cut whose value is at least $\mathbf{E}[C(A, B)] \geq m / 2$. The base case in the induction is $$ \mathbf{E}\left[C(A, B) \mid x_{1}\right]=\mathbf{E}[C(A, B)] $$ which holds by symmetry because it does not matter where we place the first vertex. We now prove the inductive step, that $$ \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}\right] \leq \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k+1}\right] $$ Consider placing $v_{k+1}$ randomly, so that it is placed in $A$ or $B$ with probability $1 / 2$ each, and let $Y_{k+1}$ be a random variable representing the set where it is placed. Then $$ \begin{aligned} \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}\right]=& \frac{1}{2} \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=A\right] \\ &+\frac{1}{2} \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=B\right] . \end{aligned} $$ It follows that $$ \begin{aligned} \max \left(\mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=A\right], \mathbf{E}[C(A, B) \mid\right.&\left.\left.\mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=B\right]\right) \\ & \geq \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}\right] \end{aligned} $$ Therefore, all we have to do is compute the two quantities $\mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots\right.$ $\left.x_{k}, Y_{k+1}=A\right]$ and $\mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=B\right]$ and then place the $v_{k+1}$ in the set that yields the larger expectation. Once we do this, we will have a placement satisfying $$ \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}\right] \leq \mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k+1}\right] $$ To compute $\mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=A\right]$, note that the conditioning gives the placement of the first $k+1$ vertices. We can therefore compute the number of edges among these vertices that contribute to the value of the cut. For all other edges, the probability that it will later contribute to the cut is $1 / 2$, since this is the probability its two endpoints end up on different sides of the cut. By linearity of expectations, $\mathbf{E}[C(A, B) \mid$ $\left.x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=A\right]$ is the number of edges crossing the cut whose endpoints are both among the first $k+1$ vertices, plus half of the remaining edges. This is easy to compute in linear time. The same is true for $\mathbf{E}\left[C(A, B) \mid x_{1}, x_{2}, \ldots, x_{k}, Y_{k+1}=B\right]$. # 13. 3/4 -приближение для MaxSAT **Утверждение**: Существует набор значений переменных для k-SAT такой что как минимум $\frac{2^k-1}{2^k}m$ клозов выполнено. m количество дизъюнктов в формуле **Док-во:** $ECountOfGood = \sum_{i=1}^m E(C_i) = mE(C_i)$ $EC_i = P(C_i=1)=\frac{2^k-1}{2^k}$ $ECountOfGood = m\frac{2^k-1}{2^k}$ Берем фиксируем значение для какой-то вершины, тогда $EF = pE(F_{x_1=0}) + (1-p)E(F_{x_1=1})$ Видно, что такой алгоритм хорошо работает если все клозы достаточно длинные. А мы хотели бы построить алгоритм, который выполнял бы 3/4 от всех клозов, которые могут выполняться. Создадим задачу целочисленного линейного программирования, для каждого клоза $z_i$ -- выполнен ли этот клоз. Хотим найти $max(\sum x_i)$ При этом $z_i\leq$ суммы элементов клоза, взятых просто так, если они там без отрицания и 1-х если они в клозе с отрицанием. $z_p=0$ только если все элементы равны нулю. Можем решить эту задачу за полиномиальное время. Чще всего на выходе получим не целые числа, а дробные. Тогда будем опринимать это как вероятности, что элемент равен 1. Тогда клоз C будет выполнен с вероятностью 1 - $\prod y_i$ Тут нам сказали поверить что такое произведение будет больше чем $1-(1-\frac{z_p}{k})^k, z_p=\sum_{j} y_{ij}$ В свою очередь это больше чем $(1-(1-1/k)^k)z_p\geq (1-1/e)z_p$ Мат. ожидание количества клозов выдаст тогда $1-1/e$ Оказывается, что это все щее не то что мы хотели, давайте подбрасывать монетку и выбирать один из двух алгоритмов. ![](https://i.imgur.com/nnTWBrj.jpg) ![](https://i.imgur.com/UmB6w7i.jpg) # 14. Sample and modify. The second moment method. Two point sampling+ Сначала генерируем объект, а потом уже его меняем. ## Независимое множество **Теорема:** Пусть есть граф. Тогда в нем есть независимое множество хотя бы на $n^2/4m$ вершин. **Док-во:** Средняя степень вершины в графе $d=2m/n$. Алгоритм: 1. Удаляем вершины из графа (вместе с инцидентными ребрами) независимо с вероятностью $1-1/d$. 2. Для всех ребер что остались: удаляем ребро и одну из инцидентных ему вершин Оставшиеся вершины образуют независимое множество. Давайте докажем, что это так. Изначально было $n\cdot d/2$ ребер. Мы оставляем вершину на первом шаге с вероятностью $1/d$. Тогда $E[countNodes]=n/d$. Остается ребер $E[countEdges]=\frac{nd}{2d^2}=\frac{n}{2d}$, так как каждое ребро остается с вероятностью $1/d^2$. На втором шаге мы удаляем максимум столько вершин, сколько было ребер. Остается вершин $$E[countNodes]-E[countEdges] = n/d-n/2d=n/2d=n^2/4m$$, ЧТД ## Метод второго момента **Теорема:** If $X$ is a nonnegative integer-valued random variable, then $$ \operatorname{Pr}(X=0) \leq \frac{\operatorname{Var}[X]}{(\mathbf{E}[X])^{2}} . $$ **Док-во:** $$ \operatorname{Pr}(X=0) \leq \operatorname{Pr}(|X-\mathbf{E}[X]| \geq \mathbf{E}[X]) \leq \frac{\operatorname{Var}[X]}{(\mathbf{E}[X])^{2}} $$ ## Two point sampling ![](https://i.imgur.com/34rjHrD.jpg) ![](https://i.imgur.com/BHy5MyF.jpg) # 15. Граф с большим обхватом + Обхват графа -- размер наименьшего цикла. **Theorem:** For any integer $k \geq 3$ there is a graph with $n$ nodes, at least $\frac{1}{4} n^{1+1 / k}$ edges, and girth at least $k$. **Proof:** We first sample a random graph $G \in G_{n, p}$ with $p=n^{1 / k-1}$. Let $X$ be the number of edges in the graph. Then $$ \mathbf{E}[X]=p\left(\begin{array}{l} n \\ 2 \end{array}\right)=\frac{1}{2}\left(1-\frac{1}{n}\right) n^{1 / k+1} . $$ Let $Y$ be the number of cycles in the graph of length at most $k-1$. Any specific possible cycle of length $i$, where $3 \leq i \leq k-1$, occurs with probability $p^{i}$. Also, there are $\left(\begin{array}{l}n \\ i\end{array}\right) \frac{(i-1) !}{2}$ possible cycles of length $i$; to see this, first consider choosing the $i$ vertices, then consider the possible orders, and finally keep in mind that reversing the order yields the same cycle. Hence, $$ \mathbf{E}[Y]=\sum_{i=3}^{k-1}\left(\begin{array}{c} n \\ i \end{array}\right) \frac{(i-1) !}{2} p^{i} \leq \sum_{i=3}^{k-1} n^{i} p^{i}=\sum_{i=3}^{k-1} n^{i / k}<k n^{(k-1) / k} . $$ We modify the original randomly chosen graph $G$ by eliminating one edge from each cycle of length up to $k-1$. The modified graph therefore has girth at least $k$. When $n$ is sufficiently large, the expected number of edges in the resulting graph is $$ \mathbf{E}[X-Y] \geq \frac{1}{2}\left(1-\frac{1}{n}\right) n^{1 / k+1}-k n^{(k-1) / k} \geq \frac{1}{4} n^{1 / k+1} . $$ Hence there exists a graph with at least $\frac{1}{4} n^{1+1 / k}$ edges and girth at least $k$. Вставляю потому что на русском)))) ![](https://i.imgur.com/XjjffPW.jpg) ![](https://i.imgur.com/14glx7Q.jpg) # 16. Клика на 4 вершинах + **Теорема:** Рассмотрим граф G(n, p). Если $p=o(n^{-2/3})$ то в графе с вероятностью близкой к нулю нет клики на 4 вершинах. Если $p=\omega(n^{-2/3})$ то в графе почти точно есть клики на 4 вершинах. **Док-во** Докажем первую часть Чтобы была клика, нужно чтобы были все возможные 6 ребер => вероятность такого $p^6$, а количество таких графов - $C_4^n$ Тогда $E(count-of-cliques) = C_4^np^6 \leq n^4p^6 = n^4 o(n^{-4}) = o(1)$ Это на самом деле значит, что $P[X\geq 1]\leq E(X) = o(1)$ Вторая часть Пусть X - количество клик, тогда нам хочется узнать $P[X=0]\leq \frac{DX}{(EX)^2}$ Заметим, что сейчас у нас $EX\to\infty$, но это на деле нам не говорит ни о чем. Можем принимать значение ноль почти везде ($p=1-1/n$) и очень большое значение с маленькой ненулевой вероятностью $(EX)^2 \sim n^8p^{12}$ $DX = D(X_1+X_2+...+X_{C_4^n})=\sum_{i=1}^{c_4^n}D(X_i)+\sum_{i\neq j}cov(X_i, X_j)$ $cov(X_i, X_j) = E(X_i X_j) - EX_i EX_j$ $X_i$ - Бернуллиевская величина с вероятностью успеха $p^6$ (вытащить клику на 4 вершинах) $\sum_{i=1}^{C_4^n}DX_i=C_4^n p^6(1-p^6)\leq n^4p^6$ $\sum_{i\neq j}cov(X_i, X_j)\leq \sum_{i\neq j}E(X_iX_j)$ Давайте честно посмотрим на то, что у нас может быть в этом произведении. Тут может быть от одной до трех общих вершин При этом если общая вершина одна -- то общих ребер ноль, а следовательно матожидание общих ребер равно нулю Общих вершины две: в таком случае у нас всего 6 вершин, 1 общее ребро, всего 11 ребер. Тогда вероятность возникновения такой ситуации $p^{11}$. А сколько таких пар можно сделать? $C_2^n \cdot C_{2}^{n-2}\cdot C_{2}^{n-4}$. Тогда математическое ожидание для количества таких штук будет $\leq p^{11}n^6$ (просто очень грубо обрубаем вверх) Общих вершин три: 5 вершин, 3 общих ребра, всего 9 ребер. Делаем все те же вычисления и получаем, что м.о. количества таких ситуаций $\leq p^9n^5$. Тогда $\sum_{i\neq j}E(X_iX_j)\leq 0+n^6p^{11}+n^5p^9$ В таком случае дисперсия оценивается как: $DX\leq n^4p^6 + n^6p^{11}+n^5p^9$ Оценим вероятность того, что X=0: $P[X=0]\leq DX/(EX)^2 = \frac{n^4p^6 + n^6p^{11}+n^5p^9}{n^8p^12}$ Можно видеть, что если к штуке сверху применить ограничение на p из условия, то все получится равным нулю. ЧТД # 17. Локальная лемма Ловаса + **Theorem:** Let $E_{1}, \ldots, E_{n}$ be a set of events, and assume that the following hold: 1. for all $i, \operatorname{Pr}\left(E_{i}\right) \leq p$; 2. the degree of the dependency graph given by $E_{1}, \ldots, E_{n}$ is bounded by $d$; 3. $4 d p \leq 1$. Then $\operatorname{Pr}\left(\bigcap_{i=1}^{n} \bar{E}_{i}\right)>0$ **Доказательство:** Пусть есть события $E_1, E_2, ..., E_n$ - они все плохие. Если бы они были независимы, то есть вероятность что все будет хорошо ($P[!E_1\cap !E_2 \cap...\cap !E_n]>0$). Давайте поставим в соответствие этим событиям граф G на n вершинах. Вершина - событие, ребро есть в том случае, если два события не являются независимыми. Доказывать будем по индукции. Let $S \subset\{1 \ldots . . n\}$. We prove by induction on $s=0, \ldots n-1$ that, if $|S| \leq s$, then for all $k\notin$ $S$ we have $$ \operatorname{Pr}\left(E_{k} \mid \bigcap_{j\in S} \bar{E}_{j}\right) \leq 2 p . $$ For this expression to be well-defined when $S$ is not empty. we need $\operatorname{Pr}\left(\bigcap_{j\in S} \bar{E}_{j}\right)>0$. The base case $s=0$ follows from the assumption that $\operatorname{Pr}\left(E_{k}\right) \leq p$. To perform the inductive step, we first show that $\operatorname{Pr}\left(\bigcap_{j \in S} \bar{E}_{j}\right)>0 .$ This is true when $s=1$. because $\operatorname{Pr}\left(\bar{E}_{j}\right) \geq 1-p>0 .$ For $s>1$, without loss of generality let $S=[1,2 \ldots . .s]$. Then $$ \begin{aligned} \operatorname{Pr}\left(\bigcap_{i=1}^{s} \bar{E}_{j}\right) &=\prod_{i=1}^{s} \operatorname{Pr}\left(\bar{E}_{j} \mid \bigcap_{j=1}^{i-1} \bar{E}_{j}\right) \\ &=\prod^{s}\left(1-\operatorname{Pr}\left(E_{i} \mid \prod_{j=1}^{i-1} \bar{E}_{j}\right)\right) \\ & \geq \prod(1-2 p)>0 \end{aligned} $$ In obtaining the last line we used the induction hypothesis. For the rest of the induction. let $S_{1}=\left\{j \in S\left|\left(k, j\right) \in E\right\}\right.$ and $S_{2}=S-S_{1}$. If $S_{2}=$ $S$ then $E_{k}$ is mutually independent of the events $\bar{E}_{r}, i \in S$, and $$ \operatorname{Pr}\left(E_{k} \mid \bigcap_{j\in S} \bar{E}_{j}\right)=\operatorname{Pr}\left(E_{k}\right) \leq p . $$ We continue with the case $\left|S_{2}\right|<s$. It will be helpful to introdace the following notation. Let $F_{S}$ be defined by $$ F_{S}=\bigcap_{j \in S} \bar{E}_{j} $$ and similarly define $F_{S_1}$ and $F_{S_2}$. Notice that $F_{S}=F_{S_1} \cap F_{S_2}$. Applying the definition of conditional probability yields $$ \operatorname{Pr}\left(E_{k} \mid F_{s}\right)=\frac{\operatorname{Pr}\left(E_{k} \cap F_{s}\right)}{\operatorname{Pr}\left(F_{s}\right)} $$ Applying the definition of conditional probability to the numerator of $(6.4)$, we obtain $$ \begin{aligned} \operatorname{Pr}\left(E_{k} \cap F_{S}\right) &=\operatorname{Pr}\left(E_{k} \cap F_{S_1} \cap F_{S_2}\right) \\ &=\operatorname{Pr}\left(E_{k} \cap F_{S_1} \mid F_{S_2}\right) \operatorname{Pr}\left(F_{S_2}\right) \end{aligned} $$ The denominator can be written as $$ \begin{aligned} \operatorname{Pr}\left(F_{S}\right) &=\operatorname{Pr}\left(F_{S_1} \cap F_{S_1}\right) \\ &=\operatorname{Pr}\left(F_{S_1} \mid F_{S_2}\right) \operatorname{Pr}\left(F_{S_{2}}\right) \end{aligned} $$ Canceling the common factor, which we have already shown to be nonzero, yields $$ \operatorname{Pr}\left(E_{k} \mid F_{s}\right)=\frac{\operatorname{Pr}\left(E_{k} \cap F_{S_{1}} \mid F_{S_{2}}\right)}{\operatorname{Pr}\left(F_{S_{1}} \mid F_{S_{2}}\right)} . $$ Note that $(6.5)$ is valid even when $S_{2}=\emptyset$. Since the probability of an intersection of events is bounded by the probability of any one of the events and since $E_{k}$ is independent of the events in $S_{2}$, we can bound the numerator of $(6.5)$ by $$ \operatorname{Pr}\left(E_{k} \cap F_{S_{1}} \mid F_{S_{2}}\right) \leq \operatorname{Pr}\left(E_{k} \mid F_{S_{2}}\right)=\operatorname{Pr}\left(E_{k}\right) \leq p . $$ Because $\left|S_{2}\right|<|S|=s$, we can apply the induction hypothesis to $$ \operatorname{Pr}\left(E_{i} \mid F_{S_{2}}\right)=\operatorname{Pr}\left(E_{i} \mid \bigcap_{j\in S_{2}} \bar{E}_{j}\right) $$ Using also the fact that $\left|S_{1}\right| \leq d$, we establish a lower bound on the denominator of (6.5) as follows: $$ \begin{aligned} \operatorname{Pr}\left(F_{S_{1}} \mid F_{S_{2}}\right) &=\operatorname{Pr}\left(\bigcap_{i \in S_{1}} \bar{E}_{j} \mid \bigcap_{j \in S_{2}} \bar{E}_{j}\right) \\ & \geq 1-\sum_{i\in S_{1}} \operatorname{Pr}\left(E_{i} \mid \bigcap_{j \in S_{2}} \bar{E}_{j}\right) \\ & \geq 1-\sum_{i\in S_{1}} 2 p \\ & \geq 1-2 p d \\ & \geq \frac{1}{2} \end{aligned} $$ Using the upper bound for the numerator and the lower bound for the denominator, we prove the induction: $$ \begin{aligned} \operatorname{Pr}\left(E_{k} \mid F_{S}\right) &=\frac{\operatorname{Pr}\left(E_{k} \cap F_{S_{1}} \mid F_{S_{2}}\right)}{\operatorname{Pr}\left(F_{S_{1}} \mid F_{S_{2}}\right)} \\ & \leq \frac{p}{1 / 2}=2 p \end{aligned} $$ The theorem follows from $$ \begin{aligned} \operatorname{Pr}\left(\bigcap_{i=1}^{n} \bar{E}_{i}\right) &=\prod_{i=1}^{n} \operatorname{Pr}\left(\bar{E}_{i} \mid \bigcap_{j=1}^{i-1} \bar{E}_{j}\right) \\ &=\prod_{i=1}^{n}\left(1-\operatorname{Pr}\left(E_{i} \mid \bigcap_{j=1}^{i-1} \bar{E}_{j}\right)\right) \\ & \geq \prod_{i=1}^{n}(1-2 p)>0 \end{aligned} $$ # 18. Применение локальной леммы Ловаса к задаче о путях. Локальная лемма Ловаса и MaxSAT + ## Задача о путях **Задача:** Есть n пар пользователей, которые хотят общаться друг с другом по непересекающимся путям. Каждая пара может выбирать пусть из коллекции $F_i$ размера m. Если каждая пара $F_i$ шарит не более чем k путей с другой парой $F_j$, при этом $8nk/m \leq 1$, тогда можно выбрать непересекающиеся пути. (m -- количество возможных путей для каждой пары) **Док-во:** Пусть для каждой пары рандомно выбираем один путь из m доступных. Тогда пусть $E_{i, j}$- событие что выбранные пути для двух пар имеют хотя бы одно общее ребро. Исходя из того, что мы шарим не более чем k ребер, то $P[E_{i, j}]\leq k/m$. Заметим, что наше событие независимо ото всех событий, которые не затрагивают вершины i, j. Поэтому степень графа у нас меньше чем 2n. Посчитаем: $4dp\leq 4*2np = 8nk/m \leq 1$. Таким образом, все условия для леммы Ловаса выполняются, поэтому существует такое разбиение когда пути нигде не пересекаются. ## MaxSAT **Теорема:** Если никакая переменная не появляется в k-SAT более чем $T=2^k/4k$ клозах, то у формулы есть решение. **Док-во:** Рассмотрим для каждого клоза событие $E_i$ - что клоз не выполнен. Поскольку клоз выполняется если есть хотя бы 1 единица, то $P(E_i) = 2^{-k}$. Заметим, что в графе зависимостей какой-то клоз будет независим ото всех клозов, которые не шарят с ним ни одной переменной. Мы знаем, что одна переменная появляется не более чем в T клозах, поэтому $d\leq kT=2^{k-2}$. (так как $k$ переменных и каждая в не более чем в $T$ клозах) В таком случае посчитаем: $4dp = 2^k 2^{-k} = 1$ => будет существовать удовлетворяющее решение. # 19. Поиск выполняющего набора у MaxSAT с помощью леммы Ловаса Есть k-SAT, к четное, каждая переменная встречается в не более чем $T=2^{\alpha k}$ клозах. хотим найти решение за полиномиальное время. 1. Фиксируем значения у каких-то переменых. 2. Назовем опасными те клозы, у которых более половины переменных зафиксировано, но нет ответа 3. Решаем для оставшихся Будут две леммы, которые говорят, что: * частичное решение, полученное на первой фазе может быть преобразовано в полное решение для формулы * с большой вероятностью поиск решения на второй фазе закончится за полином от m. Лемма 1. Существует такое установление занчений что формула будет решена. Let $H^{\prime}=\left(V^{\prime}, E^{\prime}\right)$ be a graph with $V^{\prime} \subseteq V$ and $E^{\prime} \subseteq E$ such that (a) $i \in V^{\prime}$ if and only if $C_{i}$ is a surviving clause and (b) $(i, j) \in E^{\prime}$ if and only if $C_{i}$ and $C_{j}$ share a deferred variable. In the following discussion we do not distinguish between node $i$ and clause $i$. Лемма 2. Все компоненты связности в H' имеют размер $O(log m)$ с вероятностью $1-o(1)$. Итого получаем: **Theorem 6.16:** Consider a $k$-SAT formula with $m$ clauses, where $k$ is an even constant and each variable appears in up to $2^{\alpha k}$ clauses for a sufficiently small constant $\alpha>0$. Then there is an algorithm that finds a satisfying assignment for the formula in expected time that is polynomial in $m$. **Proof:** As we have described, if the first phase partitions the problem into subformulas involving only $O(k \log m)$ variables, then a solution can be found by solving each subformula exhaustively in time that is polynomial in $m$. The probability of the first phase partitioning the problem appropriately is $1-o(1)$, so we need only run phase I a constant number of times on average before obtaining a good partition. The theorem follows. # 20. Вероятностный алгоритм для k-SAT ![](https://i.imgur.com/27HuyqA.png) ![](https://i.imgur.com/YeYTmnJ.png) # 21. FPRAS. Приближенное вычисление выполняющих наборов у ДНФ ![](https://i.imgur.com/1jfmi36.png) ![](https://i.imgur.com/O1i4lnv.png) Доказательство по Чернову по идее ![](https://i.imgur.com/0IssOGP.png) ![](https://i.imgur.com/XpiMpAZ.png) ![](https://i.imgur.com/uUKaTX1.png) ![](https://i.imgur.com/mPk4wJE.png) ![](https://i.imgur.com/KqJn9UG.png) # 22. FPAUS. FPAUS влечет за собой FPRAS для множества независимых множеств в графе. ![](https://i.imgur.com/qsZ8FyF.png) # 23. Минимальный разрез ![](https://i.imgur.com/GAbKrmD.png) ![](https://i.imgur.com/eKwy4nF.png) ![](https://i.imgur.com/ZIpa2EC.png) ![](https://i.imgur.com/0JstOpY.png) ![](https://i.imgur.com/I8PWbHr.png) ![](https://i.imgur.com/wMx8Ipt.png) ![](https://i.imgur.com/SXivVuV.png) # 24. Feedback Vertex Set за $O^*(4^k)$ ![](https://i.imgur.com/12EYiyX.png) ![](https://i.imgur.com/AiljbYN.png) ![](https://i.imgur.com/figTbtC.png) # 25. MST in linear time что мы умеем 1. за линейное время делать итерации борувки 2. за линейное время чекать что то что мы нашли это мст 3. за линейное время делать сэмплирование отрезая половину ребер итого мы сначала делаем итерацию борубвки + отбрасываем f-heavy ребра, получаем граф поменьше (не до конца поняла почему количество вершин урезалось в 8 раз) (первое слагаемое) потом мы делаем эсмплирование с вероятностью оставить ребро 0.5, получаем новый граф, для которого тоже делаем поиск мст рекурсивно (2 слагаемое), а потом уже делаем верификацию для полученного (3 слагамемое) ![](https://i.imgur.com/mIjihxc.png) ![](https://i.imgur.com/vHxuZT0.png) # 26. All pairs shortest path ![](https://i.imgur.com/QGLCXlt.jpg) ![](https://i.imgur.com/fFCuItf.jpg) ![](https://i.imgur.com/GrVq5Mt.jpg) ![](https://i.imgur.com/8uZYOvQ.jpg) ![](https://i.imgur.com/UrHFSL4.jpg) # 27. d-кластеризация, субэкспоненциальный алгоритм ![](https://i.imgur.com/qSbsiBl.jpg) ![](https://i.imgur.com/skVU17T.jpg) # 28. Комбинаторный экспандер. Простое увеличение вероятности успеха с помощью экспандера ![](https://i.imgur.com/n7sfhKT.png) ![](https://i.imgur.com/6wgh3jX.jpg) ![](https://i.imgur.com/Q4CBNfE.jpg) # 29. Существование комбинаторного экспандера ![](https://i.imgur.com/hdQeYbT.jpg) ![](https://i.imgur.com/iAWKQqp.jpg) # 30. Алгераический экспандер. Задача UPath ![](https://i.imgur.com/bXUAbF7.jpg) ![](https://i.imgur.com/0UmVd3n.jpg) # 31. Уменьшение использования случайных бит с помощью экспандера ![](https://i.imgur.com/a3GBjhn.jpg) ![](https://i.imgur.com/atF1k0e.jpg) # 32. Достижимость вершин за логарифмическую память в орграфах ![](https://i.imgur.com/JcabsX7.jpg) # 33. Универсальное семейство хэш-функций, строго универсальное семейство хэш-функций. Дерандомизация приближения MaxCUT Пусть H — конечное множество хеш-функций, которые отображают пространство ключей U в диапазон {0,1,2,..,m−1}. Такое множество называется универсальным (англ. universal), если для каждой пары ключей $k,l\in U,(k\neq l)$ количество хеш-функций $h\in H$, для кото рых h(k)=h(l) не превышает |H|m. ![](https://i.imgur.com/NI1EvNA.jpg) ![](https://i.imgur.com/9WSJZCQ.jpg) MAX-CUT: ![](https://i.imgur.com/gGzhbvx.jpg) # 34. Perfect hashing. Бросание шаров в корзине при помощи 2 независимых функций ![](https://i.imgur.com/deRT0bD.png) ![](https://i.imgur.com/KF3luZ6.png) ![](https://i.imgur.com/JUQyFU1.png) ![](https://i.imgur.com/g61M32i.png) ![](https://i.imgur.com/GfUpObD.png) ![](https://i.imgur.com/Wg1SB1y.png) Шары: ![](https://i.imgur.com/PZSzb7Y.jpg) # 35. Finding heavy hitters. Count min filter Это я не понимаю, оставляю записи) ![](https://i.imgur.com/4hgv94b.jpg) ![](https://i.imgur.com/3SuejrG.jpg)

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully