Скачиваний:
70
Добавлен:
25.12.2019
Размер:
215.19 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра БТС

отчет

по лабораторной работе №3

по дисциплине «Теория случайных процессов»

Тема: ЦЕПИ МАРКОВА И СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ

Студент гр. 7502

Дегилевич А.А.

Студентка гр.7502

Екимова Н.В.

Студент гр.7502

Звягинцев Г.Р.

Преподаватель

Пустозеров Е.А.

Санкт-Петербург

2019

ЛАБОРАТОРНАЯ РАБОТА №3

«ЦЕПИ МАРКОВА И СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ»

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

ЦЕПЬ МАРКОВА

1. Исходные данные.

Исходные данные представлены в Таблице 1.

Таблица 1. Коэффициенты в матрице переходных вероятностей

Вариант

6

5

5

0

0

0

5

5

0

Вариант

6

0

3

3

0

0

0

3

3

Исходные данные (матрица переходов P) объявляются в MATLAB следующим образом:

P=[5,5,0,0;0,5,5,0;0,3,3,0;0,0,3,3];

2. Создание цепи Маркова и получение нормированной матрицы перехода.

Для создания цепи Маркова, полученной на основе матрицы переходов, воспользуемся функцией dtmc(), задав название состояний “Healthy”, “Unwell”, “Sick”, “Very sick”. Затем, вызвав матрицу переходов полученной цепи, мы получим автоматически пронормированную матрицу переходов. В подтверждение этого можно просуммировать строки матрицы, дающие в сумме 1. Это реализуется кодом:

MC=dtmc(P,'StateNames',["Healthy" "Unwell" "Sick" "Very sick"]);

MCP=MC.P;

s=sum(MCP,2);

Полученная нормированная матрица переходов представлена в Таблице 2.

Таблица 2. Hормированная матрица переходов

States

1

2

3

4

Sum

1

0,5

0,5

0

0

1

2

0

0,5

0,5

0

1

3

0

0,5

0,5

0

1

4

0

0

0,5

0,5

1

3. Построение графа цепи Маркова.

Для построения графа воспользуемся функцией graphplot(). Также укажем аргумент этой функции ColorEdges как true, чтобы показать вероятности переходов различным цветом. Это реализуется кодом:

figure(1)

graphplot(MC,'ColorEdges',true);

Результат представлен на Рис.1.

Рис.1 Граф матрицы переходов

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

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

for n=1:4

P_cum(n,:)=cumsum(MCP(n,:));

end

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

Для моделирования поведения цепи Маркова в течении разного количества итераций (200, 1000, 10000) воспользуемся следующим выражением:

где - случайное число, распределенное равномерно на интервале [0,1]; – кумулятивная матрица переходов, и - состояние цепи в момент времени и соответственно.

В качестве начального состояния цепи, укажем состояние 1 (“Healthy”).

Результат отобразим графически с помощью функции plot(). Это реализуется кодом:

N=[200 1000 10000];

z=zeros(N(3),1,3);

r=rand(N(3),1,3);

for i=1:3

z(1,1,i)=1;

for n=2:N(i)

k=1;

while r(n-1,1,i)>=P_cum(z(n-1,1,i),k)

k=k+1;

end

z(n,1,i)=k;

end

%Построение графиков

figure(2)

subplot(3,1,i)

plot(z(1:N(i),1,i))

txt=['Поведение цепи Маркова в течение ',num2str(N(i)),' итераций'];

title(txt)

xlabel('t')

ylabel('States')

end

Полученные графики представлены на Рис.2.

Рис.2 Моделирование поведения цепи Маркова

6. Расчёт оценки цепи Маркова по полученным наблюдениям

Расчёт оценки цепи Маркова по полученным наблюдениям производится с помощью выражения:

Полученные матрицы переходов прономализируем и построим из графы. Это реализуется кодом:

P_obs=zeros(4,4,3);

for k=1:3

for n=2:N(k)

for i=1:4

if z(n-1,1,k)==i

for j=1:4

if z(n,1,k)==j

P_obs(i,j,k)=P_obs(i,j,k)+1;

end

end

end

end

end

end

figure(3)

MC_Obs1=dtmc(P_obs(:,:,1),'StateNames',["Healthy" "Unwell" "Sick" "Very sick"]);

graphplot(MC_Obs1,'ColorEdges',true);

figure(4)

MC_Obs2=dtmc(P_obs(:,:,2),'StateNames',["Healthy" "Unwell" "Sick" "Very sick"]);

graphplot(MC_Obs2,'ColorEdges',true);

figure(5)

MC_Obs3=dtmc(P_obs(:,:,3),'StateNames',["Healthy" "Unwell" "Sick" "Very sick"]);

graphplot(MC_Obs3,'ColorEdges',true);

Результаты представлены в Таблице 3.

Таблица 3. Матрицы переходов и графы для четырех цепей

Цепи Маркова

Матрица переходов

Граф цепи

MC

0,5

0,5

0

0

0

0,5

0,5

0

0

0,5

0,5

0

0

0

0,5

0,5

MC_Obs1

0

1

0

0

0

0,49

0,51

0

0

0,54

0,46

0

0

0

0

0

MC_Obs2

0,50

0,50

0

0

0

0,53

0,47

0

0

0,46

0,54

0

0

0

0

0

MC_Obs3

0,80

0,20

0

0

0

0,51

0,49

0

0

0,51

0,49

0

0

0

0

0

Сравнивая результаты этих цепей, можно сказать, что коэффициенты перехода для 2-го и 3-го состояния вычисляются корректно и приближаются по величине к исходным при увеличении выборки. Для 1-го и 4-го состояний они отличаются и дают расхождения, так как в эти состояния возможно попасть только непосредственно из них. Как следствие независимо от увеличения выборки в 4-е состояние попасть не удаться, а количество раз, когда система принимает 1-е значение, с большой вероятностью будет в пределах единиц (минимум 1, т.к. это стартовое значение).

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

Моделирование поведения делается аналогично предшествующим действиям с помощью следующего кода:

for n=1:4

P_cum1(n,:)=cumsum(P_obs(n,:,1));

end

z1=zeros(N(1),1);

r1=rand(N(1),1);

z1(1,1)=1;

for n=2:N(1)

k=1;

while r1(n-1,1)>=P_cum(z1(n-1,1),k)

k=k+1;

end

z1(n,1)=k;

end

%Построение графиков

figure(6)

plot(z1)

txt=['Поведение цепи Маркова MCobs1 в течение ',num2str(N(1)),' итераций'];

title(txt)

xlabel('t')

ylabel('States')

Полученный график представлен на Рис.3

Рис.3 Моделирование поведения экспериментальной цепи Маркова

Если сравнить графики моделирования поведения на Рис.2 и Рис.3, то можно сказать, что полученные цепи эквиваленты друг другу, однако нужно понимать, что цепь, полученная экспериментально не обладает информацией о состоянии 4.

СИСТЕМА МАССОВОГО ОБСЛУЖИВАНИЯ

1. Исходные данные.

Исходные данные представлены в Таблице 4.

Таблица 4. Характеристики системы массового обслуживания

Вариант

n

m

6

30

40

6

10

Исходные данные объявляются в MATLAB следующим образом:

lam=30;

mu=40;

n=6;

m=10;

2. Расчет ключевых показателей эффективности СМО

Ключевые показатели эффективности СМО вычисляются по формулам:

  • Вероятность отказа ()

где ; – количество каналов; - длинна очереди; ; – интенсивность потока заявок; – интенсивность обслуживания канала.

  • Относительная пропускная способность (Q)

  • Абсолютная пропускная способность системы (A)

В MATLAB эти величины считается следующим образом:

p=lam/mu;

Psum=0;

for i=0:m

Psum=Psum+(p^i)/(factorial(i));

end

p0=Psum^(-1);

Potk=(p^(n+m))*p0/((n^m)*factorial(n));

Q=1-Potk;

A=lam*Q;

Результаты представлены в Таблице 5.

3. Расчёт других показателей СМО

Другие показатели эффективности СМО вычисляются по формулам:

  • Среднее количество занятых каналов ()

  • Средняя длина очереди ()

  • Среднее время ожидания заявки в очереди ()

  • Среднее количество заявок в системе ()

  • Среднее время пребывания заявки в системе ()

В MATLAB эти величины считается следующим образом:

kzan=A/mu;

Loch=(p^(n+1))*(1-((p/n)^m)*(m+1-m*p/n))*p0/(n*factorial(n)*(1-p/n)^2);

Toch=Loch/lam;

Lsist=Loch+kzan;

Tsist=Lsist/lam;

Результаты представлены в Таблице 5.

Таблица 5. Показатели эффективности СМО

Показатель

Значение

1,088*10-13

1

30

0,750

1,906*10-5

6,354*10-7

0,750

0,025

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

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

Вывод

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

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

Для систем массового обслуживания были рассчитаны ключевые и другие характеристики и дана оценка её эффективности.

Соседние файлы в папке Лаба 3 (Цепи Маркова и СМО)