Обсуждение:Задача о разорении игрока

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный код на MATLAB[править код]

Приведены не очень хорошие примеры кода на MATLAB. Так пишет человек, который перешёл с Си, но по матлабовски мыслить так и не научился.

Пример. Вот какой код предложен:

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

А вот как это надо было написать:

n = 100;                             % The length of \xi_i series
U = rand(n,1);                       % Generate 100 random uniform [0;1] values
XI = ones(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]
XI(find(U<q))=-1;

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

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

S = x + cumsum(XI);                  % Make S_k series according to rule S_{k+1} = S_k + \xi_{k+1}

Было бы у меня время, я б всё это переписал.

Sergey Bender 20:24, 12 марта 2012 (UTC)[ответить]

распределение времени[править код]

В статье рассматривается средняя длительность блуждания, т.е. сразу матожидание времени блуждания. А может кто-нибудь подсказать вероятностное распределение этого времени блуждания? Или хотя бы в какой литературе это поискать.Clothclub 01:08, 17 января 2016 (UTC)[ответить]

Преамбула: рассматривалась Ширяевым в его книге "Вероятность"[править код]

"Вероятность" Ширяева впервые вышла в 1980 году. В то время как классический учебник Феллера "Введение в теорию вероятностей" уже в 1952 году был издан в СССР, и там эта задача тоже рассматривалась. Наверняка есть еще куча учебников, где она рассматривалась, зачем же в преамбулу пихать Ширяева? 73.193.21.45 20:16, 18 июня 2017 (UTC)[ответить]

Или, если так угодно писать именно русскую фамилию, можно сослаться на Мориса Борисовича Крайчика, который разобрал задачу о разорении игрока в книге "Mathematical Recreations" еще в 1942 году. 73.193.21.45 20:21, 18 июня 2017 (UTC)[ответить]

У Колмогорова во "Введении в теорию вероятностей" эта задача решается чуть ли не в две строчки. Точнее, две из этих трех задач. Задача о разорении - это три задачи:
1)найти вероятность того, что один из игроков проиграется в ноль за n шагов
2)найти вероятность проигрыша каждого азартного игрока (если игра идет до победы одного из них)
3)вычислить среднюю длину игры
Вот 2-ю и 3-ю задачи он решает, правда, для 3-й задачи приводится только конечная формула без вывода.
Короче, на мой взгляд, не обязательно было громоздить столько формул. Интереснее было бы решить эту задачу для непрерывного случая, т.е. винеровского процесса. Но вот как раз такого решения нет ни у Колмогорова, ни у Ширяева (если судить по данной статье).Clothclub (обс.) 14:06, 7 февраля 2019 (UTC)[ответить]