Advertisement

Methods of artificial life?

Started by May 30, 2017 09:04 PM
13 comments, last by ApochPiQ 7 years, 4 months ago

I just wrote this. It's a summary of a long talk about how to create artificial life, which I had with a friend of mine. I know about Game of Life and other interesting stuff, but I would love to read what anyone in here has come across (or made!) regarding artificial life, i.e. very, very, veeeery simple things that act in a way that lets them, on their own, evolve into complex AI-like virtual lifeforms.

Anyone got something good??

[DEDACTED FOR SECURITY REASONS]

I've played with very simple genetic algorithms that try to write programs. It's harder than it looks :-)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Advertisement

A general term you may want to investigate is "emergent behavior", Wikipedia names it "Emergence" apparently.

https://en.wikipedia.org/wiki/Emergence

It's fascinating how a few simple rules can create effects that you'd never expect. If you're looking for physical examples, there are people doing robot experiments with self-replication and self-organization. I see them passing by, but never looked at the underlying technology to make it work.

I guess it's a bit opposite to programming, where you invent rules such that together it gives you behavior that you want and nothing else. Here you want rules that enhance each other in an unexpected direction :)

I've played with very simple genetic algorithms that try to write programs. It's harder than it looks :-)

Yeah, it is! And it doesn't even look easy to begin with!!

A general term you may want to investigate is "emergent behavior", Wikipedia names it "Emergence" apparently.

https://en.wikipedia.org/wiki/Emergence

It's fascinating how a few simple rules can create effects that you'd never expect. If you're looking for physical examples, there are people doing robot experiments with self-replication and self-organization. I see them passing by, but never looked at the underlying technology to make it work.

I guess it's a bit opposite to programming, where you invent rules such that together it gives you behavior that you want and nothing else. Here you want rules that enhance each other in an unexpected direction :)

Emergence has been a big blip on my radar for some time now. The idea of chaos creating ordered patterns, like the Sierpinski Triangle, was maybe my entry point to the concept, but with advanced emergence, things like large-scale social behaviors in MMOs or Minecraft becoming a de facto game engine to make parkour, battle arenas and stuff, and of course Game of Life, really made me open my eyes to it! The problem is that, yeah, it's kind of opposite to programming, in that you relinquish a lot more control. Which also makes it hard to "develop", and thus I seek whatever I can find on the matter. But something tells me that the concept in games especially is still far too young to have seriously developed schools of thought.... I still hope for something neat, though. For now, thanks for the wiki article, I'll be perusing it closely!

[DEDACTED FOR SECURITY REASONS]

Game of Life is quite carefully balanced afaik, quite carefully designed to stay alive (not too much death and not too much growth).

I am wondering about the Go game. If you study it, it's all about patterns. You can often instinctively point out the place to play, without understanding why that spot is really the good point. It's also about how you affect your opponent. Depending on where you play, you "force" the other player to react in some area. Of course, being 12k, I have no clue about it all :p

What you may also like is the Godel Escher Bach book. It describes how we design system descriptions, and their fundamental properties. (At least I think it does, I got quite lost halfway the book :) )

https://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach

Gödel Escher Bach is a hell of a good book. It touches on a lot of different concepts.

Spoiler: the ultimate conclusion is that consciousness arises from a particular type of self-reference. I can't do the argument justice in a single post, though.

If you liked GEB you may also enjoy more recent works like I Am A Strange Loop and Surfaces & Essences. (I'm a Douglas Hofstadter junkie.)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Advertisement

It sucks that you have to take ages to get any interesting evolution, have to simplify it very much and make it efficient, to see any results. I thought of an MMO type evolution sim, where players run their own evolving chambers and can borrow working designs from the server or other players, and can enter them into an "arena". The evolution or genetic search on the client side has to be done in such a way so that there is no duplication of work between clients, or maybe only sometimes when it is beneficial to bring back "atavism", or letting the players be in charge of their own searches. The AI lifeforms would then grow and multiply, and if there is a free slot available (and not too many resources are used), the next player in line gets the ability to upload a lifeform. If their lifeform dies too early, it is their fault, for not making a wise enough choice, and they have to wait until it is their turn again to re-enter their next lifeform. The turns would work by giving eg 1 lifeform upload, and everybody is in line based on when they last entered a new lifeform. The neurohash using NAND or NOR or NAND-XOR that I made could be used to control a simplified organism, if only behaviour is being evolved. Additionally I thought of adding elements of economy and bulding structures and resource mining and exchange, as long as that is basic and efficient so that it doesn't eat up computing resources. Basically you could have a box and maybe material boxes, of different types, and the lifeforms move around in there, maybe there's gravity and electric forces and the lifeforms navigate by generating propulsion. Lots of possibilities for different variations. I think the work needed to be done, if this is a scientific endeavour, is to enumerate and discuss all the ideas and variations, and nail down one and develop that one.

I thought someone made that game already - Screeps definitely rang a bell when reading your post.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Yeah, definitely got the idea there, but also I think I had my own ideas for that before in November 25 2013 (I wrote it down), about a distributed MMO that runs on your computer pretty much 24/7 with an economy and you build trenches and bunkers etc and players can open up "rift portals" to your world to trade resources and technology and set up buildings on bought land and run in their name in the meanwhile while you two are disconnected etc or take up territory by conquering. I was thinking of some way to make an encryption that couldn't be decoded and tampered with for how to store the client's local data. Though Screeps isn't an a-life evolution sim. Though you could also let players develop their own lifeforms in the a-life MMO. I have a "to make.txt" file in my Dropbox that I share between all my devices so I can record ideas quickly, where I chronologically write down app ideas and any clever names for projects or technology etc.

Wow, good stuff in here! I'll have to hunt down a copy of that GEB book, it sounds...unusual! As for the MMO evolution idea, I think my work will end up having something like it (but not exactly) by default, as anything that allows A: Evolving creatures and B: Transporting creatures to other worlds will inevitably trigger a competitive evolution. It might be hilarious to do it as a kind of Pokemon-ish arena fight, though. "Twenty species enter, one species leaves". And I am going to chase down videos on Screeps for sure, it looks like the old classic zombie outbreak simulator, on steroids!

The remark about evolution being slow actually grabbed me. For my work to, well, work, it has to be quick enough to develop full worlds in the time it takes someone to go there. The basic version in my article does not do that, it is just an early test of the concept, but I am trying very hard to develop the theoretical tools to put evolution in hyperdrive, zooming through the process from single cells to large creatures. If anyone knows someone working on something like that somewhere, or if anyone has some interesting ideas on the matter, I am aaaall ears!

[DEDACTED FOR SECURITY REASONS]

This topic is closed to new replies.

Advertisement