"Информатика (базовый уровень)", Угринович Н.Д.
Компьютерное моделирование помогает исследовать объект или процесс, когда наблюдать его напрямую трудно, долго или дорого. Сначала определяют цель и выбирают важные для неё свойства, затем описывают их формулами или другими знаковыми средствами и создают компьютерную модель. Меняя исходные данные, проводят эксперименты и анализируют результаты. Модель не копирует реальность целиком, поэтому выводы проверяют с учётом её допущений и ограничений.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Объект моделирования — предмет, процесс или явление, которое изучают с помощью модели. Цель исследования задаёт, какие его свойства считать существенными: для оценки времени поездки важны расстояние и скорость, но не цвет автомобиля. Такое выделение позволяет не перегружать описание деталями, не влияющими на ответ.
Информационная модель — описание объекта, процесса или явления в форме, удобной для решения поставленной задачи. Это могут быть текст, таблица, схема, график или формула. Форма зависит от того, что нужно выяснить: таблица помогает сравнивать данные, а формула — выполнять расчёты.
Компьютерная модель — информационная модель, реализованная средствами компьютера. В ней могут быть алгоритмы, электронные таблицы, программы или специальные приложения. Такая модель нужна, чтобы быстро выполнять вычисления, менять параметры и исследовать ситуации, которые трудно проверить напрямую.
Компьютерный эксперимент — исследование компьютерной модели путём изменения исходных данных и анализа полученных результатов. Исходные данные задают условия опыта, а параметры выбирают для изменения. Сравнение результатов помогает понять, как поведение модели зависит от этих условий.
Работу начинают с постановки задачи: выбирают объект, формулируют цель и вопросы, на которые предстоит ответить. Это нужно сделать до построения модели, иначе неясно, какие свойства включать и какие результаты считать полезными. Например, при оценке срока доставки важна скорость движения, а цвет транспортного средства на расчёт не влияет. Чёткая цель также помогает заранее определить, какие данные потребуется собрать.
Затем выполняют формализацию — переводят описание задачи в точную систему величин и связей. Выделяют существенные свойства, задают обозначения и определяют, как величины зависят друг от друга. Связи записывают в виде знаковой или математической модели, например формулой либо алгоритмом. Формализация нужна потому, что компьютеру недостаточно общего словесного описания: ему требуются однозначные правила обработки данных.
При разработке компьютерной модели выбирают программные средства, подходящие для задачи: таблицу, программу, среду моделирования или иной инструмент. Содержание формальной модели представляют в форме, которую выбранное средство способно обработать. После создания проверяют корректность: тестируют данные, сверяют отдельные вычисления и убеждаются, что программа выполняет заданные правила. Проверка важна, поскольку ошибка в реализации может исказить даже верную математическую модель.
Для компьютерного эксперимента задают исходные данные и выбирают параметры, которые будут менять. Затем запускают расчёты или моделирование, записывают результаты в таблицу или выводят их на график. Если менять по одному параметру за раз, легче установить, что именно повлияло на результат. Серия опытов позволяет сравнить разные условия и увидеть закономерности, которые не заметны при одном расчёте.
Завершать работу нужно анализом: результаты сопоставляют с целью, оценивают их правдоподобие и точность. Проверяют, не противоречат ли выводы известным фактам и не объясняются ли они случайной ошибкой в данных или вычислениях. Модель отражает реальность лишь с принятыми допущениями, поэтому выводы действуют в пределах этих ограничений. Если результат ненадёжен или не отвечает на вопрос, уточняют задачу или модель и повторяют эксперимент.
| Этап | Что делают | Результат этапа |
|---|---|---|
| Постановка задачи | Выбирают объект, формулируют цель и вопросы исследования. | Понятно, что требуется выяснить и какие данные нужны. |
| Формализация | Выделяют существенные свойства, задают величины и связи между ними. | Знаковая или математическая модель задачи. |
| Разработка компьютерной модели | Выбирают программные средства, реализуют модель и проверяют её. | Рабочая компьютерная модель. |
| Компьютерный эксперимент | Задают данные, меняют параметры, выполняют расчёты и фиксируют результаты. | Набор результатов для выбранных условий. |
| Анализ результатов | Сопоставляют результаты с целью, проверяют выводы и ограничения модели. | Вывод или уточнённая модель для повторного исследования. |
Таблица показывает последовательность работы: каждый этап использует результат предыдущего. Ею удобно проверять, не пропущены ли постановка задачи, проверка модели или анализ выводов. Если на последнем этапе обнаруживается проблема, возвращаются к нужному этапу и повторяют исследование.
Условие. Нужно оценить, сколько времени займёт загрузка файла известного размера при заданной скорости соединения. Предположим, размер файла равен 600 Мбайт, а скорость — 20 Мбайт/с. Требуется пройти путь от постановки задачи до вывода, не забыв проверить единицы.
Ответ. По простой модели загрузка займёт около 30 секунд. Это оценка, а не точное обещание: модель не учитывает изменение скорости и другие задержки.
Условие. Нужно исследовать, как меняется вклад за несколько лет при заданных начальной сумме, ставке и периодичности начисления процентов. Для примера возьмём 100 000 рублей, ставку 5% годовых и начисление раз в год; сравним результат со ставкой 7%. Модель предполагает, что деньги не снимают и проценты каждый год прибавляются к вкладу.
Ответ. По этой модели за три года получится примерно 115 763 рубля при 5% и 122 504 рубля при 7%. Сравнение показывает влияние ставки при одинаковых остальных условиях.
Условие. С помощью компьютерной модели требуется исследовать движение тела при разных начальных скоростях и углах броска и выяснить, какие условия увеличивают дальность. Для учебной модели примем, что тело движется над ровной поверхностью, ускорение свободного падения постоянно, а сопротивлением воздуха можно пренебречь. Такие допущения упрощают расчёт, но ограничивают применимость вывода.
Ответ. В идеализированной модели дальность растёт с начальной скоростью и максимальна при угле 45°. Для реального движения вывод нужно проверять с учётом сопротивления воздуха и условий запуска.
Создавать модель до формулировки цели. Без ясного вопроса можно не понять, какие свойства учитывать и какие данные собирать. Так часто поступают, когда сразу начинают программировать, надеясь определить задачу по ходу работы. Проверьте себя: сформулируйте, какой конкретно результат должен дать эксперимент; если это невозможно, вернитесь к постановке задачи.
Включать в модель все свойства реального объекта. Избыточные подробности усложняют расчёты и могут отвлечь от главных зависимостей. Ошибка возникает из-за желания сделать модель как можно более похожей на реальность. Для самопроверки спросите, влияет ли каждое свойство на ответ в рамках поставленной цели; несущественные характеристики можно не учитывать.
Считать компьютерный результат заведомо верным. Компьютер точно выполняет заданные инструкции, но не проверяет, правильны ли исходные данные, формулы и допущения. Поэтому ошибочный ввод или неверная формула дадут убедительно выглядящий, но неправильный результат. Проверьте единицы, выполните контрольный расчёт вручную и сравните ответ с ожидаемым порядком величин.
Одновременно менять несколько параметров. Тогда трудно понять, какое изменение вызвало новый результат. Так бывает, когда хочется быстрее перебрать много вариантов. Для проверки меняйте параметры по одному, сохраняя остальные условия, или используйте план серии опытов, в котором влияние каждой переменной можно отделить.
Для работы с моделями нужны знания об информации и информационных моделях, а также умение описывать зависимости между величинами. Электронные таблицы помогают выполнять расчёты и сравнивать серии данных, а алгоритмы и программы — задавать порядок действий для компьютера. Эти же этапы применяют при разработке программ, исследовании процессов в естественных науках и анализе данных. Поэтому навык моделирования связывает информатику с математикой и другими предметами.
Чем компьютерная модель отличается от обычной информационной модели?
Информационная модель описывает объект, процесс или явление в подходящей для задачи форме: например, текстом, схемой или формулой. Компьютерная модель — такая информационная модель, которую можно обрабатывать средствами компьютера, например вычислять по ней значения или строить график.
Зачем формализовать задачу перед созданием модели?
Формализация помогает выделить важные величины, установить связи между ними и записать их так, чтобы модель можно было реализовать на компьютере. Без этого трудно определить, какие данные вводить и какие результаты считать ответом.
Можно ли считать результат компьютерного эксперимента доказательством?
Сам по себе результат расчёта не является доказательством: он зависит от исходных данных, формул и принятых допущений. Его нужно проверять и сопоставлять с целью исследования, здравым смыслом или другими способами расчёта.
Почему при построении модели приходится делать допущения?
Реальный объект обычно слишком сложен, чтобы учесть все его свойства. Допущения позволяют сосредоточиться на том, что существенно для задачи, и сделать модель доступной для исследования; при этом они ограничивают точность и область применения выводов.
Что делать, если результаты эксперимента не соответствуют ожиданиям?
Сначала проверьте исходные данные, единицы измерения, формулы и способ проведения эксперимента. Если ошибок нет, выясните, не слишком ли упрощена модель или неверно ли сформулирована задача; затем уточните модель и повторите расчёты.
2.5. Основные этапы разработки и исследования моделей на компьютере