Time complexity of Self-assembly Process with Misbehaving Parts

Saturday, October 29, 2011
Hall 1-2 (San Jose Convention Center)
Ivan Lucatero , University of California Santa Barbara, Santa Barbara, CA
Sebastian Perusset , University of California Santa Barbara, Santa Barbara, CA
Anahita Mirtabatabaei , Mechanical Engineering, University of California Santa Barbara, Santa Barbara
Programmable self-assembly is the process by which autonomous parts are separately programmed to coalesce into a functional system. Self-assembly is of great importance in the natural world, molecular reactions, and robotic systems. We are interested in computing the time complexity of such process when an unknown number of particles are malfunctioning. We study a specific programming employed in the self-assembly of DNA strands. We created a simulation in Matlab with conditional programming which assimilates the natural self-assembling of DNA strands. A pre-specified number of parts, that each represents a specific portion of the DNA strand, are allowed to freely move within a rectangular environment. These parts then collide and follow the conditional programming mentioned above, dictating whether to attach to the colliding body or not. During the first trial, we found that one of Matlab’s toolboxes, Simulink, could not simulate this problem due to the lack of collision detecting. Hence, we switched over to Matlab and were able to overcome this problem. The use of simulations in this area could benefit the researchers greatly, since the simulations happen in a matter of seconds and no materials or supplies are needed.