Теорема о гигантской компоненте. Поиск в ширину в случайном графе — различия между версиями
Cuciev (обсуждение | вклад) м (small changes) |
Cuciev (обсуждение | вклад) м (small changes) |
||
Строка 141: | Строка 141: | ||
* <tex>y \thicksim Binomial(s = n−c_1\log n, \frac{d}{n})</tex> {{---}} количество потомков у очередной исследованной вершины;<br> | * <tex>y \thicksim Binomial(s = n−c_1\log n, \frac{d}{n})</tex> {{---}} количество потомков у очередной исследованной вершины;<br> | ||
* <tex>p_i = \binom{s}{i}(\frac{d}{n})^i(1 − \frac{d}{n})^{s − i}</tex> {{---}} вероятность, что <tex>y</tex> производит <tex>i</tex> потомков.<br> | * <tex>p_i = \binom{s}{i}(\frac{d}{n})^i(1 − \frac{d}{n})^{s − i}</tex> {{---}} вероятность, что <tex>y</tex> производит <tex>i</tex> потомков.<br> | ||
+ | <br> | ||
Для того, чтобы вычислить вероятность исчезновения, воспользуемся [[Производящая функция|производящей функцией]]:<br> | Для того, чтобы вычислить вероятность исчезновения, воспользуемся [[Производящая функция|производящей функцией]]:<br> | ||
− | |||
<tex>f(x) = \sum_{i = 0..\infty}p_ix^i,</tex> где <tex>p_i</tex> {{---}} вероятность того, что <tex>y = i</tex><br> | <tex>f(x) = \sum_{i = 0..\infty}p_ix^i,</tex> где <tex>p_i</tex> {{---}} вероятность того, что <tex>y = i</tex><br> | ||
<br> | <br> | ||
Строка 152: | Строка 152: | ||
Рассмотрим решение данного уравнения на <tex>[0; 1]</tex>. <br> | Рассмотрим решение данного уравнения на <tex>[0; 1]</tex>. <br> | ||
<tex>x = 1</tex> {{---}} всегда решение данного уравнения, так как <tex>\sum_{i = 0..\infty}p_i1^i = \sum_{i = 0..\infty}p_i = 1 = x</tex>.<br> | <tex>x = 1</tex> {{---}} всегда решение данного уравнения, так как <tex>\sum_{i = 0..\infty}p_i1^i = \sum_{i = 0..\infty}p_i = 1 = x</tex>.<br> | ||
− | Введем обозначения: <tex>k</tex> {{---}} количество потомков вершины, а <tex>m = f'(1)</tex> | + | Введем обозначения: <tex>k</tex> {{---}} количество потомков вершины, а <tex>m = f'(1)</tex>, тогда <tex>m = f'(1) = \sum_{i = 1..\infty}ip_i = E(k)</tex>.<br> |
− | |||
Кажется, что при <tex>m > 1</tex> дерево будет расти вечно, так как каждая вершина в момент времени <tex>j</tex> должна иметь потомков, однако при <tex>p_0 > 0</tex> с положительной вероятностью у корня может вообще не быть потомков. В исходном <tex>G(n,\frac{d}{n})</tex> <tex>m</tex> играет роль <tex>d</tex>, ввиду того, что <tex>d = E(k)</tex>.<br> | Кажется, что при <tex>m > 1</tex> дерево будет расти вечно, так как каждая вершина в момент времени <tex>j</tex> должна иметь потомков, однако при <tex>p_0 > 0</tex> с положительной вероятностью у корня может вообще не быть потомков. В исходном <tex>G(n,\frac{d}{n})</tex> <tex>m</tex> играет роль <tex>d</tex>, ввиду того, что <tex>d = E(k)</tex>.<br> | ||
[[Файл:Extinction_probability_equation_root_random_graph.png|thumb|300px|center|Решение уравнения f(x)=x]] | [[Файл:Extinction_probability_equation_root_random_graph.png|thumb|300px|center|Решение уравнения f(x)=x]] |
Версия 01:54, 27 мая 2020
Содержание
Теорема о гигантской компоненте
Перед формулировкой основной теоремы данного раздела, дадим определение некоторых понятий, которые будут использованы в дальнейшем, а также приведем необходимые далее утверждения.
Определение: |
Простейший ветвящийся процесс. Пусть [1] с одним и тем же математическим ожиданием . Положим . | — независимые пуассоновские величины
Представлять себе описанный только что процесс можно так: в начальный момент времени есть одна активная частица. Затем она создает
Говоря в терминах данного выше определения, и — количество активных и порожденных частиц в момент времени , соответственно.
Теорема: |
Пусть . Тогда с вероятностью 1 процесс вырождается, т.е. . |
Теорема: |
Пусть . Пусть — единственное решение уравнения . Тогда процесс вырождается с вероятностью , т.е. . |
Определение: |
Ветвящийся процесс на случайном графе. Пусть математическим ожиданием . Положим . | — независимые пуассоновские величины с одним и тем же
В произвольном графе
зафиксируем . Пометим ее как активную, а все остальные вершины — нейтральными. Выберем среди нейтральных вершин всех соседей вершины . После этого пометим вершину как неактивную , а смежных с ней — как активных, а все остальные вершины — нейтральными.Снова зафиксируем какую-нибудь активную вершину
, и повторим процесс, не меняя статус остальных уже активных вершин.Продолжая этот ветвящийся процесс, мы в конце концов получим лишь неактивные (образующие компоненту, содержащую
Данный процесс очень похож на поиск в ширину, этим свойством мы воспользуемся позднее.
Обозначим число активных вершин в момент времени
через , число нейтральных вершин — через , а число соседей вершины, которую собираемся пометить как неактивную, — через . Тогда . Все введенные величины зависят от графа и от последовательности выбираемых вершин .Если
посчитать случайным, то при любом выборе вершин получатся случайные величины на пространстве .Теорема о гигантской компоненте
Теорема (о гигантской компоненте): |
Рассмотрим модель . Пусть .
Если Если же , то найдется такая константа , зависящая от , что а.п.н. (асимптотически почти наверное) размер каждой связной компоненты случайного графа не превосходит . , то найдется такая константа , зависящая от , что а.п.н. в случайном графе есть ровно одна компонента размера . Размер остальных компонент не превосходит . |
Доказательство: |
Приведем здесь идеи[2], изложенные А.М. Райгородским, основанные на доказательстве[3] Р. Карпа. Такой формат позволит понять основные идеи и логику рассуждений. Строгий вариант приведен в [4]. Случай .Положим , где — константа, которая будет подобрана далее. Нам хочется доказать, что с большой вероятностью каждая из компонент случайного графа имеет размер . Но размер компоненты — это момент вырождения процесса на случайном графе. Значит, интересующее нас утверждение можно записать в следующем виде:
Поскольку Случай .В данном случае ветвящийся процесс на графе нужно «запускать» не один раз, а многократно. Только так удается доказать, что а.п.н. хотя бы в одном запуске возникнет гигантская компонента. Подробности можно найти в [4], мы же лишь поясним, откуда в текущей ситуации появляется из формулировки предыдущей теоремы и почему она совпадает с одноименной константой из той же теоремы. Лучше сделать ссылку на прокрутку статьи вверх, но в целом можно забить. Вообще "предыдущая теорема" - не очень хорошая ссылка Чтобы доказать, что есть гигантская компонента, необходимо, чтобы ветвящийся процесс на графе не вырождался даже
при Так как по условию , то при выполнено: Применим центральную предельную теорему к Пределы интегрирования в данном случае: от lj .Если , то мы получим искомое стремление вероятности к нулю.Если Таким образом, критическое значение , то вероятность, напротив, будет стремиться к единице. , вплоть до которого есть именно стремление к нулю, — это решение уравнения или, что равносильно, . А это и есть уравнение из предыдущей теоремы, если заменить на . |
Обход случайного графа
Приведем ряд утверждений, которые будут использованы а дальнейшем. Их доказательство, а также более детальный рассказ можно найти здесь[5].
Утверждение: |
Пусть . Тогда вероятность , что ( — компонента связности, содержащая ): — константа. |
Главная идея доказательства, которую мы будем использовать в дальнейшем — изменение алгоритма поиска в ширину таким образом, чтобы только что открытые вершины были выбраны из множества фиксированного размера. Такая модификация превращает поиск в ширину в ветвящийся процесс. |
Теорема: |
Пусть .
|
Поиск в ширину
Рассмотрим граф . Проанализируем его структуру по мере роста . При граф состоит только из изолированных вершин. С ростом в нем появляются ребра, компоненты связности получающегося леса объединяются. При достижении граф а.п.н. является лесом. Когда , появляются циклы. При размер каждой из компонент связности равен . Число компонент связности, содержащих только один цикл — константа, зависящая от . Таким образом, граф состоит из леса и компонент, содержащих единственный цикл без компонент размера .
Когда начинает образовываться гигантская компонента. Этот процесс происходит в два этапа: при возникают компоненты из вершин, а.п.н. являющиеся деревьями. При , появляется гигантская компонента размером, пропорциональным количеству вершин во всем графе.
После превышения значения , все неизолированные вершины оказываются в гигантской компоненте. При достижении , в графе остаются только изолированные плюс гигантская компонента. Когда становится равной граф становится связным. При верно: — клика .
Чтобы вычислить размер компоненты связности, пройдемся с помощью поиска в ширину по ней, стартуя из произвольной вершины и переходя к очередной неисследованной вершине, только если ребро между ними существует (данный факт необходимо установить независимо от других ребер, с вероятностью ). Если ребро существует, пометим следующую вершину как "открытую". Алгоритм закончит свою работу (обойдет всю компоненту связности), когда множество неисследованных "открытых" вершин станет пустым.
Проблема поиска в ширину
На данном изображении представлены результаты работы поиска в ширину , начавшемся в вершине на двух графах: в первом у всех ребер , во втором же факт существования ребра определялся по ходу работы алгоритма — ребра, отмеченные пунктиром, не существуют. Проблема возникает, когда алгоритм просто не доходит до каких-то ребер, не выясняя, существуют они или нет: находясь в вершине , алгоритм не делал запрос о ребре , так как у этому моменту вершина уже была исследована. Ребра, которые потенциально могли быть не изученными, помечены на рисунке точечным пунктиром.
Неоткрытые вершины
Будем считать шагом алгоритма поиска открытие новой вершины. После первых
== Ветвящийся процесс ==
Наверное, лучше придумать другой заголовок
Пользуясь идеями, изложенными в доказательстве леммы, перейдем от модифицированного поиска в ширину к ветвящемуся процессу. Этот процесс используется для генерации случайных деревьев, возможно, бесконечного размера.
Рассмотрим натуральное случайное число , обозначающее количество потомков у очередной исследованной вершины. Каждый раз это значение выбирается случайно и независимо.
Процесс построения дерева заканчивается, образуя конечное дерево, когда у каждой вершины построены все ее потомки. Данный процесс может продолжаться бесконечно.
Пусть . Пусть — вероятность того, что в модифицированном поиске в ширину. Пусть — вероятность окончания процесса. Тогда , поскольку поиск в ширину, заканчивающийся с вершинами, приводит к окончанию построения дерева.
Пусть — вероятность, что производит потомков. Тогда:
и .
Глубина дерева не меньше количества вершин. Пусть — вероятность того, что процесс закончится с деревом глубины . Имеем:
Вероятность исчезновения
Определение: |
Вероятность исчезновения (extinction probability) — вероятность, того, что дерево ветвящегося процесса будет конечным (процесс завершится через конечное время). |
Утверждение: |
Пусть . Пусть — единственный корень на . Тогда для . |
Теорема: |
Рассмотрим дерево, сгенерированное ветвящимся процессом. Пусть — производящая функция числа потомков каждой вершины. Тогда:
|
В данной статье нами рассматривается простой случай ветвящегося процесса, в котором распределение количества потомков одинаково для каждой вершины.
Обозначим:
Для того, чтобы вычислить вероятность исчезновения, воспользуемся производящей функцией:
где — вероятность того, что
Так как — вероятность конечности алгоритма, то, если у корневой вершины потомков, построение каждого из поддеревьев должно завершиться, и это произойдет с вероятностью :
Таким образом, является корнем уравнения:
Рассмотрим решение данного уравнения на .
— всегда решение данного уравнения, так как .
Введем обозначения: — количество потомков вершины, а , тогда .
Кажется, что при дерево будет расти вечно, так как каждая вершина в момент времени должна иметь потомков, однако при с положительной вероятностью у корня может вообще не быть потомков. В исходном играет роль , ввиду того, что .
Пользуясь описанными выше утверждениями, можно доказать, что:
Подробное описание доказательств данного факта, а также самих утверждений можно найти здесь[5].
Вывод
Используя результаты, полученные в предыдущей части, сделаем вывод о вероятности окончания работы поиска в ширину на случайном графе
См. также
Литература
- ↑ https://ru.wikipedia.org/wiki/Распределение_Пуассона
- ↑ Введение в математическое моделирование транспортных потоков: Учебное пособие/Издание 2-е, испр. и доп. А. В. Гасников и др. Под ред. А. В. Гасникова.— М.: МЦНМО, 2013 — C.330-339 — ISBN 978-5-4439-0040-7
- ↑ Karp R. The transitive closure of a random digraph//Random structures and algorithms. 1990. V. 1. P. 73–94.
- ↑ 4,0 4,1 Алон Н., Спенсер Дж. Вероятностный метод. М.: Бином. Лаборатория знаний, 2007.
- ↑ 5,0 5,1 Blum A. Random Graphs // CS 598 Topics in Algorithms (UIUC), 2015. URL: https://www.cs.cmu.edu/~avrim/598/chap4only.pdf