1. Технология решения задач с помощью компьютера (моделирование, формализация, алгоритмизация, программирование, компьютерный эксперимент). Пример решения задачи (математической, физической или др.).
В решении любой содержательной задачи с использованием компьютера можно выделить ряд этапов. Они представлены на обобщенной схеме.
Обсудим эти этапы.
Первый этап — определение целей моделирования. Основные из них таковы:
• понять, как устроен конкретный объект, какова его структура, основные свойства, законы развития и взаимодействия с окружающим миром (согласно этой цели моделирования получают описательную, или дескриптивную, модель);
• научиться управлять объектом (или процессом) и определить наилучшие способы управления при заданных целях и критериях(оптимизационные и многокритериальные модели);
• научиться прогнозировать прямые и косвенные последствия воздействия на объект (игровые и имитационные модели).
Поясним это на примерах. Пусть объект исследования — экологическая система. Мирно сосуществовавшие со стабильными численностями популяции двух видов особей, имеющих общую кормовую базу, "вдруг" начинают резко менять численность, — и здесь моделирование позволяет с известной долей достоверности установить причину (или, по крайней мере, опровергнуть определенную гипотезу).
Выработка концепции управления объектом — другая возможная цель моделирования. Какой режим полета самолета выбрать, для того чтобы полет был вполне безопасным и экономически наиболее выгодным? Как составить график выполнения сотен видов работ на строительстве большого объекта, чтобы оно закончилось в максимально короткий срок? Множество таких проблем систематически возникают перед экономистами, конструкторами, учеными.
Наконец, прогнозирование последствий тех или иных воздействий на объект может быть как относительно простым делом в несложных физических системах, так и чрезвычайно сложным, например, в системах экологических, биолого-экономических, социальных. Если относительно легко ответить на вопрос об изменении режима распространения тепла в тонком стержне при изменениях в составляющем его сплаве, то несравненно труднее предсказать экологические и климатические последствия строительства крупной ГЭС или социальные последствия изменений налогового законодательства. Здесь методы моделирования также способны оказать значительную помощь.
Естественно, прежде чем формулировать цель исследования, необходимо всесторонне изучить структуру моделируемого объекта (процесса).
После этого переходят к формализации объекта (процесса), результатом которой и будет в нашем случае модель (математическая или информационная).
Содержательное описание в словесной форме обычно содержит:
• сведения о природе исследуемого процесса;
• сведения о количественных характеристиках отдельных составляющих исследуемого процесса;
• сведения о месте и значении каждого отдельного составляющего в общем, процессе функционирования рассматриваемой системы;
• постановку прикладной задачи, определяющую цели моделирования исследуемого процесса.
На этом же этапе составляется список величин, от которых зависит поведение объекта или ход процесса (входные величины), а также тех величин, которые желательно получить в результате моделирования (выходные величины). Очень важно разделить (ранжировать) входные параметры по степени важности влияния их изменений на выходные. Чаще всего невозможно, да и не нужно учитывать все факторы, которые могут повлиять на значения интересующих нас выходных величин. От того, насколько умело будут выделены важнейшие факторы, зависит успех моделирования, быстрота и эффективность достижения цели. Отбрасывание (по крайней мере при первом подходе) менее значимых факторов огрубляет объект моделирования и способствует пониманию его главных свойств и закономерностей. Выделить более важные (значимые) факторы и отсеять менее важные может лишь человек, хорошо разбирающийся в той предметной области, к которой относится модель.
Содержательное описание процесса обычно самостоятельного значения не имеет, а служит лишь основой для дальнейшей формализации этого процесса — построения формализованной схемы и модели процесса.
Формализованная схема является промежуточным звеном между содержательным описанием и моделью и разрабатывается в тех случаях, когда из-за сложности исследуемого процесса переход от содержательного описания к модели оказывается невозможным.
На этапе построения формализованной схемы должна быть дана точная формулировка задачи исследования с указанием окончательного перечня искомых величин и оцениваемых зависимостей.
На этапе перехода от формализованной схемы к модели необходимо перейти от абстрактной формулировки модели к формулировке, имеющей конкретное математическое или иное наполнение. В этот момент модель предстает перед нами в виде уравнения, системы уравнений, системы неравенств, таблицы и т.д. Для преобразования формализованной схемы в модель необходимо записать в аналитической форме все соотношения, выразить все логические условия. Последним этапом формализации является идентификация модели — определение параметров и структуры модели, обеспечивающей наилучшее совпадение исходных данных объекта и данных, полученных на модели объекта. Можно считать, что модель адекватна реальному процессу, если основные характеристики процесса совпадают с экспериментальными с заданной степенью точности.
Слово "модель" произошло от латинского слова iiiodeUum, которое означает: мера, образ, способ — и т.д. Его первоначальное значение было связано со строительным искусством, и почти во всех европейских языках оно употреблялось для обозначения образа или прообраза, или вещи, сходной в каком-то отношении с другой вещью.
Модель используется при разработке теории объекта в том случае, когда непосредственное исследование его не представляется возможным вследствие ограниченности современного уровня знания и практики. Данные о непосредственно интересующем исследователя объекте получаются путем исследования другого объекта, который объединяется с первым общностью характеристик, определяющих специфику обоих объектов.
Признаки модели:
• это мысленно представляемая или материально реализуемая система;
• она воспроизводит или отображает объект исследования;
• она способна замещать исследуемый объект;
• ее изучение дает новую информацию об объекте исследования.
Будем понимать под моделью другой объект (реальный, знаковый или воображаемый), отличный от исходного, который обладает существенными для целей моделирования свойствами и в рамках этих целей полностью заменяет исходный объект.
Моделирование — процесс построения формальной модели реального явления и ее использование в целях исследования моделируемого явления,
Когда модель сформулирована, выбирается метод и инструментальное средство ее исследования. В зависимости от формализованной постановки задачи в качестве такого средства может выступать либо пакет прикладных программ (офисных — типа MS Excel, MS Access и др., специализированных математических — типа MathLab, Mathematica, Maple и др.), либо язык программирования (Паскаль, Си, Фортран и др.). В зависимости от выбранного средства можно использовать или готовый метод решения, реализованный в данном продукте, либо составлять программу для выбранного метода.
Если в качестве средства решения задачи выступает тот или иной язык программирования (впрочем, это актуально и для математических пакетов), следующий этап — разработка алгоритма и составление программы для ЭВМ. Здесь каждый действует по-своему, это творческий и трудно формализуемый процесс. В настоящее время наиболее распространенными являются приемы структурного и объектно-ориентированного программирования. Выбор языка программирования обычно определяется имеющимся опытом программиста, наличием некоторых стандартных подпрограмм и доступных библиотек.
После составления программы решаем с ее помощью 'простейшую тестовую задачу (желательно с заранее известным ответом) с целью устранения грубых ошибок. Профессиональное тестирование — весьма непростой процесс; в нашем случае приходится пользоваться крайне упрощенными процедурами. Затем следует собственно численный эксперимент и выясняется, соответствует ли модель реальному объекту (процессу). Модель адекватна реальному процессу, если основные характеристики процесса, полученные на ЭВМ, совпадают с экспериментальными с заданной степенью точности. В случае несоответствия модели реальному процессу возвращаемся к одному из предыдущих этапов. Возможные точки возврата указаны на схеме: либо в процессе ранжирования были отброшены какие-то важные факторы или же было взято слишком много незначительных факторов и требуется уточнить модель; либо выбор метода исследования оказался не слишком удачным и нужно использовать более сложный и точный. После внесения тех или иных изменений вновь проходим по части технологической цепочки и делаем это до тех пор, пока не будут получены приемлемые результаты.
Если результаты соответствуют экспериментальным данным или нашим интуитивным представлениям, проводят расчеты по программе, данные накапливаются и соответствующим образом обрабатываются. Чаще удобной для восприятия формой представления результатов являются не таблицы значений, а графики, диаграммы. Иногда численные значения пытаются заменить аналитически заданной функцией, вид которой определяет экспериментатор. Обработанные данные в конечном итоге попадают в отчет о проделанном эксперименте.
Задача 1. Сколько страниц машинописного текста можно сохранить на винчестере объемом 13 Гб?. Справка: обычно при печати через 1,5 интервала страница машинописного текста содержит 32 строки по 64 символа.
Решение:
1) В системе кодировки ASCII для кодирования одного символа используется 1 байт. Поэтому одна страница текста занимает в памяти ЭВМ
32 • 64 = 25 • 26 •= 2й байт == 2 Кб;
2) 13 Г6 •= 13 • 220 Кб — содержится в 13 Г6;
3) 13 • 2ю Кб : 2 Кб = 13 • 219 страниц =
= 6 815 744 страницы — можно сохранить на винчестере указанного объема.