ВУЗ:
Составители:
неприводимыми. Любая величина в нашем мире может быть измерена с
конечной точностью, с конечным числом десятичных цифр.
Существуют законы природы, определяющие программы, алгоритмы,
по которым производятся действия с этими числами. Поэтому
американский исследователь С.Уолфрем предлагает взглянуть на наш
мир как на гигантский компьютер. По его мысли, те процессы, в
моделировании которых успехи невелики (а это хаотические
турбулентные течения, вихри в атмосфере, экономические системы,
биологическая эволюция), описываются неприводимыми алгоритмами.
Не правда ли, рискованный полет — от игры "Жизнь" до прогнозов
погоды?
Другая теория, называемая теорией самоорганизованной
критичности, обязанная своим появлением анализу игры "Жизнь" и
другим играм такого типа, сейчас завоевывает все больше
приверженцев. Ее результаты используют сегодня в космологии,
гидродинамике, в геофизике для прогноза землетрясений, при анализе
химических реакций на поверхности и во многих других областях.
■ Программа “Игра Жизнь”
Игра происходит на двумерной решетке с периодическими граничными условиями. Клетки
решетки имеют значения либо 0, либо 1. Клетка, имеющая значение 1 считается “живой”.
Если такая клетка “умирает”, то ее значение становится 0. Развитие системы происходит
путем одновременного обновления всех клеток за единицу (шаг) времени до тех пор, пока
две следующие друг за другом во времени конфигурации решетки не станут идентичными
или пока не закончится заданное число временных шагов.
▪ Правила игры
Правила основываются на значении клетки (0 -мертвая или 1-живая) и суммы значений
соседних клеток(в том числе и по диагонали).
- Живая клетка, имеющая две такие же живые клетки в качестве соседей остается
живой.
- Клетка, имеющая трех живых соседей, остается живой или рождается.
- Все остальные клетки либо остаются мертвыми, либо погибают.
▪ Алгоритм и построение программы
1. Игра совершается на квадратной решетке со сторонами равными s с первоначальной
конфигурацией, которую зададим следующим образом:
initconfig = Table[Random[Integer],{s},{s}]
2. Запишем матрицу, чьи элементы учитывают число живых соседей в участках решетки
mat.
livingNghbrs[mat_]:=
Apply[Plus, Map[RotateRight[mat, #]&,
{{-1,-1},{-1,0},{-1,1},{0,-1},
{0,1},{1,-1},{1,0},{1,1}}]]
133
Страницы
- « первая
- ‹ предыдущая
- …
- 131
- 132
- 133
- 134
- 135
- …
- следующая ›
- последняя »