5.4. Численная имитация марковского процесса

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

Sk=1 j-1pik<r£Sk=1 jpik, (33)

где через r обозначено псевдослучайное число из интервала [0,1]. Таким образом, последовательность псевдослучайных чисел, генерируемая в машине с помощью датчика, порождает реализацию марковской цепи. Ниже представлена программа машинной имитации марковского процесса, где М-число состояний, N-моделируемое число переходов, I-начальное состояние процесса. Матрица Q получается элементарным преобразованием матрицы Р. Ее строки задают распределение кумулятивных вероятностей. Программа определяет и выводит на печать номер состояния процесса в каждый из N рассматриваемых моментов времени.

 

10 INPUT «введите M,N,I»; M, N, I

20 FOR I=1 TO M

30 FOR J=1 TO M

40 READ Q(I,J)

50 DATA элементы матрицы Q

60 FOR L=1 TO N

70 A=RND(1)

80 FOR J=1 TO M

90 IF Q(I,J)-A>=0 THEN 110

100 NEXT J

110 I=J

120 PRINT I

130 NEXT L