573
.pdfправильном использовании программных средств встречаются достаточно редко. Одним из способов их избежать является изменение единиц измерения вычисляемой величины, например, 1000мм=1м и т.д.
4. Ошибки метода (алгоритма) возникают вследствие отклонения алгоритмического процесса вычислений от точного (аналитического). Если при неограниченном увеличении числа шагов алгоритма решение дискретной задачи стремится к решению исходной задачи, то говорят, что вычислительный метод сходится. Для повышения надежности алгоритмов часто применяют комбинирование различных методов, автоматическую параметрическую настройку методов и т.п. В конечном счете, добиваются значений надежности p, равных или близких к единице. Применение методов с p<1 хотя и нежелательно, но допускается в отдельных частных случаях при обязательном условии, что некорректное решение распознается и отсутствует опасность принять такое решение за правильное решение.
5) Поиск решения, разработка алгоритма решения и исследование его свойств, реализация алгоритма в виде программы для ЭВМ
В случаях, когда решение можно найти аналитическим методом, потребности в разработке специального программного обеспечения, как правило, не возникает. Численный, или приближенный, метод реализуется всегда в виде вычислительного алгоритма. Требования, предъявляемые к алгоритму, указываются в следующем определении.
Алгоритм – это упорядоченный набор недвусмысленных и выполнимых этапов, определяющий некоторый конечный процесс.
Это определение содержит несколько важных требований:
61
1)требование упорядоченности указывает, что этапы алгоритма должны выполняться в некотором определенном порядке, но необязательно один за другим;
2)требование выполнимости этапа означает принципиальную возможность его осуществления;
3)требование недвусмысленности означает, что во время выполнения алгоритма при любом состоянии процесса информации должно быть достаточно, чтобы полностью определить действия, которые требуется осуществить на каждом этапе;
4)требование конечности процесса означает, что алгоритм должен быть результативен, т.е. выполнение алгоритма должно приводить к его завершению.
Кроме того, к методам и алгоритмам, как и к математическим моделям, предъявляют требования точности и экономичности.
Точность характеризуется степенью совпадения точного решения уравнений заданной модели и приближенного решения, полученного с помощью оцениваемого метода, а экономичность – затратами вычислительных ресурсов на реализацию метода (алгоритма).
Оценки точности и экономичности бывают теоретическими и экспериментальными. Теоретические оценки обычно характеризуют эффективность применения исследуемого метода не к одной конкретной модели, а к некоторому классу моделей и являются предметом изучения в вычислительной математике. Экспериментальные оценки основаны на определении показателей эффективности решения с помощью набора специально составляемых тестовых задач.
Процесс создания программного обеспечения обычно идет в следующей последовательности:
62
-составление технического задания на разработку программного обеспечения;
-проектирование структуры программного комплекса;
-кодирование алгоритма;
-тестирование и отладка;
-сопровождение и эксплуатация.
Техническое задание на разработку программного обеспечения оформляют в виде спецификации. Примерная форма спецификации включает следующие семь разделов:
Название задачи – дается краткое определение решаемой задачи, название программного комплекса, указывается система программирования для его реализации и требования к аппаратному обеспечению (компьютеру, внешним устройствам и т.д.).
Описание – подробно излагается математическая постановка задачи, описываются применяемая математическая модель для задач вычислительного характера, метод обработки входных данных для задач не вычислительного (логического) характера и т.д.
Управление режимами работы программы – формиру-
ются основные требования к способу взаимодействия пользователя с программой (интерфейс «пользователь– компьютер»).
Входные данные – описываются входные данные, указываются пределы, в которых они могут изменяться, значения, которые они не могут принимать, и т.д.
Выходные данные – описываются выходные данные, указывается, в каком виде они должны быть представлены (в числовом, графическом или текстовом), приводятся сведения о точности и объеме выходных данных, способах их сохранения и т.д.
63
Ошибки – перечисляются возможные ошибки пользователя при работе с программой (например, ошибки при вводе входных данных), указываются способы диагностики (обнаружения ошибок при работе программного комплекса) и защиты от этих ошибок на этапе проектирования, а также возможная реакция пользователя при совершении им ошибочных действий и реакция программного комплекса (компьютера) на эти действия.
Тестовые задачи – приводятся один или несколько тестовых примеров, на которых в простейших случаях проводится отладка и тестирование программного комплекса.
На этапе проектирования формируется общая структура программного комплекса. Вся программа разбивается на программные модули. Для каждого программного модуля формулируются требования по реализуемым функциям и разрабатывается алгоритм, выполняющий эти функции. Определяется схема взаимодействия программных модулей, называемая схемой потоков данных программного комплекса. Разрабатывается план, и задаются исходные данные для тестирования отдельных модулей и программного комплекса в целом.
Большинство профессиональных программных средств, реализующих математические модели, состоят из трех основных частей:
-препроцессора (подготовка и проверка исходных данных модели);
-процессора (решение задачи, реализация вычислительного эксперимента);
-постпроцессора (отображение полученных результа-
тов).
Возможности пре- и постпроцессора наиболее широко
реализуются в современных системах автоматизированного
64
проектирования (САПР), где они в значительной степени сокращают время на получение данных и оценку результатов моделирования.
6) Проверка адекватности модели
Проверка адекватности модели преследует две цели:
-убедиться в справедливости совокупности гипотез, сформулированных на этапах концептуальной и математической постановок;
-установить, что точность полученных результатов соответствует точности, оговоренной в техническом задании.
Проверка разработанной математической модели выполняется путем сравнения с имеющимися экспериментальными данными о реальном объекте или с результатами других, созданных ранее и хорошо себя зарекомендовавших моделей. Как правило, различают качественное и количественное совпадение результатов сравнения. При качественном сравнении требуется лишь совпадение вида функции распределения выходных параметров (убывающая или возрастающая, с одним экстремумом или с несколькими). При количественном сравнении оценивают точность вычисления параметров. В моделях, предназначенных для выполнения оценочных и прикидочных расчетов, удовлетворительной считается точность 10–15 %. В моделях, используемых в управляющих и контролирующих системах, требуемая точность может быть менее 2 %.
Неадекватность результатов моделирования возможна, по крайней мере, по трем причинам: а) значения задаваемых входных параметров модели не соответствуют допустимой области этих параметров, определяемой принятой системой гипотез; б) принятая система гипотез верна, но константы и параметры в использованных определяющих соотношениях
65
установлены неточно; в) неверна исходная совокупность гипотез.
Все три случая требуют дополнительного исследования как моделируемого объекта (с целью накопления новой дополнительной информации о его поведении), так и самой модели (с целью уточнения границ ее применимости).
7) Практическое использование модели
Практическое использование и анализ результатов моделирования позволяет:
-выполнить модификацию рассматриваемого объекта, найти его оптимальные характеристики или, по крайней мере, лучшим образом учесть его поведение и свойства;
-обозначить область применения модели;
-проверить обоснованность гипотез, принятых на этапе математической постановки, оценить возможность упрощения модели с целью повышения ее эффективности при сохранении требуемой точности;
-показать, в каком направлении следует развивать модель в дальнейшем.
66
2. Системный подход
2.1. Понятие системы
Решение вопроса о специфических признаках системного подхода, в отличие от любого другого типа научного исследования, предопределяется тем, что понимается под системой.
Термин «система» употребляется во многих значениях, что приводит к опасности упустить основное содержание этого понятия.
Под системой понимается:
•«Комплекс элементов, находящихся во взаимодействии» (Л. Берталанфи);
•«Нечто такое, что может изменяться с течением времени», «любая совокупность переменных..., свойственных реальной логике» (Р. Эшби);
•«Множество элементов с соотношением между ними и между их атрибутами (Холл А.Д.)»;
•«Совокупность элементов, организованных таким образом, что изменения, исключения или введение нового элемента закономерно отражаются на остальных элементах» (Топоров В.Н.);
•«Взаимосвязь самых различных элементов», «все состоящее из связанных друг с другом частей» (Ст. Бир);
•«Отображение входов и состояний объекта в выходных объекта» (М. Месарович).
Правильно было бы сказать, что строгого, единого определения для понятия «система» в настоящее время нет.
В первом приближении можно придерживаться нормативного понятия системы. Система (греч.– «составленное из частей», «соединение» от «соединяю») – объективное единство закономерно связанных друг с другом предметов, явлений, а также знаний о природе и обществе.
67
Система есть совокупность или множество связанных между собой элементов.
Элементы системы могут представлять собой понятия, в этом случае мы имеем дело с понятийной системой (инструмент познания).
Элементами системы могут являться объекты (устройства) (ПК - клавиатура, мышь, монитор и т.д.).
Элементами системы могут быть субъекты: игроки в футбольной команде, студенты в группе и т.д.
Таким образом, система – это совокупность живых и неживых элементов либо тех и других вместе. Существует несколько десятков определений этого понятия. Их анализ показывает, что определение понятия система изменялось не только по форме, но и по содержанию. Так Л. фон Берталанфи определяет систему, как «комплекс взаимодействующих компонентов или как совокупность элементов, находящихся в определенных отношениях друг с другом и со средой».
Система – это полный, целостный набор элементов, взаимосвязанных между собой так, чтобы могла реализовываться функция системы.
Отличительным (главным свойством) системы является ее целостность. Комплекс объектов, рассматриваемых в качестве системы, представляет собой некоторое единство, целостность, обладающую общими свойствами и поведением.
Очевидно, необходимо рассматривать и связи системы с внешней средой.
Система проявляется как целостный материальный объект, представляющий собой закономерно обусловленную совокупность функционально взаимодействующих элементов. Основные свойства системы проявляются через целостность, взаимодействие и взаимозависимость процессов преобразования вещества, энергии и информации, через ее функциональность, структуру, связи, внешнюю среду и пр.
68
В дальнейшем будем придерживаться следующего определения системы.
Система – это совокупность взаимосвязанных элементов, обособленных от среды и взаимодействующая с ней как целое.
Как и любое фундаментальное понятие, система конкретизируется в процессе рассмотрения ее основных свойств. Важнейшие свойства системы: структурность, взаимозависимость со средой, иерархичность, множественность описаний (табл. 3).
Таблица 3
Свойства системы и их характеристики
Свойство системы |
Характеристика |
Ограниченность |
Система отделена от окружающей среды границами |
|
|
Целостность |
Ее свойство целого принципиально не сводится к сумме |
|
свойств составляющих элементов |
|
|
Структурность |
Поведение системы обусловлено свойствами ее структуры |
|
|
Взаимозависимость |
Система формирует и проявляет свойства в процессе взаи- |
со средой |
модействия со средой |
|
|
Иерархичность |
Соподчиненность элементов в системе |
|
|
Множественность |
По причине сложности познание системы требует множе- |
описаний |
ственности ее описаний |
|
|
Можно выделить основные свойства системы:
•система есть, прежде всего, совокупность элементов, которые при определенных условиях могут рассматриваться как системы;
•наличие существенных связей между элементами и (или) их свойствами, превосходящих по мощности (силе) связи этих элементов с элементами не входящими в данную систему. Под существенными связями понимаются такие, которые закономерно, с необходимостью определяют интегративные свойства системы. Указанное свойство отличает си-
69
стему от простого конгломерата и выделяет ее из окружающей среды;
•наличие определенной организации, что проявляется в системе энтропии (системе неопределенности, хаоса), системы по сравнению с энтропией системообразующих факторов, определяющих возможность создания системы, число существенных связей, которыми может обладать элемент, число квантов пространства и времени;
•существование интегративных свойств, т.е. присущих системе в целом, но не свойственных ни одному из ее элементов в отдельности. Их наличие показывает, что свойства системы хотя и зависят от свойств элементов, но не окружают их полностью. Т.е. система не сводится к простой совокупности элементов, и, расчленяя систему на отдельные части, нельзя познать все свойства системы в целом.
В самом общем случае понятие «система» характеризу-
ется:
•наличием множества элементов;
•наличием связей между ними;
•целостным характером данного устройства или про-
цесса.
В научной литературе имеется множество определений этого понятия. В философском теоретико-познавательном смысле система есть способ мышления как способ постановки и упорядочения проблем. В научно-исследовательском понимании система представляет собой общую методологию исследования процессов и явлений, отнесенных к какойлибо области человеческих знаний, в качестве объекта системного анализа. В проектном понимании система представляется как методология проектирования и создания комплексов методов и средств для достижения определенной цели. В наиболее узком, инженерном смысле система понимается как взаимосвязанный набор вещей (объектов) и
70