Процес, який забуває свою історію
Більшість послідовностей подій залежать від всього свого минулого. Марковська ланцюг – це особливий, обчислювально зручний випадок, коли цього не відбувається: ймовірність наступного стану залежить лише від поточного стану, ніколи не від того, як процес там досягав. Формально послідовність випадкових величин 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
Перехідна матриця
Усі однокрокові ймовірності збираються в перехідну матрицю 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