HDNA : Heuristic DNA Computing Algorithm

The proposed system is based o n embedded the heuristic search in DNA sea rch algorithm so to make it more efficient and flexible. The HDNA system is constructed to improve the work o f t he DN A c omputing algorithm and e nhance the measurement criteria of it by reducing the run time and the memory capacity as well as the number of generated ra ndom solutions (strands or states) that are n eeded to implement the computing algorithm. The experimental re sults a ppear t hat the HDNA u sing A* and Alpha-Beta is more efficient than using A* and Alpha-Beta each alone.


Introduction
There are two fundamentally major approaches in the field of AI.One is often termed traditional symbolic AI, which has been historically dominant.It is characterized by a high level of abstraction and a macroscopic view.Classical psychology operates at a similar level.Knowledge engineering systems and logic programming fall in this category.Symbolic AI covers areas such as knowledge base systems, logical reasoning, symbolic machine learning, search techniques, and natural language processing.The second approach is based on low level, microscopic biological models, similar to the emphasis of physiology or genetics.Neural networks, genetic algorithms and DNA computing are the prime examples of this latter approach.These biological models do not necessarily resemble their original biological counterparts.However, they are evolving areas from which many people expect significant practical applications in the future.DNA computing has been extended in their ways of representing solutions and performing basic processes.A border definition of DNA computing, sometimes called evolutionary computing, includes not only generic genetic information but also some aspects of Artificial Life.Other related areas include evolvable hardware, evolutionary robotics, ant colony optimization and swarm intelligence [1].

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 Adleman has first shown that computing can be done using DNA also, without using usual machine but using test tubes etc. in biological laboratory [3].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 [4].
The fundamental schema of a DNA algorithm, for solving an instance of a combinatorial problem, is the following [5]: 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 substeps, 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 [5].
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:

Heuristic Search Algorithms
We can saw that many of the problems that fall within the purview of artificial intelligence are too complex to be solved by direct techniques; rather they must be attacked by appropriate search methods armed with whatever direct techniques are available to guide the search.These methods are all varieties of heuristic search.They can be described independently of any particular task or problem domain.But when applied to particular problems, their efficacy is highly dependent on the way they exploit domain-specific knowledge since in and of themselves they are unable to overcome the combinatorial explosion to which search processes are so vulnerable.For this reason, these techniques are often called weak methods.Although a realization of the limited effectiveness of these weak methods to solve hard problems by themselves has been an important result that emerged from the last decades of AI research, these techniques continue to provide the framework into which domain-specific knowledge can be placed, either by hand or as a result of automatic learning [6].

A* Search Algorithm
The A* algorithm to be discussed shortly is a complete realization of the best first algorithm that takes into account these issues in detail.The following definitions, however, are required for representing the A* algorithm.These are in order.Definition 1: A node is called open if the node has been generated and the h'(x) has been applied over it but it has not been expanded yet.Definition 2: A node is called closed if it has been expanded for generating offsprings.
In order to measure the goodness of a node in A* algorithm, we require two cost functions: -Heuristic cost.
The heuristic cost measures the distance of the current node x with respect to the goal and is denoted by h(x).The cost of generating a node x, denoted by g(x), on the other hand measures the distance of node x with respect to the starting node in the graph.The total cost function at node x, denoted by f(x), is the sum of g(x) plus h(x) [7].
Here are the basic steps that are considered to implement the A* procedure to solve problems in an intelligent manner [8]: 1. Operations on states generate children of the state currently under examination.

2.
Each new state is checked to see whether it has occurred before thereby preventing loops.

3.
Each state n is given an f value equal to the sum of its depth in the search space g(n) and a heuristic estimate of its distance to a goal h(n).

4.
States on open are sorted by their f examined or a goal.

5.
As an implementation point, the algorithm can be improved through maintenance of perhaps heaps or leftist trees.

The Alpha Beta Pruning
We will discuss a special type of algorithm, which does not require expansion of the entire space exhaustively.This algorithm is referred to as alpha-beta cutoff algorithm.In this algorithm, two extra plies of movements are considered to select the current move from alternatives.Alpha

HDNA: The Heuristic DNA Computing
The new idea depends on the fact that says "heuristic search studies the methods and rules of discovery and invention", now it is the time to discover and invent more efficient and stronger computing fashion.The idea suggests embedding the heuristic search in DNA search algorithm to make it more efficient and flexible, we can benefit from the heuristic search properties to improve the work of the DNA computing algorithms to get the same results that appear when the DNA computing algorithm is run alone, but in less run time required and the space area of the computer memory that is required to implement the algorithm.The main two heuristic search properties that are depended on in this work are as follows: -Problem Reduction: very useful aim in intelligent search because reducing the problem state space (according to the heuristic function) makes the search faster and more desired.-Guarantee of Solution: another useful aim in intelligent search, is the intelligent search algorithm must give a guarantee to find the best solution(s).
Here the system benefits from the last two parts by appending the benefits of the Alpha Beta pruning and the A* technique, as mentioned before, Alpha Beta pruning will reduce the problem search space as much as possible; and the A* technique will guarantee to get solution(s), thus when they are applied together in one implementation phase, of course the results of the system are obtained with the following properties: 1. Problem Reduction, this property is obtained in two ways, the main one from applying the pruning technique in the Alpha Beta algorithm, while the other one from storing process, after generating the random solutions (strands), which store the resulting paths as an A* tree structure.

Guarantee of solution, this
property appears clearly with applying the A* search algorithm to those solutions (strands) that are stored in the A* tree structure, because the A* search technique evaluates each node in the tree by the evaluating function f(n) which is calculated as the addition of the generation function g(n) to the heuristic function h(n):

Reduce the run time, according
to the above two properties the run time is reduced to very acceptable ratio in comparison with run time calculated from PDF created with pdfFactory Pro trial version www.pdffactory.com1069 the run time and the memory capacity as well as the number of generated random solutions (strands or states) that are needed to implement the computing algorithm.To prove that the HDNA system will work correctly, it is considered very important matter to test it with several applications.The applications (we call each one a case testing) that we selected are the following: 1-The Traveling Salesman Problem (TSP).2-The Routing with Minimum Cost Problem (RMCP).

TSP in HDNA
The traveling salesman problem is chosen as a benchmark.The traveling salesman problem is to find an acceptable path(s) for a given set of vertices (cities) and edges (links).In addition, the solution path must contain all the cities given, each only once, and begins from the specified city to which the tour ends [9].The TSP will be implemented via HDNA system.Resulting paths will remain the same as those appear in implementing DNA algorithm alone while the measurement criteria (G.R.P, PCR.P, R.T, and M.C) are changed to better.Here we present practical results that are obtained from applying the various approaches of the HDNA proposed method through the TSP with various cases.

RMCP in HDNA
The following sections give a description of two routing heuristics developed for the HDNA system.-Tour generated may be feasible, that is, some of the resulting paths (at least one) may be the optimal ones.-No response to the requested path because there is no routing path or there are no weighted links corresponding to request value.The RMCP will be implemented via HDNA system.Resulting paths will remain the same as those appear in implementing DNA algorithm alone, while the measurement criteria (G.R.P, PCR.P, R.T, and M.C) are changed to better.Here we present practical results that are obtained from applying the various approaches of the HDNA proposed system through the RMCP with various cases.
Figure (2) represents the run time comparison of implementing the TSP via DNA, DNA with ABP, DNA* and HDNA respectively, while Figure (3) represents the memory capacity comparison from the results of TSP.
and Beta denote two cutoff levels associated with MAX and MIN nodes.As it is PDF created with pdfFactory Pro trial version www.pdffactory.com