В другой ситуации они могут быть важны, например, когда Васю интересует в первую очередь свой внешний вид, а не попадание в мишень.

Содержание урока

Постановка задачи

Разработка модели

Тестирование модели

Эксперимент с моделью

Анализ результатов

Вопросы и задания

 

Постановка задачи

 

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

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

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

• должны быть известны все исходные данные;

• решение должно существовать;

• решение должно быть единственным.

Приведём примеры плохо поставленных (некорректных) задач.

Задача 1. «Уроки в школе начинаются в 8:00. В 10:00 к школе подъехал красный автомобиль. Определите, когда Вася выйдет играть в футбол». В этой задаче совершенно непонятна связь между исходными данными (время начала уроков, красный автомобиль) и результатом.

Задача 2. «Вася бросает мяч со скоростью 12 м/с. Где мяч впервые ударится о землю?» В этой задаче можно применить модель движения тела, брошенного под углом к горизонту. Но угол неизвестен, поэтому задача плохо поставлена (не хватает данных). Кроме того, неизвестно, где и куда Вася бросает мяч — если он находится в квартире, то возможно много вариантов развития событий.

Задача 3. «Решить уравнение sin х = 4». Это уравнение не имеет решений. Задача 4. «Найти функцию, график которой проходит через точки (0,0) и (1,1)». Через эти точки проходит бесконечное множество разных графиков, поэтому непонятно, какую именно функцию из всех возможных мы ищем.

Что делать, если полученная задача плохо поставлена? Решить её нельзя, поэтому остается уточнять условия и исходные данные. Если и это невозможно, нужно вводить допущения — упрощающие предположения, которые позволят сделать задачу хорошо поставленной.

Все дальнейшие рассуждения мы будем проводить для конкретной задачи: «Спортсмен Вася в синей кепке бросает белый мяч со скоростью 12 м/с. Под каким углом к горизонту ему нужно бросить мяч, чтобы попасть в жёлтую мишень?»

Ясно, что в таком виде задача плохо поставлена. Мы не можем её решить, потому что не знаем, где расположена мишень и из какой точки вылетел мяч. Поэтому надо дополнить условие:

«Мишень расположена на высоте 4 м на расстоянии 10 м от Васи. В момент броска мяч находится на высоте 2 м».

Всегда ли существует решение? Очевидно, что нет: если мишень находится очень далеко или очень высоко, Вася просто до неё не докинет мяч. Поэтому мы должны ввести допущение о том, что решение существует.

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

 

Разработка модели

 

На этапе разработки информационной модели нужно:

• определить исходные данные, существенные для решения данной задачи;

• выбрать тип модели;

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

• разработать алгоритм исследования формальной модели;

• построить компьютерную модель.

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

• мяч и мишень — материальные точки;

• мишень неподвижна;

• сопротивление воздуха не учитывается.

В другой ситуации они могут быть важны, например, когда Васю интересует в первую очередь свой внешний вид, а не попадание в мишень.

 

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

За начало координат удобно принять точку, откуда вылетает мяч. Обозначим через V0 начальную скорость мяча, через Н разницу высот (Н = 4-2 = 2 м), а через S — расстояние до мишени (S = 10 м). Однако графическая модель не даёт ответа на поставленный вопрос, поэтому для окончательных расчётов требуется построить математическую модель.

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

где q ≈ 9,81 м/с2 — ускорение свободного падения. Задача сводится к тому, чтобы найти два неизвестных, t и α, при которых х = S и у = Н, т. е.

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

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

Например, можно постепенно увеличивать угол, начиная с нуля, и каждый раз строить всю траекторию полёта. Если при каком-то значении угла мяч пролетел ниже мишени, а при следующем — выше неё, дальше можно применить метод половинного деления для уточнения решения.

Но лучше поступить более грамотно, значительно сократив вычисления. Дело в том, что из первого уравнения S = v0 • t • cos а при известном значении угла а можно сразу найти время, за которое мяч пролетит расстояние до мишени. Тогда рассчитывать всю траекторию полёта не надо, остаётся только найти координату у и сравнить её с нужным значением Н. Таким образом, правильный выбор алгоритма может существенно влиять на вычислительную сложность моделирования, а иногда — и на результат.

Компьютерная модель. На этом этапе нужно выбрать средство моделирования и с его помощью построить компьютерную модель. Например, можно применить табличный процессор (OpenOffice.org Calc, Microsoft Excel и т. п.), написать собственную программу на одном из языков программирования или использовать готовую среду для моделирования (например, Simulink или VisSim).

 

Тестирование модели

 

После построения модели её обязательно нужно протестировать (проверить).

Тестирование — это проверка модели на простых исходных данных с известным результатом.

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

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

Выполним тестирование математической модели, построенной для нашей задачи:

Согласно этим формулам:

• при t = 0 мяч находится в начале координат;

• при нулевой начальной скорости мяч падает вертикально вниз (координата х не меняется, а координата у уменьшается);

• при бросании вертикально вверх (а = 90o, cos а = 0) координата х не меняется;

• при некотором t координата у начинает уменьшаться (парабола «загибается» вниз, мяч опускается).

Эти результаты не противоречат теории, поэтому можно считать, что тестирование прошло успешно. Тем не менее нельзя считать, что этим мы доказали правильность модели (подумайте, почему).

Эксперимент с моделью

 

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

Можно ли слепо верить результатам моделирования? Конечно нет, ведь при тестировании мы не проверяли (и не могли проверить!) работу модели в этих условиях. Поэтому необходим анализ результатов.

Анализ результатов

 

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

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

1 Часто считается, что допустимо расхождение результатов эксперимента и моделирования не более 10%.

 

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

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

• изменить модель: учесть дополнительные свойства, которые ранее считались несущественными;

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

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

• Всегда ли Вася сможет попасть в мишень?

• Что изменится, если начальная скорость будет отличаться от заданной?

• Что изменится, если мяч и мишень не считать материальными точками?

• Насколько сильно сопротивление воздуха влияет на результат?

• Что изменится, если мишень качается? И т. д.

 

Вопросы и задания

 

1. Что такое хорошо и плохо поставленные задачи?
2. Что делать, если задача плохо поставлена?
3. Приведите примеры хорошо и плохо поставленных задач (кроме тех, что даны в учебнике).
4. Что входит в понятие «разработка модели»?
5. Как выделить существенные свойства, которые нужно учесть в модели?
6. Какие исходные данные в формулировке приведённой задачи существенны, а какие — нет? Каких данных не хватает?
«Электрик в зелёном комбинезоне едет на красном автомобиле «Лада-Калина» из Москвы в Воронеж. Его средняя скорость равна 90 км/ч, причём каждые 2 часа электрик отдыхает по 15 минут. Когда он приедет в Воронеж?»
7. Как вы думаете, почему при решении задачи часто используется несколько моделей разных типов? Приведите примеры.
8. Что такое алгоритм моделирования? Почему он важен?
9. Что такое тестирование модели? Почему оно важно?
10. Что такое эксперимент? Чем он отличается от тестирования?
11. Можно ли доказать правильность (или ошибочность) модели с помощью тестирования? Приведите примеры и обоснуйте ответ.
12. Зачем нужен анализ результатов эксперимента? Какие выводы могут быть сделаны на этом этапе?
13. В чём может быть причина неудачи при решении задачи с помощью моделирования?
14. Что делать, если после анализа результатов моделирования был сделан вывод, что решить задачу не удалось?


Подготовьте сообщение:

а) «Зачем и как вводить допущения при моделировании?»

б) «Зачем тестировать модель?»

в) «Программные средства для моделирования»

 


Дата добавления: 2019-11-16; просмотров: 2188; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!