Этапы подготовки и решения задач на компьютере
Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





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

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

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

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



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

5. Построение алгоритма – на данном этапе составляется алгоритм решения задачи, в соответствии с выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, определяется последовательность выполнения этих блоков;

6. Составление программы – алгоритм решения переводится на конкретный язык программирования;

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

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

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

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

 

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

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

Термины “модель”, “моделирование” являются неразрывно связанными, поэтому целесообразно обсуждать их одновременно.

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

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

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

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

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

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

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

Для модельного эксперимента характерны следующие основные операции:

1) переход от натурального объекта к модели — построение модели (моделирование в собственном смысле слова);

2) экспериментальное исследование модели;

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

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

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

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

Так, В.А. Штофф называет такие признаки, как

способ построения (форма модели),

качественная специфика (содержание модели).

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

Из материальных моделей можно выделить:

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

б) пространственно-подобные модели (сходство с оригиналом на основе физического подобия — макеты самолетов, судов);

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

В дальнейшем нас будут интересовать прежде всего идеальные (абстрактные) модели, поэтому остановимся на этом вопросе подробнее.

Выделяют такие виды абстрактных (идеальных) моделей:

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

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

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

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

Общая схема основных этапов численного моделирования (компьютерного эксперимента):

Первый этап — определение целей моделирования.

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

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

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

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

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

Содержательное описание в словесной форме содержит:

сведения о физической природе исследуемого процесса;

сведения о количественных характеристиках элементарных явлений исследуемого процесса;

сведения о месте и значении каждого элементарного явления в общем процессе функционирования рассматриваемой системы;

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

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

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

Прежде всего составляется список величин, от которых зависит поведение объекта или ход процесса, а также тех величин, которые желательно получить в результате моделирования. Обозначив первые (входные) величины через x1, x2, …, xn; вторые (выходные) через y1, y2, …, yk, можно поведение объекта или процесса символически представить в виде yj = Fj(x1, x2, …, xn) (j = 1, 2, …, k), где Fj символически обозначает некоторые математические операции над входными величинами.

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

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

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

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

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

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

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

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

дескриптивные (описательные) модели;

оптимизационные модели;

многокритериальные модели;

игровые модели;

имитационные модели.

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

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

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

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

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

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

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.