20080323 efficientalgorithms kulikov_lecture19
-
Upload
computer-science-club -
Category
Documents
-
view
220 -
download
0
Transcript of 20080323 efficientalgorithms kulikov_lecture19
![Page 1: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/1.jpg)
с/к “Эффективные алгоритмы”Лекция 19: Потоки в сетях с несколькими веществами
А. Куликов
Computer Science клуб при ПОМИhttp://logic.pdmi.ras.ru/∼infclub/
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 1 / 24
![Page 2: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/2.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 2 / 24
![Page 3: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/3.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 2 / 24
![Page 4: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/4.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 2 / 24
![Page 5: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/5.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 3 / 24
![Page 6: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/6.jpg)
Постановка задачи
Определение
Дан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:
c(e) = |{Pi | e ∈ Pi}|.
ФактЗадача является NP-трудной.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24
![Page 7: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/7.jpg)
Постановка задачи
ОпределениеДан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.
Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:
c(e) = |{Pi | e ∈ Pi}|.
ФактЗадача является NP-трудной.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24
![Page 8: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/8.jpg)
Постановка задачи
ОпределениеДан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:
c(e) = |{Pi | e ∈ Pi}|.
ФактЗадача является NP-трудной.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24
![Page 9: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/9.jpg)
Постановка задачи
ОпределениеДан ориентированный граф G = (V , E ) без весов на рёбрах и kпар истоков-стоков (s1, t1), . . . , (sk , tk) ∈ V 2.Задача о потоке в сети с несколькими веществами(multicommodity flow problem) заключается в нахождении такогомножества путей Pi из si в ti для всех i = 1, . . . , k , при котороммаксимальная ширина (congestion) рёбер была бы минимальна,где под шириной понимается количество путей, проходящих черезэто ребро:
c(e) = |{Pi | e ∈ Pi}|.
ФактЗадача является NP-трудной.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 4 / 24
![Page 10: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/10.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 5 / 24
![Page 11: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/11.jpg)
Формулировка в виде задачи линейногопрограммирования
Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:
1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,
∑w : (v ,w)∈E
xi (v , w)−∑
u : (u,v)∈E
xi (u, v) =
⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.
2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,
∑1≤i≤k xi (u, v) ≤ WLP .
3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24
![Page 12: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/12.jpg)
Формулировка в виде задачи линейногопрограммирования
Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:
1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,
∑w : (v ,w)∈E
xi (v , w)−∑
u : (u,v)∈E
xi (u, v) =
⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.
2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,
∑1≤i≤k xi (u, v) ≤ WLP .
3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24
![Page 13: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/13.jpg)
Формулировка в виде задачи линейногопрограммирования
Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:
1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,
∑w : (v ,w)∈E
xi (v , w)−∑
u : (u,v)∈E
xi (u, v) =
⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.
2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,
∑1≤i≤k xi (u, v) ≤ WLP .
3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24
![Page 14: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/14.jpg)
Формулировка в виде задачи линейногопрограммирования
Формулировка в виде задачи линейного программированияМинимизировать WLP при следующих ограничениях:
1 Переменные xi (u, v) определяют поток: ∀v ∈ V , ∀i = 1, . . . , k ,
∑w : (v ,w)∈E
xi (v , w)−∑
u : (u,v)∈E
xi (u, v) =
⎧⎪⎨⎪⎩1, v = si ,−1, v = ti ,0, в противном случае.
2 Ширина каждого ребра ограничена числом WLP :∀(u, v) ∈ E ,
∑1≤i≤k xi (u, v) ≤ WLP .
3 Поток является 0− 1 потоком:∀(u, v) ∈ E ,∀i = 1, . . . , k , xi (u, v) ∈ {0, 1}.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 6 / 24
![Page 15: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/15.jpg)
Релаксация
РелаксацияЗаменим теперь условие xi (u, v) ∈ {0, 1} на xi (u, v) ≥ 0 и решимполученную задачу. Полученный поток может не быть целочисленным.
s1
t1
1
0
12
13
16
23
12
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 7 / 24
![Page 16: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/16.jpg)
Релаксация
РелаксацияЗаменим теперь условие xi (u, v) ∈ {0, 1} на xi (u, v) ≥ 0 и решимполученную задачу. Полученный поток может не быть целочисленным.
s1
t1
1
0
12
13
16
23
12
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 7 / 24
![Page 17: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/17.jpg)
Переход к целочисленному потокуПереход к целочисленному потоку
Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть
𝛼i1 = min(v ,w)∈P1
xi (v , w).
Вычтем 𝛼i1 из всех рёбер данного пути:
x ′(v , w) =
{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,
x(v , w), в противном случае,
найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24
![Page 18: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/18.jpg)
Переход к целочисленному потокуПереход к целочисленному потоку
Будем обрабатывать каждый из k потоков отдельно.
Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть
𝛼i1 = min(v ,w)∈P1
xi (v , w).
Вычтем 𝛼i1 из всех рёбер данного пути:
x ′(v , w) =
{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,
x(v , w), в противном случае,
найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24
![Page 19: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/19.jpg)
Переход к целочисленному потокуПереход к целочисленному потоку
Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.
Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть
𝛼i1 = min(v ,w)∈P1
xi (v , w).
Вычтем 𝛼i1 из всех рёбер данного пути:
x ′(v , w) =
{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,
x(v , w), в противном случае,
найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24
![Page 20: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/20.jpg)
Переход к целочисленному потокуПереход к целочисленному потоку
Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть
𝛼i1 = min(v ,w)∈P1
xi (v , w).
Вычтем 𝛼i1 из всех рёбер данного пути:
x ′(v , w) =
{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,
x(v , w), в противном случае,
найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24
![Page 21: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/21.jpg)
Переход к целочисленному потокуПереход к целочисленному потоку
Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть
𝛼i1 = min(v ,w)∈P1
xi (v , w).
Вычтем 𝛼i1 из всех рёбер данного пути:
x ′(v , w) =
{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,
x(v , w), в противном случае,
найдем новый путь и т.д.
На каждом шаге хотя бы одно ребро удаляется из Gi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24
![Page 22: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/22.jpg)
Переход к целочисленному потокуПереход к целочисленному потоку
Будем обрабатывать каждый из k потоков отдельно.Рассмотрим граф Gi , содержащий только рёбра, по которым идётi-й поток.Рассмотрим теперь путь Pi1 в графе Gi из si в ti и пусть
𝛼i1 = min(v ,w)∈P1
xi (v , w).
Вычтем 𝛼i1 из всех рёбер данного пути:
x ′(v , w) =
{x(v , w)− 𝛼i1, (v , w) ∈ Pi1,
x(v , w), в противном случае,
найдем новый путь и т.д.На каждом шаге хотя бы одно ребро удаляется из Gi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 8 / 24
![Page 23: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/23.jpg)
Переход к целочисленному потоку
Переход к целочисленному потоку
В итоге, поток i-го вещества разбивается на ji путей Pi1, . . . , Pijiиз si в ti , где вдоль пути Pij идёт 𝛼ij вещества, так что
∀(u, v) ∈ E ,∀i = 1, . . . , k ,∑
j :(u,v)∈Pij
𝛼ij = xi (u, v),
∀i = 1, . . . , k ,
ji∑j=1
𝛼ij = 1.
В качестве пути Pi из si в ti алгоритм выбирает путь Pij свероятностью 𝛼ij .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 9 / 24
![Page 24: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/24.jpg)
Переход к целочисленному потоку
Переход к целочисленному потокуВ итоге, поток i-го вещества разбивается на ji путей Pi1, . . . , Pijiиз si в ti , где вдоль пути Pij идёт 𝛼ij вещества, так что
∀(u, v) ∈ E ,∀i = 1, . . . , k ,∑
j :(u,v)∈Pij
𝛼ij = xi (u, v),
∀i = 1, . . . , k ,
ji∑j=1
𝛼ij = 1.
В качестве пути Pi из si в ti алгоритм выбирает путь Pij свероятностью 𝛼ij .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 9 / 24
![Page 25: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/25.jpg)
Переход к целочисленному потоку
Переход к целочисленному потокуВ итоге, поток i-го вещества разбивается на ji путей Pi1, . . . , Pijiиз si в ti , где вдоль пути Pij идёт 𝛼ij вещества, так что
∀(u, v) ∈ E ,∀i = 1, . . . , k ,∑
j :(u,v)∈Pij
𝛼ij = xi (u, v),
∀i = 1, . . . , k ,
ji∑j=1
𝛼ij = 1.
В качестве пути Pi из si в ti алгоритм выбирает путь Pij свероятностью 𝛼ij .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 9 / 24
![Page 26: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/26.jpg)
Общая схема алгоритма
Общая схема алгоритма
Решить релаксированную задачу линейного программирования,получив минимальную ширину WLP .Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что
∑j 𝛼ij = 1 и∑
i
∑j : (v ,w)∈Pi,j
≤ WLP .
Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24
![Page 27: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/27.jpg)
Общая схема алгоритма
Общая схема алгоритмаРешить релаксированную задачу линейного программирования,получив минимальную ширину WLP .
Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что
∑j 𝛼ij = 1 и∑
i
∑j : (v ,w)∈Pi,j
≤ WLP .
Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24
![Page 28: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/28.jpg)
Общая схема алгоритма
Общая схема алгоритмаРешить релаксированную задачу линейного программирования,получив минимальную ширину WLP .Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что
∑j 𝛼ij = 1 и∑
i
∑j : (v ,w)∈Pi,j
≤ WLP .
Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24
![Page 29: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/29.jpg)
Общая схема алгоритма
Общая схема алгоритмаРешить релаксированную задачу линейного программирования,получив минимальную ширину WLP .Разбить полученные потоки на пути Pij для i = 1, . . . , k ,j = 1, . . . , ji (где Pij — путь из si в ti ), поток по каждому изкоторых равен 𝛼ij > 0, так что
∑j 𝛼ij = 1 и∑
i
∑j : (v ,w)∈Pi,j
≤ WLP .
Для каждого i подбросить монетку с ji гранями, где j-ая граньвыпадает с вероятностью 𝛼ij , и при выпадении грани f выбрать вкачестве пути из si в ti путь Pif .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 10 / 24
![Page 30: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/30.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 11 / 24
![Page 31: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/31.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 12 / 24
![Page 32: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/32.jpg)
Оценки Чернова
ТеоремаПусть Xi суть независимые случайные переменные, принимаюащиезначение 1 с вероятностью pi и значение 0 с вероятностью (1− pi ).Тогда для всех 𝛼 > 0 и t > 0
Prob
(k∑
i=1
Xi > t
)≤ e−𝛼t
k∏i=1
E(e𝛼Xi
)= e−𝛼t
k∏i=1
(pie𝛼 + (1− pi )) .
Доказательство
Prob
(k∑
i=1
Xi > t
)= Prob
(e𝛼∑k
i=1 Xi > e𝛼t)
.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 13 / 24
![Page 33: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/33.jpg)
Оценки Чернова
ТеоремаПусть Xi суть независимые случайные переменные, принимаюащиезначение 1 с вероятностью pi и значение 0 с вероятностью (1− pi ).Тогда для всех 𝛼 > 0 и t > 0
Prob
(k∑
i=1
Xi > t
)≤ e−𝛼t
k∏i=1
E(e𝛼Xi
)= e−𝛼t
k∏i=1
(pie𝛼 + (1− pi )) .
Доказательство
Prob
(k∑
i=1
Xi > t
)= Prob
(e𝛼∑k
i=1 Xi > e𝛼t)
.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 13 / 24
![Page 34: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/34.jpg)
Доказательство (завершение)
ДоказательствоНеравенство Маркова: для любой неотрицательной случайнойвеличины Y
Prob (Y > a) ≤ E (Y )
a.
Таким образом,
Prob
(k∑
i=1
Xi > t
)≤ e−𝛼tE
(e𝛼∑k
i=1 Xi)
= e−𝛼tk∏
i=1
E(e𝛼Xi
).
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 14 / 24
![Page 35: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/35.jpg)
Доказательство (завершение)
ДоказательствоНеравенство Маркова: для любой неотрицательной случайнойвеличины Y
Prob (Y > a) ≤ E (Y )
a.
Таким образом,
Prob
(k∑
i=1
Xi > t
)≤ e−𝛼tE
(e𝛼∑k
i=1 Xi)
= e−𝛼tk∏
i=1
E(e𝛼Xi
).
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 14 / 24
![Page 36: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/36.jpg)
СледствиеСледствие
Пусть M = E(∑k
i=1 Xi
)=∑k
i=1 pi . Тогда для любого 𝛽 > 0
Prob
(k∑
i=1
Xi > (1 + 𝛽)M
)≤ (1 + 𝛽)−(1+𝛽)M ∏k
i=1 E((1 + 𝛽)Xi
)≤(
e𝛽
(1+𝛽)(1+𝛽)
)M.
ДоказательствоПервое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).
Второе — из следующего неравенства:E((1 + 𝛽)Xi
)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24
![Page 37: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/37.jpg)
СледствиеСледствие
Пусть M = E(∑k
i=1 Xi
)=∑k
i=1 pi . Тогда для любого 𝛽 > 0
Prob
(k∑
i=1
Xi > (1 + 𝛽)M
)≤ (1 + 𝛽)−(1+𝛽)M ∏k
i=1 E((1 + 𝛽)Xi
)≤(
e𝛽
(1+𝛽)(1+𝛽)
)M.
Доказательство
Первое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).
Второе — из следующего неравенства:E((1 + 𝛽)Xi
)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24
![Page 38: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/38.jpg)
СледствиеСледствие
Пусть M = E(∑k
i=1 Xi
)=∑k
i=1 pi . Тогда для любого 𝛽 > 0
Prob
(k∑
i=1
Xi > (1 + 𝛽)M
)≤ (1 + 𝛽)−(1+𝛽)M ∏k
i=1 E((1 + 𝛽)Xi
)≤(
e𝛽
(1+𝛽)(1+𝛽)
)M.
ДоказательствоПервое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).
Второе — из следующего неравенства:E((1 + 𝛽)Xi
)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24
![Page 39: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/39.jpg)
СледствиеСледствие
Пусть M = E(∑k
i=1 Xi
)=∑k
i=1 pi . Тогда для любого 𝛽 > 0
Prob
(k∑
i=1
Xi > (1 + 𝛽)M
)≤ (1 + 𝛽)−(1+𝛽)M ∏k
i=1 E((1 + 𝛽)Xi
)≤(
e𝛽
(1+𝛽)(1+𝛽)
)M.
ДоказательствоПервое неравенство следует из только что доказанной теоремыпри t = (1 + 𝛽)M, 𝛼 = ln(1 + 𝛽).
Второе — из следующего неравенства:E((1 + 𝛽)Xi
)= pi (1 + 𝛽) + (1− pi ) = 1 + 𝛽pi = 1 + 𝛽pi ≤ e𝛽pi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 15 / 24
![Page 40: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/40.jpg)
План лекции
1 Постановка задачи
2 Алгоритм
3 Анализ алгоритмаОценки ЧерноваОценка оптимальности
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 16 / 24
![Page 41: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/41.jpg)
Основная теорема
ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)
√W * ln n, с вероятностью 1− 𝜖 (c1, c2
суть константы, зависящие от 𝜖).
ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =
∑j : (v ,w)∈Pij
𝛼ij .
Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =
∑ki=1 Xi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24
![Page 42: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/42.jpg)
Основная теорема
ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)
√W * ln n, с вероятностью 1− 𝜖 (c1, c2
суть константы, зависящие от 𝜖).
Доказательство
Зафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =
∑j : (v ,w)∈Pij
𝛼ij .
Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =
∑ki=1 Xi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24
![Page 43: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/43.jpg)
Основная теорема
ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)
√W * ln n, с вероятностью 1− 𝜖 (c1, c2
суть константы, зависящие от 𝜖).
ДоказательствоЗафиксируем ребро (v , w) ∈ E .
Ребро (v , w) используется i-м потоком с вероятностьюpi =
∑j : (v ,w)∈Pij
𝛼ij .
Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =
∑ki=1 Xi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24
![Page 44: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/44.jpg)
Основная теорема
ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)
√W * ln n, с вероятностью 1− 𝜖 (c1, c2
суть константы, зависящие от 𝜖).
ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =
∑j : (v ,w)∈Pij
𝛼ij .
Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =
∑ki=1 Xi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24
![Page 45: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/45.jpg)
Основная теорема
ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)
√W * ln n, с вероятностью 1− 𝜖 (c1, c2
суть константы, зависящие от 𝜖).
ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =
∑j : (v ,w)∈Pij
𝛼ij .
Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .
Тогда W (v , w) =∑k
i=1 Xi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24
![Page 46: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/46.jpg)
Основная теорема
ТеоремаПусть дано 𝜖 > 0. Если оптимальное решение задачи о потоке в сети снесколькими веществами удовлетворяет неравенству W * ≤ c1(𝜖) ln n,где n = |V |, то алгоритм находит решение, удовлетворяющеенеравенству W ≤ W * + c2(𝜖)
√W * ln n, с вероятностью 1− 𝜖 (c1, c2
суть константы, зависящие от 𝜖).
ДоказательствоЗафиксируем ребро (v , w) ∈ E .Ребро (v , w) используется i-м потоком с вероятностьюpi =
∑j : (v ,w)∈Pij
𝛼ij .
Пусть Xi — случайная 0/1-переменная, принимающая значение 1с веротяностью pi .Тогда W (v , w) =
∑ki=1 Xi .
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 17 / 24
![Page 47: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/47.jpg)
Доказательство (продолжение)
Доказательство
E (W (v , w)) =∑
i
pi =∑
i
∑j : (v ,w)∈Pij
𝛼ij ≤ WLP ≤ W *
Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤(
e𝛽
(1 + 𝛽)(1+𝛽)
)W *
= e(𝛽−(1+𝛽) ln(1+𝛽))W *
при 𝛽 ≤ 1 выполнено неравенство 𝛽 − (1 + 𝛽) ln(1 + 𝛽) ≤ −𝛽2/3
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 18 / 24
![Page 48: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/48.jpg)
Доказательство (продолжение)
Доказательство
E (W (v , w)) =∑
i
pi =∑
i
∑j : (v ,w)∈Pij
𝛼ij ≤ WLP ≤ W *
Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤(
e𝛽
(1 + 𝛽)(1+𝛽)
)W *
= e(𝛽−(1+𝛽) ln(1+𝛽))W *
при 𝛽 ≤ 1 выполнено неравенство 𝛽 − (1 + 𝛽) ln(1 + 𝛽) ≤ −𝛽2/3
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 18 / 24
![Page 49: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/49.jpg)
Доказательство (продолжение)
Доказательство
E (W (v , w)) =∑
i
pi =∑
i
∑j : (v ,w)∈Pij
𝛼ij ≤ WLP ≤ W *
Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤(
e𝛽
(1 + 𝛽)(1+𝛽)
)W *
= e(𝛽−(1+𝛽) ln(1+𝛽))W *
при 𝛽 ≤ 1 выполнено неравенство 𝛽 − (1 + 𝛽) ln(1 + 𝛽) ≤ −𝛽2/3
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 18 / 24
![Page 50: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/50.jpg)
Доказательство (продолжение)
Доказательство
Поэтому при 𝛽 =
√3 ln n2
𝜖W * имеем Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤ 𝜖
n2 .
Неравенство 𝛽 ≤ 1 выполнено при W * ≥ 6 ln n − 3 ln 𝜖. При таком 𝛽
(1 + 𝛽)W * = W * +
√3W * ln
n2
𝜖.
Теперь оценим вероятность:
Prob(
max(v ,w)∈E
W (v , w) ≥ (1 + 𝛽)W *)
≤∑
(v ,w)∈E Prob (W (v , w) ≥ (1 + 𝛽)W *)
≤ |E | 𝜖n2 ≤ 𝜖.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 19 / 24
![Page 51: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/51.jpg)
Доказательство (продолжение)
Доказательство
Поэтому при 𝛽 =
√3 ln n2
𝜖W * имеем Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤ 𝜖
n2 .
Неравенство 𝛽 ≤ 1 выполнено при W * ≥ 6 ln n − 3 ln 𝜖.
При таком 𝛽
(1 + 𝛽)W * = W * +
√3W * ln
n2
𝜖.
Теперь оценим вероятность:
Prob(
max(v ,w)∈E
W (v , w) ≥ (1 + 𝛽)W *)
≤∑
(v ,w)∈E Prob (W (v , w) ≥ (1 + 𝛽)W *)
≤ |E | 𝜖n2 ≤ 𝜖.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 19 / 24
![Page 52: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/52.jpg)
Доказательство (продолжение)
Доказательство
Поэтому при 𝛽 =
√3 ln n2
𝜖W * имеем Prob (W (v , w) ≥ (1 + 𝛽)W *) ≤ 𝜖
n2 .
Неравенство 𝛽 ≤ 1 выполнено при W * ≥ 6 ln n − 3 ln 𝜖. При таком 𝛽
(1 + 𝛽)W * = W * +
√3W * ln
n2
𝜖.
Теперь оценим вероятность:
Prob(
max(v ,w)∈E
W (v , w) ≥ (1 + 𝛽)W *)
≤∑
(v ,w)∈E Prob (W (v , w) ≥ (1 + 𝛽)W *)
≤ |E | 𝜖n2 ≤ 𝜖.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 19 / 24
![Page 53: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/53.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)
Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24
![Page 54: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/54.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.
Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24
![Page 55: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/55.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.
Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24
![Page 56: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/56.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.
На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24
![Page 57: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/57.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.
Листья данного дерева представляют допустимые решения нашейзадачи.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24
![Page 58: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/58.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Алгоритм можно дерандомизировать методом условныхвероятностей.Для каждого вещества нам нужно выбрать один из путей.Рассмотрим дерево высоты k , где у корня есть j1 сыновей, укаждого из них — j2 сыновей и т.д.На i-м уровне, таким образом, принимается решение, какой путьвыбрать для i-го потока.Листья данного дерева представляют допустимые решения нашейзадачи.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 20 / 24
![Page 59: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/59.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Определим
g(l1, . . . , li ) = Prob
⎛⎝ max(v ,w)∈E
W (v , w) ≥ (1 + 𝛽)W *
l1 для вещества 1l2 для вещества 2
...li для вещества i
⎞⎠
Ясно, что
g(l1, . . . , li−1) =
ji∑j=1
𝛼ijg(l1, . . . , li−1, j) ≥ minj
g(l1, . . . , li−1, j).
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 21 / 24
![Page 60: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/60.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Определим
g(l1, . . . , li ) = Prob
⎛⎝ max(v ,w)∈E
W (v , w) ≥ (1 + 𝛽)W *
l1 для вещества 1l2 для вещества 2
...li для вещества i
⎞⎠Ясно, что
g(l1, . . . , li−1) =
ji∑j=1
𝛼ijg(l1, . . . , li−1, j) ≥ minj
g(l1, . . . , li−1, j).
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 21 / 24
![Page 61: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/61.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)
Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24
![Page 62: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/62.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).
Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24
![Page 63: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/63.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.
Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24
![Page 64: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/64.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.
После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24
![Page 65: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/65.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).
Иэ этого следует, что g(l1, . . . , lk) = 0.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24
![Page 66: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/66.jpg)
Дерандомизация (основная идея)
Дерандомизация (основная идея)Таким образом, если бы мы могли вычислять g(l1, . . . , li )эффективно, мы бы начали с g(∅) и, выбирая минимум накаждом шаге, построили бы последовательностьg(∅) ≥ g(l1) ≥ g(l1, l2) ≥ · · · ≥ g(l1, . . . , lk).Однако непонятно, как именно вычислять такие вероятности.Из оценок Чернова можно вывести некоторую верхнюю оценкуh(l1, . . . , li ) на g(l1, . . . , li ), вычислить которую легко.После этого выичсляется последовательность1 > 𝜖 ≥ h(∅) ≥ h(l1, l2) ≥ · · · ≥ h(l1, . . . , lk) ≥ g(l1, . . . , lk).Иэ этого следует, что g(l1, . . . , lk) = 0.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 22 / 24
![Page 67: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/67.jpg)
Что мы узнали за сегодня?
Что мы узнали за сегодня?
Задача о потоке в сети с несколькими веществами NP-трудна.Может быть решена приближенно релаксацией целочисленнойзадачи линейного программирования с последующим случайнымвыбором путей.Алгоритм можно дерандомизировать методом условныхвероятностей.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24
![Page 68: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/68.jpg)
Что мы узнали за сегодня?
Что мы узнали за сегодня?Задача о потоке в сети с несколькими веществами NP-трудна.
Может быть решена приближенно релаксацией целочисленнойзадачи линейного программирования с последующим случайнымвыбором путей.Алгоритм можно дерандомизировать методом условныхвероятностей.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24
![Page 69: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/69.jpg)
Что мы узнали за сегодня?
Что мы узнали за сегодня?Задача о потоке в сети с несколькими веществами NP-трудна.Может быть решена приближенно релаксацией целочисленнойзадачи линейного программирования с последующим случайнымвыбором путей.
Алгоритм можно дерандомизировать методом условныхвероятностей.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24
![Page 70: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/70.jpg)
Что мы узнали за сегодня?
Что мы узнали за сегодня?Задача о потоке в сети с несколькими веществами NP-трудна.Может быть решена приближенно релаксацией целочисленнойзадачи линейного программирования с последующим случайнымвыбором путей.Алгоритм можно дерандомизировать методом условныхвероятностей.
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 23 / 24
![Page 71: 20080323 efficientalgorithms kulikov_lecture19](https://reader031.fdocuments.net/reader031/viewer/2022030306/58cfc31a1a28ab7c6e8b4b1d/html5/thumbnails/71.jpg)
Спасибо за внимание!
А. Куликов (CS клуб при ПОМИ) 19. Мультипотоки 24 / 24