SmoothLife — Непрерывная жизнь Конвея


«Игра жизни» Конвея хорошо известна, но как насчет версии, которая работает не на дискретной сетке, а на континууме? В нем есть все черты Life, включая планеры, и он действительно выглядит живым.

В статье, опубликованной в конце прошлого года Стефаном Рафлером, описывается обобщение Жизни на непрерывную область. Он назвал это SmoothLife.

Если вы помните, Life является примером двумерного клеточного автомата и работает с сеткой «ячеек», которые подчиняются двум простым правилам:

если вы живы и у вас меньше двух или больше трех живых соседей, тогда умри

если вы мертвы и у вас ровно трое живых соседей, оживите.

(Если вы хотите увидеть жизнь в действии, у нас есть версия Silverlight)

Вы можете рассматривать многие клеточные автоматы как дискретные приближения к определенным дифференциальным уравнениям. Самым известным, пожалуй, является повторная замена центральной ячейки средним значением ее соседей как способ решения уравнения Лапласа.

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

Теперь у нас есть новое видео Тима Хаттона из SmoothLifeL (конкретная версия правила) в действии в комплекте с планерами:

«SmoothLife — это семейство правил, созданное Стефаном Рафлером. Оно было разработано как непрерывная версия Игры жизни Конвея — с использованием значений с плавающей запятой вместо целых чисел. направление, вращающиеся пары планеров, растяжек и появление упругого напряжения в «шнурах», соединяющих капли ».

Взгляните на себя:

Учитывая то, как движутся и ведут себя капли, трудно не рассматривать их как биологические. Простые правила порождают сложное поведение.

Анимация была создана с использованием Ready — симулятора реакции-диффузии, который использует OpenCL для ускорения работы. Если вас интересуют моделирование непрерывных СА или реакционной диффузии, это хорошее место для начала.

Обновлять

Если вам нужна симуляция SmoothLife на JavaScript, попробуйте: http://jsfiddle.net/CSyUb/


Добавить комментарий