9-Lesson №7

Урок №7. Модели и моделирование. Классификации моделей.

    При слове «модель» у многих, наверное, появляется мысль о моделях самолётов, кораблей, танков и другой техники, которые стоят на полках магазинов. Однако слово «модель» имеет более широкое значение. Например, игрушки, в которые играют дети всех возрастов, — это модели реальных объектов, с которыми они сталкиваются в жизни (или столкнутся в будущем).
    Говоря о модели, мы всегда указываем на какой-то другой объект (процесс, явление), например: «Глобус — это модель Земли». Здесь другой объект — это Земля, он называется оригиналом. Объект становится моделью только тогда, когда есть оригинал, модели без оригинала не существует.
    Зачем вообще нужны модели? Они появляются тогда, когда мы хотим решить какую-то задачу, связанную с оригиналом, а изучать оригинал трудно или даже невозможно:

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

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

Модель — это объект, который обладает существенными свойствами другого объекта или процесса (оригинала) и используется вместо него.

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

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

Моделирование — это создание и исследование моделей для изучения оригиналов.

    С помощью моделирования можно решать задачи четырёх типов:

  • изучение оригинала (в научных и учебных целях);
  • анализ («что будет, если …») — прогнозирование влияния различных воздействий на оригинал;
  • синтез («как сделать, чтобы …») — управление оригиналом;
  • оптимизация («как сделать лучше всего …») — выбор наилучшего решения в данных условиях.

Назовите задачи, которые решаются в каждом случае.
а) Даниил считает, как купить новый планшетный компьютер по минимальной цене.
б) Кирилл выясняет, будет ли плавать в воде кусок пластика.
в) Константин проверяет, выдержит ли верёвка вес альпиниста.
г) Василий хочет сделать такой стол, который выдержит нагрузку в 200 кг.
д) Алёна изучает строение молекулы воды.

 

    Существует множество классификации моделей, каждая из которых отражает какое-то одно свойство. Универсальной классификации моделей нет.
    По своей природе модели делятся на материальные (физические, предметные) и информационные.
    Материальные модели «можно потрогать» — это игрушки, уменьшенные копии самолётов и кораблей, чучела животных, учебные модели молекул и т. п.
    Информационные модели — это информация о свойствах оригинала и его связях с внешним миром. Среди них выделяют вербальные модели (словесные, мысленные) и знаковые модели, записанные с помощью какого-то формального языка:

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

    Различают статические и динамические модели.
    В статических моделях предполагается, что интересующие нас свойства оригинала не изменяются во времени.
    Динамические модели описывают движение, развитие, изменение.

Какие из этих моделей статические, а какие — динамические:
а) модель полёта шарика;
б) фотография;
в) видеозапись;
г) история болезни;
д) анализ крови;
е) модель молекулы воды;
ж) модель развития землетрясения;
з) модель вращения Луны вокруг Земли?

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

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

Используя дополнительные источники, выясните, от каких иностранных слов произошли слова «вербальный», «статический», «динамический», «детерминированный».

По материалам параграфа составьте в тетради схемы различных классификаций моделей.

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

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

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

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

 

    Игровые модели позволяют учитывать действия противника, например, при моделировании военных действий, соревнований, конкуренции в бизнесе. Задача игрового моделирования — найти лучшую стратегию в игре — план действий, который даёт наилучшие результаты даже в том случае, когда противник играет безошибочно. Этими вопросами занимается теория игр — раздел математики, одним из создателей которого был американский учёный Джон фон Нейман.

    Итак, при моделировании мы заменяем один объект (объект-оригинал) другим. Поэтому всегда возникает вопрос, можно ли верить полученным результатам. Иначе говоря, будет ли оригинал вести себя так же, как и модель?

Адекватность модели — это совпадение существенных свойств модели и оригинала в рассматриваемой задаче.

Используя дополнительные источники, выясните, от какого иностранного слова произошло слово «адекватный».

    Адекватность означает, что результаты моделирования:

  • не противоречат выводам теории, например законам сохранения (вещества, энергии и т. п.);
  • подтверждаются экспериментом с оригиналом.

    Таким образом, адекватность модели окончательно можно доказать только экспериментом: если результаты нашего моделирования близки к наблюдаемым на практике, это означает, что модель адекватна.
    Для того чтобы вычислить ошибку моделирования, нужно модуль разности между результатом моделирования X и результатом эксперимента X* разделить на результат эксперимента Хи умножить на 100%:

Величина ðХ (читается «дельта икс») называется относительной ошибкой. На практике модель обычно считается адекватной, если относительная ошибка не превышает 10%.

Феофан построил математическую модель, которая позволяет прогнозировать изменение веса кошки. Для какого периода времени модель Феофана адекватна?

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

 

    Основными этапами компьютерного моделирования являются: постановка задачи, построение математической модели и её программная реализация, проведение компьютерного эксперимента, анализ его результатов и уточнение модели (при необходимости).

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

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

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

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

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

    Рассмотренные этапы во многом аналогичны этапам разработки современного программного обеспечения, которые при этом называются несколько иначе (рис. 2.8).

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

    На этапе проектирования составляются требования к программе, определяются её технические характеристики, выбираются алгоритмы реализации программы.

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

 

Выполнить домашнюю работу

 

Выполнить классную работу