Natural Computing

, Volume 11, Issue 2, pp 209–229 | Cite as

Efficient 3-SAT algorithms in the tile assembly model

  • Yuriy Brun


Self-assembly is a powerful process found in nature that guides simple objects assembling, on their own, into complex structures. Self-assembly is of interest to computer scientists because self-assembling systems can compute functions, assemble shapes, and guide distributed robotics systems. The tile assembly model is a formal mathematical model of self-assembly that allows the study of time and space complexities of self-assembling systems that lie at the heart of several molecular computer implementations and distributed computational software systems. These implementations and systems require efficient tile systems with small tilesets and fast execution times. The state of the art, however, requires vastly complex tile systems with large tilesets to implement fast algorithms. In this paper, I present \({\mathbb{S}}_{FS},\) a tile system that decides 3-SAT by creating \(O^{\star}(1.8393^n)\) nondeterministic assemblies in parallel, improving on the previous best known solution that requires \(\Uptheta(2^n)\) such assemblies. This solution directly improves the feasibility of building molecular 3-SAT solvers and efficiency of distributed software. I formally prove the correctness of the system, the number of required parallel assemblies, that the size of the system’s tileset is \(147 = \Uptheta(1),\) and that the assembly time is nondeterministic linear in the size of the input.


Self-assembly 3-SAT Efficient 3-SAT algorithms Tile assembly model 


  1. Abelson H, Allen D, Coore D, Hanson C, Homsy G, Knight TF Jr, Nagpal R, Rauch E, Sussman GJ, Weiss R (2000) Amorphous computing. Commun ACM 43(5):74–82. ISSN 0001-0782. doi: 10.1145/332833.332842 Google Scholar
  2. Adleman L (2000) Towards a mathematical theory of self-assembly. Technical Report 00-722, Department of Computer Science, University of Southern California, Los Angeles, CAGoogle Scholar
  3. Adleman L, Cheng Q, Goel A, Huang M-D, Kempe D, de Espanés PM, Rothemund PWK (May 2002a) Combinatorial optimization problems in self-assembly. In: Proceedings of the 34th annual ACM symposium on theory of computing (STOC02), Montreal, Quebec, Canada, pp 23–32. doi: 10.1145/509907.509913
  4. Adleman L, Kari J, Kari L, Reishus D (November 2002b) On the decidability of self-assembly of infinite ribbons. In: Proceedings of the 43rd annual IEEE symposium on foundations of computer science (FOCS02), Ottawa, Ontario, Canada, pp 530–537Google Scholar
  5. Aggarwal G, Cheng Q, Goldwasser MH, Kao M-Y, de Espanés PM, Schweller RT (2005) Complexities for generalized models of self-assembly. SIAM J Comput 34(6):1493–1515. doi: 10.1137/S0097539704445202 MathSciNetzbMATHCrossRefGoogle Scholar
  6. Barish R, Rothemund PWK, Winfree E (2005) Two computational primitives for algorithmic self-assembly: copying and counting. Nano Lett 5(12):2586–2592. doi: 10.1021/nl052038l CrossRefGoogle Scholar
  7. Barish RD, Schulman R, Rothemund PWK, Winfree E (2009) An information-bearing seed for nucleating algorithmic self-assembly. Proc Natl Acad Sci USA. doi: 10.1073/pnas.0808736106
  8. Berger R (1966) The undecidability of the domino problem. Number 66 in Memoirs Series. American Mathematical Society, Providence, RI, USAGoogle Scholar
  9. Braich R, Chelyapov N, Johnson CR, Rothemund PWK, Adleman L (2002) Solution of a 20-variable 3-SAT problem on a DNA computer. Science 296(5567):499–502. doi: 10.1126/science.1069528 CrossRefGoogle Scholar
  10. Brun Y (2007) Arithmetic computation in the tile assembly model: Addition and multiplication. Theor Comput Sci 378(1):17–31. ISSN 0304-3975. doi: 10.1016/j.tcs.2006.10.025 Google Scholar
  11. Brun Y (2008a) Nondeterministic polynomial time factoring in the tile assembly model. Theor Comput Sci 395(1):3–23. ISSN 0304-3975. doi: 10.1016/j.tcs.2007.07.051 Google Scholar
  12. Brun Y (2008b) Solving NP-complete problems in the tile assembly model. Theor Comput Sci 395(1):31–46. ISSN 0304-3975. doi: 10.1016/j.tcs.2007.07.052
  13. Brun Y (2008c) Solving satisfiability in the tile assembly model with a constant-size tileset. J Algorithm 63(4):151–166. ISSN 0196-6774. doi: 10.1016/j.jalgor.2008.07.002 Google Scholar
  14. Brun Y, Medvidovic N (2008) Preserving privacy in distributed computation via self-assembly. Technical Report USC-CSSE-2008-819, University of Southern California, Center for Software EngineeringGoogle Scholar
  15. Brun Y, Reishus D (2009) Path finding in the tile assembly model. Theor Comput Sci 410(15):1461–1472. ISSN 0304-3975. doi: 10.1016/j.tcs.2008.12.008 Google Scholar
  16. Chen K, Ramachandran V (2001) A space-efficient randomized DNA algorithm for k-SAT. DNA Comput LNCS 2054:199–208. doi: 10.1007/3-540-44992-2_13
  17. Demaine E, Demaine M, Fekete S, Ishaque M, Rafalin E, Schweller R (2008) Staged self-assembly: Nanomanufacture of arbitrary shapes with o(1) glues. In: Max G, Hao Y (eds) DNA computing, vol 4848. Berlin: Springer, pp 1–14. doi: 10.1007/978-3-540-77962-9_1
  18. Doty D, Patitz MJ, Reishus D, Schweller, RT, Summers SM (2010) Strong fault-tolerance for self-assembly with fuzzy temperature. In: Proceedings of the 51st annual IEEE symposium on foundations of computer science (FOCS10), pp 417–426. doi: 10.1109/FOCS.2010.47
  19. Fujibayashi K, Zhang DY, Winfree E, Murata S (2009) Error suppression mechanisms for DNA tile self-assembly and their simulation. Nat Comput 8:589–612. ISSN 1567-7818. doi: 10.1007/s11047-008-9093-9 Google Scholar
  20. Kao M-Y, Schweller R (January 2006) Reducing tile complexity for self-assembly through temperature programming. In: Proceedings of the 17th annual ACM-SIAM symposium on discrete algorithms (SODA06), Miami, FL, USA, pp 571–580. doi: 10.1145/1109557.1109620
  21. Kullmann O (1997) Worst-case analysis, 3-SAT decision and lower bounds: approaches for improved SAT algorithms. DIMACS Ser Discret Math Theor Comput Sci 35:261–313MathSciNetGoogle Scholar
  22. Kullmann O (1999) New methods for 3-SAT decisions and worst-case analysis. Theor Comput Sci 223:1–72. doi: 10.1016/S0304-3975(98)00017-6 MathSciNetzbMATHCrossRefGoogle Scholar
  23. Lagoudakis MG, LaBean TH (1999) 2D DNA self-assembly for satisfiability. DIMACS Ser Discret Math Theor Comput Sci 54:141–154Google Scholar
  24. McLurkin J, Smith J, Frankel J, Sotkowitz D, Blau D, Schmidt B (March 2006) Speaking swarmish: human-robot interface design for large swarms of autonomous mobile robots. In Proceedings of the AAAI spring symposium, Stanford, CA, USAGoogle Scholar
  25. Monien B, Speckenmeyer E (1985) Solving satisfiability in less than 2n steps. Discrete Appl Math 10(3):287–296. doi: 10.1016/0166-218X(85)90050-2 MathSciNetzbMATHCrossRefGoogle Scholar
  26. Paturi R, Pudlák P, Zane F (1997) Satisfiability coding lemma. In: Proceedings of the 38th annual symposium on foundations of computer science (FOCS97), Miami Beach, FL, USA, pp 566–574. ISBN 0-8186-8197-7. doi: 10.1109/SFCS.1997.646146
  27. Robinson RM (1971) Undecidability and nonperiodicity for tilings of the plane. Invent Math 12(3):177–209MathSciNetCrossRefGoogle Scholar
  28. Rothemund PWK, Winfree E (May 2000) The program-size complexity of self-assembled squares. In: Proceedings of the 32nd annual ACM symposium on theory of computing (STOC00), Portland, OR, USA, pp 459–468. doi: 10.1145/335305.335358
  29. Rothemund PWK, Papadakis N, Winfree E (2004) Algorithmic self-assembly of DNA Sierpinski triangles. PLoS Biol 2(12):e424. doi: 10.1371/journal.pbio.0020424 CrossRefGoogle Scholar
  30. Sakamoto K, Gouzu H, Komiya K, Kiga D, Yokoyama S, Yokomori T (2000) Molecular computation by DNA hairpin formation. Science, 288(5469):1223–1226. doi: 10.1126/science.288.5469.1223 CrossRefGoogle Scholar
  31. Schiermeyer I (1993) Solving 3-satisfiability in less than 1.579n steps. Comput Sci Logic 702:379–394MathSciNetCrossRefGoogle Scholar
  32. Sipser M (1997) Introduction to the theory of computation. PWS Publishing CompanyGoogle Scholar
  33. Soloveichik D, Winfree E (2007) Complexity of self-assembled shapes. SIAM J Comput 36(6):1544–1569. doi: 10.1137/S0097539704446712 MathSciNetzbMATHCrossRefGoogle Scholar
  34. Wang H (1961) Proving theorems by pattern recognition. II. Bell Syst Tech J 40:1–42Google Scholar
  35. Wang H (1962) An unsolvable problem on dominoes. Technical Report BL30 (II-15), Harvard Computation LaboratoryGoogle Scholar
  36. Winfree E (1998a) Simulations of computing by self-assembly of DNA. Technical Report CS-TR:1998:22. California Institute of Technology, Pasadena, CAGoogle Scholar
  37. Winfree E (1998b) Algorithmic self-assembly of DNA. PhD thesis, California Institute of Technology, Pasadena, CA, USA, JuneGoogle Scholar
  38. Winfree E, Bekbolatov R (June 2003) Proofreading tile sets: error correction for algorithmic self-assembly. In: Proceedings of the 43rd annual IEEE symposium on foundations of computer science (FOCS02), vol 2943, pp 126–144, Madison, WI, USA. doi: 10.1007/978-3-540-24628-2_13
  39. Winfree E, Yang X, Seeman NC (1998) Universal computation via self-assembly of DNA: some theory and experiments. DNA Based Computers II, pp 191–213Google Scholar
  40. Woeginger GJ (2003) Exact algorithms for NP-hard problems: a survey. Combinatorial Optimization - Eureka, You Shrink! 2570:185–207. doi: 10.1007/3-540-36478-1_17
  41. Yin P, Hariadi RF, Sahu S, Choi HMT, Park SH LaBean TH, Reif JH (2008) Programming DNA tube circumferences. Science 321(5890):824–826. doi: 10.1126/science.1157312 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2012

Authors and Affiliations

  1. 1.University of WashingtonSeattleUSA

Personalised recommendations