| Вестник ОмГУ | Выпуск | Тематика | Литература |
| Вестник Омского университета, 1999, Вып. 2. С. 23-25. © Омский государственный университет, 1999 |
УДК 681.3.06:519.6 |
В.В. Коробицын, А.К. Гуц
Омский государственный университет, кафедра математического моделирования
644077, Омск, пр. Мира, 55-A
Получена 28 декабря 1998 г.
| Software for modeling evolutionary processes is presented. Itcan be used for simulation of ecological, ethnic, social and mentalprocesses. Mathematical basis for modeling is the systems of differentialequations. Some examples are applied. |
Идея применения методов компьютерного моделирования в социологии и политологии потребовала создания специального программного обеспечения. Такие пакеты программ должны быть не только приспособлены для решения задач по описанию состояний эволюционирующих экологических, этнических и социальных систем, но и иметь удобный для специалистов соответствующего профиля пользовательский интерфейс.
В США и других странах Запада в данное время бурно развивается
направление компьютерного экспериментирования в области социальных процессов
(social simulation), основывающееся на понятии много-агентной системы
(multy-agents system). При моделировании социальной системы проводится
параллель
между общественными объектами-единицами и отношениями между ними
и объектами и процедурами в объектно-ориентированном программировании.
"Учи язык программирования C++!" - вот призыв энтузиастов,
работающих в данной
области междисциплинарных исследований. Цель этой группы людей из разных
областей науки - проследить, как из механизмов поведения индивидуумов
(объектов) происходит рождение социальных структур. Здесь используется
различное программное обеспечение. Особую известность приобрел пакет
,
созданный в Институте г. Санта-Фе (США) [1].
Важна и другая сторона в описании общества - глобально-системная, когда
констатируется наличие социальной структуры и прослеживается ее эволюция.
Авторы развивают данное направление в математической социологии и используют
для описания эволюции структур системы дифференциальных уравнений и
собственное программное обеспечение
.
Программный продукт
- "Моделирование Эволюционных
Процессов" - был создан для осуществления компьютерного моделирования
динамических непрерывно-детерминированных систем. Математическая модель
такой системы представляет собой систему дифференциальных уравнений
первого порядка:
- вектор, компоненты которого являются внутренними
переменными системы;
- вектор-функция описывающая поведение
системы; t- переменная времени;
- вектор состояния
системы в начальный момент времени t0.
Поскольку в левой части уравнения стоит производная по времени, то эти системы мы можем назвать эволюционирующими. Решением такой системы уравнений при заданных начальных данных будет траектория в пространстве компонент системы, показывающая изменение ее состояний во времени. Именно такая траектория, а точнее, ее проекции являются результатом работы нашего программного продукта, т. е. это графики изменений значений компонент во времени.
Программный продукт легко настраивается (см.пункт 1) на решение необходимой задачи типа (1), а в наших исследованиях - это системы эволюции биосферы, этносферы и социосферы. Система уравнений модели биосферы содержит двадцать четыре дифференциальных уравнения, этносферы - семь уравнений и социосферы - четыре уравнения.
Для нахождения решения задачи (1) используется численный метод интегрирования систем дифференциальных уравнений, который будет описан ниже в пункте 2.
К недостаткам пакета
следует отнести то, что в нем используется
малораспространенный язык
программирования MODULA - 2 и отсутствует на данный момент полное
тестирования пакета на эталонных задачах.
Пакет
свободно распространяется и доступен в Интернет по
адресу
http://www.univer.omsk.su/MEP/
Использование пакета программ
предполагает наличие
математической модели эволюционирующей системы (процесса),
реализованной в виде системы
дифференциальных уравнений (1). Построение такой модели - дело каждого
конкретного исследователя. В книге [2], например, приведены различные
модели для биогеоценозов, этноценозов и общества.
Для того чтобы с помощью пакета
исследовать
новую модель эволюционирующей системы, описываемой уравнениями (1),
необходимо проделать три этапа:
1) написать модуль расчета правых частей системы (1);
2) создать файл исходных данных;
3) запустить программу расчета.
Первый этап представляет собой написание программного модуля на языке MODULA-2, в котором реализованы все функции, представленные в правой части системы уравнений. Количество функций ровно количеству уравнений в системе: первая функция - правая часть первого уравнения, вторая - второго и т.д. Кроме этого, модуль содержит еще одну процедуру. Она обеспечивает перевод исходных данных, считанных с диска, в переменные участвующих в расчетах. Эти данные представляют собой набор коэффициентов и значения начальных данных системы.
Второй этап работы заключается в том, чтобы создать файл исходных данных. Для этого запускается программа, и если были внесены изменения в ее исходный код, т. е. если был проделан первый этап, то автоматически запускается компилятор. Скомпилированная программа уже знает и умеет работать с вашей системой, но ей недостает только исходных данных. В этом случае нужно выбрать в меню команду "Создать новый файл данных" и начать создавать его. Сначала вводится опознавательный номер, чтобы обеспечить связь данных с функциями уравнений. Далее вводится имя вашей системы, а затем сами исходные данные, которые могут быть представлены тремя типами:
1) векторные коэффициенты;
2) матричные коэффициенты;
3) начальные данные.
Поскольку программа предназначена для моделирования одновременно нескольких однотипных систем, например, нескольких этносов или нескольких геобиоценозов, то первый тип данных называется "векторные коэффициенты". Это название подчеркивает тот факт, что одно и то же имя коэффициента будет иметь несколько значений: именно столько, сколько однотипных систем участвует в расчете. Второй тип называется "матричные коэффициенты", подчеркивающий различие от первого, которое заключается в том, что каждый такой коэффициент имеет n2 значений, где n - количество однотипных систем. Обычно эти коэффициенты используются для описания взаимодействия однотипных систем, например, обмен знаниями, культурой, взаимные людские потери в войнах и пр. Третий тип данных содержит начальные данные подсистем, формирующих задачу Коши для исследуемой модели.
После того как файл исходных данных создан, можно приступать к расчетам. Для этого выбирается команда "Расчет эволюции". На экране появляется сетка графика, и на ней различными цветами постепенно выводятся графики изменения состояний подсистем. После окончания расчета можно более подробно рассмотреть тот или иной участок графика. Можно сказать, что первый вариант вашей модели готов. Дальнейшие эксперименты можно проводить с моделью, изменяя коэффициенты системы, начальные данные и сами функции. При этом необходимо постоянно следить за соответствием файла уравнений и файла исходных данных.
Полученные после расчета графики можно распечатать или вставить в электронном виде в документ, статью или книгу. То, что видит пользователь на экране компьютера при проведении расчетов, показано на рисунке.
Рис.1
Решение задачи Коши производится численным методом, который представляет собой комбинацию двух вычислительных методов: одношагового метода Рунге-Кутта 6-го порядка точности и многошагового метода Адамса 5-го порядка. Методы построены на основе автоматического выбора шага интегрирования, что позволяет достичь нахождения решения с заданной точностью. Если оценка погрешности вычислений возрастает, то шаг интегрирования уменьшается и, наоборот, если погрешность уменьшается, то шаг увеличивается. Поскольку метод Адамса построен на сетке из четырех узлов, то уменьшение и увеличение шага интегрирования для этого метода производится в 2 раза, что позволяет использовать значения в уже известных двух узлах. Для нахождения значений в неизвестных узлах используется метод Рунге-Кутта, и когда сетка снова восстановлена, продолжает работу метод Адамса. Выбор шага для метода Рунге-Кутта производится на каждом шаге, он выбирается в соответствии с оценкой погрешности вычислений. Исследование устойчивости этих методов дано в книге [3].
Комбинация этих двух методов позволяет найти решение задачи с заданной точностью за достаточно короткое время. Многошаговые методы имеют гораздо более высокую скорость расчета, чем одношаговые. Но работа многошагового метода невозможна без построения сетки, для чего и используется одношаговый метод.
Описанное в статье программное обеспечение
было использовано для
моделирования эволюции земной биосферы (в предположении единого геобиоценоза),
этногенеза по Гумилеву и развития общества в рамках теории Парсонса.
Результаты моделирования этих
систем опубликованы в [2,4,5,6,7].
Программное обеспечение
проявило себя как достаточно надежный
инструмент для быстрых расчетов эволюции земной биосферы на временном отрезке
длительностью в 1200 лет []. Правда, рассматривалась учебная
модель, предполагающая, что Земля - это одна единственная
экологическая система (геобиоценоз). Тем не
менее, полученные результаты позволяют проследить динамику развития
основных параметров земной биосферы.
| [1] | The Swarm Simulation System. - http://www.santafe.edu/projects/swarm/ |
| [2] | Гуц А.К. Глобальная этносоциология. Омск: ОмГУ, 1997. |
| [3] | Дж. Ортега, У. Пул. Введение в численные методы решения дифференциальных уравнений. М.: Наука, 1986. |
| [4] | Гуц А.К., Коробицын В.В. Компьютерное моделирование этнических процессов. Деп.в ВИНИТИ 2903-B97. 23c. |
| [5] | Коробицын В.В. Компьютерное моделирование биосферных процессов // Математические структуры и моделирование. Вып.3. Омск: ОмГУ, 1999. С.95-107. http://www.univer.omsk.su/MEP/dipkor/mydw.htm. |
| [6] | Лаптев А.А. Математическое моделирование социальных процессов. Деп.в ВИНИТИ 2904 - B97. 23c. |
| [7] |
Лаптев А.А. Математическое моделирование социальных процессов
// Математические структуры и моделирование. Вып.3. Омск:
ОмГУ, 1999. С.108-123. http://www.univer.omsk.su/MEP/diplap/dipl.htm
Представление результатов работы программы
на экране дисплея
|