Stochastic Robots Assemble and Disassemble Themselves
"Stochastic" is another way of saying random, and stochastic robots are robots that harness the powers of randomness to construct themselves. It's a fairly simple idea that can result in fairly complex objects: you've got some number of different modules, which can come together to form a robot. Instead of putting the modules together and building the robot directly, you instead just toss all of the modules and shake it really really hard. As the modules randomly run into each other, each is programed to latch on if it happens to bump into a module that it's supposed to be next to in the final design. And if you do this for long enough, eventually you'll end up with a fully assembled robot. Or that's the basic idea, anyway.
The following video demonstrates an interesting application of this concept. Along with lots of assembling modules come a few disassembling modules, whose job is to break up the assembled robots. This creates a system that's sort of a robotic chemical reaction, and by adjusting how long the disassembling bots take to recharge themselves, the overall number of functional robots can be controlled:
One application for these types of robots might be in the medical field, where building a robot inside someone's body could prove to be much more effective than building one outside. All you have to do is inject a bunch of little modules into the bloodstream, they'd randomly whirl about and run into each other and grab on where appropriate, and in a little bit you'd have your robot. You could even program the modules not to assemble themselves until they reached a certain place in the body, and while such precision might take a while (or a whole bunch of injections), the potential is there for extremely precise treatments and repairs.