Этапы информационного моделирования
Практическая работа №14
Выполнил студент группы №___________Ф.И.______________________
Тема Конструирование программ на основе разработки алгоритмов процессов различной природы.
Цель:познакоситься с понятиями модели и моделирование, научиться создавать компьютерные модели.
Теоретические сведения
Модель — это искусственно создаваемый объект, заменяющий некоторый объект реального мира (объект моделирования) и воспроизводящий ограниченное число его свойств.Понятие модели относится к фундаментальным общенаучным понятиям, а моделирование — это метод познания действительности, используемый различными науками.
Объект моделирования — широкое понятие, включающее объекты живой или неживой природы, процессы и явления действительности. Сама модель может представлять собой либо физический, либо идеальный объект. Первые называются натурными моделями, вторые — информационными моделями. Например, макет здания — это натурная модель здания, а чертеж того же здания — это его информационная модель, представленная в графической форме (графическая модель).
В экспериментальных научных исследованиях используются натурные модели, которые позволяют изучать закономерности исследуемого явления или процесса. Например, в аэродинамической трубе моделируется процесс полета самолета путем обдувания макета самолета воздушным потоком. При этом определяются, например, нагрузки на корпус самолета, которые будут иметь место в реальном полете.
Информационные модели используются при теоретических исследованиях объектов моделирования. В наше время основным инструментом информационного моделирования является компьютерная техника и информационные технологии.
Компьютерное моделирование включает в себя прогресс реализмом информационной модели на компьютере и исследование с помощью этой модели объекта моделирования — проведение вычислительного эксперимента.
Формализация
К предметной области информатики относятся средства и методы компьютерного моделирования. Компьютерная модель может быть создана только на основе хорошо формализованной информационной модели. Что же такое формализация?
Формализация информации о некотором объекте — этоее отражение в определенной форме.Можно еще сказать так: формализация — это сведение содержания к форме. Формулы, описывающие физические процессы, — это формализация этих процессов. Радиосхема электронного устройства — это формализация функционирования этого устройства. Ноты, записанные на нотном листе, — это формализация музыки и т.п.
Формализованная информационная модель — это определенные совокупности знаков (символов), которые существуют отдельно от объекта моделирования, могут подвергаться передаче и обработке. Реализация информационной модели на компьютере сводится к ее формализации в форматы данных, с которыми "умеет" работать компьютер.
Но можно говорить и о другой стороне формализации применительно к компьютеру. Программа на определенном языке программирования есть формализованное представление процесса обработки данных. Это не противоречит приведенному выше определению формализованной информационной модели как совокупности знаков, поскольку машинная программа имеет знаковое представление. Компьютерная программа — это модель деятельности человека по обработке информации, сведенная к последовательности элементарных операций, которые умеет выполнять процессор ЭВМ. Поэтому программирование на ЭВМ есть формализация процесса обработки информации. А компьютер выступает в качестве формального исполнителя программы.
Этапы информационного моделирования
Построение информационной модели начинается с системного анализаобъекта моделирования (см. "Системный анализ"). Представим себе быстро растущую фирму, руководство которой столкнулось с проблемой снижения эффективности работы фирмы по мере ее роста (что является обычной ситуацией) и решило упорядочить управленческую деятельность.
Первое, что необходимо сделать на этом пути, — провести системный анализ деятельности фирмы. Системный аналитик, приглашенный в фирму, должен изучить ее деятельность, выделить участников процесса управления и их деловые взаимоотношения, т.е. объект моделирования анализируется как система. Результаты такого анализа формализуются: представляются в виде таблиц, графов, формул, уравнений, неравенств и пр. Совокупность таких описаний есть теоретическая модель системы.
Следующий этап формализации — теоретическая модель переводится в формат компьютерных данных и программ. Для этого" используется либо готовое программное обеспечение, либо привлекаются программисты для его разработки. В конечном итоге получается компьютерная информационная модель, которая будет использоваться по своему назначению.
Для примера с фирмой с помощью компьютерной модели может быть найден оптимальный вариант управления, при котором будет достигнута наивысшая эффективность работы фирмы согласно заложенному в модель критерию (например, получение максимума прибыли на единицу вложенных средств).
Классификация информационных моделей может основываться на разных принципах. Если классифицировать их по доминирующей в процессе моделирования технологии, то можно выделить математические модели, графические модели, имитационные модели, табличные модели, статистические модели и пр. Если же положить в основу классификации предметную область, то можно выделить модели физических систем и процессов, модели экологических (биологических) систем и процессов, модели процессов оптимального экономического планирования, модели учебной деятельности, модели знаний и др. Вопросы классификации важны для науки, т.к. они позволяют сформировать системный взгляд на проблему, но преувеличивать их значение не следует. Разные подходы к классификации моделей могут быть в равной мере полезны. Кроме того, конкретную модель отнюдь не всегда можно отнести к одному классу, даже если ограничиться приведенным выше списком.
Остановимся на этой классификации подробнее и поясним ее на примерах.
Моделируя движение кометы, вторгшейся в Солнечную систему, мы описываем ситуацию (предсказываем траекторию полета кометы, расстояние, на котором она пройдет от Земли и т.д.), т.е. ставим чисто описательные цели. У нас нет никаких возможностей повлиять на движение кометы, что-то изменить в процессе моделирования.
В оптимизационных моделях мы можем воздействовать на процессы, пытаясь добиться какой-то цели. В этом случае в модель входит один или несколько параметров, доступных нашему влиянию. Например, меняя тепловой режим в зернохранилище, мы можем стремиться подобрать такой, чтобы достичь максимальной сохранности зерна, т. е. оптимизируем процесс.
Часто приходится оптимизировать процесс по нескольким параметрам сразу, причем цели могут быть весьма противоречивыми. Например, зная цены на продукты и потребность человека в пище, организовать питание больших групп людей (в армии, летнем лагере и др.) как можно полезнее и как можно дешевле. Ясно, что эти цели, вообще говоря, совсем не совпадают, т.е. при моделировании будет несколько критериев, между которыми надо искать баланс. В этом случае говорят о многокритериальных моделях.
Игровые модели могут иметь отношение не только к детским играм (в том числе и компьютерным), но и к вещам весьма серьезным. Например, полководец перед сражением в условиях наличия неполной информации о противостоящей армии должен разработать план, в каком порядке вводить в бой те или иные части и т.п., учитывая возможную реакцию противника. В современной математике есть специальный раздел – теория игр, изучающий методы принятия решений в условиях неполной информации.
Наконец, бывает, что модель в большой мере подражает реальному процессу, т.е. имитирует его. Например, моделируя динамику численности микроорганизмов в колонии, можно рассматривать совокупность отдельных объектов и следить за судьбой каждого из них, ставя определенные условия для его выживания, размножения и т.д. При этом иногда явное математическое описание процесса не используется, заменяясь некоторыми словесными условиями (например, по истечении некоторого отрезка времени микроорганизм делится на две части, а другого отрезка – погибает). Другой пример – моделирование движения молекул в газе, когда каждая молекула представляется в виде шарика, и задаются условия поведения этих шариков при столкновении друг с другом и со стенками (например, абсолютно упругий удар); при этом не нужно использовать никаких уравнений движения.
Можно сказать, что чаще всего имитационное моделирование применяется в попытке описать свойства большой системы при условии, что поведение составляющих ее объектов очень просто и четко сформулировано. Математическое описание тогда производится на уровне статистической обработки результатов моделирования при нахождении макроскопических характеристик системы. Такой компьютерный эксперимент фактически претендует на воспроизведение натурного эксперимента. На вопрос же «зачем это делать?» можно дать следующий ответ: имитационное моделирование позволяет выделить «в чистом виде» следствия гипотез, заложенных в наши представления о микрособытиях, очистив их от неизбежного в натурном эксперименте влияния других факторов, о которых мы можем даже не подозревать. Если же такое моделирование включает и элементы математического описания событий на микроуровне, и если исследователь при этом не ставит задачу поиска стратегии регулирования результатов (например, управления численностью колонии микроорганизмов), то отличие имитационной модели от дескриптивной достаточно условно; это, скорее, вопрос терминологии.
Еще один подход к классификации математических моделей подразделяет их на детерминированные и стохастические (вероятностные). В детерминированных моделях входные параметры поддаются измерению однозначно и с любой степенью точности, т.е. являются детерминированными величинами. Соответственно, процесс эволюции такой системы детерминирован. В стохастических моделях значения входных параметров известны лишь с определенной степенью вероятности, т.е. эти параметры являются стохастическими; соответственно, случайным будет и процесс эволюции системы. При этом, выходные параметры стохастической модели могут быть как величинами вероятностными, так и однозначно определяемыми.
Задание 1
Основываясь на теоретическом материале, приведите несколько примеров процессов различной природы.
Опишите один из предложенных примеров на алгоритмическом языке
Контроольные вопросы.
1. Что такое модель?
2. В чём смысл процесса моделирования?
3. Формализация модели, что это?
4. Классификация моделей?
Сделать вывод о проделанной работе
.