0% found this document useful (0 votes)
17 views

DNA-Computing Search

This document discusses DNA computing search algorithms inspired by natural evolution. It begins by introducing evolutionary computation techniques like genetic algorithms that are loosely based on biological evolution. It then discusses how DNA computing works by defining problems and using DNA operations to iteratively refine solutions. The document provides background on the beginnings of DNA computing with Leonard Adleman's 1994 work solving an NP-complete problem using DNA in a test tube. It also discusses models for DNA computing search, including the sticker model, and how dynamic programming algorithms can be implemented on a DNA computer to potentially solve much larger problems than conventional computers in a massively parallel way by taking advantage of DNA's information storage capabilities.

Uploaded by

ahmed madrid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

DNA-Computing Search

This document discusses DNA computing search algorithms inspired by natural evolution. It begins by introducing evolutionary computation techniques like genetic algorithms that are loosely based on biological evolution. It then discusses how DNA computing works by defining problems and using DNA operations to iteratively refine solutions. The document provides background on the beginnings of DNA computing with Leonard Adleman's 1994 work solving an NP-complete problem using DNA in a test tube. It also discusses models for DNA computing search, including the sticker model, and how dynamic programming algorithms can be implemented on a DNA computer to potentially solve much larger problems than conventional computers in a massively parallel way by taking advantage of DNA's information storage capabilities.

Uploaded by

ahmed madrid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Ph.D. A.I.

Nature Inspired Algorithms DNA Computing Search

1. Introduction
Evolution is a concept of obtaining adaptation through the interplay
of selection and diversity. Analogies from evolution have been used in
both computing and molecular biology. These two areas are called
"evolutionary computation”. From the beginning of DNA based
computing to the present there have been calls to consider carrying out
evolutionary computations using genetic materials in vitro [1].
Some details are obtained in reviewing the field of evolutionary
computation, which consists of machine learning optimization and
classification paradigms that are roughly based on evolution mechanism
such as biological genetics, natural selection, DNA (Deoxyribonucleic
Acid) and emergent adaptive behaviour. DNA computation paradigms
provide tools to build intelligent systems that model intelligent behaviour.
The evolutionary computation field has been considered by many
researchers to include:
 genetic algorithms
 evolutionary programming
 evolution strategies (DNA)
 genetic programming
Chromosomes in nature are formed of twisted strands of DNA,
composed of the four proteins adenine, cytosine, guanine, and thymine.
These strands are presently understood as a kind of computer program
that gives instructions to the cells that comprise the organism; the DNA
sequence contains instructions about how to develop and what to do.
While our digital computers use the base-two or binary number system to
encode program instructions and data, chromosomes use a base-four
method, encoded in the ordering of the four proteins [2].

1
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

DNA algorithms work by defining a goal in the form of a quality


criterion and then use the goal to measure and compare solutions
candidates in a stepwise refinement of a set of data structure. If
successful, an Evolutionary Algorithm (EA) will return an optimal or
near optimal individual after a number of iterations [3]. The initial
solution of individuals may be created entirely at random, or some
knowledge about previously known solutions may be used to seed the
population. DNA algorithms create new individuals using simple
randomized operators that are similar to sexual recombination in natural
organisms [4].

2. Beginning of DNA Computing


DNA is the basic medium of information storage for all living cells.
It contains and transmits the data of life for billions of years. Roughly 10
trillion DNA molecules could fit into a space the size of a marble. Since
all these molecules can process data simultaneously, you could
theoretically have 10 trillion calculations going on in a small space at
once [5]. DNA computing began in 1994 when Leonard Adleman has
first shown that computing can be done using DNA also, without using
usual machine but using test tubes etc. in biological laboratory. For this,
he has Direct Hamiltonian Path Problem (DHP) known to us as the Path
Finding Problem (PFP) and obtained solution using DNA experiments.
Things would not have gone further if the problem he has chosen is
simple but as he has taken HPP, which is an NP-Complete problem for
which there is no polynomial time algorithms using conventional
computer, it created an exciting and made people to think more about
DNA computing. The power of the method proposed by Adleman is in
the fact that tremendous parallelism can be introduced using DNA
operations and that helped Adleman to solve an NP-Complete problem.
2
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

Also during the same time Charles Bennet's has done some work on DNA
computing. Adleman, now considered the father of DNA computing, (he
is a professor at the University of Southern California) and started the
field with the research, "Molecular Computation of Solutions of
Combinatorial Problems" [6]. Since then, Adleman has demonstrated
how the massive parallelism of a trillion DNA strands can simultaneously
attack different aspects of a computation to crack even the toughest
combinatorial problems, such as the government's supposedly
uncrackable DES [7]. In DNA computing, information is stored in
molecules that are linear polymers composed of nucleotides. Adleman's
ground-breaking work demonstrated the way to use molecules for
computational purposes. The extreme compactness of DNA as data
storage is nothing short of incredible. Baum first proposed the idea of
using DNA annealing to do parallel associative search in large databases
encoded as DNA strands. The idea is very appealing since it represents a
natural way to execute a computational task in massively parallel fashion.
Arita suggests encoded data and report his experimental results of
performing concatenation and rotation of DNA. His work also shows the
possibility of joint operations in relational database with molecules.
However, these models regarding the associative memory or database are
not based on knowledge representation for artificial intelligence. It is
important to purpose a new model to new type computers like DNA-
based computers for further development of artificial intelligence [8].

3. Evolution of DNA Computing Search


Within the realm of DNA computation, one of the most complete
and well-defined computation models is the Sticker Model for DNA
computation that was proposed by Roweis and Winfree. Individual

3
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

strands of DNA are used to represent bit streams and biological processes
allow these strands to be manipulated in parallel. In general, all of the
possible solutions are represented in a tube and operations are performed
to weed out invalid ones.
There are only a small number of elementary operations which are
possible in the sticker model, but these operations can be combined to
form a fairly robust set of bit string manipulations. However, one of the
major problems that must be dealt with in DNA algorithm design is the
lossy nature of biological computation.Therefore, any DNA algorithm
designer must be concerned with two major problems: how to synthesize
complex algorithms out of only a few basic operations, and how to
evaluate the performance of those algorithms in the presence of errors to
assure that an acceptable solution will be found in most executions [9].

4. Concepts of DNA Computing Search


In the language of computer scientists, 8 binary bits correspond to
1 byte. As the DNA bases are 4 (C, G, A or T instead of 0 or 1), DNA
requires half the amount of base pairs, i.e. 4, instead of 8 binary bits, to
make one "genetic byte".
In DNA computing, also known as molecular computing, a DNA
computer is basically a collection of specially selected DNA strands
whose combinations will result in the solution to some problem,
depending on the problem at hand, technology is currently available both
to select the initial strands and to filter the final solution. The promise of
DNA computing is massive parallelism: with a given setup and enough
DNA, one can potentially solve huge problems by parallel search. This
can be much faster than a conventional computer, for which massive
parallelism would require large amounts of hardware, not simply more

4
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

DNA. Since Adleman's original experiment researchers have developed


several different models to solve other mathematical and computational
problems using molecular techniques, Lipton showed that formula SAT
can be solved on a DNA computer through generalizing Adleman's
techniques. These techniques essentially use a brute force approach to
solve hard combinatorial problems. This approach is interesting due to
the massive parallelism available in DNA computers. Also there are
classes of algorithms which can be implemented on a DNA computer,
namely some algorithms are based on dynamic programming. Graph
connectivity and knapsack are classical problems solvable in this way.
These problems are solvable by conventional computers in polynomial
time, but only so long as they are small enough to fit in memory. DNA
computers using dynamic programming could solve substantially larger
instances because their memory capacity is larger than either
conventional computers or previous brute force algorithms on DNA
computers. The dynamic programming algorithms are suitable for DNA
computers because the sub problems can be solved in parallel [6].
4.1 DNA Structure
DNA is a double stranded sequence of four nucleotides; the four
nucleotides that compose a strand of DNA are as follows: adenine (A),
guanine (G), cytosine (C), and thymine (T) they are often called bases.
The chemical structure of DNA (the famous double- helix) was
discovered by James Watson and Francis Crick in 1953. It consists of a
particular bond of two linear sequences of bases. This bond follows a
property of complementarity: adenine bonds with thymine (A-T) and vice
versa (T-A), cytosine bonds with guanine (CG) and vice versa (G-C).
This is known as Watson-Crick complementarity. Each DNA strand has
two different ends that determine its polarity: the 3. 'end, and the 5. 'end.

5
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

The double helix is an anti-parallel (two strands of opposite polarity)


bonding of two complementary strands [6].
In a piece of double-helical DNA, the number of As is equal to the
number of Ts, and the number of Cs is equal to the number of Gs.
However, is less known and it can be stated that the same thing is
approximately true for a piece of single-stranded DNA of reasonable size
[10].

Figure 2.1: The Structure of DNA Double Helix

In recent years, many techniques have been developed in order to


study and manipulate DNA in a lab, for various biological applications.
The advances in molecular biology are such that these techniques which
are once considered very sophisticated are now made DNA operations to
be routine in all the molecular biology laboratories. DNA computing
makes use of these techniques to solve some of the difficult problems,
which can not be solved on a computer. Molecular biology suggests a
new way of solving an NP-complete problem. The idea (due to Leonard
Adleman) is to use strands of DNA to encode the (instance of the)
problem and to manipulate them using techniques commonly available in
any molecular biology laboratory, to simulate operations that select the
solution of the problem, if it exists. DNA computing must not be
confused with bio-computing. For instance, in bio-computing algorithms
and data structures have been developed to investigate the properties of
the sequences of nucleotides in DNA or RNA and those of amino acids in
the primary structure of a protein. In DNA computing, instead, molecular
biology is suggested to solve problems for computer scientists. Several

6
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

people made attempts to solve different class of problems including some


NP-complete. The approach is two fold, one being solving a problem
with the help of DNA operations and verifying it in a laboratory and the
other being solving a problem by making use of DNA's main
characteristics and proposing a corresponding algorithm which can be
verified more like a theory. But a problem, which is solved using DNA,
involves several operations on DNA [11].
4.2 Formal Model for DNA Computing
In the formulation model there appeared two fundamental
questions about DNA computing:
1. Can any algorithm be simulated by means of DNA computing? In
other words, is the DNA computing computationally complete?
2. Is it possible to design a programmable molecular computer? In
other words, does there exist a universal DNA system in the same
sense as universal Turning Machine: given a computable function,
it can simulate the actions of that function for any argument?
To answer these questions, several models of DNA computing, which in
general can be divided into two classes, have been proposed. The first
class includes the models that use operations similar to those of Adleman
and are successfully implemented already in the laboratory. Models of the
second class are more formal. Their properties are much easier to study,
then formulate the model according to the problem instance, but only the
first steps have been taken towards their practical implementation [12].
4.3 DNA Model of Computation
As it is mentioned before, DNA strands is essentially a sequence
(polymer) of four types of nucleotides distinguished by one of four bases
they contain; the bases are denoted A, C, G, T. The two ends of the strand
are distinct and are conventionally denoted by 3' end and 5' end. Two
strands of DNA can form (under appropriate conditions) a double strand,

7
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

if the respective bases are Watson-Crick complements of each other - A


matches T and C matches G; also 3' end matches 5' end.
We use a simple notation to explain the various operations to be
performed on DNA. Given a string x over the alphabet {A, C, G, T} we
denote by  x the single stranded DNA which is made up of the letters of
x oriented from the 5' end to the 3' end (the first letter of x is on the 5'

end). We denote by  x the Watson-Crick complement of the strand  x .


When  x and  x anneal each other they form a double strand which we
denote by  x .
Example [13]:
 ACCTGC represents the single stranded DNA molecule 5' - ACCTGC-
3'.
 ACCTGC represents the single stranded DNA molecule 3' -TGGACG-
5'.
 ACCTGC represents the double stranded DNA molecule.

5‟-ACCTGC-3‟
3‟-TGGACG-5‟
4.4 The Fundamental Schema of DNA
The fundamental schema of a DNA algorithm, for solving an instance
of a combinatorial problem, is the following:
i) Generation of a pool DNA strands encoding all possible solutions
(the solution space).
ii) Extraction of those that are the true solutions of the given instance.
The second step is performed by a sequence of elementary extraction sub-
steps, where at each sub-step all the strands where a specific sub-strands
occurs are selected from the pool and constitute the input for the next
extraction sub-step. These two steps are usually of complexity that is
linear in time with respect to the size of the given instance. This is the
conceptual strength of DNA computing, because the pools that are
8
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

elaborated in the steps of the procedure are of a size that is exponential


with respect to the size of the given instance. Generation of the solution
space can be performed in several manners, by using the power of DNA
recombination, or by sequence of steps according a Mix-and-Split
procedure. Extraction remains the critical point of this paradigm [14].

5. DNA Computing Search Steps


There are some available steps (materials and bio-laboratory
techniques) that have been used to build the DNA based computing
models. These steps are essentially the following:
1. Watson-Crick pairing. Every strand of DNA has its Watson-
Crick complement. As it happens, if a molecule of DNA in solution
meets its complement, then the two strands will anneal, that is,
twist around each other to form the double helix. The strands are
not covalently bound but are held together by weak forces such as
hydrogen bonds. If a molecule of DNA in solution meets a DNA
molecule to which it is not complementary (and has no long
stretches of complementarity), then the two molecules will not
anneal [15].
2. Polymerases. Polymerases copy information from one molecule
into another. For example, DNA polymerases will make a Watson-
Crick complementary DNA strand form a DNA template. In fact,
DNA polymerase needs a “start signal” to it where to begin making
the complementary copy. A primer, a (possibly short) piece of
DNA that is annealed to the template by Watson-Crick
complementarity, provides the signal. Wherever such a primer-
template pair is found, DNA polymerase will begin adding bases to

9
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

the primer by Watson-Crick to create a complementary copy of the


template [15].
3. Ligase. Ligases bind molecules together. For example, DNA ligaes
will take two strands of DNA in proximity and covalently bond
them into a single strand. DNA ligase is used by the cell to repair
break in DNA strands which occur, for instance, after skin cells are
exposed to ultraviolet light [15].
4. Restriction Enzymes (Nucleases). Nucleases cut nucleic acids;
any double stranded DNA that contains the restriction site with in
its sequence is cut by the enzyme at that point. For example,
restriction endonucleases will “search” a strand of DNA for a
predetermined sequence of bases and, when found, will cut the
molecule into two pieces [15].
5. Polymerase Chain Reaction (PCR) [16]
- Polymerase Chain Reaction
- Amplifies (produces identical copies of) selected DNA molecules.
- Makes 2n copies (n: number of iteration)
- Solution filtering or amplification step.
6. Gel Electrophoresis. A solution of heterogeneous DNA molecules
is placed in one end of a slab of gel, and current is applied. The
negatively charged DNA molecules move toward the anode, with
shorter strands moving more quickly that longer ones. Hence, this
process separates DNA by length. With special chemicals and
ultraviolet light, it is possible to see bands in the gel where the
DNA molecules of various lengths have come to rest [15].
-Separates RNA, DNA and oligonucleotides by length.
- Nucleic acids are mixed with porous gel.
- Molecules can be seen through staining or other methods.
- Electrophoresis purifies molecules [17].

10
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

7. DNA synthesis. It is now possible to write a DNA sequence on a


piece of paper, send it to commercial synthesis facility and receive
a test tube containing the written sequence of DNA. The molecules
are delivered dry in a small tube and appear as a small, white,
amorphous lump [15].
5.1 Example (Adleman’s Experiment)
Given four points (cities), find a path visited each and every point
only once, and starting and ending at given locations. The objective is to
find a path from start to end going through all the point only once in a
graph, according to the Figure (2-2) below.

Q M

Figure (2-2) Four Cities Hamiltonian Experiment

1. Watson-Crick pairing
CITY DNA NAME DNA NAME COMPLEMENT
K ATCGTCGA TAGCAGCT
M GTACACTA CATGTGAT
D TCAGACGA AGTCTGCT
Q CGATCGAT GCTAGCTA

11
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

2. Polymerases
CITY DNA NAME DNA NAME COMPLEMENT
K 5„ATCGTCGA3‟ 3„TAGCAGCT5‟
M 5‟GTACACTA3‟ 3‟CATGTGAT5‟
D 5‟TCAGACGA3‟ 3‟AGTCTGCT5‟
Q 5‟CGATCGAT3‟ 3‟GCTAGCTA5‟
3. Ligase (with complement)
FLIGHT DNA FLIGHT COMPLEMENT NUMBER
K-M 3„TAGCAGCT CATGTGAT5‟
K-D 3„TAGCAGCT AGTCTGCT5‟
M-D 3‟CATGTGAT AGTCTGCT5‟
Q-D 3‟GCTAGCTA AGTCTGCT5‟
M-Q 3‟CATGTGAT GCTAGCTA5‟
M-K 3‟CATGTGAT TAGCAGCT5‟
4. Restriction Enzymes
FLIGHT DNA FLIGHT NUMBER
K-M 5„TCGAGTAC3‟
K-D 5„TCGATCAG3‟
M-D 5‟ACTATCAG3‟
Q-D 5‟CGATTCAG3‟
M-Q 5‟ACTACGAT3‟
M-K 5‟ACTAATCG3‟

5. GRP & Amplification of Paths by PCR


GRP (Generate a set of random paths through the graph)
KD
3’TAGCAGCTCATGTGATAGTCTGCT5’
5‟TCGAGTACACTATCAGA3‟

12
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

KMD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
MQ
3‟CATGTGATGCTAGCTA5‟
5‟ACTACGAT3‟
KMQ
3‟TAGCAGCTCATGTGATGCTAGCTA5‟
5‟TCGAGTACACTACGAT3‟
QD
3‟GCTAGCTAAGTCTGCT5‟
5‟CGATTCAG3‟
KMKMD
3‟TAGCAGCTCATGTGATTAGCAGCTCATGTGATAGTCTGCT5‟
5‟TCGAGTACACTAATCGTCGAGTACACTATCAG3‟
KMQD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
PCR (Polymerase Chain Reaction)
For each path in the set:
Check whether that path starts at the start vertex and ends with the end
vertex. If not remove the path from the set. (here start=K & end=D)
KD
3‟TAGCAGCTCATGTGATAGTCTGCT5‟
5‟TCGAGTACACTATCAGA3‟
KMD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟

13
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

KMKMD
3‟TAGCAGCTCATGTGATTAGCAGCTCATGTGATAGTCTGCT5‟
5‟TCGAGTACACTAATCGTCGAGTACACTATCAG3‟
KMQD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
6. GEL electrophoresis & DNA synthesis
a. Check whether that path passes through exactly n vertices (here n=4).
If not, remove that path from the set.
b. For each vertex, check whether that path passes through that vertex. If
not, remove that path from the set.
If the set is non empty, then report that there is a Hamiltonian path. If the
set is empty, report that there is no Hamiltonian path.
KMQD
5'TCGAGTACACTACGATCGATTCAG3'
Note that there are no limitations to use all these steps in each DNA
computing system, thus the sequence of using these steps may change
according to the case needed.

6. Analysis of DNA Search


To discuss the space complexity of DNA Search, we must first
discuss the error probability of the algorithm because it is randomized.
Search of DNA Search will always return "unsatisfiable" if F (a proposed
formula) indeed cannot be satisfied. However, there is a chance that the
algorithm will report F is unsatisfiable when it can be satisfied. This
occurs when an actual solution for F is not generated as one of the I (an
assumption integer number) strands produced in the algorithm. More
research needs to be done on harnessing the tools of randomized classical

14
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

algorithms and the inherent randomness of molecular computation


together in designing new DNA algorithms. Furthermore, it is an
interesting open question whether or not there are general principles that
govern the “blow up” in time complexity when a classical randomized
algorithm is transformed into a DNA algorithm. Clearly this depends on
the model of computation of the DNA algorithm [18].
Through the experimental approach to the analysis of the
redundancy of large genomes, if large genomes contained just a
proportionally increased number of copies of each gene, the kinetics of
DNA renaturation experiments would be much faster than observed.
Therefore, the extra DNA in voluminous genomes most likely does not
code for proteins, and consequently algorithmic compression of sequence
data becomes a less trivial task [10].

7. DNA Search Properties


Bio-molecular computers work at the molecular level. Because
biological and mathematical operations have some similarities, DNA, the
genetic material that encodes for living organisms, is stable and
predictable in its reactions and can be used to encode information about
mathematical systems. Our computers, more and more packed onto their
silicon chips are approaching the limits of miniaturization. Molecular
computing may be a way around this limitation. As DNA computers use
four deoxyribonucleic acids A (adenine), C (cytosine), G (guanine) and T
(thymine) as the memory units and recombinant DNA techniques already
in existence carry out the fundamental operations.
DNA computing has several strong and efficient properties that can help
to solve problems in bio-molecular computers manner will be described
here [19]:

15
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

7.1 Uniqueness of DNA Computing


DNA, with its unique data structure and ability to perform many
parallel operations, allows you to look at a computational problem from
different points of view. Transistor based computers typically handle
operations in a sequential manner. Of course there are multi-processor
computers, and modern CPUs incorporate some parallel processing, but
in general, in the basic Von Neumann Architecture computer, instructions
are handled sequentially. A Von Neumann machine, which is what all
modern CPUs are, basically repeat the same" Fetch and execute cycle"
over and over again; it fetches an instruction and the DNA computers,
however, are non Von Neumann, stochastic machines that approach
computation in a different way from ordinary computers for the purpose
of solving different class of problems [19].
7.2 Motivation for DNA Computing
There are three reasons for using DNA computing to solve
computational problems [19].
(1) The information density of DNA is much greater than that of
silicon: 1 bit can be stored in approximately one cubic nanometer.
Other storage media, such as videotapes, can store 1 bit in
1,000,000,000,000 cubic nanometre.
(2) Operations on DNA are massively parallel: a test tube can contain
trillions of strands. Each operation on a test tube of DNA is carried
out on all strands in the tube in parallel.
(3) DNA computing is an interdisciplinary field where: biologists,
computer scientists, physics, mathematicians, chemists, etc. find a
lot of interesting problems which can be applied to both
theoretical and practical areas of DNA computing.

16
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

7.3 Information Storage and Processing Capabilities [20]


Nucleic Acids are used because of density, efficiency and speed.
DNA molecules can store far more information than any existing
computer memory chip. This means that DNA computing is a far denser
packing of molecular information compared with silicon-based computers.
7.4 Efficiency
Each DNA strand represents one possible answer to the problem
that the computer is trying to solve. The strands have been synthesized by
combining the building blocks of DNA, called nucleotides, with one
another, using techniques developed for biotechnology. The set of DNA
strands is manufactured so that all conceivable answers are included.
Because a set of strands is tailored to a specific problem, a new set would
have to be made for each new problem. While a DNA computer takes
much longer than a normal computer to perform each individual
calculation, it performs an enormous number of operations at a time and
requires less energy and space than normal computers. The only
fundamental difference between conventional computers and DNA
computers is the capacity of memory units: electronic computers have
two positions (on or off), whereas DNA has four (C, G, A and T).
Computers based on molecules like DNA will not have Von Neumann
architecture, but instead function best in parallel processing applications.
They are considered promising for problems that can have multiple
computations going on at the same time. Say for instance, all branches of
a search tree could be searched at once in a molecular system while Von
Neumann systems must explore each possible path in some sequence.
Information is stored in DNA as CG or AT base pairs with maximum
information density of 2bits per DNA base location. Information 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.

17
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

DNA computers are massively parallel, while electronic computers would


require additional hardware; DNA computers just need more DNA. This
could make the DNA computer more efficient, as well as more easily
programmable [21].

8. How the DNA Computing Search Works


DNA computers work by encoding the problem to be solved in the
language of DNA: the base-four values A, T, C and G. Using this base
four number system, the solution to any conceivable problem can be
encoded along a DNA strand like in a Turing machine tape. Every
possible sequence can be chemically created in a test tube on trillions of
different DNA strands, and the correct sequences can be filtered out using
genetic engineering tools [6].

9. Advantages and Disadvantages of DNA Computing Search [6]


This section consists of two parts; the first one is to explain the
advantages of DNA computing, while the other one is to describe the
drawbacks of DNA computing, as follow:
9.1 Advantages of DNA Computing Search
DNA computing has several advantages that distinguish it from
other computing paradigms:
1. It performs millions of operations simultaneously.
2. It generates a complete set of potential solutions.
3. It conducts large parallel searches.
4. Efficiently it handles massive amounts of working memory.
5. The clear advantage is that we have a distinct memory block that
encodes bits.
6. The differentiation between sub sequences denoting individual bits

18
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

allows a natural border between encoding sub-strands.


7. Using one template strand as a memory block also allows us to use
its compliment, as another memory block, thus effectively
doubling our capacity to store information.
9.2 Disadvantages of DNA Computing Search
The following items represent the disadvantages of the DNA
computing:
1. Generating solution sets, even for some relatively simple problems,
may require impractically large amounts of memory (lots and lots
of DNA strands are required)
2. Many empirical uncertainties, including those involving: actual
error rates, the generation of optimal encoding techniques, and the
ability to perform necessary bio-operations conveniently in vitro
(for every correct answer there are millions of incorrect paths
generated that are worthless(.
3. This is a rather good encoding, however, as we increase the size of
our memory, we have to ensure that our sub-strands have distinct
complements in order to be able to "set" and" clear" specific bits in
our Memory.

10. Why DNA Computing


This is an important question. There are two reasons for using
molecular biology to solve computational problems.
i) The information density of DNA is much greater than that of
silicon 1 bit can be stored in approximately one cubic nanometer.
Others storage media, such as videotapes, can store 1 bit in
1,000,000,000,000 cubic nanometer.

19
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

ii) Operations on DNA are massively parallel: a test tube of DNA


can contain trillions of strands. Each operation on a test tube of
DNA is carried out on all strands in the tube in parallel.
Despite these advantages, several researches have been published
showing the limitations of the DNA computing approach. If DNA is to
establish itself as a serious competitor to silicon based machines, then
these limitations are going to be passed by. The approach is two fold. One
is theoretical and the other is practical. Many of the early researches
published about DNA computers were purely theoretical. They describe
theoretical models of DNA computers. Starting from observing the
structure and dynamics of DNA the theoretical research began to propose
formal models (this means models with rules for performing theoretical
operations) for DNA computers. Once a model has been created it is
important to see what kind of problems can be solved using it. The
practical side of DNA computing has progressed at a much slower rate,
mainly due to the fact that the laboratory work is very time consuming
and includes several constraints. However the practical research is now
beginning to pick up speed. So we understand that DNA computing is
only for mathematicians. Also DNA computing is an interdisciplinary
field where: biologists, computer scientists, physics, mathematicians,
chemists, etc. find a lot of interesting problems which can be applied to
both theoretical and practical areas of DNA computing [6].
The exploitation of DNA computation power (by means of DNA
molecules) to solve problems, has a very real motivation: working with
DNA molecules offers the chance to perform billions of operations
simultaneously, compared with only few thousands parallel operations in
even the most advanced electronic computers [15].

20
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

11. Comparison between DNA and Electronic Computing


We have seen the concepts and characteristics of DNA Computer,
we can now compare the DNA Computers with Conventional Electronic
computers [6].
11.1 Similarities
Here are the similarities between the DNA computers and the
electronic computers:
(a) Transformation of Data
Both DNA computers and electronic computers use Boolean logic
(AND, OR, NAND, NOR) to transform data. The logical command"
AND" is performed by separating DNA strands according to their
sequences, and the command "OR" is done by pouring together DNA
solutions containing specific sequences. For example, the logical
statement" X or Y" is true if X is true or if Y is true. To simulate that, the
scientists would pour the DNA strands corresponding to "X" together
with those corresponding to "Y".
(b) Manipulation of Data
Electronic computers and DNA computers both store information
in strings, which are manipulated to do processes. Vast quantities of
information can be stored in a test tube. The information could be
encoded into DNA sequences and the DNA could be stored. To retrieve
data, it would only be necessary to search for a small part of it - a
keyword, for example, by adding a DNA strand designed so that its
sequence sticks to the keyword wherever it appears on the DNA.
(c) Computation Ability
All computers manipulate data by addition and subtraction. A
DNA computer should be able to solve a satisfiability problem with 70
variables and 1,000 AND-OR connections. To solve it, assign various
DNA sequences to represent 0's and l's at the various positions of a 70
21
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

digit binary number. Vast numbers of these sequences would be mixed


together, generating longer molecules corresponding to every possible 70
digit sequence.
11.2 Differences
The following items represent the differences between DNA
computers and electronic computers:
(a) Size
Conventional computers are about 1 square foot for the desktop
and another square foot for the monitor. One new proposal is for a
memory bank containing more than a pound of DNA molecules
suspended in about 1,000 quarts of fluid, in a bank about a yard square.
Such a bank would be more capacious than all the memories of all the
computers ever made. The first ever-electronic computer took up a large
room whereas the first DNA computer (Adleman) was 100 micro liters.
Adleman dubbed his DNA computer the TT-100, for test tube filled with
100 micro liters, or about one-fiftieth of a teaspoon of fluid, which is all it
took for the reactions to occur.
(b) Speed
Conventional computers can perform approximately 100 MIPS
(millions of instruction per second). Combining DNA strands as
demonstrated by Adleman, made computations equivalent to 10 9 or better,
arguably over 100 times faster than the fastest computer. The inherent
parallelism of DNA computing was staggering.
(c) Minimal Storage Requirements
DNA stores memory at a density of about 1 bit per cubic
nanometer where conventional storage media requires 10 12 cubic
nanometers to store 1 bit. In essence, mankind's collective knowledge
could theoretically be stored in a small bucket of DNA solution.

22
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

(d) Minimal Power Requirements


There is no power required for DNA computing while the
computation is taking place. The chemical bonds that are the building
blocks of DNA happen without any outside power source. There is no
comparison to the power requirements of conventional computers.

12. The Future for DNA Computing


The major problem currently for Adleman's and Lipton's DNA
computing experiments, and the ones described here, is the time involved
in extracting and recombining DNA. While DNA processes within the
test-tube can take place millions of times per second, extraction processes,
whereby individual strands of DNA are manually isolated and spliced,
can take several hours and even days, just for the simplest problems. This
has led several researchers to conclude that the complexity aspects of
DNA algorithms will limit their applicability. This conclusion, however,
ignores some fundamental biological and computational issues. Current
research in DNA computing uses DNA as a data structure
('representational DNA'), where DNA is used to represent a map. But any
algorithm which only assumes manual manipulation of data
representations is unlikely to fare well in terms of time taken to produce a
result. Instead, the issue is whether all the steps involved in algorithms for
manipulating representation DNA can themselves be 'automated'.
Automated DNA can be achieved.
 By encoding certain algorithmic processes (those achieved through
human intervention) as excutable DNA strands which, when
transcribed into messenger RNA and mapped onto enzymes within
the test tube, can manipulate the representational DNA; and
 By introducing ready-made enzymes from outside to be combined
in the same test tube as the representational DNA, so that
23
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

operations currently executed manually outside the test tube take


place within the test tube.
These two processes correspond, very roughly, to those cellular processes
in which a cell's DNA produces proteins and enzymes for use by itself
(intracellular), and by other cells (extracellular), respectively. It is
proposed that future DNA algorithms will need to appeal systematically
to both sets of processes [22].

13. Applications of DNA Computing Search


As far as applications are concerned, this can be quite useful in
figuring out how to route telephone calls, plane trips, and basically any
problem that can be turned into a Hamiltonian problem. It has also been
claimed that DNA can be used to solve optimization problems involving
business management. This would involve optimizing the routing of raw
materials [6].
1. Applications make use of "classic" DNA computing schemes
where the use of massive parallelism holds an advantage over
traditional computing schemes, including potential polynomial
time solutions to hard computational problems [6].
2. Applications make use of the "natural" capabilities of DNA,
including those that make use of informational storage abilities and
those that interact with existing and emerging biotechnology [6].
3. DNA computing is essentially used to solve the NP-complete
problem, such as travelling salesman problem, finding shortest path
problem, and assignment routing problem [23].
4. Recently, researches have proposed solving hard problems via
DNA computing technique, these problems require a polynomial
time to solve and get solution(s) because of the complex structure

24
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search

of each one such as chess, N-Queen problem, SAT path problem,


puzzle problem and so on [23].
5. Classical DNA computing techniques have already been
theoretically applied to a real life problem: breaking the Data
Encryption Standard (DES). Although this problem has already
been solved using conventional techniques in a much shorter time
than proposed by the DNA methods, the DNA models are much
more flexible, potent, and cost effective [24].

25

You might also like