ОСНОВНЫЕ ПОНЯТИЯ И ПРИНЦИПЫ МОДЕЛИРОВАНИЯ


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

Модель — упрощенное представление, аналог реального объекта, процесса или явления. При построении модели сам объект называют оригиналом или прототипом

Модель необходима для того, чтобы:

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

• научиться управлять объектом и процессом: определить наилучшие способы управления при заданных целях и критериях (оптимизация);

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

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

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

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

3.2. Назначение моделей

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

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

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

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

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

• внешний вид — набором признаков;

• структуру — перечнем элементов и указанием отношений между ними;

• поведение — изменением внешнего вида и структуры с течением времени.

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

3.3. Основные этапы построения моделей

Моделирование можно разбить на следующие этапы:

1. Постановка цели моделирования.

2. Анализ объекта и выделение всех его известных свойств.

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

4. Выбор формы представления модели.

5. Формализация.

6. Анализ полученной модели на непротиворечивость.

7. Анализ адекватности полученной модели объекту и цели моделирования.

Если условия моделирования позволяют, то рекомендуется построить несколько моделей с разными наборами «существенных» свойств и затем оценить их на адекватность объекту и цели моделирования.

3.4. Классификация моделей

Наиболее распространенными классификационными признаками для моделей являются:

• область использования;

• учет в модели временного фактора (динамики);

• отрасль знаний;

• способ представления.

По области использованияможно выделить следующие виды:

Учебные модели используются при обучении. К ним можно от нести обучающие программы, тренажеры;

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

Научно-технические модели используются для исследования процессов и явлений (стенд для тестирования телетехники и др.);

Игровые модели — это различные игры (военные, спортивные, деловые, экономические), проигрывающие реальные и потенциальные ситуации;

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

По учету фактора временивыделяют модели:

статические — единовременный срез информации по данному объекту.

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

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

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

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

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

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

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

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

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

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

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

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

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

Наилучший результат получается при совместном применении аналитических и статистических моделей.

В образном моделировании модели строятся на наглядных элементах (фотография, рисунок, фильм или звукозапись). Анализ образных моделей осуществляется мысленно, поэтому они могут быть отнесены к формальному моделированию (например, столкновение двух молекул, как соударение шаров). В физике широко используются «мысленные эксперименты».

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

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

 

3.5. Понятие формализации

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

План действий в результате формализации переводится в алгоритм.

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

Языки бывают естественные и искусственные.

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

3.6. Этапы решения задач на компьютере

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

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

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

Затем следует третий этап — этап алгоритмизации,на котором от математической модели осуществляется переход к расчетной схеме.

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

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

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

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

3.7. Методы разработки алгоритмов и программ

Существуют правила соединения управляющих структур при программировании. Свойства управляющих структур лежат в основе современных методов решения сложных задач. В этих методах сначала разрабатывают решение задачи в общих чертах (без общих деталей), а затем шаг за шагом уточняют детали алгоритма до общего решения. Такой подход называют пошаговой детализацией алгоритма. Он относится к методу проектирования «сверху — вниз».

Основные принципы структурированного проектирования следующие:

• нисходящее проектирование;

• модульное проектирование;

• структурное программирование;

• структурный контроль.

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

Иерархическая модель строится по следующим правилам:

• каждый модуль может быть связан только с одним модулем верхнего уровня и с несколькими модулями нижнего уровня;

• для каждого модуля нижнего уровня имеется выход в модуль верхнего уровня;

• связи между модулями организуются сверху вниз;

• обращение к одному модулю возможно несколько раз, при этом он изображается один раз и оформляется как подпрограмма.

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

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

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

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

2. Между этими структурами производится передача управления только вперед — от более высокого уровня иерархии к более низкому.

3. Запрещается использовать команду безусловных переходов (GOTO).

 

 

3.8. Основы алгоритмизации

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

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

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

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

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

Результативность(конечность). Алгоритм должен приводить к решению задачи за конечное число шагов.

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

Процесс разработки алгоритма называется алгоритмизацией.

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

• выделение законченных частей вычислительного процесса;

• формальная запись каждого из них;

• назначение определенного порядка выполнения выделенных частей;

• проверка правильности выбранного алгоритма.

3.9. Способы представления алгоритмов

1. Словесный способ.Описание алгоритма состоит из словесного перечня действий.

 

Задача Описание алгоритма
Вычислить значение С, если оно определяется как: А - В, если А > = В А + В, если А < В. Исходные данные А и В ввести в память компьютера, проверить выполнение неравенства А > В. Если оно выполняется, то нужно вычислить А—В. Результат обозначить как С и вывести его; в противном случае вычислить А + В, результат обозначить С и вывести его.

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

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

Этап 1. Ввести А, В.

Этап 2. Если А > В, то перейти к этапу 4, иначе — к этапу 3.

Этап 3. С = А — В, перейти к этапу 5.

Этап 4 С = А + В.

Этап 5. Принять значение С за результат.

Этап 6. Вывести С.

Этот способ более компактен, но не является строго формальным.

3. Табличный способ.Алгоритм задается в виде таблиц и расчетных форм. Этот способ наиболее часто используется в экономических расчетах. Исходные данные и результаты вносятся в заголовки столбцов таблицы.

 

Фамилия Количество отработанных дней (К) Тариф (Т) Заработная плата (3 = К • Т)
Буров 5,20  
Котов 3,80  

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

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

5. Графический способ (блок-схемы).Каждый этап отображается в виде геометрических фигур — «блоков», форма которых зависит от выполняемых операций. Блок может иметь имя (метку). Линия соединения блоков показывает направление процесса обработки данных. Каждое направление называется ветвью. Перечень блоков, их наименование, функции, формы, размеры, взаиморасположение определяются ГОСТ 19.003-80.

Виды некоторых блоков приведены в таблице.

 

 

Таблица