Self Assembly - Tiles on a board

User contributed sources that have become inactive, deprecated, or generally unusable. But ... we don't really want to throw them away either.
Post Reply
lemontree
Posts: 21
Joined: Apr 12, 2008 14:37
Location: Bac Ninh, Vietnam
Contact:

Self Assembly - Tiles on a board

Post by lemontree »

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
lemontree
Posts: 21
Joined: Apr 12, 2008 14:37
Location: Bac Ninh, Vietnam
Contact:

Post by lemontree »

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.
rolliebollocks
Posts: 2655
Joined: Aug 28, 2008 10:54
Location: new york

Post by rolliebollocks »

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
lemontree
Posts: 21
Joined: Apr 12, 2008 14:37
Location: Bac Ninh, Vietnam
Contact:

Post by lemontree »

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.
rolliebollocks
Posts: 2655
Joined: Aug 28, 2008 10:54
Location: new york

Post by rolliebollocks »

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?

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.
"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.

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.
Post Reply