DNAコンピュータ

DNAコンピュータ（ディーエヌエーコンピュータ）の記事では、DNAコンピューティングについて記述する。

2018年現在ではまだ「コンピュータ」とはっきり言えるほどに形のあるものではなく、いかにして計算をおこなうか、といった研究段階にあり、（英語版の記事名が DNA computing であるように）4種類の塩基の配列から成るデオキシリボ核酸 (DNA) を利用してコンピューティングを行なうものである。

 概要 
デオキシリボ核酸（DNA）の、アデニン (A) とチミン (T)、グアニン (G) とシトシン (C) が対をなして結合する特性と、DNA鎖を操作する酵素（様々な制限酵素や、DNAリガーゼ、DNAポリメラーゼ）を利用する。解答候補となる多数のDNA鎖を同時に生成するという意味で一種の超並列計算をする系である、と見る向きもある。

2000年前後に広まった研究のきっかけとなった論文は、南カリフォルニア大学のコンピューター科学者で、RSA暗号の「A」として知られるレオナルド・エーデルマンによるものである。彼はジェームズ・ワトソンの『遺伝子の分子生物学』を読んでいてDNAによるコンピューティングの可能性に気付いたと言われている。エーデルマンは1994年に初めてDNA鎖を用いて、NP完全な問題の1例としてよく知られている「ハミルトン路問題」を解いた。ハミルトン路問題は一筆書きの一種「一筆書き」とはすべてのエッジを1回ずつ通るような路のことなので、ハミルトン路は正確にはその「一種」ではない。であり、グラフ上のすべてのノードを1回ずつ通るような路（パス）が存在するかどうか、存在する場合は具体的な解を示せ、という問題である。エーデルマンの実験ではノード7、パス14という規模だった。問題を21本 (7+14) のDNA鎖に翻訳し、解を示した。

2018年現在、幾つかの問題点も指摘されている。そのうちの一つは解を取り出すアウトプットがボトルネックとなっている。たとえば、エーデルマンの実験では演算自体は数秒で終了したが、解を取り出すのに2日間を要している。これは以下のような操作を手動で進めたためだった。まず、開始ノードで始まり、終了ノードで終わるDNA鎖をPCR (polymerase chain reaction) 法で増幅する。次に、解として適切な長さを持つDNA鎖（エーデルマン実験では6）を電気泳動で分離する。最後に、全ての点を経由しているDNA鎖を鉄粉と結合した特殊な相補DNA鎖と混合し、ノードの数だけ精製を繰り返した。つまり、DNAコンピュータは演算は速いのだが、問題をDNA鎖の形に翻訳（入力）し、解をデジタルデータの形に変換する（出力）工程に問題がある。

また、複雑な問題をやらせようとすると、必要なDNAの量が指数関数的に増加するという問題もある。地球上の全分子数あるいは宇宙に存在する原子の数を超えた物質を計算資源使うことは物理的に全く不可能であり，問題サイズをそれほど大きくすることはできないのであるから、これではNP完全問題の解決であるとはいえない。単にNP完全に属する問題をごく小さいサイズの入力に対して実施してみたのに過ぎない。

その後、電子コンピュータとDNA反応装置を組み合わせてプログラミング可能にした汎用型コンピュータも試作され、2002年には東京大学の陶山らとオリンパスが実用タイプの装置を共同で開発した。またイスラエル・ワイツマン研究所のシャピロらはDNAや酵素の分子だけからなる分子コンピュータを現在開発中で、医学的応用を目指している。

DNAを記憶媒体として使うDNAストレージもコンピューティングではないが提唱されている。しかし、生物の遺伝の根源であるDNA（あるいはRNAなど）を記憶媒体として用いることには問題がある。
塩基の並びには，生物学的に意味を持つものが含まれうる。既知あるいは未知の有害な細菌やウィルスなどの遺伝情報を大量に生成してそれが環境に漏れた場合の環境や生命への影響は予見できない。

 本文注釈 

 参考文献 
L. Adleman, “Molecular Computation of Solutions to Combinatorial Problems,” Science, vol. 266, pp. 1021–1024, Nov. 11, 1994.

 関連項目 
 ニューロコンピュータ
 量子コンピュータ
 生体コンピュータ
 分子コンピュータ

Category:コンピューティング
Category:コンピュータアーキテクチャ
Category:コンピュータの形態
Category:デオキシリボ核酸