Распределение и дисперсия числа треугольников в случайном графе


10

Рассмотрим случайный граф Эрдоса-Реньи G=(V(n),E(p)) . Множество n вершин V помечено V={1,2,,n} . Множество ребер E строится случайным процессом.

Пусть p - вероятность 0<p<1 , тогда каждая неупорядоченная пара вершин {i,j} ( ij ) встречается как ребро в E с вероятностью p независимо от других пар.

Треугольник в G представляет собой неупорядоченный тройной {i,j,k} различных вершин, таких , что {i,j} , {j,k} , и {k,i} являются ребрами в G .

Максимальное количество возможных треугольников равно . Определим случайную величину , чтобы быть наблюдаемый счет треугольников в графе . XG(n3)XG

Вероятность того, что три ссылки присутствуют одновременно, равна . Следовательно, ожидаемое значение определяется как . Наивно можно догадаться, что дисперсия определяется как , но это не так. X E ( X ) = ( np3XE(X2)= ( nE(X)=(n3)p3E(X2)=(n3)p3(1p3)

Следующий код Mathematica имитирует проблему:

n=50;
p=0.6;
t=100;
myCounts=Table[Length[FindCycle[RandomGraph[BernoulliGraphDistribution[n,p]],3,All]],{tt,1,t}];
N[Mean[myCounts]] // 4216. > similar to expected mean
Binomial[n,3]p^3 // 4233.6
N[StandardDeviation[myCounts]] // 262.078 > not similar to "expected" std
Sqrt[Binomial[n,3](p^3)(1-p^3)] // 57.612
Histogram[myCounts]

Что такое дисперсия ?X

Ответы:


4

Пусть тогда и только тогда, когда образуют треугольник. Тогда и каждый . Это то, что вы использовали для расчета ожидаемого значения.{ i , j , k } X = i , j , k Y i j k Y i j kB e r n o u l l i ( p 3 )Yijk=1{i,j,k}X=i,j,kYijkYijkBernoulli(p3)

Для дисперсии проблема заключается в том, что не являются независимыми. Действительно, напишите Нам нужно вычислить , что является вероятностью присутствия обоих треугольников. Есть несколько случаев: X 2 = i , j , k i , j , k Y i j k Y i j k . E [ Y i j k Y i j k ]Yijk

X2=i,j,ki,j,kYijkYijk.
E[YijkYijk]
  • Если (те же 3 вершины), то . В двойной сумме будет таких членов.E [ Y i j k Y i j k ] = p 3 ( n{i,j,k}={i,j,k}E[YijkYijk]=p3(n3)
  • Если множества и имеют ровно 2 общих элемента, то нам нужно 5 ребер, чтобы получить два треугольника, так что . в сумме будет таких слагаемых.{ i , j , k } E [ Y i j k Y i j k ] = p 5 12 ( n{i,j,k}{i,j,k}E[YijkYijk]=p512(n4)
  • Если множества и имеют 1 общий элемент, то нам нужно 6 ребер, так что . В сумме будет таких слагаемых.{ i , j , k } E [ Y i j k Y i j k ] = p 6 30 ( n{i,j,k}{i,j,k}E[YijkYijk]=p630(n5)
  • Если множества и имеют 0 общих элементов, то нам нужно 6 ребер, так что . В сумме будет таких слагаемых.{ i , j , k } E [ Y i j k Y i j k ] = p 6 20 ( n{i,j,k}{i,j,k}E[YijkYijk]=p620(n6)

Чтобы убедиться, что мы рассмотрели все случаи, обратите внимание, что сумма складывается из .(n3)2

(n3)+12(n4)+30(n5)+20(n6)=(n3)2

Не забывая вычесть квадрат ожидаемого среднего значения, сложив все вместе, получим:

E[X2]E[X]2=(n3)p3+12(n4)p5+30(n5)p6+20(n6)p6(n3)2p6

Используя те же числовые значения, что и в вашем примере, следующий код R вычисляет стандартное отклонение, которое достаточно близко к значению 262 из вашего моделирования.

n=50
p=0.6
sqrt(choose(n, 3)*p^3+choose(n, 2)*(n-2)*(n-3)*p^5+(choose(n, 3)*choose(n-3, 3)+n*choose(n-1, 2)*choose(n-3, 2))*p^6-4233.6^2)
298.7945

Следующий код Mathematica также вычисляет стандартное отклонение, которое дает тот же результат.

mySTD[n_,p_]:=Sqrt[Binomial[n,3]p^3+12Binomial[n,4]p^5+30 Binomial[n,5]p^6+20Binomial[n,6]p^6-(Binomial[n,3]p^3)^2]
mySTD[50,0.6] // gives 298.795

2
На самом деле довольно просто. Отлично сработано! Я немного обновил ваш ответ, упрощая выражения и добавляя код Mathematica . Я также провел симуляцию 10 раз и получил стандартное значение 295,37, очень близкое к ожидаемому значению.
Л.Богаардт

1
Спасибо за редактирование. Я рад, что симуляция с 10 000 итераций подтверждает ответ!
Робин Райдер

Я нашел оригинальную ссылку для ориентированных графов: Голландия (1970). Метод обнаружения структуры в социометрических данных.
Л.Богаардт

0

Я предоставляю немного другой подход к выводу .X2

С тем же отличием, что и Робин Райдер:

  • Если то есть 3 вершины одинаковы, таким образом, мы должны выбрать 3 вершины из n возможных . У нас должно быть 3 ребра . Объединено:{i,j,k}={i,j,k}(n3)p3(n3)p3

  • Если и имеют две общие вершины, это означает, что для которых и наоборот (у каждого треугольника есть одна вершина, которая не является частью другого треугольника). Wlog представьте, что и - упомянутые дизъюнктные вершины, а = , = . Чтобы достичь = , = , мы должны выбрать те же две вершины из n возможных . Для{i,j,k}{i,j,k}v{i,j,k}v{i,j,k}v=kv=kiijjiijj(n2)kkмы должны выбрать еще две из оставшихся вершин. Первый: и второй: . Поскольку ребро и одинаково, у нас должно быть 5 ребер . Объединено:(n2)(n3){i,j}{i,j}p5(n2)(n2)(n3)p5

  • Если и имеют только одну общую вершину, то 4 не разделены. Представьте себе, wlog, что = . Это означает, что из n возможных вершин мы должны выбрать 1 . Для треугольника мы выбираем 2 вершины из оставшихся . Для треугольника мы выбираем 2 из оставшихся , это связано с предположением, что и . Поскольку у нас есть только одна общая вершина, у нас должно быть 6 ребер{i,j,k}{i,j,k}iin{i,j,k}(n1)(n12){i,j,k}(n3)(n32)j{i,j,k}k{i,j,k}p6 . Объединено:n(n12)(n32)p6

  • Для последнего случая: если и имеют общей вершины, то эти 2 треугольника не пересекаются. Мы выбираем первый треугольник, 3 вершины из n возможных . И второй треугольник, 3 вершины из оставшихся . Треугольники не разделены, то есть они не имеют ребер и вершин, поэтому должно присутствовать 6 ребер . Объединено:{i,j,k}{i,j,k}(n3)(n3)(n33)p6(n3)(n33)p6

Как и в подходе Робина Райдера, мы также можем проверить, что:

(n3)+(n2)(n2)(n3)+n(n12)(n32)+(n3)(n33)=(n3)2 .

Это ведет к:

Var[X]=E[X2]E[X]2=(n3)p3+(n2)(n2)(n3)p5+n(n12)(n32)p6+(n3)(n33)p6(n3)2p6.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.