51265

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

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

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

Задание 1. Построить граф состояний P-схемы. Смысл кодировки состояний раскрыть (время до выдачи заявки, число заявок в накопителе и т.д.). На схеме условно обозначены:

Русский

2014-02-08

157 KB

39 чел.

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

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

Кафедра ПОИТ

Отчет

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

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

Прищепо И. А.                                                                       Мельник Н.И.

Минск

2012 г.

Задание

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

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

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

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

7.

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

7

-

0,75

0,6

Lоч, А

Граф СМО:


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

Таким образом абсолютная пропускная способность равна 0.49 заявок в такт времени, а средняя длина очереди равна 0.32 заявки.

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;

namespace Laba_3_Model

{

   public partial class MainWindow : Window

   {

       private int N;

       

       private double pi1;

       private double pi2;

       private string[] conditions = {"2 0 0 0",

                                      "1 0 0 0",

                                      "2 0 1 0",

                                      "2 0 0 1",

                                      "1 0 1 0",

                                      "1 0 0 1",

                                      "2 0 1 1",

                                      "1 0 1 1",

                                      "2 1 1 1",

                                      "1 1 1 1",

                                      "2 2 1 1",

                                      "1 2 1 1",

                                      "0 2 1 1"

                                     };        

       private List<string> condLog;

       public MainWindow()

       {

           InitializeComponent();

       }

       private void generateButton_Click(object sender, RoutedEventArgs e)

       {

           try

           {

               N = int.Parse(nBox.Text);

               pi1 = double.Parse(pi1Box.Text);

               pi2 = double.Parse(pi2Box.Text);

           }

           catch (Exception ex)

           {

               MessageBox.Show("Ошибка: " + ex.Message);

               return;

           }

           double[,] chances = {{-1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},

                               {-1, -1, 0.5, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1},

                               {-1, (double)((double)1-pi1), -1, -1, pi1, -1, -1, -1, -1, -1, -1, -1, -1},

                               {-1, 1-pi2, -1, -1, -1, pi2, -1, -1, -1, -1, -1, -1, -1},

                               {-1, -1, (double)((double)1-pi1)/(double)2, (double)((double)1-pi1)/(double)2, -1, -1, pi1, -1, -1, -1, -1, -1, -1},

                               {-1, -1, (double)((double)1-pi2)/(double)2, (double)((double)1-pi2)/(double)2, -1, -1, pi2, -1, -1, -1, -1, -1, -1},

                               {-1,(double)((double)1-pi1)*((double)1-pi2), -1, -1, (double)((double)1-pi2)*pi1, (double)((double)1-pi2)*pi1, -1, pi1*pi2, -1, -1, -1, -1, -1},

                               {-1, -1, (double)((double)1-pi2)*((double)1-pi1)/(double)2, ((double)1-pi2)*((double)1-pi1)/(double)2, -1, -1,((double)1-pi1)*pi2+((double)1-pi2)*pi1, -1, pi1*pi2, -1, -1, -1, -1},

                               {-1, -1, -1, -1, ((double)1-pi1)*((double)1-pi2)/(double)2, ((double)1-pi1)*((double)1-pi2)/(double)2, -1, ((double)1-pi1)*pi2+((double)1-pi2)*pi1, -1, pi1*pi2, -1, -1, -1},

                               {-1, -1, -1, -1, -1, -1, ((double)1-pi1)*((double)1-pi2), -1, ((double)1-pi1)*pi2+((double)1-pi2)*pi1, -1, pi1*pi2, -1, -1},

                               {-1, -1, -1, -1, -1, -1, -1, ((double)1-pi1)*((double)1-pi2), -1, ((double)1-pi1)*pi2+((double)1-pi2)*pi1, -1, pi1*pi2, -1},

                               {-1, -1, -1, -1, -1, -1, -1, -1, ((double)1-pi1)*((double)1-pi2), -1, ((double)1-pi1)*pi2+((double)1-pi2)*pi1, -1, pi1*pi2},

                               {-1, -1, -1, -1, -1, -1, -1, -1, ((double)1-pi1)*((double)1-pi2), -1, ((double)1-pi1)*pi2+((double)1-pi2)*pi1, -1, pi1*pi2}

                              };

           string curCond = "2 0 0 0";

           double A = new double();

           double L = new double();

           condLog = new List<string>();

           condLog.Add("2 0 0 0");

           int condNumber = 0; // номер состояния в массиве состояний

           Random rnd = new Random();

           int[] pCount = new int[13]; //подсчет нахождений в каждом из состояний

           pCount[condNumber]++;

           for (int i = 0; i < N; i++)

           {

               double buf = rnd.NextDouble();

               for (int j = 0; j < 13; j++)

               {

                   if (chances[condNumber, j] != -1)

                       buf -= chances[condNumber, j]; //отнимаем вероятности пока не найдем то что выдал рандом

                   if (buf <= 0)

                   {

                       int lastCondNumber = condNumber;

                       condNumber = j;

                       L += double.Parse(conditions[condNumber].ElementAt(2).ToString());

                       if (conditions[condNumber].ElementAt(0) == '2')

                       {

                               A++;

                       }

                       break;

                   }

               }

               curCond = conditions[condNumber];

               pCount[condNumber]++;

               condLog.Add(curCond);

           }

           listBox1.ItemsSource = condLog;

           double[] pChances = new double[13]; // вероятности каждого состояния

           for (int i = 0; i < 13; i++)

           {

               pChances[i] = (double)pCount[i] / (double)N;

           }

           P2000Label.Content = "P2000 = " + pChances[0].ToString();

           P1000Label.Content = "P1000 = " + pChances[1].ToString();

           P2010Label.Content = "P2010 = " + pChances[2].ToString();

           P2001Label.Content = "P2001 = " + pChances[3].ToString();

           P1010Label.Content = "P1010 = " + pChances[4].ToString();

           P1001Label.Content = "P1001 = " + pChances[5].ToString();

           P2011Label.Content = "P2011 = " + pChances[6].ToString();

           P1011Label.Content = "P1011 = " + pChances[7].ToString();

           P2111Label.Content = "P2111 = " + pChances[8].ToString();

           P1111Label.Content = "P1111 = " + pChances[9].ToString();

           P2211Label.Content = "P2211 = " + pChances[10].ToString();

           P1211Label.Content = "P1211 = " + pChances[11].ToString();

           P0211Label.Content = "P0211 = " + pChances[12].ToString();

           A /= (double)N;

           L /= (double)N;

           ALabel.Content = "A = " + A.ToString();

           LLabel.Content = "L = " + L.ToString();

       }

       private void Window_Loaded(object sender, RoutedEventArgs e)

       {

       }

   }

}


 

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

31516. Міжнародна організація праці: значення, вплив на розвиток та методи регулювання соціально-трудових відносин 101.02 KB
  МОП: цілі завдання та структура 2. Основні види діяльності МОП 3. МОП: цілі завдання та структура Міжнародна організація праці МОП – це міжурядова установа яка вирішує проблеми зайнятості населення. МОП була створена у 1919 р.
31517. Праця як об’єкт вивчення дисципліни „Економіка праці і соціально-трудові відносини” та основа життєдіяльності суспільства 96 KB
  Праця як об’єкт вивчення дисципліни Економіка праці і соціальнотрудові відносини†та основа життєдіяльності суспільства Зміст учбового матеріалу: Діяльність та її види Праця як об’єкт вивчення дисципліни “Економіка праці і соціальнотрудові відносиниâ€: предмет завдання зміст методи вивчення Система понять про працю: сутність характер аспекти розгляду Виробничий фактор праці Місце дисципліни в загальній системі економічних наук 1. Праця як об’єкт вивчення дисципліни “Економіка праці і соціальнотрудові ресурсиâ€:...
31518. Ринок праці: зовнішній та внутрішньофірмовий 171 KB
  Ринок праці: зовнішній та внутрішньофірмовий Зміст учбового матеріалу: І. Зовнішній ринок праці: 1. Поняття ринку праці його елементи та функції 2. Структура типи сегменти ринку праці 3.
31519. Трудові ресурси і трудовий потенціал суспільства 133.5 KB
  Трудові ресурси і трудовий потенціал суспільства Зміст учбового матеріалу: Населення як суб’єкт соціальноекономічних відносин. Населення як суб’єкт соціальноекономічних відносин. Населення – це сукупність людей яка склалася історично та проживає на певній території. В залежності від його ролі у формуванні розвитку та реалізації виробничих відносин можна поділити на три функціональні групи: перша група – населення пов’язане з виконанням господарських функцій промислові сільськогосподарські транспортні тощо.
31520. Зайнятість населення та безробіття 217.5 KB
  Зайнятість населення та безробіття Зміст учбового матеріалу: Зайнятість населення: сутність види класифікація Безробіття як складне економічне соціальне і психологічне явище Система показників оцінки ринку праці зайнятості та безробіття Регулювання зайнятості населення Програми сприяння зайнятості Зайнятість населення: сутність види класифікація Зайнятість населення являє собою діяльність частини населення щодо створення суспільного продукту національного доходу. Економічна сутність зайнятості полягає у тому що вона...
31521. Соціально-трудові відносини та соціальне партнерство 206 KB
  Соціальнотрудові відносини та соціальне партнерство Зміст учбового матеріалу: Сутність соціальнотрудових відносин та особливості формування в умовах ринкової економіки. Система соціального захисту і соціальної забезпеченості Сутність соціального партнерства 1. Сутність соціальнотрудових відносин та особливості формування в умовах ринкової економіки. Соціальнотрудові відносини – це взаємозалежність і взаємодія суб’єктів цих відносин яка виникає в процесі праці і спрямована на регулювання умов трудового життя.
31522. Організація праці 290 KB
  Організація праці Зміст учбового матеріалу: Сутність завдання напрямки об’єкти організації праці Форми організації праці Поділ та кооперація праці Організація та обслуговування робочих місць Оцінювання стану організації праці 1. Сутність завдання напрями об’єкти організації праці Організація праці – це система науково обґрунтованих заходів раціонального поєднання працівників із засобами виробництва з метою створення сприятливих умов праці для одержання високих кінцевих соціальноекономічних результатів. Це процес приведення...
31523. Особливості ринкової економіки та промисловий перворт на українськиї землях, які перебували у складі Російської імперії у першій половині ХІХ століття 112.5 KB
  Можна прорахувати певні наслідки впливу такої країни як Росія на соціально- економічний та політичний стан нашої держави, який ніколи не був дружелюбний і носив більш колоніальний характер.Також, на основі вивчення даної теми, можна дослідити причини прискореного розвитку ринкових відносин і промисловості
31524. Предупреждение рабства и принудительного труда в практике Европейского Суда по правам человека 308.5 KB
  Предмет исследования составляют нормы, содержащиеся в международно-правовых актах в сфере предупреждения и запрещения рабства и принудительного труда (международные конвенции, декларации и рекомендации), а также нормы российского законодательства в указанной области.