ГоловнаСтаттіІнтернет і мережі

Випадкові графи, малі світи та мережі зі масштабованою структурою: порівняння

Фазова перехід Ердоша-Ренеї, ефект коротких шляхів у Watts-Strogatz та побудова вузлів з переважного притягнення Barabási-Альберта.

mysimulator teamОновлено — червень 2026≈ 9 хв читання▶ Відкрити симуляцію

Три генеративні моделі, три різні світи

Не всі графіки, що виглядають заплутано, є однаковими. Генератор випадкових графів — це рецепт: невеликий набір правил, який при застосуванні до n вузлів створює мережу з статистично передбачуваною структурою. Три класичні — Ердош-Ренеї, Вотс-Строґац і Барабаші-Альберт — кожна була побудована для пояснення різних спостережень за реальними мережами, і порівнювання їх поряд один з одним за однакової кількості вузлів є найшвидшим способом побачити, чому топологія мережі не є єдиним явищем.

жива демонстрація · пов'язана симуляція● LIVE

Erdős-Rényi: чиста випадковість і великий компонент

Модель G(n, p), представлена Ердошем та Рені за 1959 роком, є найпростішим можливим випадковим графом: беруться n вузлів, і для кожного з n(n-1)/2 можливих ребер здійснюється незалежне підкидання монети з ймовірністю p, і воно включається, якщо випадає «орел». У цій моделі нічого не спроектовано – жоден вузол не є особливим, жодне ребро не більш або менш ймовірно, ніж будь-яке інше.

Для кожної пари (i, j) з i != j: якщо random() Їх найвідоміша властивість – фазовий перехід: коли p перетинає критичний поріг 1/n, граф раптово переходить від стану моря маленьких відокремлених фрагментів до стану одного великого компонента, який містить позичну частку всіх вузлів, і розмір цього великого компонента різко стрибає – не поступово – саме в цьому пороговому значенні. Під порогом найбільший зв’язаний елемент має лише O(log n) вузлів; вище нього один компонент поглинає майже все. Цей єдиний результат, отриманий від чисто комбінаторної іграшки, пояснює, чому теорія перколяції та аргументи про епідеміологічні пороги так часто зводяться до одного розрахунку p ~ 1/n. Вона полягає в тому, що G(n,p) є поганою моделлю для реальних соціальних або технологічних мереж: її розподіл ступенів є вузьким біноміальним (у кожного приблизно однакова кількість зв’язків), а також коефіцієнт кластеризації дорівнює точно p, що значно нижче, ніж у реальних мережах.

for each pair (i, j) with i != j:
  if random() < p:  add edge(i, j)

expected degree of each node  ≈  p * (n - 1)
expected total edges          ≈  p * n(n-1) / 2

Watts-Strogatz: як кільце стає маленьким світом

Модель 1998 року Уатта та Строґаца починається з протилежного екстремуму — високорегулярної кільцевої решітки, де кожен вузол підключений до своїх k найближчих сусідів з обох боків, що має високу кластеризацію (ваші сусіди та їхні сусіди також є вашими сусідами), але великий діаметр (перехід від одного краю кільця до іншого потребує багатьох стрибків). Потім кожне ребро переписується у випадкову цільову точку з невеликою ймовірністю β:

початок: кільцева решітка, кожен вузол підключений до k найближчих сусідів (висока кластеризація, довгі шляхи) для кожного ребра: з ймовірністю β: переписуйте його у випадкову цільову точку β = 0 → оригінальне регулярне кільце (висока кластеризація, довгі шляхи) β = 1 → суттєво Ердеш-Реньї випадковий граф (низька кластеризація, короткі шляхи) β ~ 0.01–0.1 → «смужка» ідеальна точка Зі striking емпіричним результатом є наскільки вузький перехід: навіть невеликий відсоток переписаних ребер — кілька відсотків — достатньо, щоб обвалити середню довжину шляху з O(n) до O(log n), при цьому коефіцієнт кластеризації майже не падає від свого початкового високого значення. Кілька випадкових далеких шляхів діють як містки через весь мережу, той самий інтуїтивно зрозумілий механізм, що стоїть за відомим відкриттям «шість градусів розділення»: більшість ваших друзів знайомі між собою (висока локальна кластеризація), але кілька знайомств мають зв’язки в повністю різних соціальних колах, і ці рідкісні довгі стрибки роблять весь світ доступним у кількох стрибках.

start:  ring lattice, each node connected to k nearest neighbours (high clustering, long paths)
for each edge:
  with probability beta:  rewire it to a uniformly random new endpoint

beta = 0     → the original regular ring (high clustering, long paths)
beta = 1     → essentially an Erdos-Renyi random graph (low clustering, short paths)
beta ~ 0.01-0.1 → the "small-world" sweet spot

Barabási–Albert: зростання плюс переважне приєднання дає вам вузли

Жоден із попередніх двох моделей не створює вузлів, які спостерігаються в реальних мережах, таких як веб-сайт, графі цитування або авіамаршрути — невелика кількість вузлів з набагато більшою кількістю зв’язків, ніж у всіх інших. Модель Barabási–Albert (1999) генерує їх із двох простих механізмів, об’єднаних: мережа росте по одній ноді за раз (вона не починається з фіксованої n і перепідключається), а кожен новий вузол віддає перевагу підключенню до існуючих вузлів пропорційно їхній поточній кількості зв’язків — «багаті стають багатшими», формально відоме як переважне приєднання:

почніть із невеликої початкової графа з m0 вузлів для кожного нового вузла (n - m0 разів): додайте m нових ребер від нового вузла до існуючих m вузлів, вибираючи кожен існуючий ціль пропорційно її поточному ступеню: P(підключитися до вузла i) = ступінь(i) / сума всіх ступенів // вузол, який вже має багато зв’язків, є більш імовірно обраним як ціль для ще одного нового краю Розподіл ступенів слідує за законом степеня, P(ступінь = k) ∝ k^(-γ), де γ зазвичай становить близько 3 для базової моделі — це означає, що немає характерного «середнього» ступеня вузла, як у випадку з Erdős–Rényi; замість цього кілька вузлів-вузли мають величезний ступінь, а переважна більшість мають дуже мало зв’язків, структура без масштабування, оскільки ця форма виникає незалежно від того, який діапазон ступенів ви збільшуєте. Це вражаюче добре відповідає розподілу вхідних даних у всесвітній мережі, мережах взаємодії білків та схемах авіамаршрутів, і це супроводжується добре відомим практичним наслідком: безмасштабні мережі особливо стійкі до випадкового відключення вузлів (видаліть випадковий вузол, він майже напевно є листовим вузлом з низьким ступенем, і мережа майже не помічає цього) але особливо вразливі до цілеспрямованої атаки на вузли-вузли (видаліть кілька верхніх вузлів із найбільшим ступенем, і велика компонента може швидко фрагментуватися).

start with a small seed graph of m0 nodes
for each new node (n - m0 times):
  add m new edges from the new node to m EXISTING nodes,
  choosing each existing target with probability proportional to its current degree:

  P(connect to node i)  =  degree(i) / sum of all degrees

  // a node that already has many edges is proportionally more likely
  // to be picked as the target of yet another new edge

Вимірювання того, що згенерували

Три підсумувальні статистичні дані дозволяють кількісно відрізняти ці структури один від одного після генерації графу, і це саме те, що симуляція на цій сторінці обчислює в реальному часі після встановлення кожного макету:

clustering coefficient  = fraction of a node's neighbour-pairs that are
                          themselves connected, averaged over all nodes
                          (ER: low & uniform  |  WS: high  |  BA: moderate)

average path length     = mean shortest-path distance between all node pairs
                          (ER: short, ~log n  |  WS: short after rewiring
                           |  BA: very short, hubs act as universal shortcuts)

degree distribution     = histogram of how many nodes have each degree
                          (ER: binomial/Poisson, tight bell curve
                           |  WS: still fairly tight
                           |  BA: power law, heavy-tailed with hubs)

Розклад: фізична симуляція власної мережі

Створення будь-яких з цих графіків у вигляді, зрозумілому людині, є окремою проблемою, яку вирішують шляхом розгляду самого розкладу як фізичної системи, керованої силами: кожна пара вузлів відштовхується, як однакові за знаком заряди (тобто не пов'язані вузли розходяться), кожен край тягне свої кінцеві точки разом, як пружина (тобто з'єднані вузли залишаються близько), і вся система інтегрована вперед у часі — швидкість гамується — доки не досягне локального мінімуму енергії. Цей процес встановлення є причиною того, що графік, керований силами, видимо «розслаблюється» в кластери та центри, віддаляючись від розріджених областей: фізика виконує ту ж саму роботу, що й людське око при розв’язанні схеми, лише автоматично.

Часті запитання

Який з трьох моделей найкраще відповідає реальній соціальній мережі?

Зазвичай Barabási-Albert завдяки розподілу ступенів (реальні соціальні та веб-графіки мають кілька вузлів із дуже високим ступенем і довгий хвіст вузлів із низьким ступенем, що відповідає закону потужності), поєднаному з Watts-Strogatz для малих світлових шляхів і високого місцевого кластерування. Erdős-Rényi в основному корисний як математична база, а не як реалістична модель будь-якої конкретної мережі.

Чому перемикання лише кількох відсотків ребер у Watts-Strogatz так значно зменшує довжину шляху?

Невелика кількість випадково перепідключених ребер діє як далекі шляхи через інакше локально кластеризоване кільце. Оскільки довжина шляху в регулярному кільці масштабується з n, а ярлик може пройти прямо через нього, навіть невелика кількість перепідключених ребер достатньо для зменшення середньої відстані між будь-якими двома вузлами з O(n) до O(log n), тоді як більшість локальної структури кластеризації залишається незмінною.

Чому мережі із масштабованим ступенем (Barabási-Albert) стійкі до випадкових збоїв, але вразливі до цілеспрямованих атак?

Більшість вузлів у мережі із масштабованим ступенем мають дуже низький ступінь, тому видалення випадкового вузла дуже ймовірно призведе до видалення одного з цих вузлів із низьким ступенем, що майже не впливає на загальну зв’язність. Але невелика кількість вузлів-вузлів несе непропорційно велику частку всіх шляхів через мережу, тому навмисне видалення лише кількох найвищих за ступенем вузлів може значно швидше фрагментувати великий компонент, ніж випадкове видалення.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Network Topology Generator і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Network Topology Generator

Що ви знайшли?

Додати кроки відтворення (опційно)