JohnnyVon is a self-reproducing system, but the problem is that once it has created the triangles there is nothing afterwards. And it's randomistic, the sticks just flow together and happen to connect, and this inevitably leads to this one shape. My thing is different because it uses purposeful algorithms to move, fit, and manipulate pieces in very precise ways, and I expect it will create results in the long-term that lead to more and more interesting variation and refinement.
Mmmmm... I think Thaumaturge gave me the right idea. :D I'll think about it some more and come back later.
self-reproduction
Quote: Original post by polyfrag
The problem is that I can't think of a way for how to implement this self-reproduction. I could make a function-orb that takes all the orbs nearby and reproduces them exactly, but that ruins the whole point of what I'm trying to do. And what I'm trying to do is to create a 3d evolving system where even the means by which the "organisms" reproduce can be mutated and evolved.
Look into Genetic Algorithms. Also, Stochastic Beam Search may be of some use.
To tell you the truth though, I'm not sure exactly what you're trying to do.
I think Thaumaturge's idea is a good one, however, I'm sure you're going to have problems strictly due to the combinatorics of the problem. In a simple case, consider what happens when you have 10 different "commands" or orb types available. The number of possible combinations goes up exponentially: all possible combinations of lenght 1 = 10, length 2 = 100, length 3 = 1000, length 4 = 10000, ... How long would you expect a self-reproducing piece to be? Length 10, which is not too long if you consider the micro-programming pieces, gives you 10^10 possible combinations.
My point is, if you start with something that is capable of self-reproduction that is even of trivial size, the combinatorics create a situation in which random variation through mutation is not tractable. Add to this random variation of the underlying rules by which components interact and you amplify the problem space even further.
As for JohnnyVon, I don't think you looked at the demos. JohnnyVon 1.0 deals with triangles and essentially is related to self-assembly or polymerization. JohnnyVon 2.0 shows a linear self-reproducing structure that does not lead to polymerizing triangles. Also, the other references I pointed you to are linear self-reproducing structures. All of those are within a 2D environment, but the concepts are fully transferable to 3D.
I don't mean to come across negative, but I honestly think you need to re-evaluate the complexity of the problem you're trying to address and simplify your approach.
My point is, if you start with something that is capable of self-reproduction that is even of trivial size, the combinatorics create a situation in which random variation through mutation is not tractable. Add to this random variation of the underlying rules by which components interact and you amplify the problem space even further.
As for JohnnyVon, I don't think you looked at the demos. JohnnyVon 1.0 deals with triangles and essentially is related to self-assembly or polymerization. JohnnyVon 2.0 shows a linear self-reproducing structure that does not lead to polymerizing triangles. Also, the other references I pointed you to are linear self-reproducing structures. All of those are within a 2D environment, but the concepts are fully transferable to 3D.
I don't mean to come across negative, but I honestly think you need to re-evaluate the complexity of the problem you're trying to address and simplify your approach.
Quote: Original post by polyfrag
The organisms will reproduce through their own means, and there will not be any system that selects which ones are the most fit, like in real life. Instead the selection of the fittest will emerge itself in the system.
Think about what you just said. There has to be a fitness-factor. Without one, the simulation will be pure chaos and no pattern will emerge.
Now, whether or not the fitness factor is defined implicitly or explicitly is another matter.
yeah, in real life evolution is guided by fitness. Those most fit, are those who surive.
November 09, 2006 06:54 PM
sounds like your question here is:
what is a good function/criteria to let orb networks create copies of themselves, which contains enough hidden factors so that copying favorability would be chaotic yet deterministic, hopefully leading to emergent patterns with the type of orb nets that survive...?
is that kinda what you want?
I would say... first of all, in addition to the orbs that are forming networks, you need some kind of 'resource' for those nets to compete for, how about free-orbs that are unconnected are randomly created and let to drift?
Resource would of course be needed in order for a net to copy itself
you might also allow more direct competition... how about (resource scarcity aside) you let networks steal orbs from each other? youll need factors here to decide success... size? age? number of bonds that would be formed to the stolen orb in one net versus the other?
you'll also need to allow some kind of room for mutation... perhaps network copying is done on a highly local scale with no checksum - each orb in the net grabs a 'resource' copy of himself and tries to inform his neighbors so they can 'get their kids together'
or maybe no neightbor comm. at all, might just bond based on proximity...
and of course you'll need some kind of Order in the system... some kind of rules for type of orb and what they can or cannot bond with...
ohwell, im no expert... but my laymans knowledge tells me that the kind of chaotic emergent behaviour you want needs to come from a balancing of opposing factors...
what is a good function/criteria to let orb networks create copies of themselves, which contains enough hidden factors so that copying favorability would be chaotic yet deterministic, hopefully leading to emergent patterns with the type of orb nets that survive...?
is that kinda what you want?
I would say... first of all, in addition to the orbs that are forming networks, you need some kind of 'resource' for those nets to compete for, how about free-orbs that are unconnected are randomly created and let to drift?
Resource would of course be needed in order for a net to copy itself
you might also allow more direct competition... how about (resource scarcity aside) you let networks steal orbs from each other? youll need factors here to decide success... size? age? number of bonds that would be formed to the stolen orb in one net versus the other?
you'll also need to allow some kind of room for mutation... perhaps network copying is done on a highly local scale with no checksum - each orb in the net grabs a 'resource' copy of himself and tries to inform his neighbors so they can 'get their kids together'
or maybe no neightbor comm. at all, might just bond based on proximity...
and of course you'll need some kind of Order in the system... some kind of rules for type of orb and what they can or cannot bond with...
ohwell, im no expert... but my laymans knowledge tells me that the kind of chaotic emergent behaviour you want needs to come from a balancing of opposing factors...
Yes, I meant that the fitness criteria would be IMPLICIT, like in real life. There won't be a magical hand that picks which organisms that are the fittest and allows only those to reproduce. Instead, all older organisms will die away with time, and newer organisms will reproduce as much as they can.
Yes, I know combinatorics can be a problem. I can fit it under 10 pieces since I'm making the functions.
Yes, I know combinatorics can be a problem. I can fit it under 10 pieces since I'm making the functions.
I think maybe the problem I'm having is that I've been thinking about this for too long, and I can only focus on details right now without a sense of the whole thing. I need a fresh mind for this...
Not an easy topic to consider. It sounds straight forward at first, but then when you dig into the details, it reveals itself to be amazingly complex.
Here's another paper that I read this morning:
http://www.ecal2005.org/workshopsCD/artificialchemistry/Salzberg.pdf
A Graph-based Reflexive Artificial Chemistry. Chris Salzberg 2005
Very interesting concept based upon a finite state machine. Usually we thing of the states of the FSM and the rules of their transitions as being different. Here, the property of reflexivity is introduced such that the transition rules and the states are from the same space. This allows us to modify not only the structures within the space of interest but the rules of their transitions/modifications.
I think this strikes at the essence of your problem. You can define each orb as an independent fuction or value, but how do they affect each other within this space? How do the interact and lead to modifications? More difficult is the question of how do we modify the underlying rules by which they interact with each other? This paper tries to address that very issue. Is it useful? Not sure. I haven't seen the follow up paper in which they do the computational analysis.
Here's another paper that I read this morning:
http://www.ecal2005.org/workshopsCD/artificialchemistry/Salzberg.pdf
A Graph-based Reflexive Artificial Chemistry. Chris Salzberg 2005
Very interesting concept based upon a finite state machine. Usually we thing of the states of the FSM and the rules of their transitions as being different. Here, the property of reflexivity is introduced such that the transition rules and the states are from the same space. This allows us to modify not only the structures within the space of interest but the rules of their transitions/modifications.
I think this strikes at the essence of your problem. You can define each orb as an independent fuction or value, but how do they affect each other within this space? How do the interact and lead to modifications? More difficult is the question of how do we modify the underlying rules by which they interact with each other? This paper tries to address that very issue. Is it useful? Not sure. I haven't seen the follow up paper in which they do the computational analysis.
Quote: Original post by polyfrag
Yes, I meant that the fitness criteria would be IMPLICIT, like in real life. There won't be a magical hand that picks which organisms that are the fittest and allows only those to reproduce. Instead, all older organisms will die away with time, and newer organisms will reproduce as much as they can.
Yes, I know combinatorics can be a problem. I can fit it under 10 pieces since I'm making the functions.
The answer to your problem is found in the following:
http://en.wikipedia.org/wiki/Stochastic
http://en.wikipedia.org/wiki/Genetic_algorithm
http://en.wikipedia.org/wiki/Simulated_annealing
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement