Difference between revisions of "Performing computations"
(Created page with "Early work in DNA computing by Len Adleman <ref name = AdlemanNPProbs /> investigated the feasibility of using custom designed DNA molecules to solve NP-complete problems by perf...") |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
While tile-based self-assembly may not be practically useful for solving computationally intractable NP-complete problems, there are still many other interesting problems to ask about its computational power. While the previously mentioned methods for solving such problems was to use many assemblies in parallel, it is interesting to consider what is possible for any individual assembly in terms of computation. Since the aTAM has been shown to be computationally universal, a single seeded assembly can simulate an arbitrary Turing machine. However, there are even more complicated computations which can be considered, and in doing so one of the fundamental characteristics of tile-based self-assembly is confronted: computational space, which is consumed by tiles attaching to an assembly, is analogous to write-once memory. Once a tile is placed, having performed its part of the computation (by converting the information encoded by its input glues into information encoded by its output glues), it can never change or be removed. This causes difficulties related to performing computations which are unique to such a physical model, and the following results have helped to uncover the complex ways in which geometry can be related to computation. | While tile-based self-assembly may not be practically useful for solving computationally intractable NP-complete problems, there are still many other interesting problems to ask about its computational power. While the previously mentioned methods for solving such problems was to use many assemblies in parallel, it is interesting to consider what is possible for any individual assembly in terms of computation. Since the aTAM has been shown to be computationally universal, a single seeded assembly can simulate an arbitrary Turing machine. However, there are even more complicated computations which can be considered, and in doing so one of the fundamental characteristics of tile-based self-assembly is confronted: computational space, which is consumed by tiles attaching to an assembly, is analogous to write-once memory. Once a tile is placed, having performed its part of the computation (by converting the information encoded by its input glues into information encoded by its output glues), it can never change or be removed. This causes difficulties related to performing computations which are unique to such a physical model, and the following results have helped to uncover the complex ways in which geometry can be related to computation. | ||
− | In <ref name=jSADS />, Patitz and Summers showed that a set of natural numbers $D \subseteq \mathbb{N}$ is decidable if and only if $D \times \{0\}$ and $D^c \times \{0\}$ weakly self-assemble. That is, the canonical representations of | + | In <ref name=jSADS />, Patitz and Summers showed that a set of natural numbers $D \subseteq \mathbb{N}$ is decidable if and only if $D \times \{0\}$ and $D^c \times \{0\}$ weakly self-assemble. That is, the canonical representations of ''D'' and the complement of ''D'' weakly self-assemble. For $D \times \{0\}$ to weakly self-assemble, at every point along the ''x''-axis such that the value of the ''x'' coordinate is contained in ''D'', the tile placed at that location is colored black. All other locations remain either untiled or receive a tile which is not black. The construction for <ref name=jSADS /> is a relatively straightforward "stacking" of Turing machine simulations, so that a given Turing machine ''M'' which decides the language in question is first simulated on input 0, then immediately above that ''M(1)'' is simulated, etc. As each simulation completes, the "answer" of whether or not that input is in the language is propagated via a one-tile-wide path down the side of the previous computations to the ''x''-axis where the appropriately colored tile attaches. |
− | In <ref name=jCCSA />, Lathrop, Lutz, Patitz, and Summers answered the more complicated question of whether a similar result applied to computably enumerable (a.k.a. recursively enumerable) languages. They showed that a set of natural numbers $D \subseteq \mathbb{N}$ is computably enumerable if and only if the set $X_A = \{(f(n),0) | n \in D \}$ weakly self-assembles (where | + | In <ref name=jCCSA />, Lathrop, Lutz, Patitz, and Summers answered the more complicated question of whether a similar result applied to computably enumerable (a.k.a. recursively enumerable) languages. They showed that a set of natural numbers $D \subseteq \mathbb{N}$ is computably enumerable if and only if the set $X_A = \{(f(n),0) | n \in D \}$ weakly self-assembles (where ''f'' is a roughly quadratic function). For that construction, since any Turing machine ''M'' used to determine membership in ''D'' cannot be guaranteed to halt for non-members, the simple "stacking" construction cannot work. Instead, the construction performs the infinite series of computations side-by-side, spread out along the ''x''-axis (hence the need for ''f''), providing a potentially infinite amount of tape space for each computation while ensuring that none of them collide and a path to the relevant point on the ''x''-axis always remains available for cases in which a black tile must be placed. The space reserved for each computation is achieved by a scheme in which each computation proceeds with each row simply copying the row beneath it for most rows, and then with a frequency half that of the computation to its immediate left, a row performs a new step of the computation. This, combined with a unique and well-defined slope for the assembly representing each computation ensures that the potentially infinite space requirements for every computation can be assured. |
On the other hand, showing a limitation to the power of computation by self-assembly in the aTAM, in <ref name=jCCSA /> they showed there there exist decidable sets of pairs of integers, or points (i.e. $D \subseteq \mathbb{Z}^2$), which do not weakly self-assemble in the aTAM. Their proof leverages the fact that space is not reusable in aTAM assembly, and that new space must therefore constantly be used to perform each subsequent step of a computation. They designed a pattern consisting of an infinite sequence of concentric diamonds which were centered on the origin and whose diameters were specified by a decidable set of natural numbers. By employing the time hierarchy theorem <ref name=HS1965 />, they were able to show that there exist sets of diameters whose time complexity is so great (i.e. the amount of time required to computer whether a value is in the set) that if the pattern of diamonds with those diameters could self-assemble it would contradict the time complexity of the set. Essentially, the computation to determine whether or not the diamond at some particular diameter should be included in the pattern could not be performed by tiles from within that diamond and must therefore use space that may be required to mark subsequent diamonds. This result shows a limitation to the computational power of the aTAM, and the strong correlation between geometry and computation within it. | On the other hand, showing a limitation to the power of computation by self-assembly in the aTAM, in <ref name=jCCSA /> they showed there there exist decidable sets of pairs of integers, or points (i.e. $D \subseteq \mathbb{Z}^2$), which do not weakly self-assemble in the aTAM. Their proof leverages the fact that space is not reusable in aTAM assembly, and that new space must therefore constantly be used to perform each subsequent step of a computation. They designed a pattern consisting of an infinite sequence of concentric diamonds which were centered on the origin and whose diameters were specified by a decidable set of natural numbers. By employing the time hierarchy theorem <ref name=HS1965 />, they were able to show that there exist sets of diameters whose time complexity is so great (i.e. the amount of time required to computer whether a value is in the set) that if the pattern of diamonds with those diameters could self-assemble it would contradict the time complexity of the set. Essentially, the computation to determine whether or not the diamond at some particular diameter should be included in the pattern could not be performed by tiles from within that diamond and must therefore use space that may be required to mark subsequent diamonds. This result shows a limitation to the computational power of the aTAM, and the strong correlation between geometry and computation within it. | ||
Line 11: | Line 11: | ||
==References== | ==References== | ||
<references> | <references> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<ref name =AdlemanNPProbs><bibtex> | <ref name =AdlemanNPProbs><bibtex> | ||
Line 40: | Line 30: | ||
address = {Washington, DC, USA}, | address = {Washington, DC, USA}, | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =BrunNPProbs><bibtex> | <ref name =BrunNPProbs><bibtex> | ||
Line 61: | Line 52: | ||
keywords = {Crystal-growth, Distributed computing, Molecular computation, NP-complete, Natural computation, Nondeterministic computation, Parallel computing, Self-assembly, SubsetSum, Tile assembly model}, | keywords = {Crystal-growth, Distributed computing, Molecular computation, NP-complete, Natural computation, Nondeterministic computation, Parallel computing, Self-assembly, SubsetSum, Tile assembly model}, | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =ChengChHuZhXu10NPProbs><bibtex> | <ref name =ChengChHuZhXu10NPProbs><bibtex> | ||
Line 73: | Line 65: | ||
pages = {490--505} | pages = {490--505} | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =ChengXiaoNPProbs><bibtex> | <ref name =ChengXiaoNPProbs><bibtex> | ||
Line 86: | Line 79: | ||
doi = "doi:10.1166/jbns.2012.1079" | doi = "doi:10.1166/jbns.2012.1079" | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =WangNPProbs><bibtex> | <ref name =WangNPProbs><bibtex> | ||
Line 99: | Line 93: | ||
doi = "doi:10.1166/jbns.2011.1050" | doi = "doi:10.1166/jbns.2011.1050" | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =jSADS><bibtex> | <ref name =jSADS><bibtex> | ||
Line 112: | Line 107: | ||
bibsource = {DBLP, http://dblp.uni-trier.de} | bibsource = {DBLP, http://dblp.uni-trier.de} | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =jCCSA><bibtex> | <ref name =jCCSA><bibtex> | ||
Line 128: | Line 124: | ||
bibsource = {DBLP, http://dblp.uni-trier.de} | bibsource = {DBLP, http://dblp.uni-trier.de} | ||
} | } | ||
+ | </bibtex></ref> | ||
<ref name =HS1965><bibtex> | <ref name =HS1965><bibtex> | ||
Line 144: | Line 141: | ||
year = {1965} | year = {1965} | ||
} | } | ||
+ | </bibtex></ref> | ||
</references> | </references> | ||
+ | |||
+ | [[Category:Results in the aTAM]] | ||
+ | [[Category:Self-assembly]] |
Latest revision as of 14:16, 27 May 2014
Early work in DNA computing by Len Adleman [1] investigated the feasibility of using custom designed DNA molecules to solve NP-complete problems by performing massively parallel computations. The general concept is to have huge numbers of individual molecular complexes which nondeterministically each select a potential solution to a given instance of an NP-complete problem and then each perform the necessary computation to determine if the selected solution is correct. As long as there is a way to easily select the correct answers from the sea of failures, the hope was to provide a method to quickly solve such problems by harnessing the massive numbers of molecules which can compute in parallel. Adleman was able to solve a version of the Hamiltonian path problem for a graph of 7 vertices, proving the concept. Since then, a series of results by Brun [2], Cheng et al. [3], Cheng and Xiao [4], and Wang et al. [5] have continued to demonstrate the theoretical ability of the aTAM to solve such problems. Unfortunately, however, as the size of a problem instance approaches useful sizes (e.g. even a few hundred nodes for a graph problem), the exponential number of possible solutions inevitably destroys the utility of this approach, for reasonably-sized inputs requiring the number of assemblies to be at least equivalent to the number of particles in the universe.
While tile-based self-assembly may not be practically useful for solving computationally intractable NP-complete problems, there are still many other interesting problems to ask about its computational power. While the previously mentioned methods for solving such problems was to use many assemblies in parallel, it is interesting to consider what is possible for any individual assembly in terms of computation. Since the aTAM has been shown to be computationally universal, a single seeded assembly can simulate an arbitrary Turing machine. However, there are even more complicated computations which can be considered, and in doing so one of the fundamental characteristics of tile-based self-assembly is confronted: computational space, which is consumed by tiles attaching to an assembly, is analogous to write-once memory. Once a tile is placed, having performed its part of the computation (by converting the information encoded by its input glues into information encoded by its output glues), it can never change or be removed. This causes difficulties related to performing computations which are unique to such a physical model, and the following results have helped to uncover the complex ways in which geometry can be related to computation.
In [6], Patitz and Summers showed that a set of natural numbers \(D \subseteq \mathbb{N}\) is decidable if and only if \(D \times \{0\}\) and \(D^c \times \{0\}\) weakly self-assemble. That is, the canonical representations of D and the complement of D weakly self-assemble. For \(D \times \{0\}\) to weakly self-assemble, at every point along the x-axis such that the value of the x coordinate is contained in D, the tile placed at that location is colored black. All other locations remain either untiled or receive a tile which is not black. The construction for [6] is a relatively straightforward "stacking" of Turing machine simulations, so that a given Turing machine M which decides the language in question is first simulated on input 0, then immediately above that M(1) is simulated, etc. As each simulation completes, the "answer" of whether or not that input is in the language is propagated via a one-tile-wide path down the side of the previous computations to the x-axis where the appropriately colored tile attaches.
In [7], Lathrop, Lutz, Patitz, and Summers answered the more complicated question of whether a similar result applied to computably enumerable (a.k.a. recursively enumerable) languages. They showed that a set of natural numbers \(D \subseteq \mathbb{N}\) is computably enumerable if and only if the set \(X_A = \{(f(n),0) | n \in D \}\) weakly self-assembles (where f is a roughly quadratic function). For that construction, since any Turing machine M used to determine membership in D cannot be guaranteed to halt for non-members, the simple "stacking" construction cannot work. Instead, the construction performs the infinite series of computations side-by-side, spread out along the x-axis (hence the need for f), providing a potentially infinite amount of tape space for each computation while ensuring that none of them collide and a path to the relevant point on the x-axis always remains available for cases in which a black tile must be placed. The space reserved for each computation is achieved by a scheme in which each computation proceeds with each row simply copying the row beneath it for most rows, and then with a frequency half that of the computation to its immediate left, a row performs a new step of the computation. This, combined with a unique and well-defined slope for the assembly representing each computation ensures that the potentially infinite space requirements for every computation can be assured.
On the other hand, showing a limitation to the power of computation by self-assembly in the aTAM, in [7] they showed there there exist decidable sets of pairs of integers, or points (i.e. \(D \subseteq \mathbb{Z}^2\)), which do not weakly self-assemble in the aTAM. Their proof leverages the fact that space is not reusable in aTAM assembly, and that new space must therefore constantly be used to perform each subsequent step of a computation. They designed a pattern consisting of an infinite sequence of concentric diamonds which were centered on the origin and whose diameters were specified by a decidable set of natural numbers. By employing the time hierarchy theorem [8], they were able to show that there exist sets of diameters whose time complexity is so great (i.e. the amount of time required to computer whether a value is in the set) that if the pattern of diamonds with those diameters could self-assemble it would contradict the time complexity of the set. Essentially, the computation to determine whether or not the diamond at some particular diameter should be included in the pattern could not be performed by tiles from within that diamond and must therefore use space that may be required to mark subsequent diamonds. This result shows a limitation to the computational power of the aTAM, and the strong correlation between geometry and computation within it.
References
- ↑
Adleman, Leonard M. - Molecular computation of solutions to combinatorial problems
- Science 266(11):1021--1024, Washington, DC, USA, @nov 1994
- http://dl.acm.org/citation.cfm?id=189441.189442
BibtexAuthor : Adleman, Leonard M.
Title : Molecular computation of solutions to combinatorial problems
In : Science -
Address : Washington, DC, USA
Date : @nov 1994
- ↑
Brun, Yuriy - Solving NP-complete problems in the tile assembly model
- Theor. Comput. Sci. 395(1):31--46, Essex, UK, @apr 2008
- http://dx.doi.org/10.1016/j.tcs.2007.07.052
BibtexAuthor : Brun, Yuriy
Title : Solving NP-complete problems in the tile assembly model
In : Theor. Comput. Sci. -
Address : Essex, UK
Date : @apr 2008
- ↑
Zhen Cheng, Zhihua Chen, Yufang Huang, Xuncai Zhang, Jin Xu - Implementation of the Timetable Problem Using Self-assembly of DNA Tiles
- International Journal of Computers, Communications \& Control V(4):490--505, November 2010
- BibtexAuthor : Zhen Cheng, Zhihua Chen, Yufang Huang, Xuncai Zhang, Jin Xu
Title : Implementation of the Timetable Problem Using Self-assembly of DNA Tiles
In : International Journal of Computers, Communications \& Control -
Address :
Date : November 2010
- ↑
Cheng, Zhen, Xiao, Jianhua - Algorithmic Tile Self-Assembly Model for the Minimum Set Cover Problem
- ↑
Wang, Yanfeng, Lu, Weili, Bai, Xuewen, Wei, Donghui, Cui, Guangzhao - DNA Tile Assembly for Degree-Constrained Minimum Spanning Tree
- Journal of Bionanoscience 5(1):41-46,2011
- http://www.ingentaconnect.com/content/asp/jobn/2011/00000005/00000001/art00005
BibtexAuthor : Wang, Yanfeng, Lu, Weili, Bai, Xuewen, Wei, Donghui, Cui, Guangzhao
Title : DNA Tile Assembly for Degree-Constrained Minimum Spanning Tree
In : Journal of Bionanoscience -
Address :
Date : 2011
- ↑ 6.0 6.1
Patitz, Matthew J., Summers, Scott M. - Self-assembly of decidable sets
- Natural Computing 10(2):853-877,2011
- BibtexAuthor : Patitz, Matthew J., Summers, Scott M.
Title : Self-assembly of decidable sets
In : Natural Computing -
Address :
Date : 2011
- ↑ 7.0 7.1
James I. Lathrop, Jack H. Lutz, Matthew J. Patitz, Scott M. Summers - Computability and Complexity in Self-assembly
- ↑
Hartmanis, Juris, Stearns, Richard E. - {On the Computational Complexity of Algorithms}
- Transactions of the American Mathematical Society 117:285--306, @may 1965
- http://www.jstor.org/stable/1994208
BibtexAuthor : Hartmanis, Juris, Stearns, Richard E.
Title : {On the Computational Complexity of Algorithms}
In : Transactions of the American Mathematical Society -
Address :
Date : @may 1965