Computational Life: How Well-formed, Self-replicating Programs Emerge from Simple Interaction [2024]
На днях вышла статья от Гугла на тему симуляции жизни. Это совсем не новая сфера исследований, существует много разных статей, но давайте сегодня посмотрим на разработанный в данной статье фреймворк.
«Мир» здесь представляет собой 1D / 2D ленту из ячеек с памятью. В каждой из них помещается 1 байт информации. Организмы «живут» на этой ленте. Задача авторов - получить самореплицирующиеся программы. Для этого делаем следующее:
Берём очень простой язык программирования из 11 команд. Это перемещение 2 указателей на чтение и запись, добавление +/- 1 по ним и 2 if-стейтмента. Указатели эти как раз на позиции в той самой ленте с памятью.
Дальше интереснее - каждая из команд кодируется 1 символом и хранится на этой же самой ленте, это дает возможность им модицифировать себя и другие программы. По задумке, это имеет общие черты с ранней РНК-жизнью, когда такие молекулы были сами себе и хранилищем генома, и функциональными единицами.
Авторы поэкспериментировали с разными сценариями симуляции. Первый из них - "Primodial Soup" - предполагает, что у нас есть изначально много случайных программ длиной в 64 символа. Периодически мы сэмплируем 2 программы, конкатенируем их и запускаем, позволяя переписать код самих себя. После этого 2 программы разъединяют и кладут обратно в "суп". Таким образом, предполагается, что программы живут в "жидкости", в которой расстояния между любыми двумя программами равны, как и вероятность их взаимодействия.
Кроме того, авторы симулировали и взаимодействие в "сухом" формате, когда мир представляет собой плоскость с размещёнными на ней программами, которые взаимодействуют только с ближайшими соседями.
Во всех сценариях авторы действительно получали программы, умеющие размножать себя и занимать все свободное пространство. При столкновении таких программ возникает конкуренция, в которой выживает «сильнейший».
В самой статье вы найдете примеры таких программ и множество иллюстраций, интересующимся рекомендую. А завтра мы обсудим, какие перспективы у данной области исследований.
@knowledge_accumulator
Post #200
2.79K

- 👍 19
- ❤ 5
- 🔥 1
- 💯 1