ГоловнаСтаттіВипадкові процеси

Марковські ланцюги: Майбутнє залежить лише від теперішнього

Перехідні матриці, стаціонарні розподіли, руїна гравця та як випадковий серфер, що переглядає гіперпосилання, став Google PageRank.

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

Процес, який забуває свою історію

Більшість послідовностей подій залежать від всього свого минулого. Марковська ланцюг – це особливий, обчислювально зручний випадок, коли цього не відбувається: ймовірність наступного стану залежить лише від поточного стану, ніколи не від того, як процес там досягав. Формально послідовність випадкових величин X₀, X₁, X₂, … над простором станів S має марківську властивість, якщо

P(X_(n+1)=j | X_n=i, X_(n-1)=i_(n-1), ..., X_0=i_0) = P(X_(n+1)=j | X_n=i) // все, що може розповісти вам минуле про майбутнє, // вже підсумовано поточним станом i Це одна "безпам'ятна" припущення, яке робить величезний спектр реальних систем математично обчислюваним — погодні послідовності, настільні ігри, хімічні реакції, веб-перегляд та алгоритми вибірки, які живлять сучасну байєсівську статистику.

P(X_(n+1)=j | X_n=i, X_(n-1)=i_(n-1), ..., X_0=i_0) = P(X_(n+1)=j | X_n=i)

// everything the past could tell you about the future
// is already summarised by the current state i
жива демонстрація · пов'язана симуляція● LIVE

Перехідна матриця

Усі однокрокові ймовірності збираються в перехідну матрицю P, де елемент P[i][j] – це ймовірність переходу від стану i до стану j, і кожний рядок сумується до 1. Наступний приклад із двома станами погоди робить цю ідею більш зрозумілою:

стани: {Сонячно, Дощ} P = | 0.8 0.2 | | 0.4 0.6 | розподіл після n кроків: π_n = π_0 · P^n Стани можна класифікувати за їхньою довгостроковою поведінкою: рекурентні стани гарантовано будуть відвідуватися нескінченну кількість разів, транзиторні стани можуть ніколи більше не з’являтися після певного моменту, а поглинальні стани – якщо їх потрапити, то звідти вже не вийти (P[i][i] = 1). Лабірингу називається неповнозв'язним, якщо кожен стан може дістатися будь-якого іншого стану, і періодичним, якщо він не застрягає у відвідуванні станів на фіксованій довжині циклу. Обидва ці властивості разом гарантують щось потужне: єдина довгострокова розподілена.

states: {Sunny, Rainy}
P = | 0.8  0.2 |     // row "Sunny": stay sunny 80%, turn rainy 20%
    | 0.4  0.6 |     // row "Rainy": turn sunny 40%, stay rainy 60%

distribution after n steps:  π_n = π_0 · P^n

Стаціонарні розподіли та швидкість їх досягнення

Розподіл π* є стаціонарним, якщо одне додаткове переміщення не змінює його: π* = π* · P. Теорема Пейррона-Фробена гарантує, що для безперервної та періодичної стохастичної матриці існує унікальний стаціонарний розподіл π*, який можна отримати з будь-якого початкового розподілу. Для прикладу з погодою, розв’язання рівнянь балансу дає π*[Сонячно] = 0.4/(0.2+0.4) = 2/3 та π*[Дощливо] = 1/3 – незалежно від того, з якого дня почався ланцюг (сонячного чи дощового).

Для більших просторів станів розв’язання рівнянь балансу вручну є непрактичним, тому стандартним інструментом є метод потужності: починаючи з будь-якого розподілу, множимо його повторно на P, поки він не зміниться. Швидкість, з якою він перестає змінюватися, визначає час змішування ланцюга, який регулюється спектральним розривом – відстанню між найбільшим власним значенням (завжди 1) та другим за величиною.

PageRank: випадковий серфер як марківська ланцюг

Оригінальний алгоритм PageRank від Google є марківським ланцюгом за маскою: уявіть собі "випадкового серфера", який з будь-якої веб-сторінки випадковим чином переходить до випадково обраного посилання. Мережа веб-посилань визначає матрицю переходів, і рейтинг кожної сторінки є простим її ймовірнісним масом у стаціонарному розподілі ланцюга — сторінки, на які посилаються багато добре зв’язаних сторінок, накопичують більше цієї ймовірності. Два практичні виправлення роблять модель придатною для реальної веб-мережі: «висячі» сторінки без вихідних посилань рівномірно розподіляють свою ймовірність замість того, щоб застрягати серфера, а коефіцієнт гасіння d (зазвичай 0.85) змушує серфера час від часу переміщатися на випадкову сторінку замість переходу за посиланням.

G = d · P + (1 − d)/n · 1·1ᵀ        // the "Google matrix"
PageRank = stationary distribution of G

// G is irreducible & aperiodic no matter what the link graph looks like,
// so ~50-100 rounds of power iteration reliably converge on real web scale

Випадкові ходи та руйнування гравця

Найпростіша марківська ланцюгова структура – це 1D випадкова хода: переміщення на +1 з ймовірністю p, -1 з ймовірністю q = 1 − p. Коли p = q = 0,5, хода є рекурсивною — тобто повертається до початкової точки з ймовірністю 1 — але як тільки p ≠ q, вона відходить в нескінченність (+∞ або -∞) і стає транзиторною. Це математика, що лежить в основі руйнування гравця: гравець із сумою грошей £k грає повторно проти казино з фактично нескінченними коштами, виграючи £1 з ймовірністю p, доки не досягне цілі £N або не розориться. Ймовірність руйнування має закриту форму та різко падає, як тільки p опускається навіть трохи нижче 0,5 — саме тому кожна гра казино розробляється з p < 0,5. Чудовий пов’язаний факт, теорема Полья, стверджує, що симетрична випадкова хода є рекурсивною в одній та двох вимірах, але транзиторною у трьох або більше: «смердючий чоловік завжди знаходить свій дім», а птаха, яка літає в 3D, зазвичай не повертається додому.

Как симуляция здесь использует это

Симуляция на этом сайте позволяет напрямую редактировать небольшой переходный матричный и наблюдать за потоком вероятностной массы между состояниями шаг за шагом, визуально сходя с предсказанным выше стационарным распределением. Поскольку цепь перерисовывается каждый переход на экране, вы можете наблюдать за временем смешивания, а не просто рассчитывать его: хорошо связанная сеть приходит в норму за несколько шагов, а сеть с узким бутылочным горлышком между двумя кластерами состояний заметно дольше приводится к равновесию — спектральный разрыв становится осязаемым.

Frequently asked questions

Що саме означає термін "без пам’яті" для марковської ланцюга?

Це означає, що ймовірність переходу в будь-який наступний стан залежить лише від поточного стану, а не від послідовності попередніх станів. Формально P(X_{n+1}=j | X_n=i, X_{n-1}, ..., X_0) = P(X_{n+1}=j | X_n=i). Це не означає, що процес є непередбачуваним – це означає, що вся інформація про майбутнє вже узагальнена в поточному стані, тому історія може бути відкинута.

Чи завжди збігається до стаціонарного розподілу кожна марковська ланцюг?

Ні. Збіжність до унікального стаціонарного розподілу вимагає, щоб ланцюг був незвідним (кожен стан доступний з кожного іншого) та періодичним (він не циклічно переходить через стани за фіксованим графіком). Ланцюг із поглинаючим станом, наприклад, гравець, який програє, не збігається до внутрішнього стаціонарного розподілу – він збігається до того, що застрягне в цьому поглинаючому стані з ймовірністю 1.

Як Google's PageRank перетворює марковську ланцюг на систему ранжування?

PageRank моделює випадкового серфера, який рівномірно слідує за вихідними посиланнями, що визначає матрицю переходів між веб-сторінками. Фактор гасіння (зазвичай 0,85) вносить невелику ймовірність рівномірного телепорту, щоб отримати гарантовану незвідність та періодичність матриці Google, незалежно від фактичної структури посилань. Ранг кожної сторінки – це її ймовірнісна маса в унікальному стаціонарному розподілі ланцюга, який визначається на практиці за допомогою ітеративного методу потужності.

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

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

▶ Відкрити симуляцію the simulation

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

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