Теорема о гигантской компоненте. Поиск в ширину в случайном графе — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Minor changes)
м (Теорема о гигантской компоненте)
Строка 2: Строка 2:
  
 
== Теорема о гигантской компоненте ==
 
== Теорема о гигантской компоненте ==
Перед формулировкой основной теоремы данного раздела, дадим определение некоторых понятий, которые будут использованы в дальнейшем, а также приведем необходимые далее утверждения
+
Перед формулировкой основной теоремы данного раздела, дадим определение некоторых понятий, которые будут использованы в дальнейшем, а также приведем необходимые далее утверждения.
 
{{Определение
 
{{Определение
 
|definition='''Простейший ветвящийся процесс.''' Пусть <tex>Z_1,\dotsc Z_n,\dotsc </tex> {{---}} независимые пуассоновские величины с одним и тем же средним <tex>\lambda</tex>. Положим
 
|definition='''Простейший ветвящийся процесс.''' Пусть <tex>Z_1,\dotsc Z_n,\dotsc </tex> {{---}} независимые пуассоновские величины с одним и тем же средним <tex>\lambda</tex>. Положим
 
<tex>Y_0 = 1, Y_i = Y_{i - 1} + Z_i - 1</tex>.  
 
<tex>Y_0 = 1, Y_i = Y_{i - 1} + Z_i - 1</tex>.  
 
}}
 
}}
Представлять себе описанный только что процесс можно так. В начальный момент времени есть одна частица. Затем она приносит <tex>Z_1</tex> потомков и умирает. Заметим, что она может умереть, не оставив потомков, так как величина <tex>Z_1</tex> равна нулю с положительной вероятностью. На следующем шаге все повторяется: какая-то частица (порядок роли не играет) порождает <tex>Z_2</tex> новых частиц, а сама гибнет. И так далее. Популяция может выродиться, а может и жить вечно.
+
Представлять себе описанный только что процесс можно так. В начальный момент времени есть одна активная частица. Затем она делает <tex>Z_1 \geq 0</tex> (можжет ыть достигнуто, так как величина <tex>Z_1</tex> равна нулю с положительной вероятностью) активных потомков и перестает быть активной. На следующем шаге все повторяется: какая-то частица (порядок роли не играет) порождает <tex>Z_2</tex> новых частиц, а сама перестает быть активной. И так далее. Данный процесс может как завершиться (частицы перестанут быть активными), так и продолжаться бесконечно.
 
{{Теорема
 
{{Теорема
 
|id = th1
 
|id = th1
Строка 20: Строка 20:
 
<tex>Y_0 = 1, Y_i = Y_{i - 1} + Z_i - 1</tex>.  
 
<tex>Y_0 = 1, Y_i = Y_{i - 1} + Z_i - 1</tex>.  
 
}}
 
}}
Пусть дан граф <tex>G = (V,E)</tex>. Зафиксируем <tex>v_1 \in V</tex>. Назовем ее «живой», а все остальные вершины {{---}} «нейтральными». Выберем среди нейтральных вершин всех соседей вершины <tex>v_1</tex>. После этого объявим вершину <tex>v_1</tex> «мертвой», ее соседей {{---}} «живыми», а все остальные вершины {{---}} нейтральными.
+
Пусть дан граф <tex>G = (V,E)</tex>. Зафиксируем <tex>v_1 \in V</tex>. Пометим ее как активную, а все остальные вершины {{---}} нейтральными. Выберем среди нейтральных вершин всех соседей вершины <tex>v_1</tex>. После этого пометим вершину <tex>v_1</tex> как неактивную , а смежных с ней {{---}} как активных, а все остальные вершины {{---}} нейтральными.
  
Снова зафиксируем какую-нибудь «живую» вершину <tex>v_2</tex>. Выберем всех ее соседей среди нейтральных. Вершину <tex>v_2</tex> объявим вершину «мертвой», а остальные «живые» сохранят свой статус, также «оживут» и соседи <tex>v_2</tex>.
+
Снова зафиксируем какую-нибудь активную вершину <tex>v_2</tex>, и повторим процесс. Не меняем статус остальных уже активных вершин.
  
Продолжая этот ветвящийся процесс, мы в конце концов получим лишь «мертвые» (образующие компоненту, содержащую <tex>v_1</tex>) и нейтральные вершины.
+
Продолжая этот ветвящийся процесс, мы в конце концов получим лишь неактивные (образующие компоненту, содержащую <tex>v_1</tex>) и нейтральные вершины.
  
Обозначим число «живых» вершин в момент времени <tex>t</tex> через <tex>Y_t</tex>, число нейтральных вершин {{---}} через <tex>N_t</tex>, а число потомков очередной «живой» вершины, объявляющейся «мертвой», {{---}} через <tex>Z_t</tex>. Тогда, очевидно, <tex>Y_0 = 1,Y_t = Y_t−1 + Z_t − 1</tex>. Все введенные величины зависят от графа <tex>G</tex> и от последовательности выбираемых вершин <tex>v_1,\dotsc</tex>.
+
Обозначим число активных вершин в момент времени <tex>t</tex> через <tex>Y_t</tex>, число нейтральных вершин {{---}} через <tex>N_t</tex>, а число соседей вершины, которую собираемся пометить как неактивную, {{---}} через <tex>Z_t</tex>. Тогда <tex>Y_0 = 1,Y_t = Y_t−1 + Z_t − 1</tex>. Все введенные величины зависят от графа <tex>G</tex> и от последовательности выбираемых вершин <tex>v_1,\dotsc</tex>.
  
 
Если <tex>G</tex> посчитать случайным, то при любом выборе вершин <tex>v_1,\dotsc</tex> получатся случайные величины <tex>Y_t, N_t, Z_t</tex> на пространстве <tex>G(n, p)</tex>.
 
Если <tex>G</tex> посчитать случайным, то при любом выборе вершин <tex>v_1,\dotsc</tex> получатся случайные величины <tex>Y_t, N_t, Z_t</tex> на пространстве <tex>G(n, p)</tex>.
Строка 46: Строка 46:
 
<tex>P_{n, p}(\exists v_1 : Y_{t_0} > 0) \rightarrow 0,  n \rightarrow \infty</tex>
 
<tex>P_{n, p}(\exists v_1 : Y_{t_0} > 0) \rightarrow 0,  n \rightarrow \infty</tex>
  
Поскольку
+
Поскольку <tex>P_{n, p}(\exists v_1 : Y_{t_0} > 0) \le nP_{n, p}(Y_{t_0} \ge 0)</tex>, достаточно найти такое <tex>\beta</tex>, при котором
  
<tex>P_{n, p}(\exists v_1 : Y_{t_0} > 0) \le nP_{n, p}(Y_{t_0} \ge 0)</tex>
+
<tex>P_{n, p}(Y_{t_0} > 0) = o\left(\dfrac{1}{n}\right).</tex>
 
 
достаточно найти такое <tex>\beta</tex>, при котором
 
  
<tex>P_{n, p}(Y_{t_0} > 0) = o\left(\dfrac{1}{n}\right).</tex>
+
Далее:
  
Далее
 
 
<tex>P_{n, p}(Y_{t_0} > 0) = P_{n, p}(\xi_{t_o} > t_0) \thickapprox P_{n, p}(Binom(n, 1 - (1 - p)^{t_0}) > t_0) \thickapprox (</tex> с учетом асимптотики <tex>1 - (1 - p)^{t_0} \thicksim pt_0) \thickapprox P_{n, p}(Binom(n, pt_0) > t_0)</tex>
 
<tex>P_{n, p}(Y_{t_0} > 0) = P_{n, p}(\xi_{t_o} > t_0) \thickapprox P_{n, p}(Binom(n, 1 - (1 - p)^{t_0}) > t_0) \thickapprox (</tex> с учетом асимптотики <tex>1 - (1 - p)^{t_0} \thicksim pt_0) \thickapprox P_{n, p}(Binom(n, pt_0) > t_0)</tex>
 
<tex>\thickapprox (</tex>с учетом [[Центральная предельная теорема| центральной предельной теоремы]]) <tex> \thickapprox </tex>
 
<tex>\thickapprox (</tex>с учетом [[Центральная предельная теорема| центральной предельной теоремы]]) <tex> \thickapprox </tex>
Строка 69: Строка 66:
 
бы в одном запуске возникнет гигантская компонента. Подробности можно найти в [3], мы же лишь поясним, откуда в текущей ситуации появляется константа <tex>\gamma</tex> из формулировки [[th2| предыдущей теоремы]] и почему она совпадает с одноименной константой из той же теоремы.
 
бы в одном запуске возникнет гигантская компонента. Подробности можно найти в [3], мы же лишь поясним, откуда в текущей ситуации появляется константа <tex>\gamma</tex> из формулировки [[th2| предыдущей теоремы]] и почему она совпадает с одноименной константой из той же теоремы.
  
Нам хочется доказать, что есть гигантская компонента. Тогда, как следствие, нам нужно, чтобы ветвящийся процесс на графе не вырождался даже
+
Чтобы доказать, что есть гигантская компонента, необходимо, чтобы ветвящийся процесс на графе не вырождался даже
 
при <tex>t \thickapprox \gamma n</tex>. Иными словами, необходимо, чтобы:
 
при <tex>t \thickapprox \gamma n</tex>. Иными словами, необходимо, чтобы:
 
<tex>P_{n, p}(Y_{t_0} \le 0)\rightarrow 0, t \thickapprox \gamma n, n \rightarrow \infty</tex>
 
<tex>P_{n, p}(Y_{t_0} \le 0)\rightarrow 0, t \thickapprox \gamma n, n \rightarrow \infty</tex>
У нас <tex>p = \dfrac{ c }{n}</tex>. Значит, при  <tex>t \thicksim \alpha n</tex> выполнено
+
 
 +
Так как по условию <tex>p = \dfrac{ c }{n}</tex>, то при  <tex>t \thicksim \alpha n</tex> выполнено:
 
<tex> 1 - (1 - p)^t \thicksim 1 - e^{-pt} \thicksim 1 - e^{-c\alpha}</tex>
 
<tex> 1 - (1 - p)^t \thicksim 1 - e^{-pt} \thicksim 1 - e^{-c\alpha}</tex>
 
Применим [[Центральная предельная теорема| центральную предельную теорему]] к
 
Применим [[Центральная предельная теорема| центральную предельную теорему]] к

Версия 01:53, 21 мая 2020

Эта статья находится в разработке!

Теорема о гигантской компоненте

Перед формулировкой основной теоремы данного раздела, дадим определение некоторых понятий, которые будут использованы в дальнейшем, а также приведем необходимые далее утверждения.

Определение:
Простейший ветвящийся процесс. Пусть [math]Z_1,\dotsc Z_n,\dotsc [/math] — независимые пуассоновские величины с одним и тем же средним [math]\lambda[/math]. Положим [math]Y_0 = 1, Y_i = Y_{i - 1} + Z_i - 1[/math].

Представлять себе описанный только что процесс можно так. В начальный момент времени есть одна активная частица. Затем она делает [math]Z_1 \geq 0[/math] (можжет ыть достигнуто, так как величина [math]Z_1[/math] равна нулю с положительной вероятностью) активных потомков и перестает быть активной. На следующем шаге все повторяется: какая-то частица (порядок роли не играет) порождает [math]Z_2[/math] новых частиц, а сама перестает быть активной. И так далее. Данный процесс может как завершиться (частицы перестанут быть активными), так и продолжаться бесконечно.

Теорема:
Пусть [math]\lambda \leq 1[/math]. Тогда с вероятностью 1 процесс [math]Y_t[/math] вырождается, т.е. [math]P(\exists t: Y_t \leq 0) = 1[/math].
Теорема:
Пусть [math]\lambda \ge 1[/math]. Пусть [math]\gamma \in (0, 1)[/math] — единственное решение уравнения [math]1 - \gamma = e^{-\lambda \gamma}[/math]. Тогда процесс [math]Y_t[/math] вырождается с вероятностью [math]1 - \gamma[/math], т.е. [math]P(\exists t: Y_t \leq 0) = 1 - \gamma[/math].
Определение:
Ветвящийся процесс на случайном графе. Пусть [math]Z_1,\dotsc Z_n,\dotsc [/math] — независимые пуассоновские величины с одним и тем же средним [math]\lambda[/math]. Положим [math]Y_0 = 1, Y_i = Y_{i - 1} + Z_i - 1[/math].

Пусть дан граф [math]G = (V,E)[/math]. Зафиксируем [math]v_1 \in V[/math]. Пометим ее как активную, а все остальные вершины — нейтральными. Выберем среди нейтральных вершин всех соседей вершины [math]v_1[/math]. После этого пометим вершину [math]v_1[/math] как неактивную , а смежных с ней — как активных, а все остальные вершины — нейтральными.

Снова зафиксируем какую-нибудь активную вершину [math]v_2[/math], и повторим процесс. Не меняем статус остальных уже активных вершин.

Продолжая этот ветвящийся процесс, мы в конце концов получим лишь неактивные (образующие компоненту, содержащую [math]v_1[/math]) и нейтральные вершины.

Обозначим число активных вершин в момент времени [math]t[/math] через [math]Y_t[/math], число нейтральных вершин — через [math]N_t[/math], а число соседей вершины, которую собираемся пометить как неактивную, — через [math]Z_t[/math]. Тогда [math]Y_0 = 1,Y_t = Y_t−1 + Z_t − 1[/math]. Все введенные величины зависят от графа [math]G[/math] и от последовательности выбираемых вершин [math]v_1,\dotsc[/math].

Если [math]G[/math] посчитать случайным, то при любом выборе вершин [math]v_1,\dotsc[/math] получатся случайные величины [math]Y_t, N_t, Z_t[/math] на пространстве [math]G(n, p)[/math].

Теорема (о гигантской компоненте):
Рассмотрим модель [math]G(n, p)[/math]. Пусть [math]p = \dfrac{ c }{n}[/math].

Если [math]c \lt 1[/math], то найдется такая константа [math]\beta = \beta(с)[/math], что а.п.н. размер каждой связной компоненты случайного графа не превосходит [math]b\ln n[/math].

Если же [math]c \gt 1[/math], то найдется такая константа [math]\gamma = \gamma(c)[/math], что а.п.н. в случайном графе есть ровно одна компонента размера [math]\geq\gamma n[/math]. Размер остальных компонент не превосходит [math]b\ln n[/math].
Доказательство:
[math]\triangleright[/math]

Приведем здесь идеи, изложенные А.М. Райгородским [1], основанные на доказательстве Р. Карпа [2]. Данное доказательство может быть, не настолько строгое, как приведенное в [3], однако отличается лаконичностью и наглядностью.

Случай [math]c \lt 1[/math].

Положим [math]t_0=[\beta \ln n][/math], где [math]\beta = \beta(c)[/math] — константа, которую мы подберем позднее. Нам хочется доказать, что с большой вероятностью каждая из компонент случайного графа имеет размер [math]\le t_0[/math]. Но размер компоненты — это момент вырождения процесса [math]Y_t[/math] на случайном графе. Значит, интересующее нас утверждение можно записать в следующем виде:

[math]P_{n, p}(\exists v_1 : Y_{t_0} \gt 0) \rightarrow 0, n \rightarrow \infty[/math]

Поскольку [math]P_{n, p}(\exists v_1 : Y_{t_0} \gt 0) \le nP_{n, p}(Y_{t_0} \ge 0)[/math], достаточно найти такое [math]\beta[/math], при котором

[math]P_{n, p}(Y_{t_0} \gt 0) = o\left(\dfrac{1}{n}\right).[/math]

Далее:

[math]P_{n, p}(Y_{t_0} \gt 0) = P_{n, p}(\xi_{t_o} \gt t_0) \thickapprox P_{n, p}(Binom(n, 1 - (1 - p)^{t_0}) \gt t_0) \thickapprox ([/math] с учетом асимптотики [math]1 - (1 - p)^{t_0} \thicksim pt_0) \thickapprox P_{n, p}(Binom(n, pt_0) \gt t_0)[/math] [math]\thickapprox ([/math]с учетом центральной предельной теоремы) [math] \thickapprox [/math] [math]\int\limits_{\dfrac{t_0 - npt_0}{\sqrt{npt_0(1 - pt_0)}}}^\infty \dfrac{1}{\sqrt{2\pi}}e^{-\dfrac{x^2}{2}}\,dx[/math].

Поскольку [math]c \lt 1[/math], нижний предел интегрирования имеет порядок [math]\sqrt{t_0}[/math]. Таким образом, весь интеграл не превосходит величины [math]e^{−\delta t_0}[/math]. Выберем [math]\beta[/math] таким, чтобы [math]e^{−\delta t_0}[/math] оказалось меньше, чем [math]e^{-2 \ln n} = \dfrac{1}{n^2}[/math], и в случае [math]c \lt 1[/math] теорема доказана.


Случай [math]c \gt 1[/math].

В данном случае ветвящийся процесс на графе нужно «запускать» не один раз, а многократно. Только так удается доказать, что почти наверняка хотя бы в одном запуске возникнет гигантская компонента. Подробности можно найти в [3], мы же лишь поясним, откуда в текущей ситуации появляется константа [math]\gamma[/math] из формулировки предыдущей теоремы и почему она совпадает с одноименной константой из той же теоремы.

Чтобы доказать, что есть гигантская компонента, необходимо, чтобы ветвящийся процесс на графе не вырождался даже при [math]t \thickapprox \gamma n[/math]. Иными словами, необходимо, чтобы: [math]P_{n, p}(Y_{t_0} \le 0)\rightarrow 0, t \thickapprox \gamma n, n \rightarrow \infty[/math]

Так как по условию [math]p = \dfrac{ c }{n}[/math], то при [math]t \thicksim \alpha n[/math] выполнено: [math] 1 - (1 - p)^t \thicksim 1 - e^{-pt} \thicksim 1 - e^{-c\alpha}[/math] Применим центральную предельную теорему к [math]P_{n, p}(Y_{t_0} \le 0)\thickapprox P_{n, p}(Binom(n, 1 - e^{-c\alpha}) \le \alpha n).[/math] Интегрирование пойдет от минус бесконечности до [math]\dfrac{\alpha n - n(1 - e^{-c\alpha})}{\sqrt{n(1 - e^{-c\alpha})e^{-c\alpha}}}[/math].

Если [math]\alpha \lt 1 - e^{-c\alpha}[/math], то мы получим искомое стремление вероятности к нулю.

Если [math]\alpha \gt 1 - e^{-c\alpha}[/math], то вероятность, напротив, будет стрметиться к единице.

Таким образом, критическое значение [math]\alpha[/math], вплоть до которого есть именно стремление к нулю, — это решение уравнения [math]\alpha = 1 - e^{-c\alpha}[/math] или, что равносильно, [math]1 - \alpha = e^{-c\alpha}[/math]. А это и есть уравнение из предыдущей теоремы, если заменить [math]\lambda[/math] на [math]c[/math].
[math]\triangleleft[/math]

Обход случайного графа

Литература

  • 1. Введение в математическое моделирование транспортных потоков: Учебное пособие/Издание 2-е, испр. и доп. А. В. Гасников и др. Под ред. А. В. Гасникова.— М.: МЦНМО, 2013 — C.330-339 — ISBN 978-5-4439-0040-7
  • 2. Karp R. The transitive closure of a random digraph//Random structures and algorithms. 1990. V. 1. P. 73–94.
  • 3. Алон Н., Спенсер Дж. Вероятностный метод. М.: Бином. Лаборатория знаний, 2007.

См. также