|Views: 310
|Likes: 0

Published by slartibartfastibast

The traveling salesman problem is to find a minimum cost (weight) path for a given set of cities (vertices) and roads (edges). The path must start at a specified city and end there after going through all the other given cites only once. It is a classical NP-complete problem in graph theory. In this paper, we consider a DNA procedure for solving the traveling salesman problem in the Adleman–Lipton model. The procedure works in O(n) steps for the traveling salesman of an edge-weighted graph with n vertices.

The traveling salesman problem is to find a minimum cost (weight) path for a given set of cities (vertices) and roads (edges). The path must start at a specified city and end there after going through all the other given cites only once. It is a classical NP-complete problem in graph theory. In this paper, we consider a DNA procedure for solving the traveling salesman problem in the Adleman–Lipton model. The procedure works in O(n) steps for the traveling salesman of an edge-weighted graph with n vertices.

See more

See less

Solving traveling salesman problem in the Adleman–Lipton model

Zhaocai Wang

a,

, Yiming Zhang

, Weihua Zhou

, Haifeng Liu

a

College of Information, Shanghai Ocean University, Shanghai 201306, PR China

b

School of Economics and Management, Yancheng Institute of Technology, Yancheng 224051, PR China

c

The Central Laboratory, Shandong Vocational College of Science and Technology, Weifang 261053, PR China

a r t i c l e i n f o

Keywords:

DNA computingThe traveling salesman problemAdleman–Lipton modelNP-complete problem

a b s t r a c t

The traveling salesman problem is to ﬁnd a minimum cost (weight) path for a given set of cities (vertices) and roads (edges). The path must start at a speciﬁed city and end thereaftergoingthroughalltheothergivencitesonlyonce.ItisaclassicalNP-completeproblemingraphtheory. Inthis paper, we consider a DNAprocedure for solving the traveling sales-man problem in the Adleman–Lipton model. The procedure works in

O

ð

n

Þ

steps for thetraveling salesman of an edge-weighted graph with

n

vertices.Crown Copyright

Ó

2012 Published by Elsevier Inc. All rights reserved.

1. Introduction

DNAcomputingisanewlyemerginginterdisciplinarysciencethatusesDNAmolecularbiotechnologiestosolveproblemsincomputerscienceormathematics.DNAcomputingcanexecutebillionsofoperationssimultaneously. DNAalsoprovidesahuge storage capacity since they encode information on the molecular scale. As the ﬁrst work for DNA computing, Adleman[1]presented an idea of solving the Hamiltonian path problemof size

n

in

O

ð

n

Þ

steps using DNA molecules. Lipton[2]dem-onstratedthatAdleman’sexperimentcouldbeusedtodeterminetheNP-completesatisﬁabilityproblem.Inrecentyears,lotsof papers have occurred for designing DNA procedures and algorithms to solve various NP-complete problems[3–9].In this paper, a DNA procedure is introduced for ﬁguring out solutions of the traveling salesman problem: for an edge-weightedgraph

G

¼ ð

V

;

E

Þ

ﬁndaminimumcost(weight)path.Thepathmustbeginataspeciﬁedcity(vertice)andendthereafter going through all the other given cites (vertices) only once. For instance, the edge-weighted graph

G

v

1

. It is not difﬁcult to ﬁnd that the path

v

1

!

v

7

!

v

6

!

v

5

!

v

4

!

v

3

!

v

2

!

v

1

with total weight 21 is a solution to the traveling salesman problem forgraph

G

inFig. 1.The rest of this paper is organized as follows. In Section2, the Adleman–Lipton model is introduced in detail. Section3
introducesa DNAalgorithmfor solving the travelingsalesman problemandthe complexityof the proposedalgorithmis de-scribed. We give conclusions in Section4.

2. The Adleman–Lipton model

The DNA operations proposed by Aldeman[1]and Lipton[2]are described below. These operations will be used for ﬁg-
uringoutsolutionsofthetravelingsalesmanprobleminthispaper.TheAdleman–Liptonmodel:A(test)tubeisasetofmol-ecules of DNA (i.e., a multi-set of ﬁnite strings over the alphabet {A,C,G,T}). Given a tube, one can perform the followingoperations[9]: Merge, Copy, Detect, Separation, Selection, Cleavage, Annealing, Denaturation, Discard and Read. Since these

0096-3003/$ - see front matter Crown Copyright

Ó

2012 Published by Elsevier Inc. All rights reserved.http://dx.doi.org/10.1016/j.amc.2012.08.073

⇑

Corresponding author.

E-mail address:

Contents lists available atSciVerse ScienceDirect

Applied Mathematics and Computation

journal homepage:www.elsevier.com/locate/amc

10manipulationsareimplementedwithaconstantnumberofbiologicalstepsforDNAstrands[3],weassumethatthecom-plexity of each manipulation is

O

ð

1

Þ

steps.

3. DNA algorithm for the traveling salesman problem

Let

G

¼ ð

V

;

E

Þ

be a edge-weighted graph with the set of vertices

V

¼ f

v

k

j

k

¼

1

;

2

;

. . .

;

n

g

and the set of edges

E

¼ f

e

i

;

j

j

1

6

i

;

j

6

n

;

i

–

j

g

. Note that both

e

i

;

j

and

e

j

;

i

are in

E

if the vertices

v

i

and

v

j

are connected by an edge. Without lossof generality, we assume that

v

1

is the starting and ending vertex. Let

j

E

j ¼

s

, Then,

s

6

12

n

ð

n

þ

1

Þ

.In the following, we use the symbols

#

;

A

k

;

B

k

ð

k

¼

1

;

2

. . .

;

n

Þ

and

w

i

;

j

to denote distinct DNA singled strands for which

jj

#

jj ¼ jj

A

k

jj ¼ jj

B

k

jj

, where

jj Á jj

denotes the length of the DNA singled strand. The symbols

A

k

B

k

ð

k

¼

2

;

3

;

. . .

;

n

Þ

denote thevertex

v

k

. Meanwhile the symbols

#

A

1

B

1

;

A

1

B

1

#

denote the starting and ending vertex

v

1

which the symbol

#

is the signalofstartingandending.Supposethatallweightsinthegivengrapharecommensurable.TheDNAsingledstrands

w

i

;

j

areusedto denote the weights

k

i

;

j

on the edges

e

i

;

j

2

E

with

jj

w

i

;

j

jj ¼

k

i

;

j

w

where

w

is a constant, e.g., take

w

¼

5 mer in the followingdiscussion, Then, the

jj

w

i

;

j

jj ¼

5

k

i

;

j

. Let

m

¼

max

e

i

;

j

2

E

5

k

i

;

j

and

jj

#

jj ¼ jj

A

k

jj ¼ jj

B

k

jj ¼

n

Ã

m

¼

t

m

¼

max

f

5

Ã

3

;

5

Ã

5

;

5

Ã

7

;

5

Ã

9

;

5

Ã

10

g ¼

50 mer, Then

jj

#

jj ¼ jj

A

k

jj ¼ jj

B

k

jj ¼

n

Ã

m

¼

t

¼

7

Ã

50

¼

350mer. Let

P

¼ f

w

i

;

j

;

#

A

1

B

1

;

A

1

B

1

#

;

A

k

B

k

j

e

i

;

j

2

E

;

k

¼

2

;

3

;

. . .

;

n

g

;

Q

¼ f

#

;

A

1

;

B

1

;

B

i

w

i

;

j

A

j

j

e

i

;

j

2

E

;

1

6

i

;

j

6

n

;

i

–

j

g

:

We design the following algorithm to solve the traveling salesman problem and give the corresponding DNA operationsas follows:(1) We choose all possible paths, which start at

v

1

and end at

v

1

.(1-1)

Merge

ð

P

;

Q

Þ

;(1-2)

Annealing

ð

P

Þ

;(1-3)

Denaturation

ð

P

Þ

;(1-4)

Separation

ð

P

;

f

#

A

1

B

1

g

;

T

tmp

Þ

;(1-5)

Discard

ð

P

Þ

;(1-6)

Separation

ð

T

tmp

;

f

A

1

B

1

#

g

;

P

Þ

;Aftertheabovesixstepsofmanipulations,thesingledstrandsintube

P

willencodeallpathswhichstartandendat

v

1

#

A

1

B

1

w

1

;

2

A

2

B

2

w

2

;

7

A

7

B

7

w

7

;

6

A

6

B

6

w

6

;

4

A

4

B

4

w

4

;

3

A

3

B

3

w

3

;

1

A

1

B

1

#

2

P

which correspond to the path

v

1

!

v

2

!

v

7

!

v

6

!

v

4

!

v

3

!

v

1

respectively. This operation can be ﬁn-ished in

O

ð

1

Þ

steps since each manipulation above works in

O

ð

1

Þ

steps.(2) We choose all possible paths which pass all the other vertices (cities) at least once.For

k

¼

2 to

k

¼

n

.(2-1)

Separation

ð

P

;

f

A

k

B

k

g

;

T

Þ

;(2-2)

Discard

ð

P

Þ

;(2-3)

Merge

ð

T

;

P

Þ

;End forIn the above operations, we get the strands that denote starting and ending speciﬁed vertex

v

1

, synchronously goingthrough all the other vertices at least once. For example, for the graph inFig. 1, we have singled strands:

Fig. 1.

An edge-weighted graph

G

with 7 vertices.2268

Z. Wang et al./Applied Mathematics and Computation 219 (2012) 2267–2270

#

A

1

B

1

w

1

;

2

A

2

B

2

w

2

;

7

A

7

B

7

w

7

;

6

A

6

B

6

w

6

;

5

A

5

B

5

w

5

;

4

A

4

B

4

w

4

;

3

A

3

B

3

w

3

;

2

A

2

B

2

w

2

;

1

A

1

B

1

#

2

P

which denote the path

v

1

!

v

2

!

v

7

!

v

6

!

v

5

!

v

4

!

v

3

!

v

2

!

v

1

. Of course, it cannot be the optimum solution because thepath passes the vertex

v

2

twice. In the above operation we use a ‘‘For’’ clause. Thus this operation can be ﬁnishedin

O

ð

n

Þ

steps since each single manipulation above works in

O

ð

1

Þ

steps.(3) Each singled strand in tube

P

denotes the path starting and ending at

v

1

, synchronously passing the other

n

À

1 ver-ticesatleastonce.Whilethetravelingsalesmanproblemrequiresgoingthroughalltheothergivenverticesonlyonce.So ﬁrst of all, we set the length of DNA stands as following:

m

¼

max

e

i

;

j

2

E

5

k

i

;

j

and

jj

#

jj ¼ jj

A

k

jj ¼ jj

B

k

jj ¼

nm

¼

t

. ThelengthofStrands

A

k

B

k

denotingthevertex

v

k

is 2

t

. Thelengthofthestrands

#

denotingthestartingandendingsignalis

t

. Consequently the length of DNA strands which denote starting and ending vertex

v

1

then passing the other

n

À

1vertices one time in tube

P

must be between

ð

2

n

þ

4

Þ

t

and

ð

2

n

þ

5

Þ

t

. We can get the strands denoting the optimumsolution in this length range. This is done by the following manipulations.For

k

¼

1 to

k

¼

t

.(3-1)

Selection

ð

P

;

ð

2

n

þ

4

Þ

t

þ

k

;

T

Þ

;(3-2) If

Detect

ð

T

Þ

is ‘‘yes’’, thenEndFor andthe minimumcost (weight) pathis obtained, else continuethecirculation.In the above operation we use a ‘‘For’’ clause. Thus If

k

is independent of

n

, then this operation can be ﬁnished in

O

ð

n

Þ

steps since each single manipulation above works in

O

ð

1

Þ

steps.End for(4) Finally the

Read

operationis applied to givingthe exact edges in the travelingsalesman problem. For example, for thegraph inFig. 1, the minimum cost (weight) paths are

v

1

!

v

2

!

v

3

!

v

4

!

v

5

!

v

6

!

v

7

!

v

1

and

v

1

!

v

7

!

v

6

!

v

5

!

v

4

!

v

3

!

v

2

!

v

1

with total weights 21.(4-1)

read

ð

T

Þ

;Thefollowingtheoremtellsthatthealgorithmproposedabovereallycangetsolutionsofthetravelingsalesmanprob-lem in

O

ð

n

Þ

steps using DNA molecules.

Theorem 1.

Suppose m is a limit quantity having nothing to do with n, So m

¼

O

ð

1

Þ

. We can get the solution of traveling salesman problem with n vertices in O

ð

n

Þ

steps.

Proof.

After the operations of second step, all the singled strands in tube

P

denote starting and ending vertex

v

1

, synchro-nously passing the other vertices at least one time. We reasonably design the length of

#

;

A

k

;

B

k

and

w

i

;

j

, For

jj

w

i

;

j

jj ¼

5

Ã

k

i

;

j

ð

k

i

;

j

is the weights of edge

e

i

;

j

2

E

Þ

;

m

¼

max

f

5

Ã

k

i

;

j

g ¼

max

fjj

w

i

;

j

jjg

;

jj

#

jj ¼ jj

A

k

jj ¼ jj

B

k

jj ¼

n

Ã

m

¼

t

:

So we deﬁne

S

as the strands which denote starting and ending vertex

v

1

, then going through the other

n

À

1 vertices onlyonce. Then,

S

can be described:

#

A

1

B

1

w

1

;

d

2

A

d

2

B

d

2

ÁÁÁ

A

d

n

B

d

n

w

d

n

;

1

A

1

B

1

#

:

So

jj

S

jj ¼ jj

#

jj þ jj

A

1

jj þ jj

B

1

jj þ jj

w

1

;

d

2

jj þ ÁÁÁ þ jj

w

d

n

;

1

jj þ jj

A

1

jj þ jj

B

1

jj þ jj

#

jj¼ jj

#

jj þ jj

A

1

jj þ jj

B

1

jj þ

X

e

di

;

d j

2

E

jj

w

d

i

;

d

j

jj þ

X

nd

k

¼

2

jj

A

d

k

B

d

k

jj þ jj

A

1

jj þ jj

B

1

jj þ jj

#

jj¼

t

þ

t

þ

t

þ

X

e

di

;

d j

2

E

jj

w

d

i

;

d

j

jj þ

2

ð

n

À

1

Þ

t

þ

t

þ

t

þ

t

¼ ð

2

n

þ

4

Þ

t

þ

X

e

di

;

d j

2

E

jj

w

d

i

;

d

j

jj

*

0

6

X

e

di

;

d j

2

E

jj

w

d

i

;

d

j

jj

6

t

)

ð

2

n

þ

4

Þ

t

6

jj

S

jj

6

ð

2

n

þ

5

Þ

t

:

The length of strands which denote passing the other vertices more than once must be longer than

ð

2

n

þ

5

Þ

t

. So we canget the solution in step

ð

3

Þ

in appropriate length range.

h

Besides, the manipulates of algorithm can be entirely ﬁnished in ﬁnite operations. Such as step (1), (4) in

O

ð

1

Þ

, step (2) in

O

ð

n

Þ

, Simultaneity step (3) in

O

ð

t

Þ

. Because

O

ð

n

Þ ¼

O

ð

mn

Þ

and

O

ð

m

Þ ¼

O

ð

1

Þ

, then

O

ð

t

Þ ¼

O

ð

n

Þ

. In conclusion, We can getthe solution of traveling salesman problem with

n

vertices in

O

ð

n

Þ

.

4. Conclusions

Inthispaper,weproposeaprocedureforthetravelingsalesmanNP-completeproblemintheAdleman–Liptonmodel.Theprocedure works in

O

ð

n

Þ

steps for the travelingsalesman problemof an edge-weightedgraph with

n

vertices. All our results

Z. Wang et al./Applied Mathematics and Computation 219 (2012) 2267–2270

2269