I have just started trying out code related to computational self assembly. It seems like a very powerful idea, I don't know why it has been so little researched. The general idea is that you have a bunch of tiles that have different affinities for each other and you let them stick together on a board automatically.
Maybe you can try it out for tile based games or whatever.
You can also think up your own ideas for self assembly, it is very straight forward and interesting.
http://code.google.com/p/lemontree/downloads/list
Self Assembly - Tiles on a board
Anyway I am getting much better and faster results using the following initialization for PolyHouse.bas
size=initSA(3,4,4,20,20)
InitEDAParams(10,100000,4,10,5)
Each position on the board receives an X signal from the left and a Y signal from the top. These signals are then concatenated into a combined vector V. The vector V is then subjected to a (matrix) transform to select a tile for the particular board position. The tile selects 2 further (matrix) transforms. These transform the vector V into new X and Y signals which are sent to the board position right and down respectively.
The idea for use in tile games is that you create a small play area with all the best tricks and ideas for game play and appearance and then evolve as Self Assembling tiling for that area. Then for your game you let the tiling self assemble over a much, much bigger board area. Hopefully the result won't be a mess, but I don't know yet.
size=initSA(3,4,4,20,20)
InitEDAParams(10,100000,4,10,5)
Each position on the board receives an X signal from the left and a Y signal from the top. These signals are then concatenated into a combined vector V. The vector V is then subjected to a (matrix) transform to select a tile for the particular board position. The tile selects 2 further (matrix) transforms. These transform the vector V into new X and Y signals which are sent to the board position right and down respectively.
The idea for use in tile games is that you create a small play area with all the best tricks and ideas for game play and appearance and then evolve as Self Assembling tiling for that area. Then for your game you let the tiling self assemble over a much, much bigger board area. Hopefully the result won't be a mess, but I don't know yet.
-
- Posts: 2655
- Joined: Aug 28, 2008 10:54
- Location: new york
I get a blank screen when I try to compile polyhouse.bas.
Theoretically it sounds interesting. "Self-assembly" is a contradiction in terms. Impossible not only to reproduce, but even to imagine. From what I could gather from your other demo, it looked more like "selves assembling" than "self-assembly". Apparently this comes from the god-complex nominalism school.
Nonetheless it's a fascinating idea. What is polyhouse supposed to do?
How is the principle of 'self-assembly' applied to natural sciences? For example, are atoms "self-assembled" based on an "affinity" to combine with each other?
rb
Theoretically it sounds interesting. "Self-assembly" is a contradiction in terms. Impossible not only to reproduce, but even to imagine. From what I could gather from your other demo, it looked more like "selves assembling" than "self-assembly". Apparently this comes from the god-complex nominalism school.
Nonetheless it's a fascinating idea. What is polyhouse supposed to do?
How is the principle of 'self-assembly' applied to natural sciences? For example, are atoms "self-assembled" based on an "affinity" to combine with each other?
rb
I don't know why you get a blank screen. The internet is a hall of smoke and mirrors.
The only thing that code is trying to do is create a self assembling tiling that will reproduce a little picture of a house stored in an array. Where it gets difficult is if the tiles represented electronic components for example. Then you would have to let the tiles self assemble on the board, you would have to map the number of each tile into a component and value, run the circuit through a circuit simulator and then return a "cost" to see how well the particular tiling has done. Sounds slow? I'm damn sure it would be. You would have to have access to an Nvidia CUDA cluster, or wait until you could get you hands on a intel Larrabee cluster some time in 2010 I guess.
Anyway this is on going research on my part. I've put more code up:
http://code.google.com/p/lemontree/downloads/list
If you choose to be objective then you would have to say that we are rather wonky robots designed by evolution, with actuators, sensors and a central processing unit, as are the other animals that scamper about the surface of the planet or swim in the sea. We do indeed already live on the planet of the robots. There is no need to be objective however, there is no call for that.
The only thing that code is trying to do is create a self assembling tiling that will reproduce a little picture of a house stored in an array. Where it gets difficult is if the tiles represented electronic components for example. Then you would have to let the tiles self assemble on the board, you would have to map the number of each tile into a component and value, run the circuit through a circuit simulator and then return a "cost" to see how well the particular tiling has done. Sounds slow? I'm damn sure it would be. You would have to have access to an Nvidia CUDA cluster, or wait until you could get you hands on a intel Larrabee cluster some time in 2010 I guess.
Anyway this is on going research on my part. I've put more code up:
http://code.google.com/p/lemontree/downloads/list
If you choose to be objective then you would have to say that we are rather wonky robots designed by evolution, with actuators, sensors and a central processing unit, as are the other animals that scamper about the surface of the planet or swim in the sea. We do indeed already live on the planet of the robots. There is no need to be objective however, there is no call for that.
-
- Posts: 2655
- Joined: Aug 28, 2008 10:54
- Location: new york
I like the idea of the "image" being a causative mechanism.
How long does it take to evolve this house? What is the house supposed to look like?
Not to quibble words here, but I think this is important. We are "designed" more by our environment than evolution. We are designed to adapt to the environment. We are designed out of the environment. The environment is molds are outer forms, the environment chooses who gets to survive. The environment determines which adaptations will be successful.
Evolution is also a "bootstrapped" force. It itself evolves. Evolution 3 Billion years ago has no concept of multicellular life, but it still has the potential, maybe even the inevitability of a multicellular life, human reason, the internet, and this conversation, all fused together in one chaos of potentiality. It boggles the mind with a billion possibilities.
Good luck with the research.
How long does it take to evolve this house? What is the house supposed to look like?
"Designed by evolution." This is complicated, controversial and rather interestingly odd way of putting it. It seems to me that "Evolution" is a force, like electricity, like gravity and that we wouldn't normally think of ourselves as "designed" by it.If you choose to be objective then you would have to say that we are rather wonky robots designed by evolution, with actuators, sensors and a central processing unit, as are the other animals that scamper about the surface of the planet or swim in the sea. We do indeed already live on the planet of the robots. There is no need to be objective however, there is no call for that.
Not to quibble words here, but I think this is important. We are "designed" more by our environment than evolution. We are designed to adapt to the environment. We are designed out of the environment. The environment is molds are outer forms, the environment chooses who gets to survive. The environment determines which adaptations will be successful.
Evolution is also a "bootstrapped" force. It itself evolves. Evolution 3 Billion years ago has no concept of multicellular life, but it still has the potential, maybe even the inevitability of a multicellular life, human reason, the internet, and this conversation, all fused together in one chaos of potentiality. It boggles the mind with a billion possibilities.
Good luck with the research.