Это первая из ряда статей, касающихся недавних результатов в Игре Жизнь Конуэя. Есть много аспектов Жизни, которые являются интересными и связаны с недавними событиями, типа глайдерных ружий, космических кораблей, паровозов, осцилляторов больших периодов и строительства объектов с желательными свойствами.
Я ограничиваю этот набор статей космическими кораблями по двум причинам.
Во-первых, начиная с самых ранних дней Жизни n/t/ с 1970 года не было обнаружено ни одного по-настоящему нового космического корабля до момента приблизительно трехлетней давности, и поэтому эта область очень нова и вызывает значительный интерес. А во-вторых, я принимал непосредственное участие в развитии этой области, и поэтому знаю из первых рук о некоторых результатах. Но по ходу действия я затрону и отдельные моменты из других областей.
Почти все новые результаты по космическим кораблям, которые я буду описывать, были получены одним из трех человек. Возможно другие исследователи независимо обнаружили некоторые из этих вещей, если это в самом деле так, мы конечно готовы поделиться честью их открытия. Но пока мне об этом не известно, приоритет на открытия принадлежит следующим лицам. Это — Дин Хикерсон, Дэвид Бэлл (т.е. я сам), и Хартмут Хольцварт (внесенные в список в порядке причастности).
Большинство новых космических кораблей было найдено компьютерным поиском. Размер и сложность большинства открытий таковы, что они, казалось бы, невозможны, если запускать случайные конфигурации или пробовать вручную набор возможных вариантов. Однако, некоторые "прекрасно настроенные" результаты — работа человека думающего и манипулирующего деталями найденных результатов.
Во-первых, я должен определить некоторые понятия. Космический корабль — конечный образец из живых ячеек в Жизни, который вновь появляется через некоторое число поколений смещенным в некотором направлении на расстояние, отличное от нуля. Смещение измеряется наиболее коротким по-королевски мудро соединяющим путем между двумя ячейками. Так две ячейки, смежные друг с другом, взаимно смещены на одну ячейку, независимо, смежны ли ячейки ортогонально или по диагонали. Процесс смещения после некоторого числа поколений называется перемещением или путешествием.
Число поколений, необходимое для повторного появления образца (смещенного) называется периодом космического корабля. (Это похоже на период неподвижных осцилляторов.) Многие из космических кораблей через некоторое количество поколений кажутся тем же самым образцом, но при более внимательном рассмотрении оказываются не совсем тем же самым. Вместо того, чтобы быть просто смещенным, они также отражены (или перевернуты) как в зеркале. После удвоенного числа поколений космический корабль действительно вновь появляется в его первоначальной форме, только со смещением. Период всегда измеряет это полное число поколений. Космические корабли, которые предстают в зеркальном изображении через половину их периода, называют скользяще симметричными космическими кораблями.
Космические корабли могут путешествовать ортогонально (прямо налево-направо или вверх-вниз), или по диагонали. Все известные диагональные космические корабли перемещаются на то же самое расстояние влево-вправо, что и вверх-вниз. Нет никакой причины, почему бы космический корабль не мог путешествовать, смещаясь (например) на две единицы поперек и одну единицу вверх. Однако не известно ни одного примера такого космического корабля. Теоретически мы можем строить корабли с любым смещением, используя универсальный компьютер/конструктор. Но они были бы очень большими и медленными.
Смещение, разделенное на период — скорость космического корабля. Так как максимальная скорость распространения сигнала в Жизни — одна ячейка за поколение, то эта скорость известна как c (скорость света). Эта скорость есть также скорость самого быстрого роста любого конечного объекта в течение конечного числа поколений (подумайте, например, о длинной линии живых ячеек). Однако, рост (или даже только движение) конечного объекта в течение бесконечного времени не может происходить с этой скоростью. Как было доказано в ранние дни Жизни, максимально возможная скорость любого космического корабля c/2 для ортогональных космических кораблей, и c/4 для диагональных космических кораблей. Более широко, если космический корабль перемещается на A ячеек поперек и B ячеек вдоль, то его период должен быть по крайней мере 2 * (A + B).
Это означает (например), что ортогональный космический корабль мог бы передвигаться на одну ячейку за два поколения, или на две ячейки за четыре поколения, или на три ячейки за шесть поколений, и так далее. Но никакой космический корабль не может (например) передвигаться на одну ячейку за одно поколение, или на две ячейки за три поколения, или на три ячейки за четыре поколения.
Всякий раз, когда я буду представлять космические корабли или паровозы, я буду следовать определенным стандартным правилам. Прежде всего, для наиболее известных космических кораблей, передвигающихся ортогонально, движение не будет упоминаться явно. Они будут всегда изображаться так, чтобы двигаться справа налево. Немногие диагональные космические корабли будут всегда отмечаться, как таковые, и будут двигаться в обозначенном направлении.
Для начала и для полноты я покажу первоначальные космические корабли. Это — глайдер, легкий космический корабль (ЛКК), космический корабль среднего веса (СКК), и тяжелый космический корабль (ТКК). Все они были найдены вскоре после того, как Жизнь была изобретена Конуэем. Это:
[глайдер (диагонально вниз налево, скользяще-отраженный, период 4, скорость c/4)] .O. O.. OOO
[ЛКК (скользяще-отраженный, период 4, скорость c/2)] .O..O O.... O...O OOOO.
[СКК (скользяще-отраженный, период 4, скорость c/2)] ...O.. .O...O O..... O....O OOOOO.
[ТКК (скользяще-отраженный, период 4, скорость c/2)] ...OO.. .O....O O...... O.....O OOOOOO.
Глайдер — самый основной космический корабль. Он является настолько маленьким, это появляется спонтанно от случайных объектов. Столкновения между глайдерами производят много полезных вещей. Например, два глайдера могут произвести другой глайдер, а три глайдера могут произвести ЛКК, СКК или ТКК. Глайдеры могут быть произведены неопределенно многими видами "глайдерных ружий". Первое глайдерное ружье было найдено Биллом Госпером в 1970 году, и было первым примером объекта Жизни, население которого становилось произвольно большим.
Три ортогональных космических корабля очень полезны из-за наличия "искр". Искры — ячейки на краю объекта, которые гаснут, и которые могут возмутить другие объекты, не уничтожая объект, который производит искру. Самое общее использование искр от этих космических кораблей — это возмущение "двигателя", чтобы произвести паровозы, или изменение неподвижных объектов, когда космические корабли проходят мимо.
Три ортогональных космических корабля выше показывают очевидную закономерность, и случайный игрок Жизни мог бы задаться вопросом, почему закономерность не может быть продолжена с тем, чтобы делать еще более крупные космические корабли. Но это не будет работать непосредственно, потому что для больших кораблей искры больше не гаснут, а разрушают сам корабль.
Следующий образец, например, не работает, потому что искра наверху — фактически мигалка, и не умирает. Без мигалки, этот объект известен как СТКК (сверхтяжелый космический корабль). Это название также дается даже еще большим объектам подобным этому образцу.
[неработающий СТКК] ...OOO.. .O.....O O....... O......O OOOOOOO.
Довольно рано было обнаружено, что СТКК может выжить, если он "сопровождается" другими меньшими космическими кораблями. Космические корабли сопровождения помещаются для предотвращения формирования смертельных не-искр. Следующее — чрезвычайный пример этого. Здесь показан наибольший сверхтяжелый космический корабль, который может благополучно сопровождаться только двумя другими космическими кораблями.
[СТКК, сопровождаемый двумя ТКК (период 4, скорость c/2)] ....OOOO....... ...OOOOOO...... ..OO.OOOO...... ...OO.......... ............... ...........OO.. .O............O O.............. O.............O OOOOOOOOOOOOOO. ............... ............... ....OOOO....... ...OOOOOO...... ..OO.OOOO...... ...OO..........
Есть много других комбинаций космических кораблей, которые поддерживают один или более СТКК. Возможен СТКК, который может поддерживаться конвоем из двух космических кораблей на каждой стороне. Но для очень длинного СТКК не существует конвоя из маленьких космических кораблей, стабилизирующих его. Однако, можно поддержать произвольно длинный СТКК, располагая рядом СТКК различных размеров, чтобы стабилизировать их все, с заключительными маленькими космическими кораблями на внешней стороне.
Следующая тема, связанная с космическими кораблями, — это тагалонг. Тагалонг — нечто, следующее позади одного или более космических кораблей, и нуждающееся в космических кораблях, чтобы выжить. Вообще, тагалонги присоединены к искрам космического корабля так, чтобы они не уничтожили космический корабль. Но некоторые тагалонги прикрепляются прямо на сам основной корабль, причем требуется некоторая модификация основных кораблей, чтобы работать. Тагалонг вместе с его основным кораблем можно рассматривать как большой космический корабль.
Один из первых тагалонгов был найден через несколько лет от начала истории Жизни. Это — двигатель Шика, найденный Паулем Шиком в 1972 году. Для поддержания движения двигателя он использует искры от двух смежных ЛКК.
[Тагалонг двигатель Шика (период 12, скорость c/2)] OOOO..... O...O.... O........ .O..O..OO ......OOO .O..O..OO O........ O...O.... OOOO.....
Этот тагалонг очень полезен, потому что он разбиваетя на две отдельных части. Задняя часть гаснет самостоятельно. Но она может быть возмущена смежным ЛКК, СКК, или ТКК многими способами и произвести выхлоп, который остается. В этом случае двигатель Шика становится паровозом. Например, добавление одного ЛКК дает:
[Простой паровоз, производящий пары ульев (период 24, скорость c/2)] ...........OO. ..........OOOO .........OO.OO ..........OO.. OOOO.......... O...O......... O............. .O..O..OO..... ......OOO..... .O..O..OO..... O............. O...O......... OOOO..........
Если второй ЛКК также помещен у основания вышеупомянутого объекта симметрично главному ЛКК, то паровоз производит ряд мигалок с периодом 12.
Тагалонг может быть преобразован в паровозный двигатель возмущениями, как в вышеупомянутом примере. Обратное также возможно. Паровозный двигатель может быть приручен и превращен тагалонг. В общем случае это может делаться путем использования проходящих космических кораблей, уничтожающих весь выхлоп паровоза. Такой объект будет большим космическим кораблем. Я приведу два примера.
Первый пример использует известный паровозный двигатель B-гептамино. Первые два паровоза в Жизни были найдены Биллом Госпером и оба базируются на B-гептамино. Один из них, приведенный здесь, является вторым из найденных им. В нем единственный двигатель возмущен двумя ЛКК, превращаясь при этом в очень грязный паровоз. Этому паровозу требуется более чем 4600 поколений, чтобы успокоиться. После этого он производит большой набор объектов с периодом 140.
[Грязный паровоз базирующийся на B-гептамино (конечный период 140, скорость c/2)] ..... .OO.. OO.OO .OOOO ..OO. ..... ..... ....O ...OO ..OO. ...OO ..... ..... ..... ..... .OO.. OO.OO .OOOO ..OO.
Добавляя другой ЛКК, этот грязный паровоз можно приручить и превратить в космический корабль с периодом 20. Этот объект имеет довольно большую искру, которая может быть возмущена другими космическими кораблями, чтобы произвести простые полезные выхлопы типа глайдеров.
[Космический корабль периода 20, базирующийся на B-гептамино (период 20, скорость c/2)] ..........O..O........ .OO......O............ OO.OO....O...O........ .OOOO....OOOO......... ..OO.................. ...................... ...........O.......... ....O...O....O........ ...OO....O...O...OO.OO ..OO.....O........O..O ...OO.............OOO. ............O..O...... .............OO....... ...................... ...................... .OO................... OO.OO................. .OOOO................. ..OO..................
Второй пример базируется на паровозе, обнаруженном Бобом Уэйнрайтом в 1984 году. Период этого паровоза — только восемь, он является минимальным известным периодом паровоза. (Есть несколько других различных известных паровозов периода 8.) Паровоз, показанный здесь, производит ряд мигалок.
[Паровоз периода 8, производящий мигалки (скорость c/2)] ...O..... .O...O... O........ O....O... OOOOO.... ......... ......... ......... .OO...... OO.OOO... .OOOO.... ..OO..... ......... .....OO.. ...O....O ..O...... ..O.....O ..OOOOOO.
Мигалки могут быть удалены с использованием проходящего ТКК, производя при этом истинный космический корабль, который может быть сделан как угодно длинным путем сдвига движущегося сзади ТКК.
[Космический корабль периода 8 (скорость c/2)] ...O............. .O...O........... O................ O....O.....OO.... OOOOO.....OO.OOOO ...........OOOOOO ............OOOO. ................. .OO.............. OO.OOO........... .OOOO...OOO.OOO.. ..OO............. ................. .....OO.......... ...O....O........ ..O.............. ..O.....O........ ..OOOOOO.........
Используя различные паровозы, и удаляя выхлоп многими различными способами, можно произвести очень большое количество космических кораблей. Но все они имеют несколько общих вещей. Все эти ортогональные космические корабли используют ЛКК, СКК, или ТКК как существенные компоненты. Поэтому они должны все иметь скорость c/2, и период, который является кратным числу четыре. Возникает вопрос, есть ли космические корабли, которые двигаются с другими скоростями, имеют другие периоды, или не используют нормальные космические корабли? Ответ — ДА, и это объясняет, почему эта область была столь захватывающа за прошлые несколько лет.
Перед переходом к этим новым вещам, я резюмирую два дразнящих ранних результата, которые показали, что возможно такие корабли могли бы быть найдены.
Первый из них был замечен многими людьми, это — Пи-гептамино. Ниже показано поколение 1 Пи-гептамино. Оно вновь появляется 30-ю поколениями позже, со смещением 9, давая очень невнятную скорость 3c/10.
[поколение 1 Пи-гептамино, неработающий космический корабль] ..O .OO O.. .OO ..O
К сожалению, оно также производит большое количество других развалин, которые быстро уничтожают объект. Этими развалинами можно управлять, заботливо помещая на его пути блоки, или располагая много копий Пи-гептамино рядом. Но все такие построения должны быть повторены до бесконечности, чтобы работать вечно. Никто не выяснил, как сделать конечный объект, основанный на этой работе.
Второй манящий результат был обнаружен Чарльзом Кордерманом в 1971 году при выполнении исчерпывающего поиска полиомино. Был обнаружен маленький объект, который сместился по диагонали на 8 ячеек, с сохранением некоторых других развалин. Развалины не смешиваются немедленно с объектом, и так что он смещает себя снова. Только после большого количества таких смещений произведенные развалины догоняют двигатель и уничтожают его. Кордерман нашел, что после возмущения развалин различными способами, или размещения нескольких копий двигателя друг рядом с другом, двигатель может выжить. Однако, ни в одном из случаев это не было космическим кораблем. Вместо этого это было паровозом, и оставляло развалины позади. Следующий пример — один из наиболее простых паровозов, он оставляет позади только блоки.
[Паровоз свич-двигателя (диагонально вверх налево, скользяще-отраженный, период 288, скорость c/12)] .O.O........................ O........................... .O..O....................... ...OOO...................... ............................ ..........................OO ..........................O.
Вышеупомянутый объект — один из наименьших известных объектов, население которых становится произвольно большим. (Все они базируются на свич-двигателе и имеют только 11 живых ячеек.) Единственные известные диагональные паровозы все базируются на свич-двигателе. Но никто не преуспел в приручении развалин полностью, чтобы создать космический корабль, пока Дин Хикерсон не сделал это в апреле 1991 года. Он сделал это, помещая большое количество свич-двигателей рядом, чтобы устранить все развалины. Его первоначальный корабль нуждался в 13 свич-двигателях, но его меньший вариант, приведенный здесь, использует только 10 из них. Необходимое их число возможно может быть уменьшено и далее, но это не известно.
Космический корабль немного широковат, чтобы поместиться в ширину 80 колонок, так что описание ниже сжато следующим образом. Каждый долларовый знак представляет 10 пустых ячеек. Используйте редактор, чтобы заменить каждый долларовый знак на 10 точек, и Вы будете способны восстановить картину полного объекта.
[Корабль Кордера (диагонально вверх направо, симметричный, период 96, скорость c/12)] $$$.....OO$$$$$ $$$.....O...OO$$$$...... $$$....O......O.......OOO$$$..... $$$..OOOOO...O.....OOO$$$........ $$$.....O...O......OOO$$$........ $$$..O..O$.O$$$......... $$....OO.......OO$$$$$.. $$....OO$$$$$$. $$$$$$$$....... $$$$$........O$$........ $$$$$........O$$........ $$$$$........O$$........ $$$$$......OO$$......... $$$$$.....OOO$$......... $......OO$$$........OO$$......... $......OO$$$$$$......... $$$$$$$$....... $$$$$$$$....... $$$$$$$$....... $$$$$........O$$........ $$$$$.......O$$......... $$$$$........O$$........ ........OO$$$$$$$....... ........OO$$$......O$$$$ $$$$.....O.O$$$......... $$$$....OO.OO$$$........ $$$$.......OO$$$........ $$$$.OO$$$$.... $$$$...O..OOO$......O.O.......OOO......... $$$$.OO.O$$.O.....OOO$.. OO$$$$.O..O$$.....OOO$.. OO...O.......O$$.........O$$.........O$... ....O.O.....OOO$$.........OO$$$$. ...O..O..OOOO.OO$$$$$$$. .........O..OOO$$$O$$$$. ......O..OO..O$$.........OO.OO$$$......O.. ....O.O.OO$$$....O$$$.........O.. .....O$$$$.O$$$......O.. $$$$.....O$..O.OO$$OO... $$$$.........O.O......O.OOO$........OOO... $$$$$.O....O.O....O$........OO... $$$$........O...O.O......OO$$.... $$$$$OO..O..O...O$$..... $$$$$.O...OO.O$$........ $$$$$.......O.O$$....... $$.......O$$.........O.O$$....O.. $$......OOO$$$$$....O.O. $$.....OO.OO$$$$$..O..O. $$......OOO$$$$$........ $$.......O$$$$$......... $$.....O.O$$$$$.....O..O $$....OOOO$$$$$...OOO.OO $$....O$$$$$.....O..OO.. $$$$$$$$O..O... $$....OO.OO$$$$$..O.O... $$...O.....O$$$$$....... $$....O...O$$$$$........ $$.......O...O.......O$$$$....... $$$O.O.....OOO$$$$...... $$.........O..O..OOOO.OO$$$$..... $$$.....O..OOO$$$$...... $$$..O..OO..O$$$.........OO...... $$$O.O.OO$$$$...OO...... $$$.O$$$$$..... $$$$$$$$....... $$$$$$$$....... $$$$$$$$....... $$$$$$$$....... $$$$$$$$....... $$$$$$$.OO$.... $$$$$$$.OO$.... $$$$$...O$$$... $$$$$..OOO$$$.. $$$$$.OO.OO$$$. $$$$$..OOO$$$.. $$$$$...O$$$... $$$$$.O.O$$$... $$$$$OOOO.........OO$$.. $$$$$O$..OO$$.. $$$$$$$$....... $$$$$OO.OO$$$.. $$$$.........O.....O$$$. $$$$$O...O$$$.. $$$$$...O$$$... $$$$$$$$....... $$$$$.....OO$$$ $$$$$.....OO$$$
Корабль Кордера производит много развалин, которые умирают. Глайдеры могут поразить эти развалины и сделать интересные вещи. В частности глайдеры могут быть повернуты на 90 или 180 градусов, поражая развалины соответственно. Дин Хикерсон использовал этот факт, чтобы создать некоторые интересные построения, типа постоянного отражения глайдеров назад и вперед между двумя кораблями Кордера, которые медленно раздвигаются.
Корабли Кордера формируют один из нескольких новых классов космических кораблей, заканчивая период приблизительно в 20 лет, в течение которого никакие новые классы не были найдены. Однако, они не были первым из этих новых классов. Следующая часть этого цикла статей начнет исследовать эти новые классы всерьез, начиная с c/2 космических кораблей периода 2.
Эта следующая статья должна появиться приблизительно через две недели.