ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ МЕТОД КЛЕТОЧНЫХ АВТОМАТОВ В МАТЕМАТИЧЕСКОМ МОДЕЛИРОВАНИИ Зубко Иван Юрьевич доцент кафедры «Математическое моделирование систем и процессов» Проект «Одаренные дети. Математика» 1 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Одним из простых, но эффективных с вычислительной точки зрения имитационных подходов к моделированию физических процессов является подход клеточных автоматов • При этом пространство и время считаются дискретными, а физические величины в каждой точке моделируемой среды могут принимать конечное множество дискретных значений Проект «Одаренные дети. Математика» 2 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Для КА существует достаточно развитая теория • В ее основу легли работы Дж. фон Неймана, в 1948 году он ввел в науку само понятие «клеточный автомат» при разработке первой компьютерной модели биологического самовоспроизводства Проект «Одаренные дети. Математика» 3 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов John von Neumann (1903-1957) Проект «Одаренные дети. Математика» 4 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Клеточный автомат можно представить, как регулярную решетку «клеток», каждая из которых может находиться в конечном числе возможных состояний, например, 0 или 1 • Состояние системы полностью определяется значениями переменных в каждой клетке, а эволюция — правилами изменения состояний клеток Проект «Одаренные дети. Математика» 5 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Особенности клеточных автоматов: – состояние каждой ячейки обновляется в результате выполнения последовательности дискретных постоянных шагов по времени (или тактов), – переменные в каждой ячейке изменяются одновременно, исходя из значений переменных на предыдущем шаге, – правило определения нового состояния ячейки зависит только от локальных значений ячеек из некоторой окрестности данной ячейки Проект «Одаренные дети. Математика» 6 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Широкое распространение клеточные автоматы нашли при моделирования динамического поведения двумерных сред • Совокупность клеток образует клеточное пространство, в котором функционирует КА • В простейших случаях в качестве окрестности принимают четыре или восемь ближайших клеток Проект «Одаренные дети. Математика» 7 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Примеры окрестностей Проект «Одаренные дети. Математика» 8 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Чтобы исключить особый вид окрестности для клеток, лежащих в крайних рядах, область замыкают, то есть для клеток крайнего левого столбца соседями слева считают клетки крайнего правого столбца, и наоборот • Аналогичное замыкание выполняют для клеток верхнего и нижнего ряда области • В результате можно считать, что рассматриваемая совокупность клеток лежит на поверхности тора Проект «Одаренные дети. Математика» 9 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Подобный прием в моделировании называется заданием граничных условий циклического типа или периодических граничных условий • Для приведенных выше типов окрестностей новое состояние центральной клетки определяется по совокупности состояний клеток соответствующей окрестности Проект «Одаренные дети. Математика» 10 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Правила такого типа широко используются при моделировании биологических систем или при описании физических систем с изменяющимся количеством субстанции, как, например, в моделях типа хищник-жертва • Если же исследуется процесс, идущий при выполнении определенных законов сохранения, например, количества частиц при описании диффузии, или массы при описании движения жидкости, то необходимо использовать так называемые консервативные правила Проект «Одаренные дети. Математика» 11 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Одним из подходов к построению таких правил является введение клеточного автомата на разбиении: 1. Массив клеток разбит на множество конечных, отдельных одинаковых частей — блоков, образующих более крупную решетку на поле клеточного автомата 2. Формулируются правила для блока, задающие обновление содержимого всего блока (не отдельной клетки как в обычном клеточном автомате). Одно и то же правило применяется ко всем блокам. Блоки не перекрываются, и на одном шаге нет обмена информацией между соседними блоками Проект «Одаренные дети. Математика» 12 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Одним из подходов к построению таких правил является введение клеточного автомата на разбиении: 3. Разбиение меняют от шага к шагу так, чтобы происходило перекрытие решеток блоков, используемых на соседних шагах (если использовать одно и то же разбиение на каждом шаге, то клеточный автомат разбивается на совокупность независимых подсистем) Проект «Одаренные дети. Математика» 13 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Пример простейшей схемы разбиения: • массив квадратных клеток разбит на блоки размером 22, • шаги, в которых блоки соответствуют четной решетке, чередуются с шагами, использующими нечетную решетку Проект «Одаренные дети. Математика» 14 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Пример простейшей схемы разбиения: • в зависимости от того, какая решетка используется, выделенная клетка будет иметь окрестностью либо четный блок либо нечетный блок: Проект «Одаренные дети. Математика» 15 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Эта схема разбиения — окрестность Марголуса • Окрестность Марголуса использует только два разбиения (четная решетка и нечетная решетка) • В общем случае различных разбиений должно быть ограниченное число, и они должны циклически повторяться, чтобы обеспечить однородность пространства и времени Проект «Одаренные дети. Математика» 16 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • С помощью окрестности Марголуса строятся модели процессов распространения ударных волн в газе, течения вязких жидкостей по каналам сложной формы, распространения тепла, диффузии • Остановимся кратко на способе моделирования диффузии с помощью разбиения Марголуса Проект «Одаренные дети. Математика» 17 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Отдельные клетки поля моделирования считаются либо пустыми, либо содержащими частицу смеси (могут рассматриваться частицы разных типов) • На каждом из двух проходов каждый блок независимо от соседних случайным образом «поворачивается» на четверть оборота по или против часовой стрелки • В результате каждая частица совершает случайное блуждание по полю моделирования Проект «Одаренные дети. Математика» 18 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Как показали исследования такого автомата, поведение большого (достаточного для статистической обработки) числа частиц на большом количестве клеток демонстрирует очень высокую точность соответствия такой модели решению классического дифференциального уравнения диффузии Проект «Одаренные дети. Математика» 19 ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ СИСТЕМ И ПРОЦЕССОВ Метод клеточных автоматов • Диффузия: Проект «Одаренные дети. Математика» 20