"Сегодня супердлинный жанр. Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction __Blaise Agüera y Arcas, Jyrki Alakuijala, James Evans, Ben Laurie, Alexander Mordvintsev, Eyvind Niklasson, Ettore Randazzo, Luca Versari__ Статья: https://arxiv.org/abs/2406.19108 Код: https://github.com/paradigms-of-intelligence/cubff Эту статью хотелось разобрать давно. Она появилась больше года назад, но я так и не увидел нигде вокруг какого-то достаточно подробного обзора. Статья касается возникновения само-репликации в системах, отличающих живое от пред-жизни и касается как обычной жизни так и ALife. Текущая работа рассматривает появление само-репликации на вычислительном субстрате поверх разных языков программирования. О жизни Разговоры про жизнь и её определение и так довольно сложны, но они ещё более усложняются, когда мы переходим от “life as it is” к “life as it could be”. Этому, кстати, посвящена более поздняя работа одного из соавторов (Blaise Aguera y Arcas) вместе с другими, включая нашего любимого Michael Levin, под названием “What Lives? A meta-analysis of diverse opinions on the definition of life”. Но про неё как-нибудь отдельно. В науке о происхождении жизни (OoL) существует фундаментальное противоречие: сложно объяснить фазовый переход от абиотической материи (хаотичного химического супа с высокой энтропией) к биотической, способной к саморепликации и эволюции. Многие симуляции искусственной жизни исторически обходят это узкое место, просто помещая в симуляцию написанного вручную “предка”. Это позволяет изучать эволюцию после биогенеза, но совершенно упускает сам момент зарождения. Авторы текущей работы сфокусированы именно на моменте зарождения. Они инициализируют среду равномерным случайным шумом и проверяют, обладают ли вычислительные субстраты внутренней динамикой, которая сама подталкивает к спонтанному возникновению автокаталитических наборов. Обычно наблюдается значительное изменение динамики системы, совпадающее с появлением само-репликаторов, независимо от субстрата. Поэтому, возможно, мы можем использовать появление само-репликаторов как разумный переход для различения динамики пре-жизни и жизни. Работы в этом направлении ведутся десятки лет. Вводный раздел вообще рекомендую почитать, там много ссылок на интересные работы. Вот, например, Algorithmic chemistry 1990 года. Или довольно свежая работа 2022 года с Томашом Миколовым (помните word2vec?) “Emergence of Self-Reproducing Metabolisms as Recursive Algorithms in an Artificial Chemistry”. В работе “The coreworld: Emergence and evolution of cooperative structures in a computational chemistry” 1990 года программы потребляли локальный ресурс (энергию) на выполнение каждой операции (похоже, кажется, на газ в эфире), и там возникали простые двухкомандные репликаторы, но работали и сложные, когда их подселяли в среду. В другой работе, “The evolution of self-replicating computer organisms” 1996 года, репликаторы появлялись благодаря случайной инициализации и последующим мутациям. Текущая работа фокусируется на Тьюринг-полных средах (Brainfuck, Forth, Z80) и она не про инициализацию и мутации. Авторы показывают, что в большинстве исследованных конфигураций само-репликаторы возникали благодаря само-модификации. Во всех экспериментах отсутствовала какая-либо явно заданная функция приспособленности (которая могла бы направлять усложнение или появление само-репликаторов). Сложная динамика появляется из-за неявной конкуренции за ограниченный ресурс (место, время выполнения, энергия). Вычислительный суп Эксперименты успешно проводились на расширенном варианте Brainfuck, Forth, а также на реальных инструкциях Z80 и i8080. И неуспешно на языке SUBLEQ, экзотическом языке с одной инструкцией ""Subtract and Branch if Less than or EQual to zero"". Пользуясь случаем, хочу порекомендовать старый добрый сайт https://esolangs.org про эзотерические языки программирования, список их там немало!"