Задача о разорении игрока

Материал из testwiki
Перейти к навигации Перейти к поиску

Задача о разорении игрока — задача из области теории вероятностей.

Траектории справедливой игры длиною 1000 шагов; коридор блуждания частицы обозначен горизонтальными линиями

Формулировка

За столом сидят два игрока. У первого в распоряжении находится −A (A<0,−A>0) рублей, у второго в распоряжении находится B (B>0) рублей. Перед ними на столе лежит асимметричная монета (вероятность, что выпадет аверс, может равняться любому числу от 0 до 1 включительно). Если на монете выпадает аверс, то рубль выигрывает первый игрок (второй игрок выплачивает первому 1 рубль), а если выпадает реверс, то первый игрок платит второму один рубль. Требуется найти вероятность того, что один из игроков проиграется в ноль за n шагов, и вероятность проигрыша каждого азартного игрока. Также необходимо вычислить среднюю длину игры.

Данная ситуация может быть смоделирована подобным образом: имеется блуждающая частица и коридор [A;B]. Рассматривается вероятность того, что частица выйдет из коридора за n шагов (проскочит через верхнюю или нижнюю стенку).

Схема Бернулли

Рассмотрим схему Бернулли с n испытаниями.

Пусть (Ω,𝒜,ℙ) — вероятностное пространство, где

В выражении выше число выпавших единиц можно найти так: ν(ω)=∑i=1nxi+n2.

Введём последовательность бернуллиевских случайных величин:

i=1;n‾,ξi(ω):ℙ({ξi=1})=p,ℙ({ξi=−1})=q,p+q=1.

Подзадача о нормированности вероятности

Доказать, что ∑ω∈Ωℙ({ω})=1.


Решение

∑ω∈Ωℙ({ω})=∑ω∈Ωp∑i=1nxi+n2⋅n−∑i=1nxi+n2=∑k=0n∑ω∈Akp∑i=1n(xi+1)2⋅∑i=1n(1−xi)2=∑k=0nCnkpkqn−k. Это справедливо в силу того, что xi+12∈{0;1}.

∑k=0nCnkpkqn−k=(p+q)n=1, поскольку по условию p+q=1. ◼

Подзадача о независимости случайных величин ξi

Доказать, что ξ1 и ξ2 независимы.


Решение

Независимость случайных величин означает, что

ℙ({ξ1=1}∩{ξ2=1})=ℙ({ξ1=1})ℙ({ξ2=1}),

покажем это:

ℙ({ξ1=1}∩{ξ2=1})=ℙ({ω:ω=(x1;…;xn), x1=1, x2=1})=
=∑x3=±1…xn=±1p2+∑i=3nxi+n2⋅n−2+∑i=3nxi+n2=p2∑x3=±1…xn=±1p∑i=3nxi+(n−2)2⋅(n−2)−∑i=3nxi+(n−2)2=p2⋅1. ◼

Случайное блуждание

Для схемы Бернулли договоримся о следующем смысле случайной величины ξ: ξi=+1 означает, что второй игрок платит первому, а ξi=−1 – первый игрок второму.

Введём новое обозначение:

S0=0, Sk=ξ1+…+ξk,1⩽k⩽n.

Число n равно длительности игры, а последовательность (Sk)k⩽n можно рассматривать как траекторию случайного блуждания некоторой частицы, выходящей из нуля, при этом очевидно равенство Sk+1=Sk+ξk+1, а само Sk означает выигрыш первого игрока у второго (который может быть отрицательным).


Пусть A, B — два целых числа, A⩽0, B⩾0. Требуется найти, с какой вероятностью за n шагов будет осуществлён выход частицы из коридора, ограниченного A и B.

Далее, пусть x — целое число, x∈ℤ∩[A;B]. Пусть также для 0⩽k⩽n верно, что Skx=x+Sk (что означает, что игроки начинали играть с ненулевым капиталом в распоряжении). Пусть τkx=min⁡{l:0⩽l⩽k,Slx={AorB}}. Условимся считать, что τkx=k, если A<Slx<B∀l:0⩽l⩽k. Если частица так и не пересекла границы, то xk не определён.

Для каждого 0⩽k⩽n и x∈[A;B]∩ℤ момент τkx называется моментом остановки, который является случайной величиной, определённой на пространстве элементарных событий Ω. ∀l<k{ω:τkx=l} — это событие, состоящее в том, что случайное блуждание {Six:0⩽i⩽k}, начинающееся в точке x, выйдет из интервала [A;B] в момент l. Введём новые обозначения: 𝒜kx=∐0⩽l⩽k{ω:τkx=l, Slx=A}, ℬkx=∐0⩽l⩽k{ω:τkx=l, Slx=B} для 0⩽k⩽n. Пусть αk(x)=ℙ(𝒜kx), βk(x)=ℙ(ℬkx) — вероятности выхода частицы за время [0;k] из интервала [A;B] соответственно в точках A и B.

Пусть A<x<B; очевидно, что α0(x)=β0(x)=0 (пока игра не началась, частица находится внутри интервала с вероятностью 1). Пусть теперь 0⩽k⩽n. Тогда по формуле полной вероятности βk(x)=ℙ(ℬkx)=ℙ(ℬkx∣S1x=x+1)⋅ℙ({ξ1=1})+ℙ(ℬkx∣S1x=x−1)⋅ℙ({ξ1=−1}).

Подзадача о рекуррентности

Доказать, что

(1) ℙ(ℬkx∣S1x=x+1)=ℙ(ℬk−1x+1),

(2) ℙ(ℬkx∣S1x=x−1)=ℙ(ℬk−1x−1).

Доказательство.

(1) Докажем, что ℙ(ℬkx∣S1x=x+1)=ℙ(ℬk−1x+1).

ℬkx={ω:(x;x+ξ1;…;x+ξ1+…+ξk)∈Bkx}, где Bkx — множество траекторий вида (x;x+x1;…;x+x1+…+xk),xi=±1, которые за время [0;k] впервые выходят из интервала (A;B) в точке B (показано на рисунке). Если случайный вектор попадает в подходящую траекторию, то он попадает в множество ℬ. Представим множество Bkx как Bkx;x+1⊔Bkx;x−1. Дизъюнктное объединение правомерно по причине того, что у любой частицы, проходящей по траектории, x1=±1. Bkx;x+1 — те траектории из Bkx, для которых x1=1. Bkx;x−1 — те траектории из Bkx, для которых x1=−1. Заметим, что каждая траектория (x;x+1;x+1+x2;…;x+1+x2+…+xk) из Bkx;x+1 находится в однозначном соответствии с траекторией (x+1;x+1+x2;…;x+1+x2+…+xk) из Bk−1x+1. Взаимно-однозначное соответствие доказывается от противного. Предположим, что x1=−1 (неоднозначное соответствие); тогда данная траектория (x;x−1;x−1+x2;…;x−1+x2+…+xk) не сможет вывести частицу из коридора за k шагов (а только лишь за k+2 из-за изначального отдаления от верхней стенки коридора). В обратную сторону соответствие является также однозначным из определения: Sk+1=Sk+ξk+1. Из этого следует, что ℙ({(x+1;x+1+x2;…;x+1+x2+…+xk)∈Bk−1x+1})=ℙ({(x+1;x+1+x1;…;x+1+x1+…+xk−1)∈Bk−1x+1})=defℙ(ℬk−1x+1) (так как ξi суть независимые одинаково распределённые случайные величины).

Существует и другой способ доказательства:

ℙ(ℬkx∣S1x=x+1)=ℙ(ℬkx∣ξ1=1)=ℙ((x;x+ξ1;…;x+ξ1+…+ξk)∈Bkx∣ξ1=1)=
=ℙ((x;x+ξ1;…;x+ξ1+…+ξk)∈Bkx∩ξ1=1)ℙ({ξ1=1})=ℙ((x;x+1;…;x+1+…+ξk)∈Bkx∩ξ1=1)ℙ({ξ1=1})=
=ℙ({(x;x+1;x+1+ξ2;…;x+1+ξ2+…+ξk)∈Bkx})=ℙ({(x;x+1;x+1+ξ1;…;x+1+ξ1+…+ξk−1)∈Bkx})=
=ℙ({(x;x+1;x+1+ξ1;…;x+1+ξ1+…+ξk−1)∈Bk−1x+1})=ℙ(ℬk−1x+1)=βk−1(x+1).

Это справедливо потому, что вероятности независимы (это было доказано ранее).


(2) Аналогично докажем, что ℙ(ℬkx∣S1x=x−1)=ℙ(ℬk−1x+1).

Каждая траектория (x;x−1;x−1+x2;…;x−1+x2+…+xk) из Bkx;x+1 находится в однозначном соответствии с траекторией (x−1;x−1+x2;…;x−1+x2+…+xk) из Bk−1x−1. Отсюда ℙ({(x−1;x−1+x2;…;x−1+x2+…+xk)∈Bk−1x−1})=ℙ({(x−1;x−1+x1;…;x−1+x1+…+xk−1)∈Bk−1x−1})=defℙ(ℬk−1x−1). ◼

Вывод рекуррентного соотношения

Из уравнения для βk(x) следует, что для x∈(A;B) и k⩽n верно:

ℙ(ℬkx)=ℙ(ℬkx∣S1x=x+1)⋅p+ℙ(ℬkx∣S1x=x−1)⋅q=ℙ(ℬk−1x+1)⋅p+ℙ(ℬk−1x−1)⋅q=pβk−1(x+1)+qβk−1(x−1).

βl(B)=1, βl(A)=0 для l∈[0;n].


Формула полной вероятности также даёт нам следующий результат: αk(x)=pαk−1(x+1)+qαk−1(x−1).


Также отметим, что ℬk−1⊂ℬk, и поэтому βk−1(x)⩽βk(x)⩽1 для k⩽n. Это утверждение верно, так как к любой траектории, выводящей частицу за меньшее количество шагов, можно прибавить в начало один шаг (xj−1=±1), на котором частица может прийти в точку (j;Sjx) как из (j−1;Sjx−1) (для ξj=1), так и из (j−1;Sjx+1) (j⩽k).

Нахождение вероятностей

При достаточно больших n вероятность βn(x) близка к β(x) — решению уравнения β(x)=pβ(x+1)+qβ(x−1) при тех условиях, что β(B)=1 (выход произошёл сразу же из точки B — конец игры, выиграл первый игрок), β(A)=0 (первый игрок никогда не выиграет, если выход произойдёт мгновенно в точке A). Эти условия следуют из того, что liml→∞βl(B)=β(B). Это также будет доказано в этом разделе.

Сначала получим решение уравнения β(x)=pβ(x+1)+qβ(x−1). Пусть игра несправедливая (p≠q). В таком случае найдём корни уравнения, то есть β(x). Одно частное решение видно сразу: β(x)=const=a. Другое решение найдём, воспользовавшись тем, что β(x) — функция. Целесообразно употребить выражение с отношением qp, учитывая, что p+q=1: (qp)x=qx(p+q)px=qxpx−1+qx+1px=pqx+1px+1+qqx−1px−1=p(qp)x+1+q(qp)x−1. Отсюда правомерно предположить, что β(x)=b⋅(qp)x. Добавление константы ничего не изменит благодаря тому, что p+q=1.

Теперь рассмотрим общее решение: β(x)=a+b(qp)x. Воспользуемся теми условиями, что β(A)=a+b(qp)A=0 и β(B)=a+b(qp)B=1, и получим, что β(x)=β(x)−01−0=β(x)−β(A)β(B)−β(A)=a+b(qp)x−(a+b(qp)A)a+b(qp)B−(a+b(qp)A)=(qp)x−(qp)A(qp)B−(qp)A.

Подзадача о единственности решения

Докажем единственность решения данной задачи. Для этого покажем, что любое решение задачи β(x)=pβ(x+1)+qβ(x−1) с граничными условиями может быть представлено в виде (qp)x−(qp)A(qp)B−(qp)A.


Решение

Рассмотрим некоторое решение βˇ(x) при условиях βˇ(A)=0, βˇ(B)=1. Тогда всегда можно подобрать такие константы aˇ и bˇ, что aˇ+bˇ(qp)A=βˇ(A), aˇ+bˇ(qp)A+1=βˇ(A+1). Тогда из уравнения поставленной задачи следует, что βˇ(A+2)=aˇ+bˇ(qp)A+2. Тогда в общем случае βˇ(x)=aˇ+bˇ(qp)x. Следовательно, решение (qp)x−(qp)A(qp)B−(qp)A является единственным. Точно такой же ход рассуждений может быть применён и к α(x). ◼

Предельная сходимость

Рассмотрим вопрос о быстроте предельной сходимости αn(x) и βn(x) к α(x) и β(x). Пусть блуждание начинается из начала координат (x=0). Для простоты обозначим αn(0)=αn, βn(0)=βn, γn=1−αn−βn. Иными словами, γn — это единица минус сумма вероятностей выхода частицы из коридора — вероятность того, что она останется блуждать в коридоре: γn=ℙ{ω:A<Sk<B;0⩽k⩽n}. ω представляет собой событие ⋂0⩽k⩽n{A<Sk<B}. Рассмотрим число n=rm, где r,m∈ℤ, и цепочку случайных величин ζn:ζ1=∑i=1mξi,ζ2=∑i=m+12mξi,…,ζr=∑i=m(r−1)rmξi. Если обозначить совокупное богатство за C=|A|+B, то тогда {A<Sk<B;1⩽k⩽rm}⊆{|ζ1|<C;…;|ζr|<C}. Этому есть разумное объяснение: если частица выходит из нуля и не пересекает границ, то тогда совершенно определённо сумма m штук xi меньше, чем совокупный запас.

Подзадача о независимости случайных величин ζi

Докажем, что ζj независимы и одинаково распределённые. Достаточно доказать, что они независимы, так как все они имеют биномиальное распределение.


Решение

Докажем, что ℙ({ζ1=m}∩{ζ2=m})=ℙ({ζ1=m})⋅ℙ({ζ2=m}).

ℙ({ζ1=m}∩{ζ2=m})=ℙ({∑i=1mξi=m}∩{∑i=m+12mξi=m})=
=ℙ({ξ1;…;m=1}∩{ξm+1;…;2m=1})=ℙ2m({ξi=1})=ℙ({ζ1=m})⋅ℙ({ζ2=m}). ◼


Вернёмся к рассмотрению сходимости.

Из только что доказанного следует что γn⩽ℙ({|ζ1|;…;|ζr|<C})=∏i=1rℙ({|ζi|<C})=(ℙ({|ζ1|<C}))r.

Рассмотрим дисперсию: Var(ζ1)=m(1−(p−q)2) (что вполне правомерно, так как 1−(p−q)2=1−((p+q)2−4pq), а ξ — модифицированная бернуллиевская случайная величина), поэтому для достаточно больших m и 0<p<1 верно: ℙ({|ζ1|<C})⩽ε1, где ε1<1, так как если ℙ({|ζ1|⩽C})=1, то Var(ζ1)⩽C2. Если p=0 или p=1, то для довольно больших m верно, что ℙ({|ζ1|<C})=0, поэтому неравенство ℙ({|ζ1|<C})⩽ε1 верно ∀p∈[0;1]. Из вышесказанного следует, что γn⩽εn, где ε=ε11m<1. Так как α+β=1, то (α−αn)−(β−βn)=γn; так как α⩾αn и β⩾βn, то 0⩽α−αn⩽γn⩽εn; 0⩽β−βn⩽γn⩽εn при ε<1. Аналогичные оценки справедливы и для разностей α(x)−αn(x) и β(x)−βn(x), так как можно свести эти разности к разностям α−αn и β−βn при A1=A−x, B1=B−x.

Вернёмся к рассмотрению α(x). По аналогии с решением (qp)x−(qp)A(qp)B−(qp)A уравнения β(x)=pβ(x+1)+qβ(x−1), можно сказать, что у уравнения α(x)=pα(x+1)+qα(x−1) при граничных условиях α(A)=1, α(B)=0 существует единственное решение α(x)=(qp)B−(qp)x(qp)B−(qp)A,A⩽x⩽B.

Нетрудно заметить, что α(x)+β(x)=(qp)B−(qp)x(qp)B−(qp)A+(qp)x−(qp)A(qp)B−(qp)A=(qp)B−(qp)A(qp)B−(qp)A=1 при любых p∈[0;1]. Если же игра является справедливой (вероятность выпадения аверса равна вероятности выпадения реверса), то решения будут выглядеть следующим образом: β(x)=x−AB−A, α(x)=B−xB−A.

Ответ о вероятности разорения

Величины α(x) и β(x) можно назвать вероятностями разорения первого и второго игрока при начальных капиталах x−A и B−x при стремлении количества ходов к бесконечности и характеризации случайной величина ξi=+1 как выигрыша первого игрока, а ξi=−1 — проигрыша первого игрока. В дальнейшем будет показано, почему такую последовательность действительно можно построить.

Если A=0, то интуитивный смысл функции β(x) — это вероятность того, что частица, вышедшая из положения x, достигнет верхней стенки (B) ранее, чем нуля. Из формул β(x) видно, что

β(x)={xB,p=q=0,5,(qp)x−1(qp)B−1,p≠q.

Парадокс увеличения ставки при неблагоприятной игре

Что необходимо сделать первому игроку, если игра неблагоприятна для него?

Его вероятность проигрыша задана формулой limk→∞αk=α=(qp)B−1(qp)B−(qp)A.


Теперь пусть первый игрок с капиталом (−A) примет решение удвоить ставку и играть на два рубля, то есть ℙ({ξi=2})=p, ℙ({ξi=−2})=q. Тогда обозначим предельную вероятность разорения первого игрока так: α2=(qp)0,5B−1(qp)0,5B−(qp)0,5A.

Поэтому α=(qp)0,5B⋅2−12(qp)0,5B⋅2−(qp)0,5A⋅2=((qp)0,5B−1)⋅((qp)0,5B+1)((qp)0,5B−(qp)0,5A)⋅((qp)0,5B+(qp)0,5A)=α2⋅((qp)0,5B+1)((qp)0,5B+(qp)0,5A)>α2, так как α2 умножается на дробь, которая больше единицы при q>p.


Поэтому если вероятность выпадения столь желанного для первого игрока аверса меньше 0,5, то ему выгодно увеличить ставку в r>1 раз: это уменьшает вероятность его терминального разорения за счёт того, что вырастает вероятность выскочить из коридора в точке B. Это решение кажется парадоксальным, так как складывается впечатление, что при неблагоприятной ситуации надо снизить ставку и уменьшить проигрыш, но в действительности при бесконечном числе игр и низкой ставке проигрывающий игрок в конечном счёте обязательно проиграется в ноль, а игрок с высокой ставкой обладает большими шансами выпадения количества аверсов, достаточного для завершения игры в точке B.

Длительность случайного блуждания

Рассмотрим среднюю длительность блуждания нашей частицы. Введём математическое ожидание момента, когда игра прекращается: 𝔼(τkx)=mk(x) для k⩽n. Выведем рекуррентное соотношение для математического ожидания продолжительности игры:

mk(x)=𝔼(τkx)=∑1⩽l⩽klℙ({τkx=l})=∑1⩽l⩽kl(pℙ({τkx=l}|{ξ1=1})+qℙ({τkx=l}|{ξ1=−1}))=
=∑1⩽l⩽kl(pℙ({τk−1x+1=l−1})+qℙ{τk−1x−1=l−1}))=∑0⩽l⩽k−1(l+1)(pℙ({τk−1x+1=l})+qℙ({τk−1x−1=l}))=
=pmk−1(x+1)+qmk−1(x−1)+∑0⩽l⩽k−1(pℙ({τk−1x+1=l})+qℙ({τk−1x−1=l}))=pmk−1(x+1)+qmk−1(x−1)+1.

Для x∈(A;B) и k∈[0;n] мы получили рекуррентное соотношение для функции mk(x): mk(x)=pmk−1(x+1)+qmk−1(x−1)+1 при m0(x)=0.


Введём граничные условия: если игра начинается в точке A или B, то тогда она тут же и завершится — её длительность будет равна 0: mk(A)=mk(B)=0.


Из рекуррентного соотношения и граничных условий можно один за другим вычислить mi(x). Так как mk+1(x)⩾mk(x), то существует предел m(x)=limn→∞mn(x), который удовлетворяет соотношению mk(x)=pmk−1(x+1)+qmk−1(x−1)+1: m(x)=1+pm(x+1)+qm(x−1) при выполнении m(A)=m(B)=0. Данные переходы аналогичны тем, что мы рассмотрели при переходе к n→∞ в уравнении вероятности проигрыша. Для того чтобы решить данное уравнение, надо ввести ещё одно условие: матожидание количества ходов должно быть конечным, то есть m(x)<∞, x∈(A;B).


Решим данное уравнение. В уравнении вероятности проигрыша (p≠q) уже были получены частные решения a и b(qp)x. Здесь же появляется ещё один претендент на роль частного решения: xq−p=q−p+(p+q)x+p−qq−p=q−pq−p+p(x+1)q−p+q(x−1)q−p=1+px+1q−p+qx−1q−p, поэтому m(x)=xq−p+a+b(qp)x. С учётом граничного условия m(A)=m(B)=0 находим при помощи ранее полученных соотношений m(x): m(x)=1p−q(Bβ(x)+Aα(x)−x). В случае идеальной монетки получаем следующее выражение: m(x)=a+bx−x2. Применение граничного условия даёт: m(x)=(B−x)(x−A). Из этого следует, что в случае равных стартовых капиталов m(0)=B2. Например, если у каждого игрока есть по 5 рублей, а ставка — 1 рубль, то в среднем разоряться игроки будут через 25 ходов.

При рассмотрении вышеуказанных формул подразумевалась конечностью математического ожидания числа ходов: m(x)<∞. Теперь будет предложено доказательство этого факта.

Задача о конечности ожидаемого числа ходов

Доказать, что m(x)<∞∀A,B.


Решение

Достаточно доказать это для случая x=0 (так как ранее было уже продемонстрировано, что случаи x≠0 могут быть сведены к x=0 вариацией A и B) и p=q, а затем рассмотреть случай p≠q.

Итак, рассмотрим последовательность S0;1;…;n и введём случайную величину Sτn=Sτn(ω), где τn=τn0 — момент остановки.

Пусть Sτn(ω)=∑k=0nSk(ω)𝟏{τn=k}(ω). Интерпретация такова: Sτn — это значение случайного блуждания в момент τn. Если τn<n, то Sτn∈{A;B}; если τn=n, то A⩽Sτn⩽B. Вспомним, что p=q=0,5, и докажем, что 𝔼(Sτn)=0, 𝔼(Sτn2)=𝔼(τn).


Для доказательства первого равенства напишем: 𝔼(Sτn)=∑k=0n𝔼(Sk𝟏{τn=k}(ω))=∑k=0n𝔼(Sn𝟏{τn=k}(ω))+∑k=0n((Sk−Sn)𝟏{τn=k}(ω))=𝔼(Sn)+∑k=0n((Sk−Sn)𝟏{τn=k}(ω)). Совершенно очевидно, что 𝔼(Sn)=0, так как Sn=ξ1+…+ξn, ξi=±1 при p=q. Осталось доказать, что ∑k=0n((Sk−Sn)𝟏{τn=k}(ω))=0.

Для 0⩽k<n справедливо, что {τn>k}={A<S1<B;…;A<Sk<B}. Последнее событие может быть представлено в виде {ω:(ξ1;…;ξn)∈J}, где J — некоторое подмножество множества {−1;+1}k. Это множество определяется только ξi при i=1;k‾. Для больших i значения ξk+1;…;ξn не влияют на J. Множество вида {τn=k}={τn>k−1}∖{τn>k} также может быть представлено в виде {ω:(ξ1;…;ξn)∈J}. Благодаря независимости ξi (доказано в подзадаче 2) вытекает, что ∀0⩽k<n случайные величины Sn−Sk и 𝟏{τn=k} независимы. Отсюда 𝔼(Sk⋅𝟏{τn=k}(ω))=𝔼(Sk)⋅𝔼(𝟏{τn=k}(ω))=0 в силу того, что первый множитель нулевой.

𝔼(Sτn2)=∑k=0n𝔼(Sk2𝟏{τn=k})=
=∑k=0n𝔼((Sn+(Sk−Sn)2)𝟏{τn=k})=∑k=0n(𝔼(S2)𝟏{τn=k}+2𝔼(Sn(Sk−Sn))𝟏{τn=k}+𝔼((Sn−Sk)2)𝟏{τn=k})=
=𝔼(S2)−∑k=0n𝔼((Sn−Sk)2)𝟏{τn=k}=n−∑k=0n𝔼(n−k)ℙ({τn=k})=∑k=0nkℙ({τn=k})=𝔼(τn).

Установлено, что для идеальной монетки 𝔼(Sτn)=0, 𝔼(Sτn2)=𝔼(τn).

В случае же p≠q имеют место соотношения 𝔼(Sτn)=(p−q)𝔼(τn) (поскольку 𝔼(ξ1)=p−q) и 𝔼((Sτn−τn𝔼(ξ1))2)=Var(ξ1)⋅𝔼(τn), поскольку Var(ξ1)=1−(p−q)2. Теперь покажем, что limn→∞mn(0)=m(0)<∞.

В случае справедливой игры в силу соотношения 𝔼(Sτn2)=𝔼(τn) верно, что 𝔼(τn)⩽max⁡{A2;B2}. Тогда же 𝔼(τn)=𝔼(Sτn2)=A2αn+B2βn+𝔼(Sn2𝟏{A<Sn<B})𝟏{τn=n}, поэтому A2αn+B2βn⩽𝔼(τn)⩽A2αn+B2βn+max⁡{A2;B2}⋅γn. Из неравенства γn<εn следует, что математическое ожидание 𝔼(τn) сходится при n→∞ к предельному значению m(0)=A2α+B2β=A2⋅BB−A−B2⋅AB−A=|AB|. В случае несправедливой игры 𝔼(τn)⩽max⁡{|A|;B}|p−q|. Так как за τn обозначался момент первого вылета частицы за пределы коридора, то математическое ожидание его меньше определённых чисел, следовательно, меньше бесконечности. При таком условии 𝔼(τn)→m(0)=αA+βBp−q. ◼

Компьютерное моделирование (метод Монте-Карло)

Для моделирования игры воспользуемся программой MATLAB.

Для начала сгенерируем последовательность ξi, а затем при некотором первоначальном богатстве x создадим цепочку Sk:

Последовательность ξ (getXI)

n = 100;                             % The length of \xi_i series
U = rand(n,1);                       % Generate 100 random uniform [0;1] values
XI = zeros(n,1);                     % Reserve memory for 100 modified Bernoulli
q = 0.55;                            % Reverse probability
p = 1 - q;                           % Averse probability

                                     % The following cycle creates a Bernoulli distribution based on uniform [0;1]
for i = 1:n                          % This cycle divides the [0;1] array into 2 parts: lengths q and p, q+p=1
   if (U(i,1) < q)                        
       XI(i,1) = -1;                 % If a uniform random value falls into q then \xi=-1
   else XI(i,1) = 1;                 % If a uniform random value falls into p then \xi=+1
   end
end

x = 10;                              % Initial 1st player's budget offset

S = zeros(n,1);                      % Reserve memory for 100 S_1...S_100

for i = 1:n                          % Make S_k series according to rule S_{k+1} = S_k + \xi_{k+1}
    S(i,1) = x + sum(XI(1:i, 1));    % considering the initial welfare offset x
end

Затем введём функцию getS(n, q, x), которая бы не просто, как листинг выше, генерировала ряд Sk сразу и мгновенно, а позволяла бы обобщённо на основе введённых значений n, q и x построить ряд, не усложняя вычислений. Это бы упростило рабочую область.

Генерация ряда (getS function)

function [S] = getS(n, q, x)         % This function depends on n, q and x --- 3 variables
U = rand(n,1);
XI = zeros(n,1);

for i = 2:n                          % Uniform->Bernoulli distribution transformation
   if (U(i,1) < q)
       XI(i,1) = -1; 
   else XI(i,1) = 1;
   end
end

S = zeros(n,1);                      % Reserve memory for n S_1...S_n

for i = 2:n                          % Calculate the S_1...S_n series
    S(i,1) = sum(XI(1:i, 1));        % Sums the \xi's
end
S = x + S;                           % Adds initial welfare to each S_k of the whole matrix

Возникает разумный вопрос: зачем считать ξ, начиная только со второй величины (for i = 2:n)? Дело в том, что это делается исключительно в целях наглядной визуализации. При построении графика в следующем коде будут строиться траектории Sk, и если бы было написано for i = 1:n, то тогда уже с самого первого значения некоторые траектории бы выходили из x−1, некоторые — из x+1. Так как в данной программе из соображений оптимальности лучше не задействовать нулевое значение (из него частица выходит, но не рисуется, так как прибавление ξ1 происходит сразу), то просто-напросто сдвинем нумерацию на оси абсцисс на единицу вправо. Теперь проведём серию тестов и наглядно рассмотрим возможные траектории при некоторых вероятностях, длинах игры и количестве игр.

Визуализация (graphS)

Три игры в 10 шагов при q=0,45.
Пять игр в 100 шагов при q=0,56. Видно, что частицу «тянет вниз» к точке A.
Сто справедливых игр в 10000 шагов.
N = 3;                               % Number of games played
n = 10;                              % Number of tosses
q = 0.45;                            % Chance 1st player loses 1 rouble
x = 0;                               % Initial welfare offset

matrS = zeros(N, n);                 % Reserve memory for N rows n cols matrix
for i = 1:N                          % This loop fills the S matrix with S_k, yielding N trajectories
    matrS(i,:) = getS(n, q, x)';
    plot(matrS(i,:));                % Gives an image
    hold on;                         % Holds the axes for next trajectory overlay
end
hold off;                            % Clears axes for a new plot

Теперь подойдём к самой главной составляющей программной части — алгоритму, который позволил бы вычислять среднюю длину игры при заданных параметрах (A;B;n;q). Если теория верна, то нижеследующий эксперимент её лишь подтвердит. Также допишем в программу строчку, которая будет вычислять вероятность разорения первого игрока (β(x)) при заданных начальных капиталах и сопоставлять её с теоретической.

Полная модель игры (Monte_Carlo)

N = 3000;                                 % Number of games played
n = 3000;                                 % Number of tosses
q = 0.5;                                  % Chance 1st player loses 1 rouble
p = 1-q;                                  % Chance 1st player wins 1 rouble
A = -10;                                  % 1st player budget
B = 10;                                   % 2nd player budget
x = 0;                                    % Budget offset towards 1st player
Bs = 0;                                   % amount of cases particle hits B (it will change soon)
As = 0;                                   % amount of cases particle hits A (it will change soon)

matrS = zeros(N, n);                      % Reserve memory for N rows n cols matrix
TAU1 = n * ones(N, n);                    % Fill another N rows n cols matrix with n's
for i = 1:N                               % This loop makes up N trajectories of S_k relying on input q, x, n
  matrS(i,:) = getS(n, q, x)';
  for j = 1:n
      if (matrS(i,j) == A)||(matrS(i,j) == B) % If a particle exceeds A or B, then
      TAU1(i,j) = j;                          % put the number of step into the table
      end
  end
  plot(matrS(i,:));                       % Displays a figure
  grid on;
  hold on;                                % Simultaneous plots within same axes
end
hold off;                                 % Clears axes for a new plot

TAU = (min(TAU1'))';                      % TAU = earliest step of [A;B] corridor overrun

% As [min] affects columns and gives row then we transpose TAU1,
% minimize it by rows and make it a column again
for i = 1:N                               % Our S_n series are ready; they nest in matrS
    for j=1:TAU(i)                        % Scan only till we encounter the escape step!
        if (matrS(i,j) == A);             % If a particle escaped through A (1st player busted)
        As = As+1;                        % then add +1 to 1st player's failures
        elseif (matrS(i,j) == B)          % Otherwise if its first threshold was B
        Bs = Bs+1;                        % then add +1 to 1st player's wins
        end                               % If n is not large enough, then
    end                                   % As + Bs may not make up N
end
ALPHA = As/(As+Bs)                        % Match alphas with their theoretical values
if (q == p)
   THEORALPHA = (B-x)/(B-A)
else THEORALPHA = ((q/p)^B - (q/p)^x)/((q/p)^B - (q/p)^A)
end
BETA = 1-ALPHA                            % Same for betas
if (q == p)
   THEORBETA = (x-A)/(B-A)
else THEORBETA = 1-THEORALPHA
end
meanTAU = mean(TAU)                       % Law of large numbers for great N's
if (q == p)
   THEORTAU = (B-x)*(x-A)
else THEORTAU = 1/(p-q)*(B*THEORBETA+A*THEORALPHA-x)
end

Отметим, что при небольших n не все частицы вылетают из коридора, поэтому здесь надо подчеркнуть, что теория говорит: «при достаточно больших n вероятность βn(x) близка к β(x)».

Тестирование

Нижеследующие данные рассчитаны для n=3000, N=3000.

№ теста q A B x ALPHA α(x) BETA β(x) meanTAU m(x)
1 0,49 −6 5 0 0,4020 0,4006 0,5980 0,5994 30,9307 29,6856
2 0,6 −60 6 −3 0,9733 0,9740 0,0267 0,0260 278,2200 276,4159
3 0,6 −20 2 −1 0,7040 0,7038 0,2960 0,2962 62,2680 62,4178
4 0,54 −10 50 10 0,9990 0,9984 0,0010 0,0016 251,3587 248,8205
5 0,5 −10 20 0 0,6580 0,6667 0,3420 0,3333 202,3007 200,0000
6 0,35 −3 90 0 0,1457 0,1561 0,8543 0,8439 256,4557 251,6022

В экспериментах 2 и 3 продемонстрировано свойство: если игра проигрышная для первого игрока, то увеличение ставки в модели эквивалентно сокращению A, B и x в одно и то же число раз относительно нуля. Ставка увеличилась втрое — вероятность выскочить из коридора со значением B выросла в 11 раз!

См. также

Примечания

Шаблон:Примечания