Random Code Can Learn to Self-Replicate, New Study Finds

preview_player
Показать описание


Researchers at Google have created self-reproducing code from noise. Does this mean that they’ve created artificial life? In this video, I look at what they have done and at what this might mean.

🔗 Join this channel to get access to perks ➜

#science #sciencenews #artificiallife #code
Рекомендации по теме
Комментарии
Автор

"Something that make my synapses sizzle, but in a good way".
Can't wait to use this phrase in the next board meeting.

siddharthb
Автор

the definition of life is complexity that tries to grab your lunch

russellneitzke
Автор

We go from "Hello World" to "I'm sorry Dave, I cannot do that"

raymitchell
Автор

As somebody who played lots of CoreWars in the late 1990s and early 2000s I am not that surprised.

qubex
Автор

I don't think the results of this paper are very surprising at all tbh. The jump from Conway's Game of Life to this is pretty straightforward. The self replicating programs in GoL are extremely simple and not surprising to find by chance.

You're exactly right that this mirrors the abiogenesis field's work on the same area, with simple, self-replicating structures and selection processes completely explaining away how life formed in the universe.

As for emergent properties like this impacting us, they have. Viruses have accidentally interact in a way that led to replication. A simple way to understand this is you have a Virus A and a Virus B. Virus B replicates itself by design, Virus A patches other programs to persist itself within them. Once Virus A patches Virus B, A now suddenly begins replicating. This has happened before with real world viruses.

Still, it's not overly likely to happen outside of this sort of case. Program generation is rare, as is program manipulation. We tend not to pass programs around as data, and when we do we typically constrain them and ensure they're bit-for-bit as expected. It's hostile to mutation because we care about reliability. And anything that might be random noise, like encrypted data, won't be treated as code anyways.

coyork
Автор

The interesting thing about "Brainfuck" is its "Turing-completeness", thus making it possible to compute almost anything with it, even things that are usually associated with higher programming languages. Multiplication, division, modulo, sine, cosine, tan, matrix operations, bitwise logic, writing an entire OS, etc. It would be unfathomably tedious, but BF comes with everything needed to build these things from the ground up.

Psychx_
Автор

3:40 *Wait until she learns about Malboge*

slasher
Автор

People have been creating computer entities which can self replicate and evolve for a very long time. I did this (randomly initialized self replicators) in the early 1990's using Object Pascal on my Mac Plus. The life forms were in a 2D grid, and their "genes" were finite state machine tables which controlled how they moved up, down, left, or right, and searched for food and mates. The simulation kept on randomly initializing the life forms when they all died out. They started out completely spastic, but eventually one would get very good replicators. After only 15-30 minutes in each run, they'd pretty much reach optimal. In an early version, I had a bug where life forms could occupy the same grid, and they evolved to exploit that by moving to a corner square to find a mate. I did not come up with these ideas myself. I was inspired by Steven Levy's book _Artificial Life_, which came out in 1992. The research covered by that book had been going on for quite some time before that. EDIT: Also, in response to the "code soup" comments near the end, we have already seen computer viruses which accidentally "mated" in the wild! One virus partially over-wrote the memory of another, resulting in a new viable virus!

stcredzero
Автор

As a developer, I don't understand this. Maybe you cam make a detailed video on what did they do to make the code interact with other code

Pjrdjf
Автор

"Computer viruses and such could arise from random "code" on the internet"
That isn't how computer instructions work.
This was done in a modified (badly written) "Turing gas" basically a chemical process simulator. It uses the physical memory of a computer as a analog to a petrie dish or chemical reactor. It has sets of rules and such that allow the interactions and replication in the "code" because its normally used to simulate chemical interactions. There is no "soup of code" that can create self replicating programs and processor low-level instruction sets are designed to prevent this kind of "exploit" from happening IRL.

obsidianjane
Автор

Fascinating work!

Just a shout out to Nils Barricelli, the grandfather of genetic algorithms. He also demonstrated emergent behaviour from just starting with random numbers (and only in one dimensional space!).

Would love to see a deep dive on the history and more recent breakthroughs of genetic algorithms.

Thank you for the great video!

whiterabbit
Автор

There's literally a Star Trek TNG episode predicting that. Blame Crusher.

nighswimming
Автор

Conway´s "game of life" was not the game changer, obviously. "Planet Wild" people could be, thank you for supporting them.

Thomas-gk
Автор

This plus Assembly Theory make me think life is inevitable. I remember reading something about 15 years ago about the idea that in a relatively low-entropy system with an energy source, self-replication should be inevitable because the system will organize itself so as to maximize entropy.

I'm not a scientist, but it seemed plausible at the time.

grayaj
Автор

Hearing Sabine say 'Brainfuck' is something I didn't know I needed.

nonarKitten
Автор

Dear Sabine,
I often (probably not often enough) try to contribute
to you. Your 'no nonsense' approach to description is
Awesome. I contribute occasionally, I hope it helps.

Glenn

GlennInman
Автор

The Haldane-Oparin hypothesis strikes again.

blackshard
Автор

Me: does not understand a single technical thing about AI, nor even code to begin with

Also me: yea thats a must watch

kickerich
Автор

Computer Science never fails to amaze me!

joaoguerreiro
Автор

My favorite thing about Brainfuck is it inspired other esoteric programming languages. My personal favorite being a subset of Javascript called JSFuck which only uses the square brackets, parentheses, exclamation point, and plus characters and is totally valid (albeit laughably inefficient performance-wise) Javascript code. Though due to the way it has to function using such a limited subset of characters, it means that even a simple function that would normally be maybe a hundred characters suddenly balloons into thousands of characters.

MollyPridham-db