Червь и Apple Ожидаемая стоимость


8

Яблоко расположено в вершине A пятиугольника ABCDE , и червь находится две вершины в стороне, по крайней C . Каждый день червь ползет с равной вероятностью к одной из двух смежных вершин. Таким образом , после того, как один день червь при вершине B или D , каждый из которых с вероятностью 1/2 . Через два дня червь может снова вернуться в C , потому что у него нет памяти о предыдущих позициях. Когда он достигает вершины A , он прекращает обедать.

а) Какое среднее число дней до обеда?

(b) Пусть p - вероятность того, что количество дней составляет 100 или более. Что говорит неравенство Маркова о p ?

Для (a) пусть X будет случайной величиной, определяемой количеством дней до обеда. Поэтому

P(X=0)=0P(X=1)=0P(X=2)=1(52)

Каково будет общее распределение?

Для (б), если мы знаем (а), то мы знаем, что

P(X100)E(X)100

2
Не могли бы вы объяснить свой первый набор уравнений? Кажется, что они не объясняют возможность изменения направления червя, и при этом они не кажутся правильными. В конце концов, намного меньше, чем вероятность пути с вероятностью Обратите внимание, что суть этого вопроса заключается в том, что получить полное распределение может быть сложнее, чем рассчитать его ожидание; и неравенство Маркова, тем не менее, позволяет вывести полезную информацию из одних ожиданий. BC(1/2)(1/2)=1/4.1/(52)=1/10ABC(1/2)(1/2)=1/4.
whuber

Ответы:


6

В превосходном ответе Glen_b он показывает, что вы можете рассчитать ожидаемое значение аналитически, используя простую систему линейных уравнений. Следуя этому аналитическому методу, вы можете определить, что ожидаемое количество ходов к яблоку равно шести. Другой отличный ответ от whuber показывает, как получить функцию вероятности для процесса после любого заданного числа ходов, и этот метод также можно использовать для получения аналитического решения для ожидаемого значения. Если вы хотели бы увидеть дальнейшее понимание этой проблемы, вам следует прочитать некоторые статьи о случайных круговых блужданиях (см., Например, Stephens 1963 )

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


Метод вычисления методом грубой силы: Принимая состояния в порядке , ваши цепные переходы Маркова переходят в соответствии со следующей матрицей переходов:A,B,C,D,E

P=[100001201200012012000120121200120]

Первое состояние - поглощающее состояние где червь находится у яблока. Пусть будет количество ходов , пока червь не попадает в яблоко из состояния . Тогда для всех вероятность того, что червь окажется у яблока после этого числа ходов, равна и поэтому ожидаемое количество ходов, чтобы добраться до яблока из этого состояния:ATCCnNP(TCn)={Pn}C,A

E(TC)=n=0P(TC>n)=n=0(1{Pn}C,A).

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


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

#Create function to give n-step transition matrix for n = 1,...,N
#N is the last value of n
PROB <- function(N) { P <- matrix(c(1, 0, 0, 0, 0, 
                                    1/2, 0, 1/2, 0, 0, 
                                    0, 1/2, 0, 1/2, 0,
                                    0, 0, 1/2, 0, 1/2,
                                    1/2, 0, 0, 1/2, 0),
                                  nrow = 5, ncol = 5, 
                                  byrow = TRUE);
                      PPP <- array(0, dim = c(5,5,N));
                      PPP[,,1] <- P;
                      for (n in 2:N) { PPP[,,n] <- PPP[,,n-1] %*% P; } 
                      PPP }

#Calculate probabilities of reaching apple for n = 1,...,100
N  <- 100;
DF <- data.frame(Probability = PROB(N)[3,1,], Moves = 1:N);

#Plot probability of not having reached apple
library(ggplot2);
FIGURE <- ggplot(DF, aes(x = Moves, y = 1-Probability)) +
          geom_point() +
          scale_y_log10(breaks = scales::trans_breaks("log10", function(x) 10^x),
                        labels = scales::trans_format("log10", 
                                 scales::math_format(10^.x))) +
          ggtitle('Probability that worm has not reached apple') +
          xlab('Number of Moves') + ylab('Probability');
FIGURE;

#Calculate expected number of moves to get to apple
#Calculation truncates the infinite sum at N = 100
#We add one to represent the term for n = 0
EXP <- 1 + sum(1-DF$Probability);
EXP;

[1] 6

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

введите описание изображения здесь


5

Просто хочу проиллюстрировать простой способ взглянуть на часть (а) без прохождения всей рутинной цепочки Маркова. Есть два класса состояний, о которых нужно беспокоиться: один шаг и два шага (C и D идентичны с точки зрения ожидаемых шагов до достижения A, а B и E идентичны). Пусть « » представляет количество шагов, которое требуется от вершины и так далее. BSBB

E(SC)=1+12[E(SB)+E(SD)]=1+12[E(SB)+E(SC)]

Аналогичным образом напишите уравнение для ожидания .E(SB)

Подставьте второе в первое (и для удобства напишите для ), и вы получите решение для в несколько строк.E ( S C ) сcE(SC)c


3
+1. Мне также нравится, что, заменяя ожидания функциями, генерирующими вероятность, вы получаете аналогичное уравнение, которое легко решается, показывая, что pgf для начального состояния равно и это приводит простой формуле для любой из вероятностей. Лучше: пусть будет количеством шагов, начинающихся сОпределите иОтношения: иПодстановка последнего в первое приводит к для Таким образом, - этоt2/(42tt2),Xyy{A,B}.fn=2nPr(XA=n)gn=2nPr(XB=n).fn=fn1+gn1gn1=fn2.fn=fn1+fn2n3.fnn2ndЧисло Фибоначчи.
whuber

@whuber: Вы должны превратить свой комментарий в полный ответ - это действительно хорошо.
Бен - Восстановить Монику

1
Я согласен, стоит опубликовать в качестве ответа, даже в этой краткой форме.
Glen_b

3

Проблема

Эта цепь Маркова имеет три состояния, которые различаются тем, находится ли червь на расстоянии или от Пусть - случайная величина, определяющая, сколько шагов червь предпримет для достижения из состояния Их функции, генерирующие вероятности, являются удобным алгебраическим способом кодирования вероятностей этих переменных. Нет необходимости беспокоиться об аналитических вопросах, таких как конвергенция: просто рассматривайте их как формальные степенные ряды в символе заданном0, 1,2C.XiCi{0,1,2}.t

fi(t)=Pr(Xi=0)+Pr(Xi=1)t1+Pr(Xi=2)t2++Pr(Xi=n)tn+

Поскольку тривиально, что Нам нужно найтиPr(X0=0)=1,f0(t)=1.f2.

Анализ и решение

Из состояния червь имеет равные шансы перемещения обратно в состояние или достижения . Учет одного этого шага добавляет ко всем степеням , равнозначно умножению pgf на , давая1,1/22C1tt

f1=12t(f2+f0).

Аналогично, из состояния червь имеет равные шансы остаться в состоянии или достичь состояния откуда221,

f2=12t(f2+f1).

Появление говорит о том, что наша работа будет упрощена путем введения переменной даваяt/2x=t/2,

f1(x)=x(f2(x)+f0(x));f2(x)=x(f2(x)+f1(x)).

Подстановка первого во второе и вызов даетf0=1

(*)f2(x)=x(f2(x)+x(f2(x)+1))

чье уникальное решение

(**)f2(x)=x21xx2.

Я выделил уравнение чтобы подчеркнуть его простоту и формальное сходство с уравнением, которое мы получили бы, анализируя только ожидаемые значения фактически, для того же объема работы, который требуется для нахождения этого единственного числа, мы получаем весь дистрибутив.()E[Xi]:

Последствия и упрощение

Эквивалентно, когда выписывается поэлементно, а степени совпадают, это утверждает, что для()tn4,

2nPr(X2=n)=2n1Pr(X2=n1)+2n2Pr(X2=n2).

Это повторение знаменитой последовательности чисел Фибоначчи

(Fn)=(1,1,2,3,5,8,13,21,34,55,89,144,)

(индексируется из ). Соответствие решения состоит в том, что эта последовательность сдвинута на два места (потому что нет никакой вероятности, что или и легко проверить, что ).n=0()X2=0X2=122Pr(X2=2)=1=23Pr(X2=3)

следовательно

Pr(X2=n)=2n2Fn2.

Более конкретно,

f2(t)=22F0t2+23F1t3+24F2t4+=14t2+18t3+216t4+332t5+564t6+8128t7+13256t8+.

Ожидание легко найти, оценивая производную и подставляя потому что (дифференцируя степени term по терму) это дает формулуX2ft=1,t

f(1)=Pr(X2=0)(0)+Pr(X2=1)(1)10++Pr(X2=n)(n)1n1+

который, как сумма вероятностей раз значение именно определение из Взятие производной с использованием дает простую формулу для ожидания.X2,E[X2].()


Несколько кратких комментариев

Разложив как частичные дроби, можно записать как сумму двух геометрических рядов. Это сразу показывает, что вероятности будут уменьшаться в геометрической прогрессии. Это также дает замкнутую форму для вероятностей хвоста Используя это, мы можем быстро вычислить, что чуть меньше()f2Pr(X2=n)Pr(X2>n).Pr(X2100)109.

Наконец, эти формулы включают Золотое сечение Это число - длина хорды правильного пятиугольника (со стороны единицы), дающая поразительную связь между чисто комбинаторной цепью Маркова на пятиугольнике (которая «ничего не знает» о евклидовой геометрии) и геометрией правильного пятиугольника в Евклидова плоскость.ϕ=(1+5)/2.


1

Среднее количество дней до обеда - условие шага, сделанного в первый день. Пусть будет количеством дней, пока червь не получит яблоко. Пусть будет первым шагом.XF

Тогда у нас есть

E[X]=E[X|F=B] [P(F=B)]+E[X|F=D] P[F=D]

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

E[X|F=B]=2(12)+(2+E[X])(12)=2+E[X]2

Если первый шаг к то по симметрии это то же самое, что и в вершине за исключением того, что червь сделал один шаг, такD,C

E[X|F=D]=1+E[X]

Собрав все вместе, мы получаем

E[X]=(2+E[X]2)(12)+(1+E[X])(12)

Решение для выходовE[X]

E[X]=6

1
Кажется, это напоминает ответ @ Glen_b.
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.