Особенности гексагональных клеточных автоматов на

advertisement
72
Нанофизика и нанотехнологии
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
УДК 621.391.1:004
И. В. Матюшкин1 , С. В. Коробов1 , Р. Р. Вильданов1,2
2
1
Научно-исследовательский институт молекулярной электроники
Московский физико-технический институт (государственный университет)
Особенности гексагональных клеточных автоматов
на плоской поверхности для задач нанотехнологии
Приведены результаты вычислительных экспериментов в программе SoftCAM с
клеточными автоматами тоталистичного типа на гексагональной сетке. Даны некоторые смысловые интерпретации в контексте нанотехнологий.
Ключевые слова: клеточные автоматы, поверхность, нанотехнология, гексагональная сетка, граница, автомат Фредкина.
Несмотря на то, что теория клеточных автоматов (КА) известна с 40-х гг. ХХ века,
она стала активно использоваться в микроэлектронике лишь в последние 10–15 лет. Это
относится прежде всего к моделированию физико-химических процессов, в частности диффузии [1], протекания жидкости [2], разделения фаз [3] и кристаллизации, образования пор
[4] и развития дислокаций [5]. В задачах нанотехнологии все чаще приходится сталкиваться с искривленными поверхностями и сложными структурами, которые трудно описать
обычными методами вычислительной математики.
Гексагональные сетки (ГС) необходимо использовать для процессов, в которых важна изотропность, например, в задачах гидродинамики, газодинамики и диффузии [2].
Принципиальную трудность при моделировании сложных физико-химических процессов
представляет анализ явлений конденсации, кипения, кавитации. Это связано с возникновением большого числа границ раздела, что ставит под сомнение адекватность описания
таких процессов разностными схемами для уравнений в частных производных.
Целью данной работы является построение и изучение различных КА на ГС, которые
потенциально могут быть использованы для моделирования реальных физико-химических
процессов на поверхности твёрдого тела.
Построение гексагональных сеток
Метод КА реализуется на трёх типах регулярных сеток: треугольной, квадратной и
гексагональной. Несмотря на то, что первые две обладают высокой скоростью вычислений
при численных расчётах [6], последняя имеет однородность в моделируемом пространстве и
облегчает приближение численной схемы к физическому смыслу модели. На рис. 1 показан
фрагмент ГС с кольцами, в каждой клетке указана пара декартовых координат.
Рис. 1. Кольца для ГС
Рис. 2. Спиральные обобщенные координаты
для ГС
Клетка является элементом (соседом) нулевого кольца для самой себя, её соседи – элементами первого кольца. Далее – рекурсивно: для данной клетки элементами 𝑖-го кольца
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
И. В. Матюшкин и др.
73
(кольца 𝑖-го порядка) называются все клетки, являющиеся соседями какой-либо клетки
ее (𝑖–1)-го кольца, исключая те из них, которые сами принадлежат кольцам меньших порядков. Также возможно использование спиральных обобщенных координат, введенных
Наумовым Л.А. [7]. Некоторой клетке присваивается координата ноль. Далее, начиная с
левого верхнего угла по часовой стрелке последовательно нумеруются клетки ее колец.
Результат показан на рис. 2.
ГС обладают лучшей адаптивностью, чем квадратная или треугольная сетки, но при
этом и пониженной скоростью работы. Но эту проблему можно решить, используя реконфигурируемые шаблоны [8]. На рис. 3a представлен двухтактный шаблон. На каждом шаге
по очереди используется один из двух вариантов соседства. На рис. 3б – соответственно
трехтактный. Производительность автомата на ГС с реконфигурируемым шаблоном превышает производительность аналогичного автомата без реконфигурируемого шаблона в
среднем на 30%.
Рис. 3. Реконфигурируемые шаблоны для клеточного автомата на ГС: а – двухтактный; б – трехтактный
Существующие КА-модели физико-химических процессов на ГС
Рис. 4. Типичная квазиустойчивая конфигурация КА с тремя состояниями клетки: 𝐼 (ингибитор)
– чёрный круг, 𝐴 (активатор) – белый и 𝑆 (основание) – точка
В процессе исследования диффузии на ГС [9] авторами были получены аналоги глайдеров игры «Жизнь». На рис. 4 изображена пушка, периодически испускающая глайдеры.
Этот КА начал свое развитие в случайной начальной конфигурации (с 1/3 вероятностью
каждой клетки). Можно видеть, что есть два типа стационарных локализаций: глайдерыпожиратели и спиральная глайдер-пушка, которая испускает шесть потоков с частотой
74
Нанофизика и нанотехнологии
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
один глайдер в шесть шагов по времени. Пожиратели обычно уничтожают глайдеры, сталкивающиеся с их центром, а также могут изменить тех, которые взаимодействуют с внешним краем.
Рис. 5. Правила перехода для КА через матрицу (слева) и квазихимическими реакциями (справа)
Правила перехода задаются матрицей 𝑀 = (𝑚𝑖𝑗 ), где 0 6 𝑖 6 7, 0 6 𝑗 6 7, и
𝑚𝑖𝑗 ∈ {𝐼, 𝐴, 𝑆} (рис. 5). Индекс 𝑖 задается количеством соседей, состояние которых 𝐼 ,
индекс 𝑗 – соседей с состоянием 𝐴. Индекс для состояния 𝑆 не нужен, так как его можно
получить как 7 − (𝑖 + 𝑗). Новое состояние может быть представлено формулой
𝑥𝑡+1 = 𝑀𝛿2 (𝑥)𝑡 𝛿1 (𝑥)𝑡 ,
где 𝛿𝑝 (𝑥) – число соседей элемента 𝑥 с состоянием 𝑝 ∈ {𝐼, 𝐴, 𝑆}.
КА на ГС также используются при моделировании процессов кристаллизации. На рис. 6
представлена последовательность картин скелетного роста кристалла в разные моменты
времени, полученная в работе Э. Абашевой [10]. Моделью с дополнительными условиями
фазового перехода описывается рост кристалла хлористого аммония NH4 Cl.
Рис. 6. Снежинкоподобные формы роста кристалла в разные моменты времени: а) 𝑡 = 10; б) 𝑡 = 18;
в) 𝑡 = 25
Рис. 7. Полимероподобные глайдеры с периодом 2. Движение цепочки слева направо (показаны 2 последовательных хода/состояния). Правила перехода задаются kcode =
= 0022000220022001122200021210
Построение различных нуклеиновых цепочек рассматривается у Эндрю Вуенша [11].
Глайдеры движутся слева направо с периодичностью 1, 2 и 4. На рис. 7 показаны 2 ви-
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
75
И. В. Матюшкин и др.
да полимерно-подобных глайдеров с периодом 2. Каждая клетка может находиться в 3-х
состояниях, различающихся по цвету (2 – чёрная клетка, 1 – красная, 0 – точка).
С помощью таких паттернов, на наш взгляд, можно моделировать термически активированное движение атомных ступенек вещества по поверхности твердого тела [12] или дать
семантическую интерпретацию движения олигомерных пептидов при электрофорезе.
Тоталистичные КА на планарной ГС
КА называется тоталистичным, если его локальная функция перехода зависит только
от суммы состояний соседей и, быть может, состояния центральной ячейки. Тогда локальная функция перехода легко шифруется [11] числом kcode. Для КА размерности (𝑣, 𝑘),
где 𝑣 – число состояний, 𝑘 – количество соседей одной клетки (соседство), существует
(𝑣+𝑘−1)!
𝐿 = (𝑘!(𝑣−1)!)
возможных переходов для каждой клетки. Составив таблицу всех возможностей соседства для каждой клетки и задав правило перехода для неё, мы получим kcode.
Например, для КА размерности (3, 6) (рис. 6) для одного правила число возможных переходов 𝐿 = 28 (табл. 1).
Правила перехода, задаваемых
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
kcode
Таблица1
= 0022000220022001122200021210
Состояние 0
Состояние 1
Состояние 2
Новое
тояние
6
5
4
3
2
1
0
5
4
3
2
1
0
4
3
2
1
0
3
2
1
0
2
1
0
2
1
0
0
1
2
3
4
5
6
0
1
2
3
4
5
0
1
2
3
4
0
1
2
3
0
1
2
0
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
4
4
4
5
5
6
0
1
2
1
2
0
0
0
2
2
2
1
1
0
0
2
2
0
0
2
2
0
0
0
2
2
0
0
сос-
Рассмотрим, например, строчку 16. Если клетка имеет 2 соседа в состоянии 2, 3 соседа
в состоянии 1 и 1-го соседа в состоянии 0, то она переходит в новое состояние 2. Заметим,
76
Нанофизика и нанотехнологии
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
что kcode записывается в обратном порядке из цифр последнего столбца.
КА на ГС можно использовать для исследования простых процессов репликации [13].
Напомним алгоритм для 2-х состояний КА Фредкина (0 и 1) – переход в другое состояние
происходит по следующим правилам: для каждого элемента находится сумма состояний
соседей, новое состояние остаётся прежним, если эта сумма чётная, и меняется на противоположное, если нечетная: kcode =01010101010101010/10101010101010101 (kcode представлен
дробью, т.к. центральная ячейка входит в собственную окрестность).
Наше исследование проводилось средствами оригинальной программы SoftCAM [14].
Для начала рассмотрим аналоги игры «Жизнь» на ГС для двух состояний (0 и 1). На рис.
8 и рис. 9 представлено несколько паттернов с периодом 2. Здесь мы не учитываем вклад
центральной клетки в общие правила перехода.
Рис. 8. Симметричные изомероподобные паттерны в ГС-аналоге КА Конвэя
Рис. 9. Несимметричные изомероподобные паттерны в ГС-аналоге КА Конвэя
Можно увидеть, что происходит некоторое «вращение», а именно перебежка крайних
точек по кругу. Паттерн на рис. 8 подобен типу связи в молекуле 𝐶6 𝐻6 , в которой s p2 связь постоянно меняет своих соседей. Хотя на уровне химической связи такая аналогия
непродуктивна ввиду наличия более совершенных квантово-химических программ моделирования, тем не менее она представляется уместной (см. рис. 9) при моделировании динамических состояний атомно-кластерных структур, самоорганизующихся на поверхностях.
Для удобства введем некоторое обозначение. Пусть запись [a, b] для КА на ГС, по типу
игры Конвэя, обозначает следующее правило:
1) клетка при сумме состояний её шести соседей, меньшей a и большей b, переходит в
состояние 0 («умирает»);
2) при сумме, равной a или b, переходит в состояние 1 («рождается»);
3) в остальных случаях не меняет состояние.
КА рис. 8–9 работает по правилу [3, 4]. В таком семействе автоматов интересны правила
[2, 2], [2, 3], [3, 3. . . 6], т. к. здесь можно наблюдать устойчивые паттерны. В остальных же
случаях вычислительные эксперименты показывают либо неограниченный рост (иногда
симметричный), либо полное вымирание.
Влияние граничных условий. Влияние реконфигурируемого шаблона
«Игровые» КА обычно разыгрываются на бесконечной доске, но моделирующие наноразмерные процессы КА обычно требуют задания граничных условий. Можно выделить
три типа последних: а) «линия смерти»; б) замыкание; в) изолированность. В первом случае
все граничные клетки всегда имеют состояние 0. Во втором случае для граничных ячеек
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
И. В. Матюшкин и др.
77
шаблон окрестности продолжается за счет ячеек на «другом конце Вселенной». Например,
прямоугольная сетка превращается де-факто в свернутый цилиндр. Для ГС условие замыкания возможно лишь при ограничениях на четность числа столбцов и строк. В третьем
случае за счет формального исключения из шаблона граничной ячейки соседей работа локальных правил перехода может быть либо скорректирована, либо оставаться прежней.
Несомненно, что следует из опыта решения задач математической физики, условия на границах также могут повлиять на развитие КА. Фактор замкнутости играет важную роль
для КА в наноэлектронике, в отличие от «игровых» КА.
Рис. 10. Влияние условий на границах на поведение КА. Пример для правил Фредкина
Рассмотрим битовый КА Фредкина на ГС и с начальной конфигурации в 1 живую клетку. На рис. 10 представлены два варианта развития КА на ГС 20×20 для случая изолированного и замкнутого циклически поля при одинаковых начальных условиях. При замыкании наблюдается характерная для КА Фредкина (на квадратной сетке) периодичность,
причём размер ГС был 2𝑚 × 2𝑚 (𝑚 > 1), а начальные условия допускали вариабельность.
Рис. 11. Антисимметричный КА на ГС («ласточка»). Использовались модифицированные правила
Фредкина для 8 цветов
КА на ГС тяготеют к симметричным фигурам с тремя осями симметрии. Потеря центральной симметрии в фигуре «ласточка», полученной нами случайно из-за ошибок в коде, приведших к появлению пространственно реконфигурируемого шаблона (рис. 11). Эта
«ошибка», заключающаяся в присоединении к 6 ячейкам стандартного гексагонального
шаблона двух ячеек справа или слева (в зависимости от четности ряда), свидетельствует
о глубинной взаимосвязи прямоугольной и гексагональной сеток.
Подробнее о правилах в этом КА. Каждая ячейка может быть в одном из 8 состояний (0, 1, 2, 3, 4, 5, 6, 7), в данном случае каждому состоянию соответствует свой цвет.
Начальной конфигурацией является правильный шестиугольник, составленный из семи
ячеек сетки в состоянии 7 и фона в состоянии 0. Правила перехода задаются подобно алгоритму Фредкина – при чётном числе соседей состояние ячейки не меняется, а при нечетном
– состояние изменяется на следующее по кругу. Но принципиальным отличием является
то, что для четных рядов учитываются только соседи слева, а для нечетных только соседи
справа.
78
Нанофизика и нанотехнологии
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
Семантика КА на ГС с двумя состояниями
Для некоторых тоталистичных КА на ГС с двумя состояниями были обнаружены устойчивые унарно- и/или бинарно-периодические структуры – агломераты (рис. 12), состоящие
из чередований в близком к шахматному порядку ячеек 0-го и 1-го состояния. К сожалению,
рисунок не может вполне передать динамику изменения состояния поля КА. Возможная
семантическая интерпретация: хаотический поток жидкости течет по поверхности между
химически инертными островками, огибая их.
Рис. 12. Образование инертных агломератов шахматного порядка в бинарном КА с kcode = 0111100.
Примерные границы одного из агломератов выделены зеленой линией
В большинстве случаев в правилах перехода мы учитывали только соседство текущей
ячейки. Но можно также учитывать состояние и центральной клетки. Мы рассмотрели
КА, реализующий аналог игры жизнь в зависимости от состояния центра. КА имеет два
состояния 0 и 1, начальное расположение – случайное, правила задаются дробью [2, 6]/[3, 5]
(рис. 13а, б). В этом КА наблюдается самоорганизация частиц в группы, очертания которых
остаются четкими на протяжении некоторого количества ходов. Но со временем каждая
группа разрастается и в конце концов разделение по группам исчезает.
Рис. 13. Самоорганизация в КА, зависящего от состояния центральной ячейки: а – шаг 0, б – шаг 100
Паттерны КА на ГС с тремя состояниями
Интереснее рассмотреть КА с 3-мя состояниями. Так, например, глобальная конфигурация одного из них (kcode =kbase, рис. 14) из начального рандомного состояния после
некоторого числа ходов, риcунок характеризуется большим многообразием (например, в
сравнении с классической игрой «Жизнь») глайдеров, т.е. прямолинейно движущихся паттернов. При встрече глайдеров друг с другом могут происходить: аннигиляция (взаимное
уничтожение при столкновении), отсутствие взаимодействия (продолжение движения после столкновения) или несохранение импульса (изменение направления движения).
Количество всевозможных правил для тоталистичных КА формулы (𝑣, 𝑘) равно 𝑣 𝑘 ,
а в нашем случае 36 = 729 вариантов. Уменьшить количество рассматриваемых автоматов можно, зафиксировав некоторые строки в таблице 1. При этом можно избавиться от
бесконечного роста или, наоборот, от полного вымирания. Так, например, зафиксировав
следующие строки: kcode [19] = 1; kcode [20] = 2; kcode [23. . . 27] = 01000 и сократив объем
выборки, мы нашли глайдеры в КА с определенными правилами (табл. 2). Конечно, для
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
79
И. В. Матюшкин и др.
других правил и способов фиксации kcode глайдеры также могут присутствовать. Здесь
мы упираемся в ресурсные ограничения эксперимента.
Рис.
14.
Разнообразие
глайдеров
в
КА
на
ГС,
задаваемого
kcode
=
= kbase =2200122221211110101122001000. В большинстве случаев направление движение глайдера
задается его «головой», отмеченной одной или двумя красными точками
Некоторые правила наряду с
kbase,
Таблица2
порождающие глайдеры
0101002002210000101122201000;
1200122011001110101120001000;
0010122201010210211120001000;
1201010010210122110120001000;
0102222210111010210120001000;
2221010222010101000120101000;
2110122210011011000120001000;
2121211100222101000121101000;
1222010021201210201120001000;
Изменяя первоначальный kcode=kbase в одной позиции, можно «улучшить» правила.
Так, паттерн «пожиратель» (по терминологии игры «Жизнь»), встретившийся в КА с правилом kcode = 2200122221111110101122001000, способен поглощать глайдеры при лобовом
и/или касательном взаимодействии (рис. 15а, б). Жирным выделена позиция, которую мы
изменили. В основном «пожиратель» сохраняет своё состояние, «восстанавливаясь» от удара в течение нескольких ходов. Ещё в этих правилах встречаются паттерны, обладающие
свойством самовоспроизведения (рис. 15в).
Рис. 15. Глайдер-пожиратель (a – до столкновения, б – после него) и паттерн, копирующий сам
себя, kcode =kbase минус 1 в позиции 11
Заключение
В статье мы сделали краткий обзор по клеточным автоматам на гексагональной сетке,
дали описание особенностей и методов задания шаблонов ГС, а также простейших КА на
ГС. Нами были рассмотрены несколько существующих КА-моделей физико-химических
процессов и способы записи правил локального перехода. В экспериментальной части была исследована зависимость поведения КА от граничных условий и реконфигурируемых
80
Нанофизика и нанотехнологии
ТРУДЫ МФТИ. — 2014. — Том 6, № 1
шаблонов, в частности впервые получена ассиметричная фигура «ласточка». Так же мы
исследовали простейшие тоталистичные КА на ГС с 2- и 3-мя состояниями, были найдены
несколько паттернов и глайдеров, для которых дана смысловая интерпретация в контексте
нанотехнологий. В целом можно сделать вывод, что в сравнении с квадратными сетками и
окрестностями Неймана и Мура КА на ГС обладают большим многообразием паттернов,
тяготеют к симметрии по шести направлениям, то есть обладают изотропностью, желательной для моделирования наноструктур.
Литература
1. Ванаг В.К. Исследование пространственно распределенных динамических систем ме-
тодами вероятностного клеточного автомата // УФН. – 1999. – Т. 169, № 5. – С. 481–505.
2. Медведев Ю.Г. Метод моделирования трехмерных потоков жидкости клеточными ав-
томатами // Автометрия. – Т. 41, № 3. – 2005. – С. 37–48.
3. Афанасьев И.В. Исследование эволюции клеточных автоматов, моделирующих процесс
«разделения фаз» на треугольной сетке // Прикладная дискретная математика. – 2010.
– Т 10, вып. 4. – С. 79–90.
4. Бандман О.Л. Клеточно-автоматный метод исследования свойств пористых сред //
Сибирский журнал вычислительной математики. – 2010. – Т. 13, № 1. – С. 1–13.
5. Коноваленко И.С., Смолин А.Ю., Псахье С.Г. Многоуровневое моделирование дефор-
мации и разрушения хрупких пористых материалов на основе метода подвижных клеточных автоматов // Физическая мезомеханика. – 2009. – Т. 12, № 5. – С. 29–36.
6. Лиманова Н.И., Мамзин Е.А. Высокопроизводительные клеточные автоматы с рекон-
фигурируемым шаблоном // Вектор науки ТГУ. – № 1(15). – 2011. – С. 28–30.
7. Наумов Л.А. Метод введения обобщенных координат и инструментальное средство для
автоматизации проектирования программного обеспечения вычислительных экспериментов с использованием клеточных автоматов: дис. на соиск. уч. ст. канд. техн. наук
/ СПбГУ ИТМО. – 2007. – 283 с.
8. Мамзин Е.А. Высокопроизводительные клеточные автоматы с реконфигурируемым
шаблоном и их применение для моделирования неоднородных динамических систем:
автореф. дис. канд. физ.-мат. наук / Тольяттин. гос. ун-т. – 2011. – 20 с.
9. Adamatzky A., Wuensche A. Computing in spiral rule reaction-diffusion hexagonal cellular
automaton // Complex Systems. – 2006. – № 16. – С. 277–297.
10. Абашева Э.Р. Исследование и моделирование процессов кристаллизации с применени-
ем клеточных автоматов: автореферат дис. канд. техн. наук / Рос. хим.-технол. ун-т
им. Д. И. Менделеева, Москва. – 2007. – 22 с.
11. Wuensche A. Glider dynamics in 3-value hexagonal cellular automata: the beehive rule –
Discrete Dynamics Lab and Faculty of Computing, Engineering and Mathematical Sciences,
University of the West of England. – 2005. – 24 p.
12. Асеев А.Л.,Латышев А.В. Электронная и ионная литография: наноструктурирование
(приглашенный доклад) // IV Всероссийская конференция «Физические и физико–
химические основы ионной имплантации», Новосибирск, 23–26 октября 2012.
13. Samira E.Y., Bastien C., Stefania B. Cellular Automata // 7th International Conference
on Cellular Automata, for Research and Industry, Perpignan. – 2006.
14. Матюшкин И.В., Хамухин А.В. Применение языка UML при проектировании клеточ-
ных автоматов // Известия вузов. Электроника. – 2010. – № 6. – С. 39–48.
Поступила в редакцию 01.06.2013.
Download