Найти предельные вероятности цепи маркова. Цепь Маркова – это просто: подробно разбираем принцип

Цепи Маркова

Введение

§ 1. Цепь Маркова

§ 2. Однородная цепь Маркова. Переходные вероятности. Матрица перехода

§3. Равенство Маркова

§4. Стационарное распределение. Теорема о предельных вероятностях

§5. Доказательство теоремы о предельных вероятностях в цепи Маркова

§6. Области применения цепей Маркова

Заключение

Список использованной литературы

Введение

Тема нашей курсовой работы цепи Маркова. Цепи Маркова названы так в честь выдающегося русского математика, Андрея Андреевича Маркова, который много занимался случайными процессами и внес большой вклад в развитие этой области. В последнее время можно услышать о применении цепей Маркова в самых разных областях: современных веб-технологиях, при анализе литературных текстов или даже при разработке тактики игры футбольной команды. У тех, кто не знает что такое цепи Маркова, может возникнуть ощущение, что это что-то очень сложное и почти недоступное для понимания.

Нет, все как раз наоборот. Цепь Маркова это один из самых простых случаев последовательности случайных событий. Но, несмотря на свою простоту, она часто может быть полезной даже при описании довольно сложных явлений. Цепью Маркова называют такую последовательность случайных событий, в которой вероятность каждого события зависит только от предыдущего, но не зависит от более ранних событий.

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

Задача моей курсовой работы – более подробно изучить приложения цепей Маркова, постановку задачи и проблемы Маркова.

§1. Цепь Маркова

Представим, что производится последовательность испытаний.

Определение. Цепью Маркова называют последовательность испытаний, в каждом из которых появляется одно и только одно из несовместных событий полной группы, причем условная вероятность того, что в -м испытании наступит событие , при условии, что в -м испытании наступило событие , не зависит от результатов предшествующих испытаний.

Например, если последовательность испытаний образует цепь Маркова и полная группа состоит из четырех несовместных событий , причем известно, что в шестом испытании появилось событие , то условная вероятность того, что в седьмом испытании наступит событие , не зависит от того, какие события появились в первом, втором, …, пятом испытаниях.

Заметим, что независимые испытания являются частным случаем цепи Маркова. Действительно, если испытания независимы, то появление некоторого определенного события в любом испытании не зависит от результатов ранее произведенных испытаний. Отсюда следует, что понятие цепи Маркова является обобщением понятия независимых испытаний.

Часто при изложении теории цепей Маркова придерживаются иной терминология и говорят о некоторой физической системе , которая в каждый момент времени находится в одном из состояний: , и меняет свое состояние только в отдельные моменты времени то есть система переходит из одного состояния в другое (например из в ). Для цепей Маркова вероятность перейти в какое-либо состояние в момент зависит только от того, в каком состоянии система находилась в момент , и не изменяется от того, что становятся известными ее состояния в более ранние моменты. Так же в частности, после испытания система может остаться в том же состоянии («перейти» из состояния в состояние ).

Для иллюстрации рассмотрим пример.

Пример 1. Представим, что частица, находящаяся на прямой, движется по этой прямой под влиянием случайных толчков, происходящих в моменты . Частица может находиться в точках с целочисленными координатами: ; в точках и находятся отражающие стенки. Каждый толчок перемещает частицу вправо с вероятностью и влево с вероятностью , если только частица не находится у стенки. Если же частица находится у стенки, то любой толчок переводит ее на единицу внутрь промежутка между стенками. Здесь мы видим, что этот пример блуждания частицы представляет собой типичную цепь Маркова.

Таким образом, события называют состояниями системы, а испытания – изменениями ее состояний.

Дадим теперь определение цепи Маркова, используя новую терминологию.

Цепью Маркова с дискретным временем называют цепь, изменение состояний которой происходит в определенные фиксированные моменты времени.

Цепью Маркова с непрерывным временем называют цепь, изменение состояний которой происходит в любые случайные возможные моменты времени.

§2. Однородная цепь Маркова. Переходные вероятности. Матрица перехода

Определение. Однородной называют цепь Маркова, если условная вероятность (переход из состояния в состоянии ) не зависит от номера испытания. Поэтому вместо пишут просто .

Пример 1. Случайное блуждание. Пусть на прямой в точке с целочисленной координатой находится материальная частица. В определенные моменты времени частица испытывает толчки. Под действием толчка частица с вероятностью смещается на единицу вправо и с вероятностью – на единицу влево. Ясно, что положение (координата) частицы после толчка зависит от того, где находилась частица после непосредственно предшествующего толчка, и не зависит от того, как она двигалась под действием остальных предшествующих толчков.

Таким образом, случайное блуждание − пример однородной цепи Маркова с дискретным временем.

Переходной вероятностью называют условную вероятность того, что из состояния (в котором система оказалась в результате некоторого испытания, безразлично какого номера) в итоге следующего испытания система перейдет в состояние .

Таким образом, в обозначении первый индекс указывает номер предшествующего, а второй − номер последующего состояния. Например, – вероятность перехода из второго состояния в третье.

Пусть число состояний конечно и равно .

Матрицей перехода системы называют матрицу, которая содержит все переходные вероятности этой системы:


Так как в каждой строке матрицы помещены вероятности событий (перехода из одного и того же состояния в любое возможное состояние ), которые образуют полную группу, то сумма вероятностей этих событий равна единице. Другими словами, сумма переходных вероятностей каждой строки матрицы перехода равна единице:

Приведем пример матрицы перехода системы, которая может находиться в трех состояниях ; переход из состояния в состояние происходит по схеме однородной цепи Маркова; вероятности перехода задаются матрицей:

Здесь видим, что если система находилось в состоянии , то после изменения состояния за один шаг она с вероятностью 0,5 останется в этом же состоянии, с вероятностью 0,5 останется в этом же состоянии, с вероятностью 0,2 перейдет в состояние , то после перехода она может оказаться в состояниях ; перейти же из состояния в она не может. Последняя строка матрицы показывает нам, что из состояния перейти в любое из возможных состояний с одной и той же вероятностью 0,1.

На основе матрицы перехода системы можно построить так называемый граф состояний системы,его еще называют размеченный граф состояний. Это удобно для наглядного представления цепи. Порядок построения граф рассмотрим на примере.

Пример 2. По заданной матрице перехода построить граф состояний.

Т.к. матрица четвертого порядка, то, соответственно, система имеет 4 возможных состояния.

На графе не отмечаются вероятности перехода системы из одного состояния в то же самое. При рассмотрении конкретных систем удобно сначала построить граф состояний, затем определить вероятность переходов системы из одного состояния в то же самое (исходя из требования равенства единице суммы элементов строк матрицы), а потом составить матрицу переходов системы.

§3. Равенство Маркова

Определение. Обозначим через вероятность того, что в результате шагов (испытаний) система перейдет из состояния в состояние . Например, – вероятность перехода за 10 шагов из второго состояния в пятое.

Подчеркнем, что при получим переходные вероятности

Поставим перед собой задачу: зная переходные вероятности найти вероятности перехода системы из состояния в состояние за шагов.

С этой целью введем в рассмотрение промежуточное (между и ) состояние . Другими словами, будeм считать, что из первоначального состояния за шагов система перейдет в промежуточное состояние с вероятностью , после чего за оставшиеся шагов из промежуточного состояния она перейдет в конечное состояние с вероятностью .

По формуле полной вероятности, получим

. (1)

Эту формулу называют равенством Маркова.

Пояснение. Введем обозначения:

– интересующее нас событие (за шагов система перейдет из начального состояния в конечное ), следовательно, ; − гипотезы(за шагов система перейдет из первоначального состояния в промежуточное состояние ), следовательно, − условная вероятность наступления при условии, что имела место гипотеза (за шагов система перейдет из промежуточного состояния в конечное ), следовательно,

По формуле полной вероятности,

()

Или в принятых нами обозначениях

что совпадает с формулой Маркова (1).

Зная все переходные вероятности т.е зная матрицу перехода из состояния в состояние за один шаг, можно найти вероятности перехода из состояния в состояние за два шага, следовательно, и саму матрицу перехода ; по известной матрице можно найти матрицу перехода из состояния в состояние за три шага, и т.д.

Действительно, положив в равенстве Маркова

,

цепь марков случайный вероятность


,

(2)

Таким образом, по формуле (2) можно найти все вероятности следовательно, и саму матрицу . Поскольку непосредственное использование формулы (2) оказывается утомительным, а матричное исчисление ведет к цели быстрее, напишу вытекающие из (2) соотношение в матричной форме:

Положив в (1), аналогично получим

В общем случае

Теорема 1. При любых s, t

(3)

Доказательство. Вычислим вероятность по формуле полной вероятности (), положив


Из равенств

Отсюда из равенств (4) и

получим утверждение теоремы.

Определим матрицу В матричной записи (3) имеет вид

Так как то где − матрица вероятности перехода. Из (5) следует

(6)

Результаты, полученной в теории матриц, позволяют по формуле (6) вычислить и исследовать их поведение при

Пример 1. Задана матрица перехода Найти матрицу перехода

Решение. Воспользуемся формулой

Перемножив матрицы, окончательно получим:

.

§4. Стационарное распределение. Теорема о предельных вероятностях

Распределение вероятностей в произвольной момент времени можно найти, воспользовавшись формулой полной вероятности

(7)

Может оказаться, что не зависит от времени. Назовем стационарным распределением вектор , удовлетворяющий условиям

где вероятности перехода.

Если в цепи Маркова то при любом

Это утверждение следует по индукции из (7) и (8).

Приведем формулировку теоремы о предельных вероятностях для одного важного класса цепей Маркова.

Теорема 1. Если при некотором >0 все элементы матрица положительны, то для любых , при

, (9)

где стационарное распределение с а некоторая постоянная, удовлетворяющая неравенством 0< h <1.

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

Если выполнить условие теоремы 1, то вероятность того, что система находится в некотором состоянии , в пределе не зависит от начального распределение. Действительно, из (9) и (7) следует, что при любом начальном распределении ,

Рассмотрим несколько примеров цепи Маркова, которых условия теоремы 1, не выполнены. Нетрудно проверить, что такими примерами является примеры. В примере вероятности перехода имеют приделы, но эти приделы зависят от начального состояния. В частности, при


В других примеров приделы вероятностей при очевидно, не существуют.

Найдем стационарное распределение в примере 1. Нужно найти вектор удовлетворяющий условиям (8):

,

;

Отсюда, Таким образом, стационарное распределение существует, но не все координаты векторы положительны.

Для полиномиальной схемы были введены случайные величины, равные чесу исходов данного типа. Введем аналогичные величины для цепей Маркова. Пусть − число попадания системы в состояние за время . Тогда частота попаданий системы в состояние . Используя формулы (9), можно доказать, что при сближается с . Для этого нужно получить асимптотические формулы для и и воспользоваться неравенством Чебышева. Приведем вывод формулы для . Представим в виде

(10)

где , если , и в противном случае. Так как

,

то, воспользовавшись свойством математического ожидания и формулой (9), получим

.

Втрое слагаемое в правой части этого равенства в силу теоремы 1 является частной суммой сходящегося ряда. Положив , получим

Поскольку

Из формулы (11), в частности, следует, что

при


Так же можно получить формулу для которая используется для вычисления дисперсии.

§5. Доказательство теоремы о предельных вероятностях в цепи Маркова

Докажем сначала две леммы. Положим

Лемма 1. При любых существуют пределы

Доказательство. Используя уравнение (3) с получим

Таким образом, последовательности и монотонны и ограничены. Отсюда следует утверждение леммы 1.

Лемма 2. Если выполнены условия теоремы 2, то существуют постоянные , такие, что

Для любых


где , означает суммирование по всем , при которых положительно, а суммирование по остальным . Отсюда

. (12)

Так как в условиях теоремы 1 вероятности перехода при всех , то при любых

И в силу конечности числа состояний

Оценим теперь разность . Используя уравнение (3) с , , получим


Отсюда, используя (8)-(10), найдем

=.

Объединяя это соотношение с неравенством (14) , получим утверждение леммы.

Перейти к доказательству теоремы. Так как последовательности , монотонны, то

0<. (15)

Отсюда и из леммы 1 находим

Следовательно, при получи и

Положительность следует из неравенства (15). Переходя к пределу при и в уравнении (3), получим, что удовлетворяет уравнению (12). Теорема доказана.

§6. Области применения цепей Маркова

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

Броуновское движение и его обобщения - диффузионные процессы и процессы с независимыми приращениями. Теория случайных процессов способствовала углублению связи между теорией вероятностей, теорией операторов и теорией дифференциальных уравнений, что, помимо прочего, имело важное значение для физики и других приложений. К числу приложений относятся процессы, представляющие интерес для актуарной (страховой) математики, теории массового обслуживания, генетики, регулирования дорожного движения, теории электрических цепей, а также теории учета и накопления товаров.

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

Стационарные процессы. Самая старая из известных эргодических теорем, как отмечалось выше, может быть интерпретирована как результат, описывающий предельное поведение стационарного случайного процесса. Такой процесс обладает тем свойством, что все вероятностные законы, которым он удовлетворяет, остаются инвариантными относительно сдвигов по времени. Эргодическую теорему, впервые сформулированную физиками в качестве гипотезы, можно представить как утверждение о том, что при определенных условиях среднее по ансамблю совпадает со средним по времени. Это означает, что одну и ту же информацию можно получить из долговременного наблюдения за системой и из одновременного (и одномоментного) наблюдения многих независимых копий той же самой системы. Закон больших чисел есть не что иное, как частный случай эргодической теоремы Биркгофа. Интерполяция и предсказание поведения стационарных гауссовских процессов, понимаемых в широком смысле, служат важным обобщением классической теории наименьших квадратов. Теория стационарных процессов - необходимое орудие исследования во многих областях, например, в теории связи, которая занимается изучением и созданием систем, передающих сообщения при наличии шума или случайных помех.

Марковские процессы (процессы без последействия) играют огромную роль в моделировании систем массового обслуживания (СМО), а также в моделировании и выборе стратегии управления социально-экономическими процессами, происходящими в обществе.

Также цепь Маркова можно использовать для генерации текстов. На вход подается несколько текстов, затем строится цепь Маркова с вероятностями следования одних слов за другими и на основе данной цепи создается результирующий текст. Игрушка получается весьма занятной!

Заключение

Таким образом, в нашей курсовой работе речь шла о схеме цепей Маркова. Узнали, в каких областях и как она применяется, независимые испытания являются доказали теорему о предельных вероятностях в цепи Маркова, приводили примеры для типичной и однородной цепи Маркова, а так же для нахождения матрицы перехода.

Мы убедились в том, что схема цепей Маркова является непосредственным обобщением схемы независимых испытаний.

Список использованной литературы

1. Чистяков В.П. Курс теории вероятностей. 6-е изд., испр. − СПб.: Издательство «Лань», 2003. − 272 с. − (Учебник для вузов. Специальная литература).

2. Гнеденко Б.В. Курс теории вероятностей.

3. Гмурман В.Е. Теория вероятностей и математическая статистика.

4. Вентцель Е.С. Теория вероятностей и ее инженерные приложения.

5. Колмогоров А.Н., Журбенко И.Г., Прохоров А.В. Введение в теорию вероятностей. − Москва-Ижевск: Институт компьютерных исследований, 2003, 188 стр.

6. Кац М. Вероятность и смежные вопросы в физике.

Способы математических описаний марковских случайных процессов в системе с дискретными состояниями (ДС) зависят от того, в какие моменты времени (заранее известные или случайные) могут происходить переходы системы из состояния в состояние.
Если переход системы из состояния в состояние возможен в заранее фиксированные моменты времени, имеем дело со случайным марковским процессом с дискретным временем. Если переход возможен в любой случайный момент времени, то имеем дело со случайным марковским процессом с непрерывным временем.
Пусть имеется физическая система S , которая может находиться в n состояниях S 1 , S 2 , …, S n . Переходы из состояния в состояние возможны только в моменты времени t 1 , t 2 , …, t k , назовём эти моменты времени шагами. Будем рассматривать СП в системе S как функцию целочисленного аргумента 1, 2, …, k , где аргументом является номер шага.
Пример: S 1 → S 2 → S 3 → S 2 .
Условимся обозначать S i ( k ) – событие, состоящее в том, что после k шагов система находится в состоянии S i .
При любом k события S 1 ( k ) , S 2 ( k ) ,…, S n ( k ) образуют полную группу событий и являются несовместными.

Процесс в системе можно представить как цепочку событий.
Пример:S 1 (0) , S 2 (1) , S 3 (2) , S 5 (3) ,….
Такая последовательность называется марковской цепью , если для каждого шага вероятность перехода из любого состояния S i в любое состояние S j не зависит от того, когда и как система пришла в состояние S i .
Пусть в любой момент времени после любого k -го шага система S может находиться в одном из состояний S 1 , S 2 , …, S n , т. е. может произойти одно событие из полной группы событий: S 1 ( k ) , S 2 ( k ) , …, S n ( k ) . Обозначим вероятности этих событий:
P 1 (1) = P (S 1 (1)); P 2 (1) = P (S 2 (1)); …; P n (1) = P (S n ( k ));
P 1 (2) = P (S 1 (2)); P 2 (2) = P (S 2 (2)); …; P n (2) = P (S n (2));
P 1 (k ) = P (S 1 (k )); P 2 (k ) = P (S 2 (k )); …; P n (k ) = P (S n (k )).
Легко заметить, что для каждого номера шага выполняется условие
P 1 (k ) + P 2 (k ) +…+ P n (k ) = 1.
Назовём эти вероятности вероятностями состояний .следовательно, задача будет звучать следующим образом: найти вероятности состояний системы для любого k .
Пример. Пусть имеется какая-то система, которая может находиться в любом из шести состояний. тогда процессы, происходящие в ней, можно изобразить либо в виде графика изменения состояния системы (рис. 7.9, а ), либо в виде графа состояний системы (рис. 7.9, б ).

а)

Рис. 7.9
Также процессы в системе можно изобразить в виде последовательности состояний: S 1 , S 3 , S 2 , S 2 , S 3 , S 5 , S 6 , S 2 .
Вероятность состояния на (k + 1)-м шаге зависит только от состояния на k- м шаге.
Для любого шага k существуют какие-то вероятности перехода системы из любого состояния в любое другое состояние, назовем эти вероятности переходными вероятностями марковской цепи.
Некоторые из этих вероятностей будут равны 0, если переход из одного состояния в другое невозможен за один шаг.
Марковская цепь называется однородной , если переходные состояния не зависят от номера шага, в противном случае она называется неоднородной .
Пусть имеется однородная марковская цепь и пусть система S имеет n возможных состояний: S 1 , …, S n . Пусть для каждого состояния известна вероятность перехода в другое состояние за один шаг, т. е. P ij (из S i в S j за один шаг), тогда мы можем записать переходные вероятности в виде матрицы.

. (7.1)
По диагонали этой матрицы расположены вероятности того, что система переходит из состояния S i в то же состояние S i .
Пользуясь введенными ранее событиями , можно переходные вероятности записать как условные вероятности:
.
Очевидно, что сумма членов в каждой строке матрицы (1) равна единице, поскольку события образуют полную группу несовместных событий.

При рассмотрении марковских цепей, так же как и при анализе марковского случайного процесса, используются различные графы состояний (рис. 7.10).

Рис. 7.10

Данная система может находиться в любом из шести состояний, при этом P ij – вероятность перехода системы из состояния S i в состояние S j . Для данной системы запишем уравнения, что система находилась в каком-либо состоянии и из него за время t не вышла:

В общем случае марковская цепь является неоднородной, т. е. вероятность P ij меняется от шага к шагу. Предположим, что задана матрица вероятностей перехода на каждом шаге, тогда вероятность того, что система S на k -м шаге будет находиться в состоянии S i , можно найти по формуле

Зная матрицу переходных вероятностей и начальное состояние системы, можно найти вероятности состояний после любого k -го шага. Пусть в начальный момент времени система находится в состоянии S m . Тогда для t = 0
.
Найдем вероятности после первого шага. Из состояния S m система перейдет в состояния S 1 , S 2 и т. д. с вероятностями P m 1 , P m 2 , …, P mm , …, P mn . Тогда после первого шага вероятности будут равны

. (7.2)
Найдем вероятности состояния после второго шага: . Будем вычислять эти вероятности по формуле полной вероятности с гипотезами:
.
Гипотезами будут следующие утверждения:

  • после первого шага система была в состоянии S 1 -H 1 ;
  • после второго шага система была в состоянии S 2 -H 2 ;
  • после n -го шага система была в состоянии S n -H n .
Вероятности гипотез известны из выражения (7.2). Условные вероятности перехода в состояние А при каждой гипотезе тоже известны и записаны в матрицы переходных состояний. Тогда по формуле полной вероятности получим:

Вероятность любого состояния после второго шага:

(7.3)
В формуле (7.3) суммируются все переходные вероятности P ij , но учитываются только отличные от нуля. Вероятность любого состояния после k -го шага:

(7.4)
Таким образом, вероятность состояния после k -го шага определяется по рекуррентной формуле (7.4) через вероятности (k – 1)-го шага.

Задача 6. Задана матрица вероятностей перехода для цепи Маркова за один шаг. Найти матрицу перехода данной цепи за три шага.
Решение. Матрицей перехода системы называют матрицу, которая содержит все переходные вероятности этой системы:

В каждой строке матрицы помещены вероятности событий (перехода из состояния i в состояние j ), которые образуют полную группу, поэтому сумма вероятностей этих событий равна единице:

Обозначим через p ij (n) вероятность того, что в результате n шагов (испытаний) система перейдет из состояния i в состояние j . Например p 25 (10) - вероятность перехода из второго состояния в пятое за десять шагов. Отметим, что при n=1 получаем переходные вероятности p ij (1)=p ij .
Перед нами поставлена задача: зная переходные вероятности p ij , найти вероятности p ij (n) перехода системы из состояния i в состояние j заn шагов. Для этого введем промежуточное (между i и j ) состояние r . Другими словами, будем считать, что из первоначального состояния i за m шагов система перейдет в промежуточное состояние r с вероятностью p ij (n-m) , после чего, за оставшиеся n-m шагов из промежуточного состояния r она перейдет в конечное состояние j с вероятностью p ij (n-m) . По формуле полной вероятности получаем:
.
Эту формулу называют равенством Маркова. С помощью этой формулы можно найти все вероятности p ij (n) , а, следовательно, и саму матрицу P n . Так как матричное исчисление ведет к цели быстрее, запишем вытекающее из полученной формулы матричное соотношение в общем виде.
Вычислим матрицу перехода цепи Маркова за три шага, используя полученную формулу:

Ответ: .

Задача №1 . Матрица вероятностей перехода цепи Маркова имеет вид:
.
Распределение по состояниям в момент времени t=0 определяется вектором:
π 0 =(0.5; 0.2; 0.3)
Найти: а) распределение по состояниям в моменты t=1,2,3,4 .
в) стационарное распределение.

Определение. Однородной называют цепь Маркова, если условная вероятность (переход из состояния в состоянии) не зависит от номера испытания. Поэтому вместо пишут просто.

Пример 1. Случайное блуждание. Пусть на прямой в точке с целочисленной координатой находится материальная частица. В определенные моменты времени частица испытывает толчки. Под действием толчка частица с вероятностью смещается на единицу вправо и с вероятностью - на единицу влево. Ясно, что положение (координата) частицы после толчка зависит от того, где находилась частица после непосредственно предшествующего толчка, и не зависит от того, как она двигалась под действием остальных предшествующих толчков.

Таким образом, случайное блуждание? пример однородной цепи Маркова с дискретным временем.

Переходной вероятностью называют условную вероятность того, что из состояния (в котором система оказалась в результате некоторого испытания, безразлично какого номера) в итоге следующего испытания система перейдет в состояние.

Таким образом, в обозначении первый индекс указывает номер предшествующего, а второй? номер последующего состояния. Например, - вероятность перехода из второго состояния в третье.

Пусть число состояний конечно и равно.

Матрицей перехода системы называют матрицу, которая содержит все переходные вероятности этой системы:

Так как в каждой строке матрицы помещены вероятности событий (перехода из одного и того же состояния в любое возможное состояние), которые образуют полную группу, то сумма вероятностей этих событий равна единице. Другими словами, сумма переходных вероятностей каждой строки матрицы перехода равна единице:

Приведем пример матрицы перехода системы, которая может находиться в трех состояниях; переход из состояния в состояние происходит по схеме однородной цепи Маркова; вероятности перехода задаются матрицей:

Здесь видим, что если система находилось в состоянии, то после изменения состояния за один шаг она с вероятностью 0,5 останется в этом же состоянии, с вероятностью 0,5 останется в этом же состоянии, с вероятностью 0,2 перейдет в состояние, то после перехода она может оказаться в состояниях; перейти же из состояния в она не может. Последняя строка матрицы показывает нам, что из состояния перейти в любое из возможных состояний с одной и той же вероятностью 0,1.

На основе матрицы перехода системы можно построить так называемый граф состояний системы, его еще называют размеченный граф состояний. Это удобно для наглядного представления цепи. Порядок построения граф рассмотрим на примере.

Пример 2. По заданной матрице перехода построить граф состояний.

Т.к. матрица четвертого порядка, то, соответственно, система имеет 4 возможных состояния.

На графе не отмечаются вероятности перехода системы из одного состояния в то же самое. При рассмотрении конкретных систем удобно сначала построить граф состояний, затем определить вероятность переходов системы из одного состояния в то же самое (исходя из требования равенства единице суммы элементов строк матрицы), а потом составить матрицу переходов системы.

Сегодня я хотел бы поведать вам о написании класса для упрощения работы с цепями Маркова.

Прошу под кат.

Начальные знания:

Представление графов в форме матрицы смежности, знание основных понятий о графах. Знание C++ для практической части.

Теория

Це́пь Ма́ркова - последовательность случайных событий с конечным или счётным числом исходов, характеризующаяся тем свойством, что, говоря нестрого, при фиксированном настоящем будущее независимо от прошлого. Названа в честь А. А. Маркова (старшего).

Если говорить простыми словами, то Цепь Маркова - это взвешенный граф. В его вершинах находятся события, а в качестве веса ребра, соединяющего вершины A и B - вероятность того, что после события A последует событие B.

О применении цепей Маркова написано довольно много статей, мы же продолжим разработку класса.

Приведу пример цепи Маркова:

В дальнейшем мы будем рассматривать в качестве примера эту схему.

Очевидно, что если из вершины A есть только одно исходящее ребро, то его вес будет равен 1.

Обозначения
В вершинах у нас находятся события (от A, B, C, D, E...). На ребрах вероятность того, что после i-го события будет событие j > i. Для условности и удобства я пронумеровал вершины (№1, №2 и т.д).

Матрицей будем называть матрицу смежности ориентированного взвешенного графа, которым изображаем цепь Маркова. (об этом далее). В данном частном случае эта матрица называется также матрицей переходных вероятностей или просто матрицей перехода.

Матричное представление цепи Маркова
Представлять цепи Маркова мы будем при помощи матрицы, именно той матрицы смежности, которой представляем графы.

Напомню:

Матрица смежности графа G с конечным числом вершин n (пронумерованных числами от 1 до n) - это квадратная матрица A размера n, в которой значение элемента aij равно числу рёбер из i-й вершины графа в j-ю вершину.

Подробнее о матрицах смежности - в курс дискретной математики.

В нашем случае матрица будет иметь размер 10x10, напишем ее:

0 50 0 0 0 0 50 0 0 0
0 0 80 20 0 0 0 0 0 0
0 0 0 0 100 0 0 0 0 0
0 0 0 0 100 0 0 0 0 0
0 0 0 0 0 100 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 70 30 0
0 0 0 0 0 0 0 0 0 100
0 0 0 0 0 0 0 0 0 100
0 0 0 0 0 100 0 0 0 0

Идея
Посмотрите внимательнее на нашу матрицу. В каждой строке у нас есть ненулевые значения в тех столбцах, чей номер совпадает с последующим событием, а само ненулевое значение - вероятность, что это событие наступит.

Таким образом, мы имеем значения вероятности наступления события с номером, равным номеру столбца после события с номером, равным строки .

Те кто знают теорию вероятностей могли догадаться, что каждая строка - это функция распределения вероятностей.

Алгоритм обхода цепи Маркова

1) инициализируем начальную позицию k нулевой вершиной.
2) Если вершина не конечная, то генерируем число m от 0...n-1 на основе распределения вероятности в строке k матрицы, где n - число вершин, а m - номер следующего события (!). Иначе выходим
3) Номер текующей позиции k приравниваем к номеру сгенерированной вершине
4) На шаг 2

Замечание: вершина конечная если распределение вероятностей нулевое (см. 6-ю строку в матрице).

Довольно изящный алгоритм, так ведь?

Реализация

В эту статью я хочу отдельно вынести код реализации описанного обхода. Инициализация и заполнение цепи Маркова не несут особого интереса (полный код см. в конце).

Реализация алгоритма обхода

template Element *Markov::Next(int StartElement = -1) { if (Markov::Initiated) // если матрица смежности создана { if (StartElement == -1) // если стартовый элемент по умолчанию StartElement = Markov::Current; // то продолжаем (в конструкторе Current = 0) std::random_device rd; std::mt19937 gen(rd()); std::discrete_distribution<> dicr_distr(Markov::AdjacencyMatrix.at(Current).begin(), Markov::AdjacencyMatrix.at(Current).end()); // инициализируем контейнер для генерации числа на основе распределения вероятности int next = dicr_distr(gen); // генерируем следующую вершину if (next == Markov::size()) // тонкости работы генератора, если распределение вероятностей нулевое, то он возвращает количество элементов return NULL; Markov::Current = next; // меняем текущую вершину return &(Markov::elems.at(next)); // возвращаем значение в вершине } return NULL; }

Данный алгоритм выглядит особенно просто благодаря особенностям контейнера discrete_distribution . На словах описать, как работает этот контейнер довольно сложно, поэтому возьмем в пример 0-ю строку нашей матрицы:

0 50 0 0 0 0 50 0 0 0

В результате работы генератора он вернет либо 1, либо 6 с вероятностями в 0.5 для каждой. То есть возвращает номер столбца (что эквивалентно номеру вершины в цепи) куда следует продолжить движение дальше.

Пример программы, которая использует класс:

Реализация программы, которая делает обход цепи Маркова из примера

#include #include "Markov.h" #include #include using namespace std; int main() { Markov chain; ofstream outs; outs.open("out.txt"); ifstream ins; ins.open("matrix.txt"); int num; double Prob = 0; (ins >> num).get(); // количество вершин string str; for (int i = 0; i < num; i++) { getline(ins, str); chain.AddElement(str); // добавляем вершину } if (chain.InitAdjacency()) // инициализируем матрицу нулями { for (int i = 0; i < chain.size(); i++) { for (int j = 0; j < chain.size(); j++) { (ins >> Prob).get(); if (!chain.PushAdjacency(i, j, Prob)) // вводим матрицу { cerr << "Adjacency matrix write error" << endl; } } } outs << chain.At(0) << " "; // выводим 0-ю вершину for (int i = 0; i < 20 * chain.size() - 1; i++) // генерируем 20 цепочек { string *str = chain.Next(); if (str != NULL) // если предыдущая не конечная outs << (*str).c_str() << " "; // выводим значение вершины else { outs << std::endl; // если конечная, то начинаем с начала chain.Current = 0; outs << chain.At(0) << " "; } } chain.UninitAdjacency(); // понятно } else cerr << "Can not initialize Adjacency matrix" << endl;; ins.close(); outs.close(); cin.get(); return 0; }


Пример вывода, который генерирует программа:

Все возможные состояния системы в однородной цепи Маркова, а - определяющая эту цепь стохастическая матрица, составленная из переходных вероятностей (см. стр. 381).

Обозначим через вероятность нахождения системы в состоянии в момент времени если известно, что в момент времени система находилась в состоянии (,). Очевидно, . Пользуясь теоремами о сложении и умножении вероятностей, мы легко найдем:

или в матричной записи

Отсюда, давая последовательно значения , получим важную формулу

Если существуют пределы

или в матричной записи

то величины называются предельными или финальными переходными вероятностями.

Для выяснения, в каких случаях существуют предельные переходные вероятности, и для вывода соответствующих формул введем следующую терминологию.

Мы будем стохастическую матрицу и соответствующую ой однородную цепь Маркова называть правильной, если у матрицы нет характеристических чисел, отличных от единицы и равных по модулю единице, и регулярной, если дополнительно единица является простым корнем характеристического уравнения матрицы .

Правильная матрица характеризуется том, что в ее нормальной форме (69) (стр. 373) матрицы являются примитивными. Для регулярной матрицы дополнительно .

Кроме того, однородная цепь Маркова называется неразложимой, разложимой, ациклической, циклической, если для этой цепи стохастическая матрица является соответственно неразложимой, разложимой, примитивной, импримитивной.

Поскольку примитивная стохастическая матрица является частным видом правильной матрицы, постольку ациклическая цепь Маркова является частным видом правильной цепи.

Мы покажем, что предельные переходные вероятности существуют только у правильных однородных цепей Маркова.

Действительно, пусть - минимальный многочлен правильной матрицы . Тогда

Согласно теореме 10 можно принять, что

На основании формулы (24) гл. V (стр. 113)

(96)

где - приведенная присоединенная матрица и

Если - правильная матрица, то

и потому в правой части формулы (96) все слагаемые, кроме первого, при стремится к нулю. Поэтому для правильной матрицы существует матрица , составленная из предельных переходных вероятностей, и

Обратное положение очевидно. Если существует продел

то матрица не может иметь характеристического числа , для которого , а , так как тогда не существовал бы предел [Этот же предел должен существовать в силу существования предела (97").]

Мы доказали, что для правильной (и только для правильной) однородной цепи Маркова существует матрица . Эта матрица определяется формулой (97).

Покажем, как можно выразить матрицу через характеристический многочлен

и присоединенную матрицу .

Из тождества

в силу (95), (95") и (98) вытекает:

Поэтому формулу (97) можно заменить формулой

(97)

Для регулярной цепи Маркова, поскольку она является частным видом правильной цепи, матрица существует и определяется любой из формул (97), (97"). В этом случае и формула (97") имеет вид

2. Рассмотрим правильную цепь общего типа (нерегулярную). Соответствующую матрицу запишем в нормальной форме

(100)

где - примитивные стохастические матрицы, а у неразложимых матриц максимальные характеристические числа . Полагая

,

запишем в виде

(101)

Но , поскольку все характеристические числа матрицы по модулю меньше единицы. Поэтому

(102)

Поскольку - примитивные стохастические матрицы, то матрицы согласно формулам (99) и (35) (стр. 362) положительны

и в каждом столбце любой из этих матриц все элементы равны между собой:

.

Заметим, что нормальному виду (100) стохастической матрицы соответствует разбиение состояний системы на группы:

Каждой группе в (104) соответствует своя группа рядов в (101). По терминологии Л. Н. Колмогорова состояния системы, входящие в , называются существенными, а состояния, входящие в остальные группы - несущественными.

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

Из вида (102) матрицы следует, что в продело при переход возможен только из любого состояния в существенное состояние, т. е. вероятность перехода в любое несущественное состояние при числе шагов стремится к нулю. Поэтому существенные состояния иногда называются и предельными состояниями.

3. Из формулы (97) следует:

.

Отсюда видно, что каждый столбец матрицы является собственным вектором стохастической матрицы для характеристического числа .

Для регулярной матрицы число 1 является простым корнем характеристического уравнения и этому числу соответствует только один (с точностью до скалярного множителя) собственный вектор матрицы . Поэтому в любом -м столбце матрицы все элементы равны одному и тому же неотрицательному числу :

Таким образом, в регулярной цепи предельные переходные вероятности но зависят от начального состояния.

Обратно, если в некоторой правильной однородной цепи Маркова продельные переходные вероятности не зависят от начального состояния, т. е. имеют место формулы (104), то в схеме (102) для матрицы обязательно . Но тогда и цепь является регулярной.

Для ациклической цепи, которая является частным случаем регулярной цепи, - примитивная матрица. Поэтому при некотором (см. теорему 8 на стр. 377). Но тогда и .

Обратно, из следует, что при некотором , а это по теореме 8 означает примитивность матрицы и, следовательно, ацикличность данной однородной цепи Маркова.

Полученные результаты мы сформулируем в виде следующей теоремы:

Теорема 11. 1 .Для того чтобы в однородной цепа Маркова существовали все предельные переходные вероятности, необходимо и достаточно, чтобы цепь была правильной. В этом случае матрица , составленная из предельных переходных вероятностей, определяется формулой (95) или (98).

2. Для того чтобы в правильной однородной цепи Маркова предельные переходные вероятности не зависели от начального состояния, необходимо и достаточно, чтобы цепь была регулярной. В этом случае матрица определяется формулой (99).

3. Для того чтобы в правильной однородной цепи Маркова все предельные переходные вероятности были отличны от нуля, необходимо и достаточно, чтобы цепь была ациклической.

4. Введем в рассмотрение столбцы из абсолютных вероятностей

(105)

где - вероятность нахождения системы в момент в состоянии (,). Пользуясь теоремами сложения и умножения вероятностей, найдем:

(,),

или в матричной записи

где - транспонированная матрица для матрицы .

Все абсолютные вероятности (105) определяются из формулы (106), если известны начальные вероятности и матрица переходных вероятностей

Введем в рассмотрение предельные абсолютные вероятности

Переходя в обоих частях равенства (106) к пределу при , получим:

Заметим, что существование матрицы предельных переходных вероятностей влечет существование предельных абсолютных вероятностей при любых начальных вероятностях и наоборот.

Из формулы (107) и из вида (102) матрицы вытекает, что предельные абсолютные вероятности, соответствующие несущественным состояниям, равны нулю.

Умножая обе части матричного равенства

справа на , мы в силу (107) получим:

т. е. столбец предельных абсолютных вероятностей является собственным вектором матрицы для характеристического числа .

Если данная цепь Маркова регулярна, то является простым корнем характеристического уравнения матрицы . В этом случае столбец предельных абсолютных вероятностей однозначно определяется из (108) (поскольку и ).

Пусть дана регулярная цепь Маркова. Тогда из (104) и из (107) следует:

(109)

В этом случае предельные абсолютные вероятности не зависят от начальных вероятностей .

Обратно, может не зависеть от при наличии формулы (107) тогда и только тогда, когда все строки матрицы одинаковы, т. е.

,

и потому (согласно теореме 11) - регулярная матрица.

Если - примитивная матрица, то , а отсюда в силу (109)

Наоборот, если все и не зависят от начальных вероятностен, то в каждом столбце матрицы все элементы одинаковы и согласно (109) , а это по теореме 11 означает, что - примитивная матрица, т. е. данная цепь ациклична.

Из изложенного вытекает, что теорему 11 можно сформулировать так:

Теорема 11". 1. Для того чтобы в однородной цепи Маркова существовали все предельные абсолютные вероятности при любых начальных вероятностях, необходимо и достаточно, чтобы цепь была правильной.

2. Для того чтобы в однородной цепи Маркова существовали предельные абсолютные вероятности при любых начальных вероятностях и не зависели от этих начальных вероятностей, необходимо и достаточно, чтобы цепь была регулярной.

3. Для того чтобы в однородной цепи Маркова при любых начальных вероятностях существовали положительные предельные абсолютные вероятности и эти предельные вероятности не зависели от начальных, необходимо и достаточно, чтобы цепь была ациклической.

5. Рассмотрим теперь однородную цепь Маркова общего типа с матрицей переходных вероятностей .

Возьмем нормальную форму (69) матрицы и обозначим через индексы импримитивности матриц в (69). Пусть - наименьшее общее кратное целых чисел . Тогда матрица не имеет характеристических чисел, равных по модулю единице, но отличных от единицы, т. е. - правильная матрица; при этом - наименьший показатель, при котором - правильная матрица. Число назовем периодом данной однородной цепи Маркова и.. Обратно, если и , определяемые формулами (110) и (110").

Средние предельные абсолютные вероятности, соответствующие несущественным состояниям, всегда равны нулю.

Если в нормальной форме матрицы число (и только в этом случае), средние предельные абсолютные вероятности не зависят от начальных вероятностей и однозначно определяются из уравнения (111).



Понравилась статья? Поделитесь с друзьями!