Локальные сети

В отдельных случаях исследования системы могут удовлетво­рить и те выводы, которые можно сделать при использовании качественного метода анализа математической модели. Такие каче­ственные методы широко используются, например, в теории авто­матического управления для оценки эффективности различных ва­риантов систем управления.

В настоящее время распространены методы машинной реализации исследования характеристик процесса функционирования боль­ших систем. Для реализации математической модели на ЭВМ необ­ходимо построить соответствующий моделирующий алгоритм.

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 (класс, который моделирует поведение шин)


Страница: