решетка. При симуляциях такие решетки используются реже квадратных, но иногда встречаются. Симметрия гексагональной решетки выше, чем у квадратной: это означает, что ее симметрия вращения под углом в 60 ° будет чуть более плавной, чуть ближе к кругу. Иными словами, если вы станете поворачивать эту решетку, за полный оборот она шесть раз вернется к первоначальной конфигурации, тогда как квадратная решетка совпадет с собой лишь четырежды.
Поскольку, как мы узнали, согласно теореме Нётер изотропия эквивалентна моменту импульса, то можно ожидать, что у симуляций, в которых используются подобные решетки, будут какие-то проблемы с сохранением момента импульса, тогда как системы, которые они должны отображать, должны подчиняться этому закону сохранения. На деле артефакты решеток – постоянная проблема основанных на решетках численных моделей. Есть способы их сократить и учесть подобные проблемы, но полностью избавиться от них обычно не удается. Теорема Нётер – полезный инструмент при анализе и предсказании последствий нарушения численных симметрий для соблюдения законов сохранения.
* * *
Игра «Жизнь» Джона Конвея – это компьютерная программа, разработанная для того, чтобы продемонстрировать, насколько сложным может быть поведение, определяемое простым набором правил[495]. Она представляет собой захватывающую демонстрацию того, что наблюдателю может показаться ареной, на которой взаимодействуют организмы, населяющие смоделированную на компьютере решетку. Сначала программа была развлечением, но позднее ее начали использовать как экспериментальный вычислительный инструмент, и она стала основой новых методов симуляции.
В игре Конвея «Жизнь» арена представляет собой квадратную решетку, подобную той, что изображена слева на илл. 7. Каждая ячейка решетки может быть живой или мертвой, причем живая ячейка обычно закрашивается черным, а мертвая остается белой. Игра начинается с того, что некоторые из клеток оживают и живут дальше самостоятельно, эволюционируя в соответствии с несколькими простыми правилами. Правила определяют, при каких условиях состояние клетки изменится: клетки могут умирать, оживать или оставаться неизменными. Произойдет ли переход, определяется лишь числом живых и мертвых соседей каждой клетки. Например, одно из правил гласит, что, если у мертвой клетки есть ровно три живых соседки, она оживет.
Эти простые правила приводят к удивительно сложному и многообразному поведению. Сначала у программы не было какой-либо практической цели, кроме дающей пищу для размышлений демонстрации возникновения сложных объектов и неожиданных результатов. Но она оказалась превосходной иллюстрацией ровно тех явлений, которые до сих пор активно изучаются программистами, математиками и физиками.
На илл. 8 показаны восемь экранов симуляции в игре «Жизнь», которые я спрограммировал на своем ноутбуке.
Простое определение системы упрощает также и ее программирование; для создания моей версии потребовалось меньше 50 строк кода на языке Julia, позволивших и проводить вычисления, и рисовать (и есть знаменитая версия, программируемая единственной строкой на языке APL)[496].[497]
Многообещающее разнообразие паттернов поведения, которые могут возникнут на основе этого простого набора правил, завораживало некоторых исследователей, заставляя их поверить, что они открыли новый вид науки. Оно также вдохновляло более прагматичные исследования касательно возможности использования такого типа систем: с бинарными состояниями («живая» или «мертвая») ячеек решетки и подчиняющихся короткому перечню правил, – как основы для эффективной техники симуляции непрерывных процессов, особенно в жидкостях. Вычислительный метод основан на аналогии с природой: мы убеждены, что поведение на макроуровне (например, то, как течет вода) возникает в результате совместного действия большого числа частиц, которые взаимодействуют друг с другом в соответствии с некоторым набором правил. Хотя для описания этих правил может потребоваться какая-то замысловатая математика, и их может быть сложно выявить, они, в некотором смысле, просты, и их число, вероятно, конечно. Так почему бы не воспользоваться компьютером для расчета взаимодействий большого числа «компьютерных частиц», чтобы увидеть, похоже ли их усредненное поведение на движение воды?
Некоторые ранние попытки воплощения этой идеи были многообещающими. Класс вычислительных систем, в общем и целом напоминавших игру Конвея «Жизнь» и использовавшихся для физических (или иных) симуляций, известен как клеточные автоматы или решеточные газы. Однако теперь нам известно, что многие из этих типов простых вычислительных систем могут создавать образы, которые визуально напоминают естественное течение жидкости, но отражают его неверно. Однако скорость вычислений может сделать их полезными в компьютерной анимации – для геймдизайна или кино, где внешний эффект важнее научной точности.
Причина недостаточной аккуратности состоит в том, что квадратной решетке не хватает свойств симметричности реального пространства. Поскольку квадратная решетка не изотропична, теорема Нётер напоминает нам, что в симуляции момент импульса не сохранится. Такое несоблюдение закона сохранения приводит к тому, что, когда мы получаем усредненную картину, чтобы сделать выводы о масштабных процессах, не будут выполняться уравнения Навье – Стокса – то есть уравнения, которые описывают и определяют поведение жидкости.
Прорыв был совершен в 1986 году тремя учеными, двое из которых работали во Франции, а один – в США[498]. Они создали верную аппроксимацию уравнений Навье – Стокса на гексагональной решетке, похожей на ту, что расположена в правой части илл. 7. Хотя гексагональная решетка, быть может, на шаг ближе к истинной изотропии, чем квадратная, очевидно, что ей все еще не хватает симметрии физического пространства. Удивительный результат, полученный в 1986 году, заключался в том, что можно строго доказать, что гексагональная решетка в сочетании с некоторыми процедурами усреднения обладает свойствами симметричности, позволяющими правильно решать физические уравнения. То же доказательство показывало, почему может не работать квадратная симметрия.
Эти авторы использовали группу с гексагональной симметрией и соотнесли ее с условиями уравнений, связанных с законами сохранения, используя математические идеи, почерпнутые из работы Нётер. Это один из примеров расширения теоремы Нётер и использования ее не только в исходном контексте непрерывных симметрий, но и в системах с дискретными симметриями.
Робототехника и теория автоматического управления
Представьте, что у вас есть простой механизм, похожий на изображенный на илл. 9, сделанный из двух жестких брусков, соединенных шарниром (черный круг в центре). Он может быть двухмерным, и в этом случае шарнир представляет собой своего рода петлю, или можно перейти в трехмерное пространство – и шарнир станет шаровым.
В любом случае конфигурацию или состояние механизма можно исчерпывающе описать посредством множества чисел (двух или трех) для каждого из черных кругов, определяющих координаты соответствующего круга. В случае трехмерного пространства чисел будет девять. Нужно ли нам столько? Не совсем. Давайте сначала рассмотрим двухмерное пространство. Если мы сначала «зафиксируем» нижний круг в пространстве посредством двух его пространственных координат (обычно x и y), то положение среднего круга можно в точности определить одним числом: углом, под которым расположен нижний брусок. А