50341

Постройка графа состояний P-схемы

Лабораторная работа

Информатика, кибернетика и программирование

Для СМО из задания 1 построить имитационную модель и исследовать ее (разработать алгоритм и написать имитирующую программу, предусматривающую сбор и статистическую обработку данных для получения оценок заданных характеристик СМО). Распределение интервалов времени между заявками во входном потоке и интервалов времени обслуживания – геометрическое с соответствующим параметром (ρ, π1, π2).

Русский

2014-01-21

166 KB

23 чел.

Белорусский государственный университет

информатики и радиоэлектроники

Кафедра ПОИТ

Отчет

по выполнению лабораторной работы №3

Выполнила: ст. гр. 950503                                                                           Проверил:

Трутнёва А. А.                                                                 Мельник Н.И.

Минск

2012 г.

Задание

Задание 1. Построить граф состояний P-схемы .

 Смысл кодировки состояний раскрыть (время до выдачи заявки, число заявок в накопителе и т.д.).

На схеме условно обозначены:

По графу построить аналитическую модель и, решив ее, определить вероятности состояний. Рассчитать теоретическое значение показателя эффективности, заданного целью исследования задания 2.

13.

Задание 2. Для СМО из задания 1 построить имитационную модель и исследовать ее (разработать алгоритм и написать имитирующую программу, предусматривающую сбор и статистическую обработку данных для получения оценок заданных характеристик СМО). Распределение интервалов времени между заявками во входном потоке и интервалов времени обслуживания – геометрическое с соответствующим параметром (ρ, π1, π2). Если ρ не задано, то входной поток – регулярный.

13

-

0,55

0,5

Рбл, А

Граф СМО


Расчёт параметров:


Вероятность блокировки  =  0.071

Абсолютная пропускная способность = 0.297

Имитация работы СМО:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Collections;

namespace Modeling3

{

   class SMO

   {

       public int tics = 0;    //количество повторений

       int s1 = 0;             //источник

       int j1=0;               //очередь

       int t1=0;               //1 канал

       int t2=0;               //2 канал

       int maxJ=0;             //максимальное кол-во заявок в очереди

       public int deny = 0;    //блокировка

       int p=0;           //через сколько тактов источник дает заявку

       double p1=0;

       double p2=0;

       public int c2000 = 0;

       public int c1000 = 0;

       public int c2010 = 0;

       public int c1010 = 0;

       public int c1001 = 0;

       public int c2110 = 0;

       public int c2011 = 0;

       public int c1110 = 0;

       public int c0110 = 0;

       public int c1011 = 0;

       public int c2111 = 0;

       public int c1111 = 0;

       public int c0111 = 0;

       

       Random rnd1;

       Random rnd2;

       public int orders;          //кол-во поступивших заявок

       public int accepted;        //кол-во принятых заявок (заявки, которые прошли систему полностью)

      

       public SMO(int p, double p1, double p2, int maxJ)

       {

           this.p = p;

           this.p1 = p1;

           this.p2 = p2;

           this.maxJ = maxJ;

           orders = 0;

           accepted = 0;

           rnd1 = new Random(2);

           rnd2 = new Random(3);

       }

       public void tick(int counter)

       {

           s1=p;     //считает сколько тактов осталось до выдачи заявки

           bool pw=false;      //сработал источник

           bool p1w=false;     //сработал первый канал

           bool p2w=false;     //сработал второй канал

           bool locked = false; //заявка блокирована

           double tmp=0;       // буфер для записи результата рандома

           c2000 = 1;          // сработал источник

           string currentState = "";

           for (tics = 0; tics < counter; tics++)

           {

               pw=false;

               p1w=false;

               p2w=false;

               if (s1 != 0) s1--;

               if (s1 == 0) pw = true;

               if (t1 == 1)

               {

                   tmp = rnd1.NextDouble();

                   if (tmp > p1) p1w = true;

               }

               if (t2 == 1)

               {

                   tmp = rnd2.NextDouble();

                   if (tmp > p2) p2w = true;

               }

               

               if (p2w)

               {

                   t2 = 0;

                   accepted++;

                   

               }

               if (p1w)

               {

                   t1 = 0;

                   if (t2 == 0) t2 = 1;

                   if (j1 > 0)

                   {

                       j1--;

                       t1 = 1;

                   }

               }

               if (pw)

               {

                   orders++;

                   if ((j1 == 0) && (t1 == 0))

                   {

                       t1 = 1;

                       s1 = p;

                       locked = false;

                   }

                   else if (j1 < maxJ)

                   {

                       j1++;

                       s1 = p;

                       locked = false;

                   }

                   else

                   {

                       if(!locked) deny++;

                       locked = true;

                       s1 = 0;

                       orders--;

                   }

               }

               currentState = s1.ToString() + j1.ToString() + t1.ToString() + t2.ToString();

               switch(currentState)

               {

                   case "2000":

                       {

                           c2000++;

                           break;

                       }

                   case "1000":

                       {

                           c1000++;

                           break;

                       }

                   case "2010":

                       {

                           c2010++;

                           break;

                       }

                   case "1010":

                       {

                           c1010++;

                           break;

                       }

                   case "1001":

                       {

                           c1001++;

                           break;

                       }

                   case "2110":

                       {

                           c2110++;

                           break;

                       }

                   case "2011":

                       {

                           c2011++;

                           break;

                       }

                   case "1110":

                       {

                           c1110++;

                           break;

                       }

                   case "0110":

                       {

                           c0110++;

                           break;

                       }

                   case "1011":

                       {

                           c1011++;

                           break;

                       }

                   case "2111":

                       {

                           c2111++;

                           break;

                       }

                   case "1111":

                       {

                           c1111++;

                           break;

                       }

                   case "0111":

                       {

                           c0111++;

                           break;

                       }

                   default:

                       {

                           break;

                       }

               }

           }

       }  }}


 

А также другие работы, которые могут Вас заинтересовать

6576. Наследственные аномалии и болезни с наследственной предрасположенностью. Селекция животных на устойчивость к заболеваниям 33.59 KB
  Наследственные аномалии и болезни с наследственной предрасположенностью. Селекция животных на устойчивость к заболеваниям Генетические аномалии у сельскохозяйственных животных. В результате мутаций у животных и человека возникают различные наследств...
6577. Генетика крупного рогатого скота, свиней, овец и птицы 42.86 KB
  Генетика крупного рогатого скота, свиней, овец и птицы Генетика крупного рогатого скота. Скотоводство представляет в нашей стране главную отрасль животноводства. Дальнейшее его развитие связано с увеличением генетического потенциала, возможности кот...
6578. Дидактические материалы к конструированию и анализу урока 191.5 KB
  Дидактические материалы к конструированию и анализу урока Требования к современному уроку 1. Точное и творческое выполнение программно-методических требований к уроку грамотное определение типа урока, его места в разделе, курсе, системе внутрикурсо...
6579. Философия, ее смысл и функции 30.78 KB
  Философия, ее смысл и функции. Истоки философии и её смысл. Философское мировоззрение. Методы философии Структура и функции философии. Термин философия означает буквально любовь к мудрости. Его впервые употребил Пифагор по отнош...
6580. Философия древней Индии и Китая 30.03 KB
  Философия древней Индии и Китая. Философия Древней Индии Философия Древнего Китая Основой многих философских систем Древней Индии явилась ведическая литература и связанная с ним древняя религия брахманизм (по имени Верховного Бога - Бра...
6581. Античная философия. Философские школы Древней Греции 33.05 KB
  Античная философия Античная философия - это философия Древней Греции и Древнего Рима (VII в. до н.э.- III в. н.э.), культурные достижения, которой по праву считаются основой европейской цивилизации. Древнегреческой называется философия, выработанна...
6582. Философская мысль Средних веков, эпохи Возрождения и Нового времени 29.28 KB
  Философская мысль Средних веков, эпохи Возрождения и Нового времени. Философская мысль Средних веков (IV -XIV вв.) Философия эпохи Возрождения(XV - XVI вв.) Философия Нового времени.(XVI - XVII вв.) Средневековье - эпоха господст...
6583. Философия Просвещения. Немецкая классическая философия 37.3 KB
  Философия Просвещения. Немецкая классическая философия XVIII век - век Просвещения, распространения научного знания. Главной идеей философии Просвещения была мысль о ведущей роли разума в деле преобразования и развития европейской цивилизации...
6584. Русская философия от средневековья до первой половины ХХ столетия 34.83 KB
  Русская философия Русская средневековая философия. Русская философия эпохи Просвещения. Русская философия ХIХ - первой половины XX в. Основными темами ранней русской философии были: моральные и нравственные ценности объединени...