Abstract

In this paper we consider the time complexity of adding two n-bit numbers together within the tile self-assembly model. The (abstract) tile assembly model is a mathematical model of self-assembly in which system components are square tiles with different glue types assigned to tile edges. Assembly is driven by the attachment of singleton tiles to a growing seed assembly when the net force of glue attraction for a tile exceeds some fixed threshold. Within this frame work, we examine the time complexity of computing the sum of two n-bit numbers, where the input numbers are encoded in an initial seed assembly, and the output sum is encoded in the final, terminal assembly of the system. We show that this problem, along with multiplication, has a worst case lower bound of $$\varOmega ( \sqrt{n} )$$Ω(n) in 2D assembly, and $$\varOmega (\root 3 \of {n})$$Ω(n3) in 3D assembly. We further design algorithms for both 2D and 3D that meet this bound with worst case run times of $$O(\sqrt{n})$$O(n) and $$O(\root 3 \of {n})$$O(n3) respectively, which beats the previous best known upper bound of O(n). Finally, we consider average case complexity of addition over uniformly distributed n-bit strings and show how we can achieve $$O(\log n)$$O(logn) average case time with a simultaneous $$O(\sqrt{n})$$O(n) worst case run time in 2D. As additional evidence for the speed of our algorithms, we implement our algorithms, along with the simpler O(n) time algorithm, into a probabilistic run-time simulator and compare the timing results.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call