Advertisement
Shokedbrain

Untitled

Jun 7th, 2021
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1.  
  2. Моделирование социальной сети случайным графом с заданными параметрами
  3. Для имитационного моделирования процессов в социальных сетях необходима модель самой сети.
  4. Эта модель должна иметь те же статистические характеристики, что и сама сеть.
  5. Модель сети представляет собой граф, вершинами которого являются абоненты сети, а ребрами –связи между ними.
  6. Граф компактно представляется в двух видах.
  7. Список ребер хранит все пары вершин (п,т), связанных ребрами.
  8. Список смежности содержит для каждой вершины перечень связанных с ней вершин(соседей), нулевым элементом перечня обычно является число соседей(степень данной вершины).
  9. Требуется разработать алгоритм построения связного графа со случайно установленными связями, распределение степеней вершин которого соответствует заданному распределению (рk), то есть алгоритм составления списка смежности и списка ребер графа.
  10. Указание.
  11. Задается число вершин графа N(не менее 1000 для статистической значимости).
  12. Для каждой i-вершины в соответствии с распределением (рk)генерируется ее степень ki, которая записывается в отдельный массив.
  13. Затем для каждой вершины генерируются случайные числа из диапазона от i+1 до N, являющиеся номерами претендентов в соседние вершины.
  14. Если для очередной вершины с генерированным номером j степень (0-элемент j-строки списка смежности) меньше заданного значения kj, то 0-элемент увеличивается на единицу, соответствующие номера вершин вносятся в список смежности (вершине i–номер j, и наоборот), добавляется запись (i,j)в список ребер.
  15. Если очередной претендент заполнен, то номер пропускается. Процедура генерирования для каждой вершины повторяется, пока не будет достигнута ее степень ki, либо пока не останется ни одной незаполненной вершины.
  16. Для оптимизации процедуры целесообразно номера незаполненных вершин записать в отдельный список, исключая из него номера по мере заполнения степени вершин, и генерировать новые номера только из этого списка.
  17. Тогда условием останова будет исчерпание списка незаполненных вершин.
  18. Поскольку останов может произойти до достижения последней вершины, то необходимо проверить полученное распределение степеней (0-элементы списка смежности) по критерию хи-квадрат на соответствие заданному распределению.
  19. Если соответствие не подтверждается, то генерирование графа производится заново.
  20. После генерирования графа необходимо проверить его связность.
  21. Если граф несвязный, то полученный результат отбрасывается, и граф генерируется заново.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement