Урок 13 Информационное моделирование на компьютере
Содержание урока
Информационное моделирование на компьютере. Компьютерная математическая модель
Информационное моделирование на компьютере Компьютерная математическая модель
Изучаемые вопросы:
— Разновидности компьютерных моделей. — Компьютерная математическая модель и вычислительный эксперимент. — Имитационное моделирование.
Основные темы параграфа:
— вычислительные возможности компьютера; — для чего нужны математические модели; — компьютерная математическая модель; — что такое вычислительный эксперимент; — управление на основе моделей; — имитационное моделирование.
Вычислительные возможности компьютера
Современным инструментом для информационного моделирования является компьютер. Конечно, на компьютере можно писать тексты (строить вербальные модели), рисовать карты и схемы (графические модели), строить таблицы (табличные модели). Но при таком использовании компьютера в моделировании его возможности проявляются не в полной мере.
Для моделирования на компьютере главной является его способность к быстрому счету. Современные компьютеры считают со скоростями в сотни тысяч, миллионы и даже миллиарды операций в секунду.
Учитывая, что расчеты производятся над многозначными числами (10-20 десятичных цифр), вычислительные возможности компьютера феноменальны. Эти возможности проявляются, прежде всего, при компьютерном математическом моделировании.
Для чего нужны математические модели
Многие процессы, происходящие в природе, технике, экономических и социальных системах, описываются сложными математическими соотношениями. Это могут быть уравнения, системы уравнений, системы неравенств и пр., которые являются математическими моделями описываемых процессов.
Математическая модель — это описание моделируемого процесса на языке математики.
В прежние времена, до появления ЭВМ, ученые стремились создавать такие математические модели, которые можно было бы просчитать вручную или с помощью несложных вычислительных механизмов. Поэтому математические модели были относительно простыми. Но простая модель не всегда хорошо описывает процесс. Ошибка расчетов по такой модели может быть слишком большой и полностью обесценить результат.
Еще в XVIII-XIX веках ученые-математики начали изобретать методы решения таких математических задач, которые не удавалось решить точно, аналитически. Например, вы знаете, что квадратное уравнение всегда можно решить точно, а вот кубическое — уже не всегда. Такие методы называются численными методами. Они сводят решение любой задачи к последовательности арифметических операций. Но эта цепочка арифметических вычислений может быть очень длинной. И чем точнее мы хотим получить решение, тем она длиннее.
Может оказаться, что для решения сложной задачи численным методом ученому потребуется вся жизнь. А может и этого не хватить! И какой смысл, например, начинать расчет прогноза погоды на завтрашний день, если для этого потребуется несколько лет работы?
Компьютерная математическая модель
Появление компьютеров сняло эти проблемы. Стало возможным проводить расчеты сложных математических моделей за приемлемое время. Например, рассчитать погоду на завтрашний день до его наступления. Ученые перестали себя ограничивать в сложности создаваемых математических моделей, полагаясь на быстродействие компьютеров.
Компьютерная математическая модель — это программа, реализующая расчеты состояния моделируемой системы по ее математической модели.
Что такое вычислительный эксперимент
Использование компьютерной математической модели для исследования поведения объекта моделирования называется вычислительным экспериментом. Говорят также: численный эксперимент.
Вычислительный эксперимент в некоторых случаях может заменить реальный физический эксперимент.
Важным свойством компьютерных математических моделей является возможность визуализации результатов расчетов. Этим целям служит использование компьютерной графики.
Представление результатов в наглядном виде — важнейшее условие для их лучшего понимания. Например, результаты расчетов распределения температуры в некотором объекте можно представить в виде его разноцветного изображения: участки с самой высокой температурой окрасить в красный цвет, а с самой холодной — в синий. Участки с промежуточными значениями температуры окрашиваются в цвета спектра, равномерно переходящие от красного к синему (рис. 2.7).
Для изображения изменяющихся со временем (динамических) результатов используют графическую анимацию.
Компьютерная графика позволяет человеку в процессе проведения численного эксперимента «заглянуть» в недоступные места исследуемого объекта. Можно получить изображение любого сечения объекта сложной формы с отображением рассчитываемых характеристик: температурных полей, давления и пр. В реальном физическом эксперименте такое можно сделать далеко не всегда. Например, невозможно выполнить измерения внутри работающей доменной печи или внутри звезды. А на модели это сделать можно.
Следующая страницаИнформационное моделирование на компьютере. Управление на основе моделей
Просто о сложном: что такое математическое моделирование и почему нам больше не нужны эксперименты на людях
tany_savelieva
Сегодня математики пытаются помочь медикам представить, как устроены внутренние процессы в организме, или предсказать реакцию конкретного пациента на лечение с помощью языков программирования и без проведения дорогих и опасных экспериментов. Метод математического моделирования применяется в самых разных областях науки, в том числе в физиологии и медицине. В рамках проекта «Физтех.Читалка» молодой ученый, аспирант МФТИ Тимур Гамилов рассказал «Теориям и практикам», как математические модели помогают врачам ставить диагнозы, а спортсменам — рекорды.
«Лего» для ученых
Математическое моделирование начали использовать в спорте и медицине еще в 50-х годах. В этой сфере активно работают математики, информатики и физики различных специализаций. Метод математического моделирования устроен по принципу конструктора «Лего», в котором вместо деталей — данные о состоянии здоровья человека и математические формулы, на основе которых врачи ставят диагноз и составляют план лечения. Используя данные о медицинских показателях, математики и инженеры создают гипотезу, которую затем проектируют и проверяют с помощью специального языка программирования.
Неудивительно, что интерес к математическому моделированию в медицине и спорте растет: в США с 1961 по 2006 год процент бюджетных денег, которые тратятся на медицину, возрос с 4% до 20%. В других странах люди тоже хотят жить долго и хорошо, а готовность властей финансировать науку и текущий уровень развития технологий растут с каждым годом. Поэтому вместо того, чтобы проводить медицинские эксперименты на людях, в качестве подопытных кроликов ученые используют математические модели.
Модель для сборки: инструкция
Для построения любой математической модели необходимы данные. Базовые знания о строении и функционировании организма человека можно найти в анатомических атласах и другой справочной литературе. Но поскольку организм каждого человека уникален, врачи наблюдают за каждым пациентом индивидуально: проводят МРТ, компьютерную томографию, измеряют пульс, давление.
Представим, что перед командой ученых (биологов, математиков, физиков, программистов) стоит задача — помочь в постановке диагноза и поиске метода лечения пациентов со стенозом. Первым делом мы, ученые, должны понять, что такое стеноз, и расспрашиваем об этом врачей. Оказывается, стеноз — это возникновение бляшек на сосудах, которые создают разницу в давлении между участками сосуда. В результате сосуд может не выдержать такой нагрузки и порваться. Диагностируется заболевание двумя путями. Первый — качественный способ: нужно сделать снимок сосуда, найти бляшку и по ее виду сделать вывод. Второй — количественный: через бедренную артерию в нужные участки сосуда вводятся датчики, которые измеряют разницу давлений. Результаты количественного анализа — более точные. Это значит, что можно не оперировать пациента без надобности, а осложнения после лечения будут минимальными. Минусы этого способа — в цене и высоких рисках для пациента. Нужна дешевая и безопасная альтернатива, которая поможет поставить количественный диагноз и принять верное решение о лечении. Такой альтернативой может стать математическая модель процессов, происходящих в организме, связанных с развитием болезни.
В нашем случае нужно понять, по каким законам возникает разница в давлениях внутри сосудов, и записать эти законы в виде уравнений. Модели создаются под каждую проблему, болезнь или задачу. Для начала в уравнения (например, гидродинамики) вписывают величины, примерно одинаковые для всех пациентов — в науке они называются константами. Помимо констант, существуют параметры — показатели, которые учитываются для каждого человека индивидуально: длина, ширина сосудов, частота пульса, вид шума в сосудах. После того как мы вписали в уравнения константы, снимаем данные с пациента и записываем их в уравнения. Так ученые связывают параметры и константы с помощью формул: теперь в готовое уравнение мы подставляем разные значения для разных пациентов, чтобы получить необходимый результат — показатель разницы давлений между участками сосуда. Лечение стеноза, в зависимости от степени тяжести заболевания, врачи проводят либо медикаментозно (когда разница в давлениях небольшая), либо с помощью хирургического вмешательства (для более серьезных случаев).
После того как модель запрограммирована, работа не заканчивается. Во-первых, измерить большую часть параметров, которые нужно внести в уравнения, скорее всего, не получится без огромных затрат и дорогостоящих операций. Например, для детального определения структуры бляшек, упругих свойств сосуда и законов, по которым он меняется со временем, потребуется колоссальное количество сил и средств. Поставить такую технологию на поток вряд ли удастся.
Во-вторых, снятые параметры могут измениться через определенное время. Эластичность сосудов сильно меняется в зависимости от гормонов, которые на данный момент присутствуют в крови. А чтобы предсказать, сколько каких гормонов содержится в кровяном русле в интересующий нас период, нужно замоделировать в буквальном смысле весь организм человека, так как гормональный фон зависит от огромного количества факторов.
Врачи не знают математику, а математики — биологию, однако без диалога невозможна ни одна дисциплина на стыке наук
В-третьих, даже если мы сможем измерить все необходимые параметры и они не станут сильно меняться со временем, измерения, скорее всего, будут неточными. И чем больше параметров мы снимаем, тем активнее будет расти эта неточность. А поскольку в организме от небольшого изменения каждого параметра существенно меняются все остальные величины, такая неточность часто становится критичной. Например, даже несущественное количество введенного лекарства, растворяющего тромбы, может привести к передозировке, которая вызовет серьезное кровотечение.
Решаются эти проблемы путем упрощения модели: ученые по максимуму сокращают количество параметров и уравнений, стараются сделать их проще, или, как говорят математики, оптимизируют систему. Несмотря на технологическое несовершенство, метод математического моделирования уже работает и помогает людям. Благодаря математическому моделированию была создана известная модель токов в клетке Ходжкина — Хаксли, которая помогла описать, как распространяются электрохимические импульсы, передающие информацию в организме по нервным клеткам. Эта разработка считается одним из самых важных открытий неврологии XX века. За нее ученые получили Нобелевскую премию.
В помощь Усэйну Болту
Математически смоделированные стратегии для тренировок — уже рутина для спортивной индустрии. Показатели великого бегуна Усэйна Болта почти совпадают с графиком кривой оптимального темпа для бега на 100 метров в каждый момент времени. На соревнованиях по прыжкам с трамплина на лыжах высота конструкции выбирается с использованием математической модели тел спортсменов так, чтобы нагрузки не стали критичны для организма.
Математика + медицина
Главная трудность в развитии метода пока заключается в том, что значительное количество разработок так и остаются теорией. В повседневное клиническое использование вводится крайне малая часть таких проектов. Ученые видят будущее моделей в их адаптации под реальные условия. Теоретические расчеты нужны и важны для понимания процессов, которые происходят в организме, но не менее важно научиться использовать такие расчеты глобально. Сильно упростит задачу, если пациентам будет легко и понятно снимать показатели самостоятельно.
Ученым из разных областей придется все чаще работать на стыке наук и сотрудничать с инженерами и врачами. Чтобы эти идеи не оставались на страницах научных журналов, а реально помогали людям, математики должны начать взаимодействовать с врачами, которые ставят перед ними конкретные медицинские задачи. Такое взаимодействие (из-за особенностей образования и способа мышления) часто дается обеим сторонам непросто: врачи не знают математику, а математики — биологию, все они пользуются разной терминологией и методами. Однако без подобного диалога невозможна ни одна дисциплина на стыке наук.
С середины XX в. в самых различных областях человеческой деятельности стали широко применять математические методы и ЭВМ. Возникли такие новые дисциплины, как «математическая экономика», «математическая химия», «математическая лингвистика» и т. д., изучающие математические модели соответствующих объектов и явлений, а также методы исследования этих моделей.
Математическая модель — это приближенное описание какого-либо класса явлений или объектов реального мира на языке математики. Основная цель моделирования — исследовать эти объекты и предсказать результаты будущих наблюдений. Однако моделирование — это еще и метод познания окружающего мира, дающий возможность управлять им.
2. Основные этапы математического моделирования
1) Построение модели. На этом этапе задается некоторый «нематематический» объект — явление природы, конструкция, экономический план, производственный процесс и т. д. При этом, как правило, четкое описание ситуации затруднено. Сначала выявляются основные особенности явления и связи между ними на качественном уровне. Затем найденные качественные зависимости формулируются на языке математики, то есть строится математическая модель. Это самая трудная стадия моделирования.
2) Решение математической задачи, к которой приводит модель. На этом этапе большое внимание уделяется разработке алгоритмов и численных методов решения задачи на ЭВМ, при помощи которых результат может быть найден с необходимой точностью и за допустимое время.
3) Интерпретация полученных следствий из математической модели. Следствия, выведенные из модели на языке математики, интерпретируются на языке, принятом в данной области.
4) Проверка адекватности модели. На этом этапе выясняется, согласуются ли результаты эксперимента с теоретическими следствиями из модели в пределах определенной точности.
5) Модификация модели. На этом этапе происходит либо усложнение модели, чтобы она была более адекватной действительности, либо ее упрощение ради достижения практически приемлемого решения.
3. Классификация моделей
Классифицировать модели можно по разным критериям. Например, по характеру решаемых проблем модели могут быть разделены на функциональные и структурные. В первом случае все величины, характеризующие явление или объект, выражаются количественно. При этом одни из них рассматриваются как независимые переменные, а другие — как функции от этих величин. Математическая модель обычно представляет собой систему уравнений разного типа (дифференциальных, алгебраических и т. д.), устанавливающих количественные зависимости между рассматриваемыми величинами. Во втором случае модель характеризует структуру сложного объекта, состоящего из отдельных частей, между которыми существуют определенные связи. Как правило, эти связи не поддаются количественному измерению. Для построения таких моделей удобно использовать теорию графов. Граф — это математический объект, представляющий собой некоторое множество точек (вершин) на плоскости или в пространстве, некоторые из которых соединены линиями (ребрами).
По характеру исходных данных и результатов предсказания модели могут быть разделены на детерминистические и вероятностно-статистические. Модели первого типа дают определенные, однозначные предсказания. Модели второго типа основаны на статистической информации, а предсказания, полученные с их помощью, имеют вероятностный характер.
4. Примеры математических моделей
1) Задачи о движении снаряда.
Рассмотрим следующую задачу механики.
Снаряд пущен с Земли с начальной скоростью v0 = 30 м/с под углом a = 45° к ее поверхности; требуется найти траекторию его движения и расстояние S между начальной и конечной точкой этой траектории.
Тогда, как это известно из школьного курса физики, движение снаряда описывается формулами:
где t — время, g = 10 м/с 2 — ускорение свободного падения. Эти формулы и дают математическую модель поставленной задачи. Выражая t через x из первого уравнения и подставляя во второе, получим уравнение траектории движения снаряда:
Эта кривая (парабола) пересекает ось x в двух точках: x1 = 0 (начало траектории) и (место падения снаряда). Подставляя в полученные формулы заданные значения v0 и a, получим
Отметим, что при построении этой модели использован ряд предположений: например, считается, что Земля плоская, а воздух и вращение Земли не влияют на движение снаряда.
2) Задача о баке с наименьшей площадью поверхности.
Запишем следующие формулы для объема и площади поверхности цилиндра высоты h и радиуса r:
V = p r 2 h, S = 2 p r(r + h).
Выражая h через r и V из первой формулы и подставляя полученное выражение во вторую, получим:
Таким образом, с математической точки зрения, задача сводится к определению такого значения r, при котором достигает своего минимума функция S(r). Найдем те значения r0, при которых производная
обращается в ноль:Можно проверить, что вторая производная функции S(r) меняет знак с минуса на плюс при переходе аргумента r через точку r0. Следовательно, в точке r0 функция S(r) имеет минимум. Соответствующее значение h0 = 2r0. Подставляя в выражение для r0 и h0 заданное значение V, получим искомый радиус и высоту
3) Транспортная задача.
В городе имеются два склада муки и два хлебозавода. Ежедневно с первого склада вывозят 50 т муки, а со второго — 70 т на заводы, причем на первый — 40 т, а на второй — 80 т.
Обозначим через aij стоимость перевозки 1 т муки с i-го склада на j-й завод (i, j = 1,2). Пусть
Как нужно спланировать перевозки, чтобы их стоимость была минимальной?
Придадим задаче математическую формулировку. Обозначим через x1 и x2 количество муки, которое надо перевезти с первого склада на первый и второй заводы, а через x3 и x4 — со второго склада на первый и второй заводы соответственно. Тогда:
Общая стоимость всех перевозок определяется формулой
С математической точки зрения, задача заключается в том, чтобы найти четыре числа x1, x2, x3 и x4, удовлетворяющие всем заданным условиям и дающим минимум функции f. Решим систему уравнений (1) относительно xi (i = 1, 2, 3, 4) методом исключения неизвестных. Получим, что
а x4 не может быть определено однозначно. Так как xi і 0 (i = 1, 2, 3, 4), то из уравнений (2) следует, что 30 Ј x4 Ј 70. Подставляя выражение для x1, x2, x3 в формулу для f, получим
Легко видеть, что минимум этой функции достигается при максимально возможном значении x4, то есть при x4 = 70. Соответствующие значения других неизвестных определяются по формулам (2): x1 = 40, x2 = 10, x3 = 0.
4) Задача о радиоактивном распаде.
5) Задача о коммивояжере.
Коммивояжеру, живущему в городе A1, надо посетить города A2, A3 и A4, причем каждый город точно один раз, и затем вернуться обратно в A1. Известно, что все города попарно соединены между собой дорогами, причем длины дорог bij между городами Ai и Aj (i, j = 1, 2, 3, 4) таковы:
Надо определить порядок посещения городов, при котором длина соответствующего пути минимальна.
Найдем теперь длины этих циклов (в км): L1 = 160, L2 = 180, L3 = 200. Итак, маршрут наименьшей длины — это первый.
Заметим, что если в графе n вершин и все вершины попарно соединены между собой ребрами (такой граф называется полным), то число циклов, проходящих через все вершины, равно Следовательно, в нашем случае имеется ровно три цикла.
6) Задача о нахождении связи между структурой и свойствами веществ.
Требуется найти приближенную зависимость между температурой кипения и числом n для этих соединений. Предположим, что эта зависимость имеет вид
где a, b — константы, подлежащие определению. Для нахождения a и b подставим в эту формулу последовательно n = 3, 4, 5, 6 и соответствующие значения температур кипения. Имеем:
Для определения наилучших a и b существует много разных методов. Воспользуемся наиболее простым из них. Выразим b через a из этих уравнений:
b » – 42 – 3a, b » – 4a, b » 28 – 5a, b » 69 – 6a.
Возьмем в качестве искомого b среднее арифметическое этих значений, то есть положим b » 16 – 4,5a. Подставим в исходную систему уравнений это значение b и, вычисляя a, получим для a следующие значения: a » 37, a » 28, a » 28, a » 36. Возьмем в качестве искомого a среднее значение этих чисел, то есть положим a » 34. Итак, искомое уравнение имеет вид
Проверим точность модели на исходных четырех соединениях, для чего вычислим температуры кипения по полученной формуле:
Таким образом, ошибка расчетов данного свойства для этих соединений не превышает 5°. Используем полученное уравнение для расчета температуры кипения соединения с n = 7, не входящего в исходное множество, для чего подставим в это уравнение n = 7: yр(7) = 99°. Результат получился довольно точный: известно, что экспериментальное значение температуры кипения yэ(7) = 98°.
7) Задача об определении надежности электрической цепи.
Суммой событий A и B называется событие A + B, состоящее в том, что в опыте происходит хотя бы одно из них. Произведением событий A и B называется событие AB, состоящее в одновременном появлении этих событий. Для независимых событий A и B верны формулы
P(AB) = P(A)•P(B), P(A + B) = P(A) + P(B).
8) Рассмотрим теперь следующую задачу. Предположим, что в электрическую цепь последовательно включены три элемента, работающие независимо друг от друга. Вероятности отказов 1-го, 2-го и 3-го элементов соответственно равны P1 = 0,1, P2 = 0,15, P3 = 0,2. Будем считать цепь надежной, если вероятность того, что в цепи не будет тока, не более 0,4. Требуется определить, является ли данная цепь надежной.
Так как элементы включены последовательно, то тока в цепи не будет (событие A), если откажет хотя бы один из элементов. Пусть Ai — событие, заключающееся в том, что i-й элемент работает (i = 1, 2, 3). Тогда P(A1) = 0,9, P(A2) = 0,85, P(A3) = 0,8. Очевидно, что A1A2A3 — событие, заключающееся в том, что одновременно работают все три элемента, и
В заключение отметим, что приведенные примеры математических моделей (среди которых есть функциональные и структурные, детерминистические и вероятностные) носят иллюстративный характер и, очевидно, не исчерпывают всего разнообразия математических моделей, возникающих в естественных и гуманитарных науках.