Компьютерное моделирование


Компьютерная модельэто модель реального процесса или явления, реализованная компьютерными средствами. Если состояние системы меняется со временем, то модели называют динамическими, в противном случае статистическими.

Процессы в системе могут протекать по-разному в зависимости от условий, в которых находится система. Следить за поведением реальной системы при различных условиях бывает трудно, а иногда и невозможно. В таких случаях, построив модель, можно многократно возвращаться к начальному состоянию и наблюдать за ее поведением. Этот метод исследования систем называется имитационным моделированием.

Примером имитационного моделирования может служить вычисления числа π=3,1415922653…

методом Монте-Карло. Этот метод позволяет определять площади и объемы фигур (тел), которые сложно вычислить другими методами. Предположим, что требуется определить площадь круга. Опишем вокруг него квадрат (площадь которого, как известно, равна квадрату его стороны) и будем случайным образом бросать в квадрат точки, проверяя каждый раз, попала ли точка в круг или нет. При большом числе точек отношение площади круга к площади квадрата будет стремиться к отношению числа точек, попавших в круг, к общему числу брошенных точек.

Теоретическая основа этого метода была известна давно, однако до появления компьютеров этот метод не мог найти сколько-нибудь широкого применения, ибо моделировать случайные величины вручную – очень трудоемкая работа. Название метода происходит от города Монте-Карло в княжестве Монако, знаменитого своими игорными домами, ибо одним из механических приборов для получения случайных величин является рулетка.

Следует отметить, что данный метод вычисления площади круга будет давать корректный результат, только если точки будут не просто случайно, но еще и равномерно разбросаны по всему квадрату. Для моделирования равномерно распределенных в интервале от 0 до 1 случайных чисел используется датчик случайных чисел- специальная компьютерная программа. На самом деле эти числа определяются по некоторому алгоритму и уже в силу этого они не являются вполне случайными. Получаемые таким способом числа часто называются - псевдослучайными. Вопрос о качестве датчиков случайных чисел весьма не прост, однако для решения не слишком сложных задач обычно достаточно возможностей датчиков, встроенных в большинство систем программирования и электронных таблиц.

Заметим, что располагая датчиком равномерно распределенных случайных чисел, генерируются числа r из интервала (0;1), легко получить равномерно распределенные случайные числа на произвольном интервале (а;b) по формуле

Х=a +(b-a)*r

Задания

1. Разработайте модель случайного одномерного блуждания (модель «пьяницы»). Блуждание задается по правилу: если случайное число из отрезка (0;1) меньше 0,5, то делается шаг влево, в противном случае - вправо.

Для реализации модели используйте электронную таблицу. Предположим, что в начальный момент объект наблюдения находится в точке с у - координатой равной у0. Если случайное число больше 0.5 то у - координата увеличивается на 1, в противном случае- уменьшается на 1.

Для наглядности процесса блуждания постройте диаграмму, отражающую местоположение объекта. При пересчете таблицы датчики выдадут новые последовательности чисел, и траектория блуждания изменится.

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

2. Постройте модель хаотического блуждания точки на плоскости с возможностью делать шаги влево - вправо - вверх- вниз.

Клеточные автоматы

Моделирование событий реального мира может производиться многими способами. Явления микромира достаточно хорошо описываются моделями, построенными на математике бесконечного и непрерывного. События же, происходящие в микромире, плохо поддаются описанию подобным способом и требуют применения других принципов моделирования.

Еще в 1917 году А.Н. Колмогоровым давался прогноз, что с «развитием современной вычислительной техники будет во многих случаях разумно изучение реальных явлений вести, избегая промежуточный этап их стилизации в духе математики бесконечного и непрерывного , переходя сразу к дискретным моделям».сейчас уже можно с уверенностью сказать, что этот прогноз сбылся, так как появилось большое количество разнообразных математических систем, основанных на принципе мелкозернистого параллелизма, и, самое главное, появились программные и аппаратные комплексы, способные моделировать работу таких систем.

Основной отличительной особенностью систем с мелкозернистым параллелизмом является возможность одновременного (параллельного) изменения состояния всей системы, в то время как каждый участок системы взаимодействует только со своими непосредственными соседями. Это свойство позволяет при моделировании связать события, происходящие на микроуровне, с изменениями макроуровневого моделируемого объекта.

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

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

Познакомимся подробнее с игрой «Жизнь», относящейся к категории так называемых моделирующих игр – игр которые в той или иной степени имитируют процессы, происходящие в реальной жизни. Жизнь, как естественный процесс - явление настолько сложное и увлекательное, что тысячи ученых пытались раскрыть ее тайны. Свой вклад в решение этой проблемы внес и человек, не имевший к биологии ни какого отношения, английский математик Джон Хортон Конвей.

Возникающие в процессе придуманной им игры ситуации очень похожи на реальные процессы, происходящие при зарождении, развитии и гибели колонии живых организмов. Они рождаются при благоприятном сочетании соответствующих факторов и умирают, когда условия их существования становятся невыносимыми. Условия рождения и смерти определяются исключительно взаимным расположением участников.

Действие игры происходит на плоскости, разделенной на клетки. Каждая клетка окружена еще 8 такими же клетками (так называемая окрестность Мура) и может находиться в 2х состояниях – живом или мертвом (быть пустой). Гибель и рождение всех организмов происходит одновременно. На состояние любой клетки оказывают влияние только состояния соседних с ней клеток. Во времени эти состояния дискретно изменяются в соответствии со следующими правилами (генетическими законами Конвея).

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

2. Рождение. В пустой клетке появляется новая живая клетка, если у нее ровно 3 соседа.

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

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

Познать «Жизнь» на практике проще всего с помощью листа бумаги в клеточку и ручки. Можно воспользоваться так же шахматной доской и обычными шашками 2х цветов. Еще проще – использовать для этой цели компьютер. Уже на заре развития компьютерной техники были написаны многочисленные программы, моделирующие «Жизнь».

За прошедшие годы исследовании было выявлено большое число интересных фигур, например, такая конструкция как, «часы», которая содержит внутри нечто похожее на стрелку. От шага к шагу эта стрелка поворачивается на 90 градусов, создавая иллюзию вращения ее по кругу.

Планер (glider)- это самый ранний из обнаруженных и наиболее примечательный объект, одной из особенностей которого является его способность спонтанно возникать в совершенно произвольных ситуациях и перемещаться за пределы видимого пространства (в случае, когда движение направленно в противоположную сторону от сосредоточения основных объектов популяции). Через определенное количество шагов планеры покидают пределы основной области и устремляются в «космические дали»

 

 

Как уже было сказано, игра «Жизнь» описывается с помощью теории автоматов. На основе этого примера можно сформулировать общие правила построения клеточных автоматов.

1. Состояние клеток дискретно (обычно 0 или 1, хотя могут быть автоматы и с большим числом состояний).

2. Соседями является ограниченное число клеток, часто это ближайшие клетки.

3. Правила, задающие динамику развития клеточного автомата, обычно имеют простую функциональную форму и зависят от решаемой проблемы.

4. Клеточный автомат является тактируемой системой, т.е. смена состояний клеток происходит одновременно.

5. Клеточные автоматы предоставляют большую свободу в выборе структуры и правил развития системы. Это позволяет моделировать на их основе и решать с их помощью самые разнообразные задачи.

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

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

Задания

1. Постройите модель процесса распространения инфекций стригущего лишая на участке кожи размером n x n (n- нечетное) клеток. Заражение начинается с центральной клетки. Каждый интервал времени пораженная инфекцией клетка может с вероятностью ½ заразить любую из соседних здоровых клеток. Через 6 единиц времени зараженная клетка становится не восприимчивой к инфекции. Возникший иммунитет действует в течение последующих 4 единиц времени, а затем клетка выздоравливает.

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

2. Разработайте имитационную модель системы «хищник-жертва» по следующей схеме. Остров размером 20 *20 заселен дикими кроликами, волками и волчицами. Имеется несколько представителей каждого вида. Кролики довольно глупы : в каждый момент времени они с одинаковой вероятностью 1/9 передвигаются в один из восьми соседних квадратов (за исключением участков, ограниченных береговой линией ) или просто сидят неподвижно. Каждый кролик с вероятностью 0,2 превращается в 2 кроликов. Волчицы передвигаются случайным образом до тех пор, пока в одном из соседних 8 квадратов не окажется кролик. Если волчица и кролик оказывается на одном квадрате, волчица съедает кролика и получает одно очко, в противном случае она теряет 0,1 очка за единицу времени. Волки и волчицы с нулевым количеством очков умирают. В начальный момент времени все волки и волчицы имеют 1 очко. Волк ведет себя подобно волчице до тех пор, пока в соседних квадратах не исчезнут все кролики; в этом случае, если волчица находится в одном из восьми квадратов ближайших квадратов, волк гонится за ней. Если волк и волчица окажутся в одном квадрате, они производят потомство случайного пола. Проследите, как сказываются на эволюции популяции изменение различных параметров модели.



Дата добавления: 2016-06-05; просмотров: 1696;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.012 сек.