Компьютерное моделирование. Компьютерный эксперимент
У современного компьютера много направлений использования. Среди них, как вы знаете, особое значение имеют возможности компьютера как средства автоматизации информационных процессов. Но не менее значимы и его возможности как инструмента проведения экспериментальной работы и анализа ее результатов.
Вычислительный эксперимент давно известен в науке. Вспомните открытие планеты Нептун «на кончике пера». Нередко результаты научных исследований считаются достоверными, только если они могут быть представлены в виде математических моделей и подтверждены математическими расчетами. Причем, относится это не только к физике
или техническому конструированию, но и к социологии, лингвистике, маркетингу — традиционно гуманитарным дисциплинам, далеким от математики.
Вычислительный эксперимент является теоретическим методом познания. Развитием этого метода является численное моделирование — сравнительно новый научный метод, получивший широкое распространение благодаря появлению ЭВМ.
Численное моделирование широко используется и на практике, и при проведении научных исследований.
Пример.Без построения математических моделей и проведения самых разных расчетов над постоянно изменяющимися данными, поступающими с измерительных приборов, невозможна работа автоматических производственных линий, автопилотов, станций слежения, систем автоматической диагностики. Причем для обеспечения надежности систем расчеты должны проводиться в режиме реального времени, а их погрешности могут составлять миллионные доли процента.
Пример.Современного астронома чаще можно увидеть не у окуляра телескопа, а перед дисплеем компьютера. Причем не только теоретика, но и наблюдателя. Астрономия — необычная наука. Она, как правило, не может непосредственно экспериментировать с объектами исследований. Различные виды излучения (электромагнитное, гравитационное, потоки нейтрино или космических лучей) астрономы только «подсматривают» и «подслушивают». Значит, нужно научиться извлекать максимум информации из наблюдений и воспроизводить их в расчетах для проверки гипотез, описывающих эти наблюдения. Применения компьютеров в астрономии, как и в других науках чрезвычайно разнообразны. Это и автоматизация наблюдений, и обработка их результатов (астрономы видят изображения не в окуляре, а на мониторе, соединенным со специальными приборами). Компьютеры также необходимы для работы с большими каталогами (звезд, спек-тальных анализов, химических соединений и пр.).
Пример.Всем известно выражение «буря в стакане воды». Чтобы детально исследовать такой сложный гидродинамический процесс, как буря, необходимо привлекать сложные методы численного моделирования. Поэтому в крупных гидрометеоцентрах находятся мощные компьютеры: «буря разыгрывается» в кристалле процессора компьютера.
Даже если вы проводите не очень сложные вычисления, но вам нужно повторить их миллион раз, то лучше один раз написать программу, а компьютер повторит ее столько раз, сколько это нужно (ограничением, естественно, будет быстродействие компьютера).
Численное моделирование может быть самостоятельным методом исследования, когда интерес представляют только значения каких-то показателей (например, себестоимости продукции или интегрального спектра галактики), но чаще оно выступает одним из средств построения компьютерных моделей в более широком смысле этого термина.
Исторически сложилось так, что первые работы по компьютерному моделированию были связаны с физикой, где с помощью численного моделирования решался целый класс задач гидравлики, фильтрации, теплопереноса и теплообмена, механики твердого тела и т. п. Моделирование, в основном, представляло собой решение сложных нелинейных задач математической физики и по существу было, конечно, моделированием математическим. Успехи математического моделирования в физике способствовали распространению его на задачи химии, электроэнергетики, биологии, причем схемы моделирования не слишком отличались друг от друга. Сложность решаемых на основе моделирования задач ограничивалась лишь мощностью имеющихся ЭВМ. Данный вид моделирования широко распространен и в настоящеее время. Более того, за время развития численного моделирования накоплены целые библиотеки подпрограмм и функций, облегчающих применение и расширяющих возможности моделирования. И все же в настоящее время понятие «компьютерное моделирование» обычно связывают не с фундаментальными естественно-научными дисциплинами, а в первую очередь с системным анализом сложных систем с позиций кибернетики (то есть с позиций управления, самоуправления, самоорганизации). И сейчас компьютерное моделирование широко используется в биологии, макроэкономике, при создании автоматизированных систем управления и пр.
Пример.Вспомните эксперимент Пиаже, описанный в предыдущем параграфе. Его, конечно же можно было бы провести не с реальными предметами, а с анимационным изображением на экране дисплея. Но ведь движение игрушек можно было бы заснять на обычную кинопленку и демонстрировать ее по телевизору. Целесообразно ли называть использование компьютера в этом случае компьютерным моделированием?
Пример. Моделью полета тела, брошенного вертикально вверх или под углом к горизонту, является, например, график высоты тела в зависимости от времени. Построить его можно
а) на листе бумаги по точкам;
б) в графическом редакторе по тем же точкам;
в) с помощью программы деловой графики, например, в
электронных таблицах;
г) написав программу, которая не только выводит на эк
ран траекторию полета, но и позволяет задавать различ
ные исходные данные (угол наклона, начальную ско
рость).
Почему вариант б) не хочется называть компьютерной моделью, а варианты в) и г) вполне соответствуют этому названию?
Под компьютерной моделью часто понимают программу (или программу плюс специальное устройство), которая обеспечивает имитацию характеристик и поведения определенного объекта. Результат выполнения этой программы также называют компьютерной моделью.
В специальной литературе термин «компьютерная модель» более строго определяется так:
• условный образ объекта или некоторой системы объектов (процессов, явлений), описанный с помощью взаимосвязанных компьютерных таблиц, блок-схем, диаграмм, графиков, рисунков, анимационных фрагментов, гипертекстов и так далее и отображающий структуру (элементы и взаимосвязи между ними) объекта. Компьютерные модели такого вида называют структурно-функциональными;
• отдельную программу или совокупность программ, позволяющих с помощью последовательности вычислений и графического отображения их результатов воспроизводить (имитировать) процессы функционирования объекта при условии воздействия на него различных, как правило случайных, факторов. Такие модели называют имитационными.
Компьютерные модели могут быть простыми и сложными. Простые модели вы неоднократно создавали, когда изучали программирование или строили свою базу данных. В системах трехмерной графики, экспертных системах, автоматизированных системах управления строятся и используются очень сложные компьютерные модели.
Пример.Идея построить модель деятельности человека с помощью компьютера не нова, и трудно найти такую область деятельности, в которой ее не пытались бы реализовать. Экспертные системы — компьютерные программы, моделирующие действия эксперта-человека при решении задач в какой-либо предметной области на основе накопленных знаний, составляющих базу знаний. ЭС решают задачу моделирования умственной деятельности. Из-за сложности моделей разработка ЭС занимает, как правило, несколько лет.
Современные экспертные системы кроме базы знаний имеют еще и базу прецедентов — например, результаты обследования реальных людей и информацию о последующей успешности/неуспешности их деятельности. Для примера, база прецедентов экспертной системы Нью-Йоркской полиции — 786 000чел., Центра «Хобби» (кадровая политика на предприятии) — 512 000чел., причем по словам специалистов этого центра, разрабатываемая ими ЭС заработала с ожидаемой точностью, только когда база перевалила за 200 000человек, на ее создание ушло 6 лет.
Пример.Прогресс в создании компьютерных графических изображений продвинулся от каркасных образов трехмерных моделей с простым полутоновым изображением до современных реалистических картинок, являющихся образцами искусства. Это явилось результатом успеха в более точном определении среды моделирования. Прозрачность, отражение, тени, модели освещения и свойства поверхности — вот несколько областей, где напряженно работают группы исследователей, постоянно предлагающие новые алгоритмы создания все более реалистичных искусственных образов. Сегодня эти методы применяются и для создания качественной анимации.
Практические потребности вкомпьютерном моделировании ставят задачи перед разработчиками аппаратных средствкомпьютера. То есть метод активно влияет не только на появление все новых и новых программ,но ина развитиетехнических средств.
Пример.Впервые о компьютерной голографии заговорили в 80-х годах. Так, в системах автоматизированного проектирования, в геоинформационных системах было бы неплохо иметь возможность не просто посмотреть интересующий объект в трехмерном виде, но представить его в виде го-лограмы, которую можно повернуть, наклонить, заглянуть внутрь нее. Чтобы создать голографическую картинку, полезную в реальных приложениях, необходимы
Рис. 4.2.1
Пример
голографической
картинки
дисплеи с гигантским количеством пикселей — до миллиарда. Сейчас такая работа активно ведется. Одновременно с разработкой голографического дисплея полным ходом идет работа по созданию трехмерной рабочей станции на основе принципа, получившего название «подмена реальности». За этим термином стоит идея широкого применения всех тех естественных и интуитивных методов, которые человек использует при взаимодействии с натурными (вещественно-энергетическими) моделями, но при этом делается упор на их всестороннее улучшение и развитие с помощью уникальных возможностей цифровых систем. Предполагается, например, что будет возможность манипулирования и взаимодействия с компьютерными голограммами в реальном времени с помощью жестов и прикосновений.
Компьютерное моделирование имеет следующие преимущества:
• дает возможность рассчитать параметры эффектов, изучение которых в реальных условиях невозможно, либо очень затруднительно по технологическим причинам;
• позволяет моделировать и изучать явления, предсказываемые любыми теориями;
• является экологически чистым и не представляет опасности для природы и человека;
• обеспечивает наглядность;
• доступно в использовании.
Основное преимущество компьютерного моделирования заключается в том, что оно позволяет не только пронаблюдать, но и предсказать результат эксперимента при каких-то особых условиях. Благодаря этой возможности этот метод нашел применение в биологии, химии, социологии, экологии, физике, экономике и многих других сферах знания.
Компьютерное моделирование широко используется в обучении. С помощью специальных программ можно посмотреть модели таких явлений, как явления микромира и мира с астрономическими размерами, явления ядерной и квантовой физики, развитие растений и превращения веществ при химических реакциях.
Подготовка специалистов многих профессий, особенно таких, как авиадиспетчеры, пилоты, диспетчеры атомных и электростанций, осуществляется с помощью тренажеров, управляемых компьютером, моделирующим реальные ситуации, в том числе аварийные.
На компьютере можно провести лабораторные работы, если нет необходимых реальных устройств и приборов или если решение задачи требует применения сложных математических методов и трудоемких расчетов.
Компьютерное моделирование дает возможность «оживить» изучаемые физические, химические, биологические, социальные законы, поставить с моделью ряд экспериментов. Но не стоит забывать, что все эти эксперименты носят весьма условный характер и познавательная ценность их тоже весьма условна.
Пример. До практического использования реакции ядерного распада физики-ядерщики просто не знали о вреде радиации, но первое массовое применение «достижений» (Хиросима и Нагасаки) четко показало, насколько радиация
с опасна для человека. Начни физики с ядерных электро-
станций, человечество долго еще не узнало бы о вреде радиации. Достижение химиков начала прошлого века -мощнейший пестицид ДДТ — достаточно долго считался абсолютно безопасным для человека-
В условиях применения мощных современных технологий, широкого тиражирования и бездумного использования ошибочных программных продуктов такие узкоспециальные, казалось бы, вопросы, как адекватность компьютерной модели реальности, могут приобрести весомое общечеловеческое значение.
Компьютерные эксперименты — это инструмент исследования моделей, а не природных или социальных явлений.
Поэтому одновременно с компьютерным экспериментом всегда должен идти натурный, чтобы исследователь, сравнивая их результаты, мог оценить качество соответствующей модели, глубину наших представлений о сути явлений при-
роды. Не стоит забывать, что физика, биология, астрономия, информатика это науки о реальном мире, а не о виртуальной реальности.
В научных исследованиях, как фундаментальных так и практически направленных (прикладных), компьютер нередко выступает как необходимый инструмент экспериментальной работы.
Компьютерный эксперимент чаще всего связан:
• с проведением сложных математических расчетов (чис
ленное моделирование);
• с построением и исследованием наглядных и/или дина
мических моделей (компьютерное моделирование).
Под компьютерной моделью понимается программа (или программа в совокупности со специальным устройством), которая обеспечивает имитацию характеристик и поведения определенного объекта, а также результат выполнения этой программы в виде графических изображений (неподвижных или динамических), числовых значений, таблиц и пр.
Различают структурно-функциональные и имитационные компьютерные модели.
Структурно-функциональнаякомпьютерная модель — это условный образ объекта или некоторой системы объектов (процессов, явлений), описанный с помощью взаимосвязанных компьютерных таблиц, блок-схем, диаграмм, графиков, рисунков, анимационных фрагментов, гипертекстов и так далее и отображающий структуру объекта или его поведение.
Имитационная компьютерная модель — это отдельная программа или программный комплекс, позволяющий с помощью последовательности вычислений и графического отображения их результатов воспроизводить (имитировать) процессы функционирования объекта при условии воздействия на него различных случайных факторов.
Компьютерное моделирование — метод решения задачи анализа или синтеза системы (чаще всего сложной системы) на основе использования ее компьютерной модели.
Преимущества компьютерного моделированиязаключаются в том, что оно:
• дает возможность рассчитать параметры и смоделировать явления, процессы и эффекты, изучение которых в реальных условиях невозможно либо очень затруднительно;
• позволяет не только пронаблюдать, но и предсказать результат эксперимента при каких-то особых условиях;
• позволяет моделировать и изучать явления, предсказываемые любыми теориями;
• является экологически чистым и не представляет опасности для природы и человека;
• обеспечивает наглядность;
• доступно в использовании.
Метод компьютерного моделирования нашел применение в биологии, химии, социологии, экологии, физике, экономике, лингвистике, юриспруденции и многих других сферах знания.
Компьютерное моделирование широко используется в обучении, подготовке и переподготовке специалистов:
• для наглядного представления моделей явлений микромира и мира с астрономическими размерами;
• для имитации процессов, происходящих в мире живой и неживой природы
• для моделирования реальных ситуаций управления сложными системами, в том числе аварийных ситуаций;
• для проведения лабораторных работ, когда нет необходимых устройств и приборов;
• для решения задач, если при этом требуется применение сложных математических методов и трудоемких расчетов.
Важно помнить, что на компьютере моделируется не объективная реальность, а наши теоретические представления о ней. Объектом компьютерного моделирования являются математические и другие научные модели, а не реальные объекты, процессы, явления.
Компьютерные эксперименты — это инструмент исследования моделей, а не природных или социальных явлений.
Критерием верности любого из результатов компьютерного моделирования был и остается натурный (физический, химический, социальный) эксперимент. В научных и практических исследованиях компьютерный эксперимент может лишь сопутствовать натурному, чтобы исследователь, срав-
нивая их результаты, мог оценить качество модели, глубину наших представлений о сути явлений природы.
Важно помнить, что физика, биология, астрономия, экономика, информатика — это науки о реальном мире, а не о виртуальной реальности.
Задание 1
Письмо, написанное в текстовом редакторе и отправленное по электронной почте, вряд ли кто-нибудь назовет компьютерной моделью.
Текстовые редакторы часто позволяют создавать не только обычные документы (письма, стаьи, отчеты), но и шаблоны документов, в которых есть постоянная информация, которую пользователь не может изменить, есть поля данных, которые заполняются пользователем, а есть поля, в которых автоматически производятся расчеты на основании введенных данных. Можно ли такой шаблон рассматривать как компьютерную модель? Если да, то что в этом случае является объектом моделирования и какова цель создания подобной модели?
Задание 2
Вы знаете, что перед тем, как создавать базу данных, сначала нужно построить модель данных. Вам также известно, что алгоритм — это модель деятельности.
И модели данных и алгоритмы чаще всего разрабатываются в расчете на компьютерную реализацию. Можно ли сказать, что в какой-то момент они становятся компьютерной моделью, и если да, то когда это происходит?
Примечание. Проверьте свой ответ на соответствие определению понятия «компьютерная модель».
Задание 3
Опишите этапы построения компьютерной модели на примере разработки программы, имитирующей какое-нибудь физическое явление.
Задание 4
Приведите примеры, когда компьютерное моделирование принесло реальную пользу и когда оно привело к нежелательным последствиям. Подготовьте доклад на эту тему.