- •Введение
- •Глава 1. Организация и технология разработки прикладных программ Математическое обеспечение и его структура
- •Организация разработки прикладных программ
- •Технология разработки прикладных программ
- •Характеристики качества программного обеспечения
- •Структура курса и литература
- •Глава 2. Типы структурированных данных. Статические и динамические типы данных. Файловая структура
- •Типы данных
- •Представление структур в памяти эвм
- •Некоторые примеры представления данных
- •Техника доступа к информации записанной в файле
- •Глава 3. Основные этапы полного построения алгоритма
- •Глава 4. Некоторые основные приемы и алгоритмы
- •4.1 Структурное программирование сверху-вниз и правильность программ
- •4.2 Основные правила структурного программирования
- •4.3. Структурное программирование сверху-вниз: дополнительные соображения
- •4.4.Практические советы при использовании метода структурного программирования
- •1.4. Общая организация программы и ее запись
- •1.4. "Малый программистский стандарт"
- •5. Методы разработки алгоритма
- •5.1. Методы частных целей, подъема и отрабатывания назад
- •5.2 Метод эвристики
- •5.3 Программирование с отходом назад
- •5.4. Метод ветвей и границ
- •5.5. Рекурсия
- •5.6. Моделирование
- •Глава 6. Алгоритмы машинной математики больших массивов данных.
- •6.1. Сортировка
- •6.2. Сортировка массивов
- •6.3. Сортировка последовательностей.
- •6.4. Поиск
- •7. Документирование, сопровождение и эксплуатация программ.
- •7.1.Стандартизация, дисциплина и творчество в программировании.
- •7.2. Виды программ и программных документов
- •7.3. Основные стадии и этапы разработки программ и программной документации
5.6. Моделирование
Большая часть алгоритмов, которые мы рассматривали до сих пор решает относительно простые задачи. Многие из этих задач легко сформулировать и смоделировать. Они содержат не много параметров, и обычно их можно решить аналитически. Более того получающиеся алгоритмы довольно компактны.
Эти задачи резко отличаются от задач, описывающих большие системы, или системы имеющих многовариантную сложность, например военные расчеты, космические полеты, прогнозирование климата, управление производством и принятия административных решений.
Задачи относящиеся к большим системам очень трудно моделировать, анализировать и решать. Например, трудно определить все переменные, влияющие на поведение системы, внутренние связи между переменными.
Появление ЭВМ позволило подойти к изучению таких сложных систем при помощи моделирования. Машинное моделирование - это процесс экспериментирования на ЭВМ над моделью динамической системы. Непосредственная цель этих экспериментов — наблюдение за поведением системы при заданных предположениях, условиях и значениях параметров. Конечной целью может быть:
формулирование стратегии управления,
определение оптимальных или возможных конфигураций системы;
установление реальных производственных планов или решение вопроса об оптимальных экономических стратегиях;
и многое другое.
Преимущества машинного моделирования многочисленны. Они позволяют изучить с желаемой степенью детальности все части системы, объединенные в единое целое, в то время как аналитически можно изучить только отдельные части системы. Всеми переменными можно управлять, и все можно измерять. Машинное моделирование позволяет получить информацию о реальной системе, когда непрактично проводить на ней прямой эксперимент. Имитация позволяет испытать систему до того, как на соответствующую реальную систему затрачены время и деньги,
Имитационные эксперименты можно проводить в разных масштабах времени. Время может быть замедлено, чтобы проверить на микроскопическом уровне свойства, которые трудно проанализировать в реальной системе. Время может быть ускорено, чтобы охватить все на макроскопическом уровне, например, при изучении отдаленных последствий тех или иных допущений. Время также можно остановить, повернуть вспять и проиграть заново, чтобы изучить случаи необычного поведения более детально. В реальных системах часто бывает, что, начав некоторый эксперимент, остановить его нельзя.
Кто-то вполне может задать вопрос: почему мы не прибегаем к моделированию во всех случаях? Существует несколько частичных ответов на этот вопрос. Во-первых, моделирование — это экспериментальный метод. Поэтому всегда возникает серьезный вопрос, как истолковать результаты. Важно понять, что достоверность выходных данных зависит от того, в какой степени модель и основные допущения отражают характеристики системы. Во-вторых машинная имитация может стать дорогостоящей, если модель становится чрезмерно детализированной.
Область имитационного моделирования слишком обширна, чтобы всесторонне охватить ее здесь. Для наших целей достаточно будет представить несколько важных соображений, относящихся к построению имитационных моделей.
1. Для моделирования процессов необходимо разработать физическую модель процессов, которая отражает реальную картину событий. При этом необходимо сделать некоторые допущения, которые не затрагивают существа исследуемого явления, но в тоже время позволяют значительно упростить задачу.
Для процессов моделирования - это пожалуй один из главных вопросов - определение факторов влияющих на событие и установление их влияние между собой.
2. В зависимости от того на что направлены исследования устанавливается метод планирования событий. Он зависит только от рассматриваемого явления и определяется только им. Планирование событий может носить детерминированный или случайный характер. Например, детерминированный характер будут носить модели расчета поведения аппаратуры при ядерном взрыве, а случайный характер - модели обслуживания случайных событий, выход из строя каких-то устройств и т.п.
Причем модель будет работать таким образом, что изменение ее характеристик будет наблюдаться при наступлении какого-либо события, т.е. нет нужды в беспрерывном ходе часов когда ничего не случается.
3. Результаты моделирования должны отражать реальную ситуацию.
Вообще говоря, это очень важная и обширная тема и ее рассмотрение возможно применительно для решения какой-либо задачи.