• Компьютерное моделирование физических процессов. Компьютерное моделирование"

    КОМПЬЮ́ТЕРНОЕ МОДЕЛИ́РОВАНИЕ (англ. computational simulation), построение с помощью компьютеров и компьютерных устройств (3D-сканеров, 3D-принтеров и др.) символьных [см. Символьное моделирование (s-моделирование)] и физических моделей объектов, изучаемых в науке (физике, химии и др.), создаваемых в технике (напр., в авиастроении, робототехнике), медицине (напр., в имплантологии, томографии ), искусстве (напр., в архитектуре , музыке) и др. областях деятельности людей.

    К. м. позволяет многократно сократить затраты на разработку моделей по сравнению с некомпьютерными методами моделирования и проведением натурных испытаний. Оно делает возможным построение символьных компьютерных моделей объектов, для которых невозможно построить физические модели (напр., моделей объектов, изучаемых в климатологии ). Служит эффективным средством моделирования сложных систем в технике, экономике и др. областях деятельности. Является технологической основой систем автоматизированного проектирования (САПР).

    Физические компьютерные модели изготавливаются на основе символьных моделей и являются прототипами моделируемых объектов (деталей и узлов машин, строительных конструкций и др.). Для изготовления прототипов могут быть применены 3D-принтеры, реализующие технологии послойного формирования неплоских объектов. Символьные модели прототипов могут быть разработаны с помощью САПРов, 3D-сканеров или цифровых камер и фотограмметрического программного обеспечения.

    Система К. м. – это человеко-машинный комплекс, в котором построение моделей осуществляется с помощью компьютерных программ, реализующих математические (см. Моделирование математическое ) и экспертные (напр., имитационные) методы моделирования. В режиме вычислительного эксперимента исследователь имеет возможность, изменяя исходные данные, за относительно короткое время получить и сохранить в системе компьютерного моделирования большое число вариантов модели объекта.

    Уточнение представлений об исследуемом объекте и совершенствование методов его моделирования могут сделать необходимым изменение программных средств системы компьютерного моделирования, а аппаратные средства при этом могут остаться без изменений.

    Высокая результативность компьютерного моделирования в науке, технике и др. областях деятельности стимулирует развитие аппаратных средств (включая суперкомпьютеры) и программного обеспечения [в т. ч. инструментальных систем (см. Инструментальная система в информатике ) разработки параллельных программ для суперкомпьютеров].

    В наши дни компьютерные модели – быстро растущая часть арсенала

    Майер Р.В. Компьютерное моделирование

    Майер Р.В., Глазовский пединститут

    КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ:

      МОДЕЛИРОВАНИЕ КАК МЕТОД НАУЧНОГО ПОЗНАНИЯ.

    КОМПЬЮТЕРНЫЕ МОДЕЛИ И ИХ ВИДЫ

    Вводится понятие модели, анализируются различные классы моделей, связь моделирования с общей теорией систем. Обсуждается численное, статистическое и имитационное моделирование, его место в системе других методов познания. Рассматриваются различные классификации компьютерных моделей и области их применения.

    1.1. Понятие модели. Цели моделирования

    В процессе изучения окружающего мира субъекту познания противостоит исследуемая часть объек­тивной реальности –– объект познания . Ученый, используя эмпирические методы познания (наблюдение и эксперимент), устанавливает факты , характеризующие объект. Элементарные факты обобщаются и формулируются эмпирические законы . Следующий шаг состоит в развитии теории и построении теоретической модели , объясняющей поведение объекта и учитывающей наиболее существенные факторы, влияющие на изучаемое явление. Эта теоретическая модель должна быть логичной и соответствовать установленным фактам. Можно считать, что любая наука представляет собой теоретическую модель определенной части окружающей действительности.

    Часто в процессе познания реальный объект заменяется некоторым другим идеальным, воображаемым или материальным объектом
    , несущим изучаемые черты исследуемого объекта , и называемым моделью. Эта модель подвергается исследованию: на нее оказывают различные воздействия, изменяют параметры и начальные условия, и выясняют, как изменяется ее поведение. Результаты исследования модели переносят на объект исследования , сопоставляют с имеющимися эмпирическими данными и т.д.

    Таким образом, модель –– это материальный или идеальный объект, замещающий исследуемую систему и адекватным образом отображающий ее существенные стороны. Модель должна в чем–то повторять исследуемый процесс или объект со степенью соответствия, позволяющей изучить объект–оригинал . Чтобы результаты моделирования можно было бы перенести на исследуемый объект, модель должна обладать свойством адекватности. Преимущество подмены исследуемого объекта его моделью в том, что часто модели проще, дешевле и безопаснее исследовать. Действительно, чтобы создать самолет, следует построить теоретическую модель, нарисовать чертеж, выполнить соответствующие расчеты, изготовить его уменьшенную копию, исследовать ее в аэродинамической трубе и т.д.

    Модель объекта должна отражать его наиболее важные качества, пренебрегая второстепенными . Тут уместно вспомнить притчу о трех незрячих мудрецах, решивших узнать что такое слон. Один мудрец подержал слона за хобот, и заявил, что слон ­­–– гибкий шланг. Другой потрогал слона за ногу и решил, что слон – это колонна. Третий мудрец подергал за хвост и пришел к мнению, что слон – это веревка. Ясно, что все мудрецы ошиблись: ни один из названных объектов (шланг, колонна, веревка) не отражают существенных сторон изучаемого объекта (слон), поэтому их ответы (предлагаемые модели) не являются правильными.

    При моделировании могут преследоваться различные цели: 1) познание сущности изучаемого объекта, причин его поведения, “устройства” и механизма взаимодействия элементов; 2) объяснение уже известных результатов эмпирических исследований, верификация параметров модели по экспериментальным данным; 3) прогнозирование поведения систем в новых условиях при различных внешних воздействиях и способах управления; 4) оптимизация функционирования исследуемых систем, поиск правильного управления объектом в соответствии с выбранным критерием оптимальности.

    1.2. Различные виды моделей

    Используемые модели чрезвычайно разнообразны. Системный анализ требует классификации и систематизации , то есть структурирование изначально неупорядоченного множества объектов и превращение его в систему. Известны различные способы классификации существующего многообразия моделей. Так, в выделяют следующие виды моделей: 1) детерминированные и стохастические; 2) статические и динамические; 3) дискретные, непрерывные и дискретно–непрерывные; 4) мысленные и реальные. В других работах , модели классифицируют по следующим основаниям (рис. 1): 1) по характеру моделируемой стороны объекта; 2) по отношению ко времени; 3) по способу представления состояния системы; 4) по степени случайности моделируемого процесса; 5) по способу реализации.

    При классификации по характеру моделируемой стороны объекта выделяют следующие виды моделей (рис. 1): 1.1. Кибернетические или функциональные модели; в них моделируемый объект рассматривается как “черный ящик”, внутреннее устройство которого неизвестно. Поведение такого “черного ящика” может описываться математическим уравнением, графиком или таблицей, которые связывают выходные сигналы (реакции) устройства с входными (стимулами). Структура и принципы действия такой модели не имеют ничего общего с исследуемым объектом, но функционирует она похожим образом. Например, компьютерная программа, моделирующая игру в шашки. 1.2. Структурные модели –– это модели, структура которых соответствует структуре моделируемого объекта. Примерами являются командно-штабные учения, день самоуправления, модель электронной схемы в Electronics Workbench и т.д. 1.3.Информационные модели, представляющие собой совокупность специальным образом подобранных величин и их конкретных значений, которые характеризуют исследуемый объект. Выделяют вербальные (словесные), табличные, графические и математические информационные модели. Например, информационная модель студента может состоять из оценок за экзамены, контрольные и лабораторные работы. Или информационная модель некоторого производства представляет набор параметров, характеризующих потребности производства, его наиболее существенные характеристики, параметры выпускаемого товара.

    По отношению ко времени выделяют: 1. Статические модели ­–– модели, состояние которых не изменяется с течением времени: макет застройки квартала, модель кузова машины. 2. Динамические модели представляют собой функционирующие объекты, состояние которых непрерывно изменяется. К ним относятся действующие модели двигателя и генератора, компьютерная модель развития популяции, анимационная модель работы ЭВМ и т.д.

    По способу представления состояния системы различают: 1. Дискретные модели –– это автоматы, то есть реальные или воображаемые дискретные устройства с некоторым набором внутренних состояний, преобразующие входные сигналы в выходные в соответствии с заданными правилами. 2. Непрерывные модели –– это модели, в которых протекают непрерывные процессы. Например, использование аналоговой ЭВМ для решения дифференциального уравнения, моделирования радиоактивного распада с помощью конденсатора, разряжающегося через резистор и т.д. По степени случайности моделируемого процесса выделяют (рис. 1): 1. Детерминированные модели, которым свойственно переходить из одного состояния в другое в соответствии с жестким алгоритмом, то есть между внутренним состоянием, входными и выходными сигналами имеется однозначное соответствий (модель светофора). 2. Стохастические модели, функционирующие подобно вероятностным автоматам; сигнал на выходе и состояние в следующий момент времени задается матрицей вероятностей. Например, вероятностная модель ученика, компьютерная модель передачи сообщений по каналу связи с шумом и т.д.


    Рис. 1. Различные способы классификации моделей.

    По способу реализации различают: 1. Абстрактные модели, то есть мысленные модели, существующие только в нашем воображении. Например, структура алгоритма, которая может быть представлена с помощью блок–схемы, функциональная зависимость, дифференциальное уравнение, описывающее некоторый процесс. К абстрактным моделям также можно отнести различные графические модели, схемы, структуры, а также анимации. 2. Материальные (физические) модели представляют собой неподвижные макеты либо действующие устройства, функционирующие в чем–то подобно исследуемому объекту. Например, модель молекулы из шариков, макет атомной подводной лодки, действующая модель генератора переменного тока, двигателя и т.д. Реальное моделирование предусматривает построение материальной модели объекта и выполнение с ней серии экспериментов. Например, для изучения движения подводной лодки в воде строят ее уменьшенную копию и моделируют течение с помощью гидродинамической трубы.

    Нас будут интересовать абстрактные модели, которые в свою очередь подразделяются на вербальные, математические и компьютерные. К вербальным или текстовым моделям относятся последовательности утверждений на естественном или формализованном языке, описывающие объект познания. Математические модели образуют широкий класс знаковых моделей, в которых используются математические действия и операторы. Часто они представляют собой систему алгебраических или дифференциальных уравнений. Компьютерные модели представляют собой алгоритм или компьютерную программу, решающую систему логических, алгебраических или дифференциальных уравнений и имитирующую поведение исследуемой системы. Иногда мысленное моделирование подразделяют на: 1. Наглядное, –– предполагает создание воображаемого образа, мысленного макета, соответствующих исследуемому объекту на основе предположений о протекающем процессе, или по аналогии с ним. 2. Символическое, –– заключается в создании логического объекта на основе системы специальных символов; подразделяется на языковое (на основе тезауруса основных понятий) и знаковое. 3. Математическое, –– состоит в установлении соответствия объекту исследования некоторого математического объекта; подразделяется на аналитическое, имитационное и комбинированное. Аналитическое моделирование предполагает написание системы из алгебраических, дифференциальных, интегральных, конечно–разностных уравнений и логических условий. Для исследования аналитической модели могут быть использованы аналитический метод и численный метод. В последнее время численные методы реализуются на ЭВМ, поэтому компьютерные модели можно рассматривать как разновидность математических.

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

    1.3. Моделирование и системный подход

    В основе теории моделирования лежит общая теория систем , также известная как системный подход. Это общенаучное направление, согласно которому объект исследования рассматривается как сложная система, взаимодействующая с окружающей средой. Объект является системой, если он состоит из совокупности взаимосвязанных между собой элементов, сумма свойств которых не равна свойствам объекта. Система отличается от смеси наличием упорядоченной структуры и определенных связей между элементами. Например, телевизор, состоящий из большого числа радиодеталей, соединенных между собой определенным образом, является системой, а те же радиодетали, беспорядочно лежащие в ящике, системой не являются. Различают следующие уровни описания систем: 1) лингвистический (символический); 2) теоретико-множественный; 3) абстрактно-логический; 4) логико-математический; 5) теоретико-информа-ционный; 6) динамический; 7) эвристический.


    Рис. 2. Исследуемая система и окружающая среда.

    Система взаимодействует с окружающей средой, обменивается с ней веществом, энергией, информацией (рис. 2). Каждый ее элемент является подсистемой. Система, включающая анализируемый объект как подсистему, называется надсистемой . Можно считать, что система имеет входы , на которые поступают сигналы, и выходы , выдающие сигналы в среду. Отношение к объекту познания как к целому, составленному из многих взаимосвязанных между собой частей, позволяет увидеть за огромным количеством несущественных деталей и особенностей нечто главное и сформулировать системообразующий принцип . Если внутреннее устройство системы неизвестно, то ее считают “черным ящиком” и задают функцию, связывающую состояния входов и выходов. В этом состоит кибернетический подход . При этом анализируется поведение рассматриваемой системы, ее отклик на внешние воздействия и изменения окружающей среды.

    Исследование состава и структуры объекта познания называется системным анализом . Его методология нашла свое выражение в следующих принципах : 1) принцип физичности : поведение системы описывается определенными физическими (психологическими, экономическими и др.) законами; 2) принцип моделируемости : система может быть промоделирована конечным числом способов, каждый из которых отражает ее существенные стороны; 3) принцип целенаправленности : функционирование достаточно сложных систем приводит к достижению некоторой цели, состояния, сохранения процесса; при этом система способна противостоять внешним воздействиям.

    Как указывалось выше, система имеет структуру –– множество внутренних устойчивых связей между элементами, определяющее основные свойства данной системы. Ее можно представить графически в виде схемы, химической или математической формулы или графа. Это графическое изображение характеризует пространственное расположение элементов, их вложенность или подчиненность, хронологическую последовательность различных частей сложного события. При построении модели рекомендуется составлять структурные схемы изучаемого объекта, особенно если он достаточно сложен. Это позволяет понять совокупность всех интегративных свойств объекта, которыми не обладают его составные части.

    Одной из важнейших идей системного подхода является принцип эмерджентности , –– при объединении элементов (частей, компонентов) в единое целое возникает системный эффект: у системы появляются качества, которым не обладает ни один из входящих в нее элементов. Принцип выделения основной структуры системы состоит в том, что изучение достаточно сложного объекта требует выдвижения на первый план некой части его структуры, являющейся главной или основной. Иными словами, нет необходимости учитывать все многообразие деталей, а следует отбросить менее существенное и укрупнить важные части объекта для того, чтобы понять основные закономерности.

    Любая система взаимодействует с другими не входящими в нее системами и образующими среду. Поэтому ее следует рассматривать как подсистему некоторой более обширной системы. Если ограничиться анализом только внутренних связей, то в некоторых случаях не удастся создать правильной модели объекта. Следует учесть существенные связи системы со средой, то есть внешние факторы, и тем самым “замкнуть” систему. В этом состоит принцип замкнутости.

    Чем сложнее исследуемый объект, тем больше разнообразных моделей (описаний) можно построить. Так, глядя на цилиндрическую колонну с различных сторон, все наблюдатели скажут, что ее можно промоделировать однородным цилиндрическим телом определенных размеров. Если вместо колонны наблюдатели станут рассматривать какую–то сложную архитектурную композицию, то каждый увидит свое и построит свою модель объекта. При этом, как и в случае с мудрецами, получатся различные результаты, противоречащие друг другу. И дело тут не в том, что истин много или объект познания непостоянен и многолик, а в том, что объект сложен и истина сложна, а используемые методы познания поверхностны и не позволили понять сущность до конца.

    При изучении больших систем исходят из принципа иерархичности , который заключается в следующем.Изучаемый объект содержит несколько связанных подсистем первого уровня, каждая из которых сама является системой, состоящая из подсистем второго уровня и т.д. Поэтому описание структуры и создание теоретической модели должно учитывать “расположение” элементов на различных “уровнях”, то есть их иерархию. К основным свойствам систем относятся: 1) целостность , то есть несводимость свойств системы к сумме свойств отдельных элементов; 2) структурность , –– неоднородность, наличие сложной структуры; 3) множественность описания , –– система может быть описана различными способами; 4) взаимозависимость системы и среды , –– элементы системы связаны с объектами, не входящими в нее и образующими окружающую среду; 5) иерархичность , –– система имеет многоуровневую структуру.

    1.4. Качественные и количественные модели

    Задача науки состоит в построении теоретической модели окружающего мира, которая бы объясняла известные и предсказывала неизвестные явления. Теоретическая модель может быть качественной или количественной. Рассмотрим качественное объяснение электромагнитных колебаний в колебательном контуре, состоящем из конденсатора и катушки индуктивности. При подключении заряженного конденсатора к катушке индуктивности он начинает разряжаться, через катушку индуктивности течет ток, энергия электрического поля переходит в энергию магнитного поля. Когда конденсатор полностью разрядился, ток через катушку индуктивности достигает максимального значения. За счет инерционности катушки индуктивности, обусловленной явлением самоиндукции, происходит перезарядка конденсатора, он заряжается в обратном направлении и т.д. Эта качественная модель явления позволяет проанализировать поведение системы и предсказать, например, что при уменьшении емкости конденсатора частота собственных колебаний контура возрастет.

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

    Создание количественной модели электромагнитных колебаний в RLC-цепи предполагает введение точных и однозначных способов определения и измерения таких величин, как сила тока , заряд , напряжение , емкость , индуктивность , сопротивление . Не зная, как измерить силу тока в цепи или емкость конденсатора, бессмысленно говорить о каких–то количественных соотношениях. Имея однозначные определения перечисленных величин, и установив процедуру их измерения, можно приступать к построению математической модели, записи системы уравнений. В результате получается неоднородное дифференциальное уравнение второго порядка . Его решение позволяет, зная заряд конденсатора и ток через катушку индуктивности в начальный момент, определить состояние цепи в последующие моменты времени.

    Построение математической модели требует определения независимых величин, однозначно описывающих состояние исследуемого объекта. Например, состояние механической системы определяется координатами входящих в нее частиц и проекциями их импульсов. Состояние электрической цепи задается зарядом конденсатора, силой тока через катушку индуктивности и т.д. Состояние экономической системы определяется набором таких показателей, как количество денежных средств, вложенных в производство, прибыль, число рабочих, занятых изготовлением продукции и т.д.

    Поведение объекта во многом определяется его параметрами, то есть величинами, которые характеризуют его свойства. Так, параметрами пружинного маятника являются жесткость пружины и масса подвешенного к ней тела. Электрическая RLC–цепь характеризуется сопротивлением резистора, емкостью конденсатора, индуктивностью катушки. К параметрам биологической системы относятся коэффициент размножения, количество биомассы, потребляемой одним организмом и т.д. Другим важным фактором, влияющим на поведение объекта, является внешнее воздействие. Очевидно, что поведение механической системы зависит от действующих на нее внешних сил. На процессы в электрической цепи влияет приложенное напряжение, а развитие производства связано с внешней экономической ситуацией в стране. Таким образом, поведение исследуемого объекта (а значит и его модели) зависит от его параметров, начального состояния и внешнего воздействия.

    Создание математической модели требует определения совокупности состояний системы, множества внешних воздействий (входных сигналов) и откликов (выходных сигналов), а также задания соотношений, связывающих отклик системы с воздействием и ее внутренним состоянием. Они позволяют исследовать огромное количество различных ситуаций, задавая иные параметры системы, начальные условия и внешние воздействия. Искомая функция, характеризующая отклик системы, получается в табличном или графическом виде.

    Все существующие способы исследования математической модели можно разделить на две группы.Аналитическое решение уравнения часто предусматривает проведение громоздких и сложных математических выкладок и в результате приводит к уравнению, выражающему функциональную связь между искомой величиной, параметрами системы, внешним воздействием и временем. Результаты такого решения нуждаются в интерпретации, предполагающей анализ полученных функций, построение графиков. Численные методы исследования математической модели на ЭВМ предполагают создание компьютерной программы, которая решает систему соответствующих уравнений и выводит на экран таблицу либо графическое изображение. Получающиеся статические и динамические картинки наглядно пояснять сущность исследуемых процессов.

    1.5. Компьютерное моделирование

    Эффективным способом изучения явлений окружающей действительности является научный эксперимент , состоящий в воспроизведении изучаемого явления природы в управляемых и контролируемых условиях. Однако часто проведение эксперимента невозможно либо требует слишком больших экономических затрат и может привести к нежелательным последствиям. В этом случае исследуемый объект заменяют компьютерной моделью и исследуют ее поведение при различных внешних воздействиях. Повсеместное распространение персональных компьютеров, информационных технологий, создание мощных суперЭВМ сделало компьютерное моделирование одним из результативных методов изучения физических, технических, биологических, экономических и иных систем. Часто компьютерные модели проще и удобнее исследовать, они позволяют проводить вычислительные эксперименты, реальная постановка которых затруднена или может дать непредсказуемый результат. Логичность и формализованность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемых объектов, исследовать отклик физической системы на изменения ее параметров и начальных условий.

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

    Сущность компьютерного моделирования системы заключается в создании компьютерной программы (пакета программ), описывающей поведение элементов исследуемой системы в процессе ее функционирования, учитывающей их взаимодействие между собой и внешней средой, и проведении на ЭВМ серии вычислительных экспериментов. Это делается с целью изучения природы и поведения объекта, его оптимизации и структурного развития, прогнозирования новых явлений. Перечислим требования , которым должна удовлетворять модель исследуемой системы : 1. Полнота модели, то есть возможность вычисления всех характеристик системы с требуемой точностью и достоверностью. 2. Гибкость модели, что позволяет воспроизводить и проигрывать различные ситуации и процессы, изменять структуру, алгоритмы и параметры изучаемой системы. 3. Длительность разработки и реализации , характеризующая временные затраты на создание модели. 4. Блочность структуры , допускающая добавление, исключение и замену некоторых частей (блоков) модели. Кроме того, информационное обеспечение, программные и технические средства должны позволять модели обмениваться информацией с соответствующей базой данных и обеспечивать эффективную машинную реализацию и удобную работу пользователя.

    К основным этапам компьютерного моделирования относятся (рис. 3): 1) постановка задачи , описание исследуемой системы и выявление ее компонентов и элементарных актов взаимодействия; 2) формализация , то есть создание математической модели, представляющей собой систему уравнений и отражающей сущность исследуемого объекта; 3) разработка алгоритма , реализация которого позволит решить поставленную задачу; 4) написание программы на конкретном языке программирования; 5) планирование и выполнение вычислений на ЭВМ, доработка программы и получение результатов; 6) анализ и интерпретация результатов , их сопоставление с эмпирическими данными. Затем все это повторяется на следующем уровне.

    Разработка компьютерной модели объекта представляет собой последовательность итераций: сначала на основе имеющейся информации о системе S строится модель
    , проводится серия вычислительных экспериментов, результаты анализируются. При получении новой информации об объекте S учитываются дополнительные факторы, получается модель
    , поведение которой тоже исследуется на ЭВМ. После этого создаются модели
    ,
    и т.д. до тех пор, пока не получится модель, с требуемой точностью соответствующая системе S.


    Рис. 3. Этапы компьютерного моделирования.

    В общем случае поведение исследуемой системы описывается законом функционирования , где
    –– вектор входных воздействий (стимулов),
    –– вектор выходных сигналов (откликов, реакций),
    –– вектор воздействий внешней среды,
    –– вектор собственных параметров системы . Закон функционирования может иметь вид словесного правила, таблицы, алгоритма, функции, совокупности логических условий и т.д. В случае, когда закон функционирования содержит время, говорят о динамических моделях и системах. Например, разгон и торможение асинхронного двигателя, переходный процесс в цепи, содержащей конденсатор, функционирование вычислительной сети, системы массового обслуживания. Во всех этих случаях состояние системы, а значит и ее модели, изменяется с течением времени.

    Если поведение системы описывается законом
    , не содержащим время явно, то речь идет о статических моделях и системах, решении стационарных задач и т.д. Приведем несколько примеров: расчет нелинейной цепи постоянного тока, нахождение стационарного распределения температуры в стержне при постоянных температурах его концов, формы упругой пленки, натянутой на каркас, профиля скоростей в установившемся течении вязкой жидкости и т.д.

    Функционирование системы можно рассматривать как последовательную смену состояний
    ,
    , … ,
    , которым соответствуют некоторые точки в многомерном фазовом пространстве. Множество всех точек
    , отвечающих всевозможным состояниям системы, называют пространством состояний объекта (или модели). Каждой реализации процесса соответствует одна фазовая траектория, проходящая через некоторые точки из множества . Если математическая модель содержит элемент случайности, то получается стохастическая компьютерная модель. В частном случае, когда параметры системы и внешние воздействия однозначно определяют выходные сигналы, говорят о детерминированной модели.

        Принципы компьютерного моделирования. Связь c другими методами познания

    Итак, модель –– это объект, заменяющий исследуемую систему, и имитирующий ее структуру и поведение. Моделью может являться материальный объект, совокупность особым образом упорядоченных данных, система математических уравнений или компьютерная программа.Под моделированием понимают представление основных характеристик объекта исследования с помощью другой системы (материального объекта, совокупности уравнений, компьютерной программы). Перечислим принципы моделирования :

    1. Принцип адекватности: Модель должна учитывать наиболее существенные стороны исследуемого объекта и отражать его свойства с приемлемой точностью. Только в этом случае результаты моделирования можно распространить на объект исследования.

    2. Принцип простоты и экономичности: Модель должна быть достаточно простой для того чтобы ее использование было эффективно и экономически выгодно. Она не должна быть более сложной, чем это требуется для исследователя.

    3. Принцип информационной достаточности: При полном отсутствии информации об объекте построить модель невозможно. При наличии полной информации моделирование лишено смысла. Существует уровень информационной достаточности, при достижении которого может быть построена модель системы.

    4. Принцип осуществимости: Создаваемая модель должна обеспечивать достижение поставленной цели исследования за конечное время.

    5. Принцип множественности и единства моделей: Любая конкретная модель отражает лишь некоторые стороны реальной системы. Для полного исследования необходимо построить ряд моделей, отражающих наиболее существенные стороны исследуемого процесса и имеющих что–то общее. Каждая последующая модель должна дополнять и уточнять предыдущую.

    6. Принцип системности. Исследуемая система представима в виде совокупности взаимодействующих друг с другом подсистем, которые моделируются стандартными математическими методами. При этом свойства системы не являются суммой свойств ее элементов.

    7. Принцип параметризации. Некоторые подсистемы моделируемой системы могут быть охарактеризованы единственным параметром (вектором, матрицей, графиком, формулой).

    Модель должна удовлетворять следующим требованиям : 1) быть адекватной, то есть отражать наиболее существенные стороны исследуемого объекта с требуемой точностью; 2) способствовать решению определенного класса задач; 3) быть простой и понятной, основываться на минимальном количестве предположений и допущений; 4) позволять модифицировать и дополнять себя, переходить к другим данным; 5) быть удобной в использовании.

    Связь компьютерного моделирования с другими методами познания показана из рис. 4. Объект познания исследуется эмпирическими методами (наблюдение, эксперимент), установленные факты являются основой для построения математической модели. Получившаяся система математических уравнений может исследоваться аналитическими методами или с помощью ЭВМ, –– в этом случае речь идет о создании компьютерной модели изучаемого явления. Проводится серия вычислительных экспериментов или компьютерных имитаций, и получающиеся результаты сопоставляются с результатами аналитического исследования математической модели и экспериментальными данными. Выводы учитываются для улучшения методики экспериментального изучения объекта исследования, развития математической модели и совершенствования компьютерной модели. Исследование социальных и экономических процессов отличается лишь невозможностью в полной мере использовать экспериментальные методы.


    Рис. 4. Компьютерное моделирование среди других методов познания.

    1.6. Виды компьютерных моделей

    Под компьютерным моделированием в самом широком смысле будем понимать процесс создания и исследования моделей с помощью компьютера. Выделяют следующие виды моделирования :

    1. Физическое моделирование : компьютер –– часть экспериментальной установки или тренажера, он воспринимает внешние сигналы, осуществляет соответствующие расчеты и выдает сигналы, управляющие различными манипуляторами. Например, учебная модель самолета, представляющая собой кабину, установленную на соответствующих манипуляторах, соединенных с компьютером, который реагирует на действия пилота и изменяет наклон кабины, показания приборов, вид из иллюминатора и т.д., имитируя полет реального самолета.

    2. Динамическое или численное моделирование , предполагающее численное решение системы алгебраических и дифференциальных уравнений методами вычислительной математики и проведение вычислительного эксперимента при различных параметрах системы, начальных условиях и внешних воздействиях. Используется для моделирования различных физических, биологических, социальных и других явлений: колебания маятника, распространение волны, изменение численности населения, популяции данного вида животных и т.д.

    3. Имитационное моделирование состоит в создании компьютерной программы (или пакета программ), имитирующей поведение сложной технической, экономической или иной системы на ЭВМ с требуемой точностью. Имитационное моделирование предусматривает формальное описание логики функционирования исследуемой системы с течением времени, которое учитывает существенные взаимодействия ее компонентов и обеспечивает проведение статистических экспериментов. Объектно-ориентированные компьютерные симуляции используются для исследования поведения экономических, биологических, социальных и иных систем, для создания компьютерных игр, так называемого “виртуального мира”, обучающих программ и анимаций. Например, модель технологического процесса, аэродрома, некоторой отрасли производства и т.д.

    4. Статистическое моделирование используется для изучения стохастических систем и состоит в многократном проведении испытаний с последующей статистической обработкой получающихся результатов. Подобные модели позволяют исследовать поведение всевозможных систем массового обслуживания, многопроцессорных систем, информационно-вычислительных сетей, различных динамических систем, на которые воздействуют случайные факторы. Статистические модели применяются при решении вероятностных задач, а также при обработке больших массивов данных (интерполяция, экстраполяция, регрессия, корреляция, расчет параметров распределения и т.д.). Они отличаются от детерминированных моделей, использование которых предполагает численное решение систем алгебраических или дифференциальных уравнений, либо замену изучаемого объекта детерминированным автоматом.

    5. Информационное моделирование заключается в создании информационной модели, то есть совокупности специальным образом организованных данных (знаков, сигналов), отражающих наиболее существенные стороны исследуемого объекта. Различают наглядные, графические, анимационные, текстовые, табличные информационные модели. К ним относятся всевозможные схемы, графы, графики, таблицы, диаграммы, рисунки, анимации, выполненные на ЭВМ, в том числе цифровая карта звездного неба, компьютерная модель земной поверхности и т.д.

    6. Моделирование знаний предполагает построение системы искусственного интеллекта, в основе которой лежит база знаний некоторой предметной области (части реального мира). Базы знаний состоят из фактов (данных) и правил . Например, компьютерная программа, умеющая играть в шахматы (рис. 5), должна оперировать информацией о “способностях” различных шахматных фигур и “знать” правила игры. К данному виду моделей относят семантические сети, логических модели знаний, экспертные системы, логические игры и т.д. Логические модели используются для представления знаний в экспертных системах, для создания систем искусственного интеллекта, осуществления логического вывода, доказательства теорем, математических преобразований, построения роботов, использования естественного языка для общения с ЭВМ, создания эффекта виртуальной реальности в компьютерных играх и т.д.

    Рис. 5. Компьютерная модель поведения шахматиста.

    Исходя из целей моделирования , компьютерные модели подразделяют на группы: 1) дискриптивные модели , используемые для понимания природы исследуемого объекта, выявления наиболее существенных факторов, влияющих на его поведение; 2) оптимизационные модели , позволяющие выбрать оптимальный способ управления технической, социально-экономической или иной системой (например, космической станцией); 3) прогностические модели , помогающие прогнозировать состояние объекта в последующие моменты времени (модель земной атмосферы, позволяющая предсказать погоду); 4) учебные модели , применяемые для обучения, тренинга и тестирования учащихся, студентов, будущих специалистов; 5) игровые модели , позволяющие создать игровую ситуацию, имитирующую управление армией, государством, предприятием, человеком, самолетом и т.д., либо играющие в шахматы, шашки и другие логические игры.

        Классификация компьютерных моделей

    по типу математической схемы

    В теории моделирования систем компьютерные модели подразделяются на численные, имитационные, статистические и логические. При компьютерном моделировании, как правило, используют одну из типовых математических схем: дифференциальные уравнения, детерминированные и вероятностные автоматы, системы массового обслуживания, сети Петри и т.д. Учет способа представления состояния системы и степени случайности моделируемых процессов позволяет построить таблицу 1.

    Таблица 1.


    По типу математической схемы различают : 1. Непрерывно–детеминированные модели , которые используются для моделирования динамических систем и предполагают решение системы дифференциальных уравнений. Математические схемы этого вида называются D-схемами (от англ. dynamic). 2. Дискретно–детерминированные модели используются для исследования дискретных систем, которые могут находиться в одном из множества внутренних состояний. Они моделируются абстрактным конечным автоматом, задаваемым F–схемой (от англ. finite automata): . Здесь
    , –– множества входных и выходных сигналов, –– множеством внутренних состояний,
    –– функция переходов,
    –– функция выходов. 3. Дискретно–стохастические модели предполагают использование схемы вероятностных автоматов, функционирование которых содержит элемент случайности. Они также называются P–схемами (от англ. probabilistic automat). Переходы такого автомата из одного состояния в другое определяется соответствующей матрицей вероятностей. 4. Непрерывно-стохастические модели как правило применяются для изучения систем массового обслуживания и называются Q–схемами (от англ. queueing system). Для функционирования некоторых экономических, производственных, технических систем присуще случайное появление требований (заявок) на обслуживание и случайное время обслуживания. 5. Сетевые модели используются для анализа сложных систем, в которых одновременно протекает несколько процессов. В этом случае говорят о сетях Петри и N–схемах (от англ. Petri Nets). Сеть Петри задается четверкой , где – множество позиций,
    – множество переходов, – входная функция, – выходная функция. Маркированная N-схема позволяет промоделировать параллельные и конкурирующие процессы в различных системах. 6. Комбинированные схемы основываются на понятии агрегативной системы и называются A-схемами (от англ. aggregate system). Этот универсальных подход, разработанный Н.П.Бусленко , позволяет исследовать всевозможные системы, которые рассматриваются как совокупность взаимосвязанных между собой агрегатов. Каждый агрегат характеризуется векторами состояний, параметров, воздействия внешней среды, входных воздействий (управляющих сигналов), начальных состояний, выходных сигналов, оператором переходов, оператором выходов.

    Исследование имитационной модели производится на цифровых и аналоговых вычислительных машинах. Используемая имитационная система включает в себя математическое, программное, информационное, техническое и эргономическое обеспечение. Эффективность имитационного моделирования характеризуется точностью и достоверностью получающихся результатов, стоимостью и временем создания модели и работы с ней, затратами машинных ресурсов (времени вычислений и требуемой памяти). Для оценки эффективности модели необходимо получающиеся результаты сравнить с результатами натурного эксперимента, а также результатами аналитического моделирования.

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

    Одним из эффективных методов исследования имитационных моделей является метод статистических испытаний . Он предусматривает многократное воспроизведение того или иного процесса при различных параметрах, изменяющихся случайным образом по заданному закону. ЭВМ может провести 1000 испытаний и зарегистрировать основные характеристики поведения системы, ее выходные сигналы, а затем определить их математическое ожидание, дисперсию, закон распределения. Недостаток использования машинной реализации имитационной модели состоит в том, что полученное с ее помощью решение имеет частный характер и соответствует конкретным параметрам системы, ее начальному состоянию и внешним воздействиям. Преимущество заключается в возможности исследования сложных систем.

    1.8. Области применения компьютерных моделей

    Совершенствование информационных технологий обусловило использование компьютеров практически во всех сферах деятельности человека. Развитие научных теорий предполагает выдвижение основных принципов, построение математической модели объекта познания, получение из нее следствий, которые могут быть сопоставлены с результатами эксперимента. Использование ЭВМ позволяет, исходя из математических уравнений, рассчитать поведение исследуемой системы в тех или иных условиях. Часто это единственный способ получения следствий из математической модели. Например, рассмотрим задачу о движении трех или более частиц, взаимодействующих друг с другом, которая актуальна при исследовании движении планет, астероидов и других небесных тел. В общем случае она сложна и не имеет аналитического решения, и лишь использование метода компьютерного моделирования позволяет рассчитать состояние системы в последующие моменты времени.

    Совершенствование вычислительной техники, появление ЭВМ, позволяющей быстро и достаточно точно осуществлять вычисления по заданной программе, ознаменовало качественный скачок на пути развития науки. На первый взгляд кажется, что изобретение вычислительных машин не может непосредственно влиять на процесс познания окружающего мира. Однако это не так: решение современных задач требует создания компьютерных моделей, проведения огромного количества вычислений, что стало возможным лишь после появления электронно–вычислительных машин, способных выполнять миллионы операций в секунду. Существенным является и то, что вычисления производятся автоматически, в соответствии с заданным алгоритмом и не требуют вмешательства человека. Если ЭВМ относится к технической базе проведения вычислительного эксперимента, то ее теоретическую основу составляют прикладная математика, численные методы решения систем уравнений.

    Успехи компьютерного моделирования тесно связаны с развитием численных методов, начавшегося с фундаментальных работ Исаака Ньютона, который еще в 17 веке предложил их использовать для приближенного решения алгебраических уравнений. Леонард Эйлер разработал метод решения обыкновенных дифференциальных уравнений. Из современных ученых весомый вклад в развитие компьютерного моделирования сделал академик А.А.Самарский , основоположник методологии вычислительного эксперимента в физике. Именно им была предложена знаменитая триада "модель – алгоритм – программа" и разработана технология компьютерного моделирования, успешно используемая для изучения физических явлений. Одним из первых выдающихся результатов компьютерного эксперимента в физике является открытие в 1968 году температурного токового слоя в плазме, создаваемой в МГД–генераторах (эффект Т–слоя). Оно было выполнено на ЭВМ и позволило предсказать исход реального эксперимента, проведенного через несколько лет. В настоящее время вычислительный эксперимент используется для выполнения исследований в следующих направлениях : 1) расчет ядерных реакций; 2) решение задач небесной механики, астрономии и космонавтики; 3) изучение глобальных явлений на Земле, моделирование погоды, климата, исследование экологических проблем, глобального потепления, последствий ядерного конфликта и т.д.; 4) решение задач механики сплошных сред, в частности, гидродинамики; 5) компьютерное моделирование различных технологических процессов; 6) расчет химических реакций и биологических процессов, развитие химической и биологической технологии; 7) социологические исследования, в частности, моделирование выборов, голосования, распространение сведений, изменение общественного мнения, военных действий; 8) расчет и прогнозирование демографической ситуации в стране и мире; 9) имитационное моделирование работы различных технических, в частности, электронных устройств; 10) экономические исследования развития предприятия, отрасли, страны.

    Литература

      Боев В.Д., Сыпченко Р.П., Компьютерное моделирование. –– ИНТУИТ.РУ, 2010. –– 349 с. Булавин Л.А., Выгорницкий Н.В., Лебовка Н.И. Компьютерное моделирование физических систем. –– Долгопрудный: Издательский Дом “Интеллект”, 2011. – 352 c. Бусленко Н.П. Моделирование сложных систем. –– М.: Наука, 1968. –– 356 с. Дворецкий С.И., Муромцев Ю.Л., Погонин В.А. Моделирование систем. –– М.: Изд. центр “Академия”, 2009. –– 320 с. Кунин С. Вычислительная физика. –– М.: Мир, 1992. –– 518 с. Паничев В.В., Соловьев Н.А. Компьютерное моделирование: учебное пособие. –– Оренбург: ГОУ ОГУ, 2008. -- 130 с. Рубанов В.Г., Филатов А.Г. Моделирование систем учебное пособие. –– Белгород: Изд–во БГТУ, 2006. ­­–– 349 с. Самарский А.А., Михайлов А.П. Математическое моделирование: Идеи. Методы. Примеры. –– М.: Физматлит, 2001. –– 320 с. Советов Б.Я., Яковлев С.А. Моделирование систем: Учеб для вузов ­­–– М.: Высш. Шк., 2001. – 343 с.

    10. Федоренко Р.П. Введение в вычислительную физику: Учеб. пособие: Для вузов. –– М.: Изд–во Моск. физ.–техн. ин–та, 1994. –– 528 с.

    11. Шеннон Р. Имитационное моделирование систем: искусство и наука. –– М.: Мир, 1978. –– 302 с.

    Майер Р.В. КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ: МОДЕЛИРОВАНИЕ КАК МЕТОД НАУЧНОГО ПОЗНАНИЯ.КОМПЬЮТЕРНЫЕ МОДЕЛИ И ИХ ВИДЫ // Научный электронный архив.
    URL: (дата обращения: 28.03.2019).

    Начнем с определения слова моделирование.

    Моделирование – процесс построения и использования модели. Под моделью понимают такой материальный или абстрактный объект, который в процессе изучения заменяет объект-оригинал, сохраняя его свойства, важные для данного исследования.

    Компьютерное моделирование как метод познания основано на математическом моделировании. Математическая модель – это система математических соотношений (формул, уравнений, неравенств и знаковых логических выражений) отображающих существенные свойства изучаемого объекта или явления.

    Очень редко удается использовать математическую модель для конкретных расчетов без использования вычислительной техники, что с неизбежностью требует создания некоторой компьютерной модели.

    Рассмотрим процесс компьютерного моделирования более подробно.

    2.2. Представление о компьютерном моделировании

    Компьютерное моделирование является одним из эффективных методов изучения сложных систем. Компьютерные модели проще и удобнее исследовать в силу их возможности проводить вычислительные эксперименты, в тех случаях, когда реальные эксперименты затруднены из-за финансовых или физических препятствий или могут дать непредсказуемый результат. Логичность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемого объекта-оригинала (или целого класса объектов), в частности, исследовать отклик моделируемой физической системы на изменения ее параметров и начальных условий.

    Компьютерное моделирование как новый метод научных исследований основывается на:

    1. Построении математических моделей для описания изучаемых процессов;

    2. Использовании новейших вычислительных машин, обладающих высоким быстродействием (миллионы операций в секунду) и способных вести диалог с человеком.

    Различают аналитическое и имитационное моделирование. При аналитическом моделировании изучаются математические (абстрактные) модели реального объекта в виде алгебраических, дифференциальных и других уравнений, а также предусматривающих осуществление однозначной вычислительной процедуры, приводящей к их точному решению. При имитационном моделировании исследуются математические модели в виде алгоритма, воспроизводящего функционирование исследуемой системы путем последовательного выполнения большого количества элементарных операций.

    2.3. Построение компьютерной модели

    Построение компьютерной модели базируется на абстрагировании от конкретной природы явлений или изучаемого объекта-оригинала и состоит из двух этапов – сначала создание качественной, а затем и количественной модели. Компьютерное же моделирование заключается в проведении серии вычислительных экспериментов на компьютере, целью которых является анализ, интерпретация и сопоставление результатов моделирования с реальным поведением изучаемого объекта и, при необходимости, последующее уточнение модели и т. д.

    Итак, к основным этапам компьютерного моделирования относятся:

    1. Постановка задачи, определение объекта моделирования:

    на данном этапе происходит сбор информации, формулировка вопроса, определение целей, формы представления результатов, описание данных.

    2. Анализ и исследование системы:

    анализ системы, содержательное описание объекта, разработка информационной модели, анализ технических и программных средств, разработка структур данных, разработка математической модели.

    3. Формализация, то есть переход к математической модели, создание алгоритма:

    выбор метода проектирования алгоритма, выбор формы записи алгоритма, выбор метода тестирования, проектирование алгоритма.

    4. Программирование:

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

    5. Проведение серии вычислительных экспериментов:

    отладка синтаксиса, семантики и логической структуры, тестовые расчеты и анализ результатов тестирования, доработка программы.

    6. Анализ и интерпретация результатов:

    доработка программы или модели в случае необходимости.

    Существует множество программных комплексов и сред, которые позволяют проводить построение и исследование моделей:

    Графические среды

    Текстовые редакторы

    Среды программирования

    Электронные таблицы

    Математические пакеты

    HTML-редакторы

    2.4. Вычислительный эксперимент

    Эксперимент – это опыт, который производится с объектом или моделью. Он заключается в выполнении некоторых действий, чтобы определить, как реагирует экспериментальный образец на эти действия. Вычислительный эксперимент предполагает проведение расчетов с использованием формализованный модели.

    Использование компьютерной модели, реализующей математическую, аналогично проведению экспериментов с реальным объектом, только вместо реального эксперимента с объектом проводится вычислительный эксперимент с его моделью. Задавая конкретный набор значений исходных параметров модели, в результате вычислительного эксперимента получают конкретный набор значений искомых параметров, исследуют свойства объектов или процессов, находят их оптимальные параметры и режимы работы, уточняют модель. Например, располагая уравнением, описывающим протекание того или иного процесса, можно, изменяя его коэффициенты, начальные и граничные условия, исследовать, как при этом будет вести себя объект. Более того, можно спрогнозировать поведение объекта в различных условиях. Для исследований поведения объекта при новом наборе исходных данных необходимо проведение нового вычислительного эксперимента.

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

    Вычислительный эксперимент позволяет заменить дорогостоящий натурный эксперимент расчетами на ЭВМ. Он позволяет в короткие сроки и без значительных материальных затрат осуществить исследование большого числа вариантов проектируемого объекта или процесса для различных режимов его эксплуатации, что значительно сокращает сроки разработки сложных систем и их внедрение в производство.

    2.5. Моделирование в различных средах

    2.5.1. Моделирование в среде программирования

    Моделирование в среде программирование включает в себя основные этапы компьютерного моделирования. На этапе построения информационной модели и алгоритма необходимо определить, какие величины являются входными параметрами, а какие – результатами, а также определить тип этих величин. При необходимости составляется алгоритм в виде блок-схемы, который записывается на выбранном языке программирования. После этого проводится вычислительный эксперимент. Для этого необходимо загрузить программу в оперативную память компьютера и запустить на выполнение. Компьютерный эксперимент обязательно включает в себя анализ полученных результатов, на основании которого могут корректироваться все этапы решения задачи (математическая модель, алгоритм, программа). Одним из важнейших этапов является тестирование алгоритма и программы.

    Отладка программы (английский термин debugging (отладка) означает «вылавливание жучков» появился в 1945 году, когда в электрические цепи одного из первых компьютеров «Марк-1» попал мотылек и заблокировал одно из тысяч реле) – это процесс поиска и устранения ошибок в программе, производимы по результатам вычислительного эксперимента. При отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования.

    В современных программных системах отладка осуществляется с использованием специальных программных средств, называемыми отладчиками.

    Тестирование – это проверка правильности работы программы в целом, либо составных её частей. В процессе тестирования проверяется работоспособность программы, не содержащей явных ошибок.

    Как бы тщательно ни была отлажена программа, решающим этапом, устанавливающим её пригодность для работы, является контроль программы по результатам её выполнения на системе тестов. Программу можно считать правильной, если для выбранной системы тестовых исходных данных во всех случаях получаются правильные результаты.

    2.5.2. Моделирование в электронных таблицах

    Моделирование в электронных таблицах охватывает очень широкий класс задач в разных предметных областях. Электронные таблицы – универсальный инструмент, позволяющий быстро выполнить трудоемкую работу по расчету и пересчету количественных характеристик объекта. При моделировании с использованием электронных таблиц алгоритм решения задачи несколько трансформируется, скрываясь за необходимостью разработки вычислительного интерфейса. Сохраняется этап отладки, включающий устранение ошибок данных, в связях между ячейками, в вычислительных формулах. Возникают также дополнительные задачи: работа над удобством представления на экране и, если необходим вывод полученных данных на бумажные носители, над их размещением на листах.

    Процесс моделирования в электронных таблицах выполняется по общей схеме: определяются цели, выявляются характеристики и взаимосвязи и составляется математическая модель. Характеристики модели обязательно определяются по назначению: исходные (влияющие на поведение модели), промежуточные и то, что требуется получить в результате. Иногда представление объекта дополняется схемами, чертежами.

    Компьютерная модель - это естественно. Компьютерное моделирование используется повсеместно, делает проектирование и производство реальных систем, машин, механизмов, товаров, изделий экономичным, практичным, эффективным. Результат всегда которые были предварительно смоделированы.

    Человек всегда строил модели, но с появлением компьютерной техники математические, вычислительные и программные методы подняли идеи и технологии моделирования на необыкновенную высоту, сделали широким спектр их применения: от примитивно-технического уровня до уровня высокого искусства и творчества.

    Компьютерная модель - это не только более совершенный космический корабль или концептуальная система для понимания общественного сознания, но и реальная возможность оценить изменение климата на планете или определить последствия падения кометы через несколько сотен лет.

    Техническое моделирование

    Сегодня мало специалистов не знает, А конкуренцию этой программе уже составляет десяток более совершенных решений.

    Моделирование современного самолета или велосипеда требует в конечном итоге не только автоматизации изготовления чертежей и подготовки документации. Моделирующая программа обязана сделать техническую часть: оформить чертежи и документацию - это фундамент.

    Программа обязана также показать реальное изделие в реальном применении во времени в трехмерном пространстве: в полете, в движении, в использовании, включая вероятные аварии, замену энергоносителя, негативное воздействие человека или природы, коррозию, влияние климата или иных обстоятельств.

    Системное моделирование

    Модель станка, изделия, конвейера - это системы, но системы ясной структуры и содержания, уже однажды изготовленные. По каждому есть опыт, знания и примеры использования компьютерных моделей.

    Техническая реальность - это такая же система, как и система отношений в обществе, система рекламной кампании, модель психики человека или его кровеносная система.

    К примеру, достоверный диагноз болезни сегодня может быть получен как:

    • результат компетентных действий врача;
    • вывод компьютерной программы, построившей модель состояния пациента.

    Эти два варианта все чаще приводят к одинаковому результату.

    Человек живет в мире систем, и эти системы требуют принятия решений, для которых необходимы исходные данные: понимание и восприятие окружающей действительности. Без моделирования невозможно понять природу систем и принять решение.

    Только компьютерная математическая модель дает возможность оценивать объективность и уровень понимания оригинальной системы, постепенно приближая создаваемый виртуальный образ к оригиналу.

    Абстракция в моделировании

    Компьютерные модели и моделирование - крайне перспективная и динамично развивающаяся область технологий. Здесь высокотехнологичные решения - это привычное (рядовое, ежедневное) событие, а возможности моделей и моделирования поражают любое искушенное воображение.

    Однако, до абстрактного системного моделирования человек еще не дошёл. Примеры использования компьютерных моделей - это реальные примеры реальных систем. Для каждого направления моделирования, для каждого вида моделей, каждого типа изделий, конвейеров и т. д. есть своя отдельная программа или свой отдельный пункт в меню программы, обеспечивающей моделирование в относительно широком спектре систем.

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

    Классическое программирование - классические модели, никакой абстракции: точная задача без вариантов динамики после завершения её разработки. Это как реальный станок, реальный продукт, любое изделие с жесткими количественно-качественными характеристиками: сделано - пользуй в пределах доступного, но ничего за пределами сделанного.

    Объектно-ориентированное программирование - системная модель с претензией на абстракцию и динамику структуры и свойств, то есть с ориентацией на создание динамичной модели, которая определяет свое назначение средой применения или решаемой задачей.

    Здесь модель может «жить» после того, как окажется в области применения одна без своего создателя (автора) и будет самостоятельно «сотрудничать» с пользователями.

    Моделирование: суть процесса

    Понятие компьютерной модели сегодня представлено различными вариантами мнений, но все они сходятся в том, что работы программы, причем в контексте: модель равна результату действий специалиста, который работает в специфической моделирующей среде той или иной программы.

    Выделяют три типа моделей: познавательные, прагматические и инструментальные.

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

    Обычно компьютерное моделирование - это деятельность специалиста по построению и исследованию материального или идеального (виртуального) объекта, замещающего исследуемую систему, но адекватным образом отражающий её существенные стороны, качественные и количественные характеристики.

    Видовое многообразие моделируемых систем

    В области моделирования, как на всех передовых рубежах высоких технологий, науки, техники и программирования, существует множество мнений по классификации и определению видового многообразия моделируемых систем.

    Но в одном эксперты и специалисты сходятся всегда: виды компьютерных моделей можно определить по объективным моментам:

    • времени;
    • способу представления;
    • характеру моделируемой стороны;
    • уровню неопределенности;
    • варианту реализации.

    Временной момент - это статичные и динамичные модели. Первые можно уточнять сколько угодно, но динамичные модели развиваются, и в каждый момент времени они отличаются. Способ представления обычно понимается как дискретный или непрерывный. Характер моделируемой стороны - информационный, структурный или функциональный (кибернетический).

    Привнесение в моделируемую систему параметров неопределенности во многих случаях не только оправдано, но и является следствием научных достижений в смежных отраслях знаний. Например, построение модели климата в определенном географическом регионе не будет реальным без множества стохастических факторов.

    Современные инструменты моделирования

    Моделирование сегодня - это огромный опыт многих десятков лет развития компьютерной индустрии, который представил в виде алгоритмов и программ многие столетия моделирования, вообще, и математического моделирования, в частности.

    Популярные программные средства представлены небольшим семейством продуктов, известных широко: AutoCAD, 3D Max, Wings 3D, Blender 3D, SketchUp. На базе этих продуктов имеется множество специальных реализаций.

    Кроме известного, есть значимое частное, например, рынок географических, картографических, геодезических; рынок кино- и видеоиндустрии, представленных значительным количеством малоизвестных программных продуктов. Семейства GeoSoft, TEPLOV, Houdini и др. в сфере своей компетенции мало кому уступают в качестве, полезности и эффективности.

    При выборе лучшего программного инструмента лучшее решение - оценить область предполагаемого моделирования, среду существования будущей модели. Это позволит определиться с необходимым инструментарием.

    Маленькие и творческие модели

    И хотя «мало осталось творчества» в проектировании современного аэробуса, спорткара или космического корабля, собственно, программирование и организация бизнес-процессов стали предметом самого пристального внимания и целью для наиболее дорогостоящих и сложных процессов моделирования.

    Современный бизнес - это не только сотни сотрудников, единиц оборудования, но и тысячи производственных и социальных связей внутри компании и вне её. Это совершенно новое и неисследованное направление: облачные технологии, организация привилегированного доступа, защита от вредоносных атак, неправомерного действия сотрудника.

    Современное программирование стало слишком сложным и превратилось в особенного рода, причем живущий собственной жизнью. Программное изделие, созданное одним коллективом разработчиков, ставится целью моделирования и изучения для другой компании разработчиков.

    Авторитетный пример

    Можно представить систему Windows или семейство Linux как предмет моделирования и заставить кого-либо построить адекватные модели. Практическая значимость здесь столь низка, что дешевле просто работать и не обращать внимания на недостатки этих систем. Их разработчик имеет собственное представление о нужном ему пути развития, и сворачивать с него не собирается.

    В отношении баз данных и динамики их развития можно сказать обратное. Oracle - крупная компания. Много идей, тысячи разработчиков, сотни тысяч, доведенных до совершенства, решений.

    Но Oracle - это, прежде всего, основание и мощная причина для моделирования и, представляется, инвестиции в этот процесс будут иметь потрясающую окупаемость.

    Oracle стала на рельсы лидерства с самого начала и не уступала никому в сфере создания баз данных, обеспечения ответственного отношения к информации, её защите, миграции, хранению и т. д. Всё, что требуется для обслуживания информационных задач, - это Oracle.

    Обратная сторона Oracle

    Инвестиции и труд лучших разработчиков для решения актуальной задачи - объективная необходимость. Актуальных задач за многие десятилетия своего лидерства Oracle исполнила сотни, а реализаций и обновлений - тысячи.

    Сфера информации в контексте компьютерного применения с 80-х годов по сей день не изменилась. Концептуально базы данных начала компьютерной эры и сегодняшнего дня - близнецы-братья с различием в уровне обеспеченности и реализованной функциональности.

    Для достижения современного уровня «обеспеченности и реализованной функциональности» Oracle исполнила, в частности:

    • совместимость больших потоков разнородной информации;
    • миграция и трансформация данных;
    • проверка и тестирование приложений;
    • обобщенный реляционный функционал универсального доступа;
    • миграция данных/специалистов;
    • трансформация фундаментальных основ корпоративных баз данных в распределенную интернет-среду;
    • максимальная интеграция, агрегаторы, систематизация;
    • определение спектра целесообразности, ликвидация дублирующих процессов.

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

    Доходная модель

    Если бы в 80-е годы Oracle пошла путем моделирования, а не конкретного наращивания потенциала в виде реальных, законченных решений, Ситуация сложилась бы существенно иначе. По большому счету человеку или предприятию от компьютерной информационной системы нужно не так уж и много. Здесь исследование компьютерной модели не представляет интереса.

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

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

    Любой, самый лучший специалист - это, прежде всего, статичный код, это фиксация лучших знаний в формате памятника автору. Это всего лишь код. Результат работы лучших не развивается, но для своего развития требует новых разработчиков, новых авторов.

    Вероятность реализации доходной модели

    Разработчики и сфера IT-технологий, в целом, уже перестали относиться к динамике, знаниям и искусственному интеллекту с энтузиазмом, которым сопровождались волны интереса прошлых лет.

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

    Между тем, компьютерная модель - это динамика. Компьютерное моделирование - это его последствия. Это объективное обстоятельство ещё никто не отменял. Его отменить вовсе невозможно. Пример Oracle как нельзя лучше и показательнее других показывает, насколько трудоемко, дорого и неэффективно заниматься вынужденным моделированием, когда приходится строить реально работающие модели трудом многих тысяч специалистов, а не автоматически средствами самой проектируемой информационной системы - модели в динамике на реальной практике!

    Начнем с определения слова моделирование.

    Моделирование – процесс построения и использования модели. Под моделью понимают такой материальный или абстрактный объект, который в процессе изучения заменяет объект-оригинал, сохраняя его свойства, важные для данного исследования.

    Компьютерное моделирование как метод познания основано на математическом моделировании. Математическая модель – это система математических соотношений (формул, уравнений, неравенств и знаковых логических выражений) отображающих существенные свойства изучаемого объекта или явления.

    Очень редко удается использовать математическую модель для конкретных расчетов без использования вычислительной техники, что с неизбежностью требует создания некоторой компьютерной модели.

    Рассмотрим процесс компьютерного моделирования более подробно.

    2.2. Представление о компьютерном моделировании

    Компьютерное моделирование является одним из эффективных методов изучения сложных систем. Компьютерные модели проще и удобнее исследовать в силу их возможности проводить вычислительные эксперименты, в тех случаях, когда реальные эксперименты затруднены из-за финансовых или физических препятствий или могут дать непредсказуемый результат. Логичность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемого объекта-оригинала (или целого класса объектов), в частности, исследовать отклик моделируемой физической системы на изменения ее параметров и начальных условий.

    Компьютерное моделирование как новый метод научных исследований основывается на:

    1. Построении математических моделей для описания изучаемых процессов;

    2. Использовании новейших вычислительных машин, обладающих высоким быстродействием (миллионы операций в секунду) и способных вести диалог с человеком.

    Различают аналитическое и имитационное моделирование. При аналитическом моделировании изучаются математические (абстрактные) модели реального объекта в виде алгебраических, дифференциальных и других уравнений, а также предусматривающих осуществление однозначной вычислительной процедуры, приводящей к их точному решению. При имитационном моделировании исследуются математические модели в виде алгоритма, воспроизводящего функционирование исследуемой системы путем последовательного выполнения большого количества элементарных операций.

    2.3. Построение компьютерной модели

    Построение компьютерной модели базируется на абстрагировании от конкретной природы явлений или изучаемого объекта-оригинала и состоит из двух этапов – сначала создание качественной, а затем и количественной модели. Компьютерное же моделирование заключается в проведении серии вычислительных экспериментов на компьютере, целью которых является анализ, интерпретация и сопоставление результатов моделирования с реальным поведением изучаемого объекта и, при необходимости, последующее уточнение модели и т. д.

    Итак, к основным этапам компьютерного моделирования относятся:

    1. Постановка задачи, определение объекта моделирования:

    на данном этапе происходит сбор информации, формулировка вопроса, определение целей, формы представления результатов, описание данных.

    2. Анализ и исследование системы:

    анализ системы, содержательное описание объекта, разработка информационной модели, анализ технических и программных средств, разработка структур данных, разработка математической модели.

    3. Формализация, то есть переход к математической модели, создание алгоритма:

    выбор метода проектирования алгоритма, выбор формы записи алгоритма, выбор метода тестирования, проектирование алгоритма.

    4. Программирование:

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

    5. Проведение серии вычислительных экспериментов:

    отладка синтаксиса, семантики и логической структуры, тестовые расчеты и анализ результатов тестирования, доработка программы.

    6. Анализ и интерпретация результатов:

    доработка программы или модели в случае необходимости.

    Существует множество программных комплексов и сред, которые позволяют проводить построение и исследование моделей:

    Графические среды

    Текстовые редакторы

    Среды программирования

    Электронные таблицы

    Математические пакеты

    HTML-редакторы

    2.4. Вычислительный эксперимент

    Эксперимент – это опыт, который производится с объектом или моделью. Он заключается в выполнении некоторых действий, чтобы определить, как реагирует экспериментальный образец на эти действия. Вычислительный эксперимент предполагает проведение расчетов с использованием формализованный модели.

    Использование компьютерной модели, реализующей математическую, аналогично проведению экспериментов с реальным объектом, только вместо реального эксперимента с объектом проводится вычислительный эксперимент с его моделью. Задавая конкретный набор значений исходных параметров модели, в результате вычислительного эксперимента получают конкретный набор значений искомых параметров, исследуют свойства объектов или процессов, находят их оптимальные параметры и режимы работы, уточняют модель. Например, располагая уравнением, описывающим протекание того или иного процесса, можно, изменяя его коэффициенты, начальные и граничные условия, исследовать, как при этом будет вести себя объект. Более того, можно спрогнозировать поведение объекта в различных условиях. Для исследований поведения объекта при новом наборе исходных данных необходимо проведение нового вычислительного эксперимента.

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

    Вычислительный эксперимент позволяет заменить дорогостоящий натурный эксперимент расчетами на ЭВМ. Он позволяет в короткие сроки и без значительных материальных затрат осуществить исследование большого числа вариантов проектируемого объекта или процесса для различных режимов его эксплуатации, что значительно сокращает сроки разработки сложных систем и их внедрение в производство.

    2.5. Моделирование в различных средах

    2.5.1. Моделирование в среде программирования

    Моделирование в среде программирование включает в себя основные этапы компьютерного моделирования. На этапе построения информационной модели и алгоритма необходимо определить, какие величины являются входными параметрами, а какие – результатами, а также определить тип этих величин. При необходимости составляется алгоритм в виде блок-схемы, который записывается на выбранном языке программирования. После этого проводится вычислительный эксперимент. Для этого необходимо загрузить программу в оперативную память компьютера и запустить на выполнение. Компьютерный эксперимент обязательно включает в себя анализ полученных результатов, на основании которого могут корректироваться все этапы решения задачи (математическая модель, алгоритм, программа). Одним из важнейших этапов является тестирование алгоритма и программы.

    Отладка программы (английский термин debugging (отладка) означает «вылавливание жучков» появился в 1945 году, когда в электрические цепи одного из первых компьютеров «Марк-1» попал мотылек и заблокировал одно из тысяч реле) – это процесс поиска и устранения ошибок в программе, производимы по результатам вычислительного эксперимента. При отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования.

    В современных программных системах отладка осуществляется с использованием специальных программных средств, называемыми отладчиками.

    Тестирование – это проверка правильности работы программы в целом, либо составных её частей. В процессе тестирования проверяется работоспособность программы, не содержащей явных ошибок.

    Как бы тщательно ни была отлажена программа, решающим этапом, устанавливающим её пригодность для работы, является контроль программы по результатам её выполнения на системе тестов. Программу можно считать правильной, если для выбранной системы тестовых исходных данных во всех случаях получаются правильные результаты.

    2.5.2. Моделирование в электронных таблицах

    Моделирование в электронных таблицах охватывает очень широкий класс задач в разных предметных областях. Электронные таблицы – универсальный инструмент, позволяющий быстро выполнить трудоемкую работу по расчету и пересчету количественных характеристик объекта. При моделировании с использованием электронных таблиц алгоритм решения задачи несколько трансформируется, скрываясь за необходимостью разработки вычислительного интерфейса. Сохраняется этап отладки, включающий устранение ошибок данных, в связях между ячейками, в вычислительных формулах. Возникают также дополнительные задачи: работа над удобством представления на экране и, если необходим вывод полученных данных на бумажные носители, над их размещением на листах.

    Процесс моделирования в электронных таблицах выполняется по общей схеме: определяются цели, выявляются характеристики и взаимосвязи и составляется математическая модель. Характеристики модели обязательно определяются по назначению: исходные (влияющие на поведение модели), промежуточные и то, что требуется получить в результате. Иногда представление объекта дополняется схемами, чертежами.

    Для наглядного отображения зависимости результатов расчетов от исходных данных используют диаграммы и графики.

    В тестировании используется некоторый набор данных, для которого известен точный или приближенный результат. Эксперимент заключается во введении исходных данных, которые удовлетворяют целям моделирования. Анализ модели позволит выяснить, насколько расчеты отвечают целям моделирования.

    2.5.3. Моделирование в среде СУБД

    Моделирование в среде СУБД обычно преследует следующие цели:

    Хранение информации и своевременное ее редактирование;

    Упорядочение данных по некоторым признакам;

    Создание различных критериев выбора данных;

    Удобное представление отобранной информации.

    В процессе разработки модели на основе исходных данных формируется структура будущей базы данных. Описываемые характеристики и их типы сводятся в таблицу. Количество столбцов таблицы определяется количеством параметров объекта (поля таблицы). Количество строк (записи таблицы) соответствует количеству строк описываемых однотипных объектов. Реальная база данных может иметь не одну, а несколько таблиц, связанных между собой. Эти таблицы описывают объекты, входящие в некоторую систему. После определения и задания структуры базы данных в компьютерной среде переходят к ее наполнению.

    В ходе эксперимента происходит сортировка данных, поиск и фильтрация, создание расчетных полей.

    Компьютерная информационная панель предоставляет возможность создания различных экранных форм и форм для вывода информации в печатном виде – отчетов. Каждый отчет содержит информацию, отвечающую цели конкретного эксперимента. Он позволяет группировать информацию по заданным признакам, в любом порядке, с введением итоговых полей расчета.

    Если полученные результаты не соответствуют планируемым, можно провести дополнительные эксперименты с изменением условий сортировки и поиска данных. Если появляется необходимость изменить базу данных можно скорректировать ее структуру: изменять, добавлять и удалять поля. В результате появляется новая модель.

    2.6. Использование компьютерной модели

    Компьютерное моделирование и вычислительный эксперимент как новый метод научного исследования заставляет совершенствовать математический аппарат, используемый при построении математических моделей, позволяет, используя математические методы, уточнять, усложнять математические модели. Наиболее перспективным для проведения вычислительного эксперимента является его использование для решения крупных научно-технических и социально-экономических проблем современности, таких как проектирование реакторов для атомных электростанций, проектирование плотин и гидроэлектростанций, магнитогидродинамических преобразователей энергии, и в области экономики – составление сбалансированного плана для отрасли, региона, для страны и др.

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

    2.7. Заключение

    В заключение можно подчеркнуть, что компьютерное моделирование и вычислительный эксперимент позволяют свести исследование "нематематического" объекта к решению математической задачи. Этим самым открывается возможность использования для его изучения хорошо разработанного математического аппарата в сочетании с мощной вычислительной техникой. На этом основано применение математики и ЭВМ для познания законов реального мира и их использования на практике.

    3. Список используемой литературы

    1. С. Н. Колупаева. Математическое и компьютерное моделирование. Учебное пособие. – Томск, Школьный университет, 2008. – 208с.

    2. А. В. Могилев, Н. И. Пак, Е. К. Хеннер. Информатика. Учебное пособие. – М.: Центр «Академия», 2000. – 816с.

    3. Д. А. Поселов. Информатика. Энциклопедический словарь. – М.: Педагогика-Пресс, 1994. 648с.

    4. Официальный сайт издательства "Открытые Системы". Интернет университет информационных технологий. – Режим доступа: http://www.intuit.ru/ . Дата обращения: 5.10.2010 г.