Імітаційне моделювання процесу функціонування скінченого дискретного стохастичного автомата

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інформаційні технології

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ Національний університет “Львівська політехніка” Інститут Комп’ютерних наук та інформаційних технологій Кафедра автоматизованих систем управління  Звіт до лабораторної роботи № 3 з курсу «Моделювання систем» на тему: «Імітаційне моделювання процесу функціонування скінченого дискретного стохастичного автомата» Мета роботи: вивчити процес функціонування дискретного скінченого стохастичного автомата та знайти його ймовірностні характеристики за даними експерименту. Короткі теоретичні відомості У загальному випадку ймовірнісний автомат являє собою дискретний потактний перетворювач інформації з пам’яттю, функціонування якого в кожному такті залежить лише від стану пам’яті і може бути описаний статистично. Застосування схем ймовірнісних автоматів (Р-схем) має важливе значення для розвитку методів проектування дискретних систем, які виявляють статистично закономірну поведінку, обгрунтування алгоритмічних можливостей таких систем та доцільності їх використання, а також для розв’язування задач синтезу дискретних стохастичних систем за обраним критерієм з урахуванням обмежень. У загальному випадку ймовірнісний автомат являє собою дискретний потактний перетворювач інформації з пам’яттю, функціонування якого в кожному такті залежить лише від стану пам’яті і може бути описаний статистично. Застосування схем ймовірнісних автоматів (Р-схем) має важливе значення для розвитку методів проектування дискретних систем, які виявляють статистично закономірну поведінку, обгрунтування алгоритмічних можливостей таких систем та доцільності їх використання, а також для розв’язування задач синтезу дискретних стохастичних систем за обраним критерієм з урахуванням обмежень. Розглянемо більш загальну математичну схему. Нехай Ф - множина різноманітних пар виду , де yj - елемент Y. Поставимо вимогу, щоб довільний елемент множини G спричиняв на множині Ф деякий закон розподілу: Елементи з Ф  (xi,zs) b11 b12 ... bk,j-1 bkj При цьому , bkj - ймовірності переходу автомата в стан Zk та генераці вихідного сигналу yj, якщо він знаходився в стані Zs та на його вхід в цей момент прийшов сигнал xi. Число таких розподілів, які подаються у вигляді таблиць, дорівнює числу елементів множини G. Позначимо множину таких таблиць В і отримаємо опис стохастичного дискретного автомата в вигляді четвірки . Окремий випадок Р-автомата  - це автомат, у якого перехід в новий стан або вихідний сигнал визначаються детерміновано. В першому випадку такий автомат називається Z-детермінованим стохастичним автоматом, в другому - Y-детермінованим. Розглянемо Y-детермінований P-автомат, який заданий таблицею переходів та виходів:  Таблиця переходів Y-детермірнованого Р-автомата Zk Zk   Z1 Z2 ... Zk-1 Zk  Z1 Z2 ... Zk p11 p21 ... pk1 p12 p22 ... pk2 ... ... ... ... p1(k-1) p2(k-1) ... pk(k-1) p1k p2k ... pkk   Таблицю переходів можна в цьому випадку представити у вигляді квадратної матриці перехідних ймовірностей Р: . При цьому має виконуватися умова, що . Для повного опису Y-детермінованого Р-автомата необхідно також визначити початковий розподіл ймовірностей виду  де dk - ймовірність того, що на початку роботи Р-автомат знаходиться в стані Zk. До початку функціонування Р-автомат знаходиться в стані Z0 і в нульовий такт часу змінює стан згідно з розподілом D. Подальший процес зміни станів автомата визначається матрицею переходів Р. Можливе також введення інформації про початковий стан в матрицю Р шляхом збільшення її розмірності на одиницю до . Перший рядок цієї матриці відповідає початковому стану Z0 і має вигляд , а перший стовпчик буде нульовим. З точки зору математичного апарату цей автомат еквівалентний дискретному марківському ланцюгу. Варіант 31  Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7  0 1 0 1 0 1 0 0   P=  Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7   Z0 0 0 0.1 0.2 0.7 0 0 0   Z1 0 0 0.6 0.4 0 0 0 0   Z2 0 0 0.4 0 0 0 0.6 0   Z3 0 0.5 0 0 0.4 0 0 0.1   Z4 0 0 0 0.2 0 0.5 0 0.3   Z5 0 0 0 0 0 0.3 0.7 0   Z6 0 0 0 0 1 0 0 0   Z7 0 0 0 0.9 0 0 0 0.1   Оскільки фінальні ймовірності не залежать від стану z0, то ймовірність знаходження в станах z1, z2, z3, z4 можна знайти з матричного рівняння: C =(C1,C2,C3,C4,C5,C6,C7) c1 = 0,5 c1 +0,1 c3 ; c2 = 0,2c1 + 0,1 c3; c3 = 0,3 c1+ 0,3 c3+ 0,2 c4; c4 = 0,5 c2 + 0,5 c3 +c5; c5 = 0,5 c2 + 0,8 c4; c1 + c2 + c3 + c4 + c5 + c6+c7= 1 - умова нормування. c1 = 0,5c3; c2 = 0.6c1+0.4c2; c3 = 0.4c1 + 0,2 c4; c4 = 0.4 c3+c6; c5 = 0.5 c4 ; c6=0.6c2+0.7c5; c7=0.1c3+0.3c4+0.1c7; 12,8287 c2 = 1 => c1 = 0,07795 c2 = 0,07795 c3 = 0,1559 c4 = 0,18708 c5 = 0,2427 c6= 0.1697 c7= 0.0886 Текст програми unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TForm1 = class(TForm) StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; StringGrid4: TStringGrid; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; Label4: TLabel; Button1: TButton; Label5: TLabel; Label6: TLabel; Label7: TLabel; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; kStates,kTakt,i,j,k,rand,curr:integer; z:array [0..7] of integer =(0,1,0,1,0,1,0,0); b:array [0..7,0..7] of double; c:array [0..7] of double; p:array [0..7,0..7] of double=((0,0,0.1,0.2,0.7,0,0,0),(0,0,0.6,0.4,0,0,0,0),(0,0,0.4,0,0,0,0.6,0),(0,0.5,0,0,0.4,0,0,0.1),(0,0,0,0.2,0,0.5,0,0.3),(0,0,0,0,0,0.3,0.7,0),(0,0,0,0,1,0,0,0),(0,0,0,0.9,0,0,0,0.1)); py,sum,temp,tempSum:double; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Randomize; kstates:=7; ktakt:=10; for i:= 0 to kStates do for j:=0 to kStates do begin B[i, j]:= 0; C[i]:= 0; end; for i:=0 to kStates do begin StringGrid1.Cells[i, 0]:='z'+inttostr(i); for j:=0 to kStates do StringGrid1.Cells[i,j+1]:=floattostr(P[i,j]); end; for i:=0 to kStates do StringGrid3.Cells[i,0]:='z'+inttostr(i); for i:=0 to kStates do StringGrid3.Cells[i,1]:=floattostr(z[i]); for i:= 0 to kStates do begin StringGrid2.Cells[i,0]:='z'+inttostr(i); for j:=0 to kStates do StringGrid2.Cells[i, j+1]:='0'; end; end; procedure TForm1.Button1Click(Sender: TObject); begin kTakt := StrToInt(edit1.text);; for i:=0 to kStates do for j:=0 to kStates do begin B[i, j] := 0; C[i] := 0; end; curr:=0; py:=0; for i:= 0 to kTakt do begin j:= 0; sum:= 0; temp := random ; for j :=0 to kStates do begin if temp < sum then break; sum := sum+P[curr, j]; end; B[curr, j - 1]:=B[curr, j - 1]+1; curr:=j- 1; end; for i:=0 to kStates do begin for j:=0 to kStates do C[i]:=C[i]+ B[j,i]; C[i]:= c[i]/kTakt; py := py+Z[i] * C[i]; end; for i:=0 to kStates do begin StringGrid4.Cells[i,0]:=floattostr(c[i]); for j:=0 to kStates do begin StringGrid2.Cells[j+1,i]:=floattostr(b[i,j]); end; end; tempSum:= 0; for i:=0 to kStates do begin if Z[i] = 1 then tempSum:=tempsum+ C[i]; end; label4.caption:=FloatToStr(tempSum); end; end. Результат виконання програми  Висновок: На цій лабораторній роботі я вивчив процес функціонування дискретного скінченого стохастичного автомата та знайшов його ймовірностні характеристики за даними експерименту.
Антиботан аватар за замовчуванням

20.02.2013 20:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!