Локальные сетиРефераты >> Коммуникации и связь >> Локальные сети
В отдельных случаях исследования системы могут удовлетворить и те выводы, которые можно сделать при использовании качественного метода анализа математической модели. Такие качественные методы широко используются, например, в теории автоматического управления для оценки эффективности различных вариантов систем управления.
В настоящее время распространены методы машинной реализации исследования характеристик процесса функционирования больших систем. Для реализации математической модели на ЭВМ необходимо построить соответствующий моделирующий алгоритм.
2.3 Выборочный метод Монте-Карло
Разыгрывание выборок по методу Монте-Карло является основным принципом моделирования систем, содержащих стохастические или вероятностные элементы. Его зарождение связано с работой Фон Неймана и Улана в конце 40-х годов, когда они ввели термин Монте-Карло и применили этот метод к решению некоторых задач экранирования ядерных излучений. Этот математический метод был известен уже много лет, но свое второе рождение он пережил, когда нашел в Лос-Аламосе применение в закрытых работах по ядерной технике, которые велись под кодовым названием «Монте-Карло». Применение метода оказалось настолько успешным, что он получил распространение и в других областях науки и техники, так что теперь многим специалистам термин «метод Монте-Карло» представляется синонимом термина «имитационное моделирование». В методе Монте-Карло данные предшествующего опыта вырабатываются искусственно путем использования некоторого генератора случайных чисел в сочетании с интегральной функцией распределения вероятностей для исследуемого процесса. Таким генератором может быть таблица, колесо рулетки, подпрограмма ЭВМ или какой-либо другой источник равномерно распределенных случайных чисел. Подлежащее разыгрыванию распределение вероятностей может быть основано на эмпирических данных, извлекаемых из ранее сформированных записей, или на результатах последнего эксперимента либо может представлять собой известное теоретическое распределение. Случайные числа используются для получения дискретного ряда случайных переменных, имитирующего результаты, которых можно было бы ожидать в соответствии с разыгрываемым вероятностным распределением.
Способ применения метода Монте-Карло по идее довольно прост. Чтобы получить искусственную случайную выборку из совокупности величин, описываемой некоторой функцией распределения вероятностей, следует:
1. Построить график или таблицу интегральной функции распределения на основе ряда чисел, отражающего исследуемый процесс (а не на основе ряда случайных чисел), причем значения случайной переменной процесса откладываются по оси абсцисс {х), а значения вероятности (от 0 до 1) —по оси ординат (у);
2. С помощью генератора случайных чисел выбрать случайное десятичное число (СЧ) в пределах от 0 до 1 (с требуемым числом разрядов);
3. Провести горизонтальную прямую от точки на оси ординат;
соответствующей выбранному СЧ, до пересечения с кривой распределения вероятностей;
4. Опустить из этой точки пересечения перпендикуляр на ось абсцисс;
5. Записать полученное значение х. Далее оно принимается как выборочное значение;
6. Повторить шаги 2—5 для всех требуемых случайных переменных, следуя тому порядку, в котором они были записаны.
3.Разработка программной среды
Описание среды Delphi 5
Для реализации разработанных алгоритмов выбрана среда Delphi 5. Delphi 5 – это среда визуального программирования, основанная на объектно-ориентированной идеологии. Для создания интерфейса программ используется встроенная Библиотека Визуальных Компонентов (VCL). Эта библиотека содержит стандартные элементы интерфейса Windows-приложений, такие как: меню, панели инструментов, поля редактирования, таблицы и т.п.
Объектно-ориентированное программирование
Три принципа объектного программирования.
Наследование
Чтобы наиболее эффективно повторно использовать ранее созданные классы, одного сочетания данных и методов в единой структуре недостаточно. Однако полностью заново определять новый тип данных, если требуется изменить или добавить несколько новых свойств к старому типу, нерационально. Это плохо еще и потому, что если метод, имеющийся в обоих классах, потребуется внести исправления, то их придется делать дважды, в двух одинаковых копиях подпрограмм. Чтобы избежать ненужной работы, в объектном программировании был введен принцип наследования свойств и методов. Программисту достаточно описать один базовый класс (например, «автомобиль»), а классы «легковой автомобиль» и «грузовой автомобиль» основывать на этом базовом классе. При этом будут наследоваться все поля, свойства и методы базового (или родительского) класса, а дополнительно описывать их не требуется.
Цепочки наследования могут быть неограниченной длины. Так, у класса «кнопка» могут быть классы-наследники (или дочерние классы) — «графическая кнопка», «круглая кнопка» и так далее.
Полиморфизм
Когда будет происходить обращение к переменной, относящейся к классу «КАМАЗ», и вызов унаследованного метода «двигаться», программе придется решить, какой конкретно метод надо вызвать: метод класса «автомобиль», «грузовой автомобиль» или «КАМАЗ». В соответствии с принципом полиморфизма решение принимается в зависимости от типа переменной, вызывающей этот метод. То есть, если переменная описана как относящаяся к типу «КАМАЗ», будет вызван метод «двигаться», определенный именно для КАМАЗа.
Инкапсуляция
Инкапсуляция позволяет разграничить доступ разработчиков к различным полям и свойствам класса, примерно так, как это сделано в модулях Delphi, когда из других модулей видима только интерфейсная часть. Точно так же и внутри классов некоторые поля и методы можно сделать свободно доступными для использования (видимыми) в любом месте программы, а другие поля и методы сделать доступными только внутри текущего модуля и собственных методов класса. Это позволяет скрыть внутри описания различные характеристики и возможности класса, чтобы сосредоточить внимание разработчиков, повторно использующих этот класс, на его важнейших свойствах.
Кроме того, желательно не допускать бесконтрольного изменения значений свойств, так как это может привести к нарушению запланированной и сбалансированной взаимосвязи между этими свойствами.
События
Помимо этих трех фундаментальных возможностей объектно-ориентированного программирования, в среде Delphi реализована новая характеристика объекта — возможность обработки так называемых сообщений (или событий), получаемых от системы Windows или самой программы. Этот принцип лежит в основе работы всех визуальных компонентов Delphi, которые обрабатывают различные события, возникающие в процессе выполнения программы.
Программные модули
Исходный текст программы состоит из следующих модулей:
Comp2.pas – описание класса TComp2 (класс, который описывает поведение компьютера в сети)
Line2.pas – описание класса TLine2 (класс, который моделирует поведение шин)