Agent-oriented approach to DNA computing

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Agent-Oriented Approach to DNA Computing Grace Steele, MS Vojislav Stojkovic, PhD MSU, Baltimore, MD MSU, Baltimore, MD

gsteele@ stojkovi@

Abstract

DNA computing began in 1994 when Leonard Adleman [1], [2] showed that DNA computing was possible by solving the Traveling Salesman Problem on a DNA (molecule or chemical) computer. Since then, Adleman has demonstrated many times how to use the massive parallelism of billions of DNA strands to solve the toughest problems. Adleman’s work has greatly influenced our work, however, our approach is different. Adleman’s approach was chemical-oriented, while our approach is software agent-oriented based on modeling, simulation, visualization, and animation using the programming language Easel. We have tried to elevate Adleman’s work by making it more applicable and all encompassing.

The paper presents an agent-oriented approach to DNA computing using the Easel programming language. The Traveling Salesman Problem is used to demonstrate the idea and test the program.

1.Introduction

As computer components become smaller and/or more compact, scientists and engineers dream of a chemical, multi-processor computer, whose processors are individual molecules involved in chemical processes.

Following this thinking, we propose that:

- theoretically, problems must be solved at three levels: agent, agent-DNA, and DNA;

- practically (because at present we do not use DNA computers due to the extensive costs to operate), problems must be solved at a combined agent level – modeling, simulating, visualizing, and animating all DNA computation steps.

Agent and agent-DNA levels can be implemented using vonNeumann machines with standard processors, operating systems, and agent programming languages. Agent-DNA level can be viewed as internal assembly programming that serves as an interface between agents and DNA-s. A standard interface is not possible and has to be developed for each problem. DNA level can be implemented at DNA computers or simulated at vonNeumann machines. DNA level may be seen as machine programming and the chemical processes between DNA-s can be interpreted as executions of machine code.

We propose that in the near future it will be possible to join vonNeumann and DNA computer in a functional super biocomputer. We are pretty sure that in 10-20 years our desktop computers will be biocomputers. They will perform within seconds calculations that take today’s PCs hours and solve in hours problems that take today’s PCs years.

2. DNA

DNA, deoxyribonucleic acid, is a molecule found in every living cell, which directs the formation, growth, and reproduction of cells. DNA consists of nucleotides, which are chemically bonded to each other to form polynucleotide - thin, chainlike molecules.

Nucleotides contain compounds called phosphate, deoxyribose, and base. In all nucleotides, phosphate and deoxyribose are the same, however, the bases vary. There are four bases: adenine (A), guanine (G), thymine (T), and cytosine (C).

The exact amount of each nucleotide and the order in which they are arranged are unique for every kind of living organism.

DNA represents information as a pattern of molecules on a strand. Each strand represents one possible answer. DNA stores information as CG or AT base pair. Information on a solid surface is stored in a non-addressed array of DNA words of a fixed length. DNA words are linked together to form large combinatorial sets of molecules.

3. DNA Computer

A DNA computer is a chemical instrument consisting of a system of connected test tubes and other auxiliary units. DNA computers use the chemical properties of DNA molecules by examining the patterns of combination or growth of the molecules or strings. DNA computers can do this through the manufacture of enzymes, which are biological catalysts that could be called the 'software' used to execute the desired DNA computation.

DNA computers represent information in terms of DNA. In DNA computers, deoxyribonucleic acids serve as the memory units that can take on four possible positions (A,

相关文档
最新文档