A DNA-Based Genetic Algorithm Implementation for Graph Coloring Problem Xiaoming Liu1, Jianwei Yin1, Jung-Sing Jwo1, Zhilin Feng1,2, and Jinxiang Dong1 1

Department of Computer Science and Technology, Zhejiang University, HangZhou 310027, China 2 College of Zhijiang, Zhejiang University of Technology, Hangzhou 310024, China {liuxiaoming, zjuyjw, djx}@cs.zju.edu.cn

Abstract. This paper presents an implementation of Croitoru’s genetic algorithm for graph coloring problem, and some necessary modification and simplifying are made by using DNA operations. In this algorithm, each vertex and edge is encoded with a series of encodings incorporating position information, and the initial diverse candidate population is generated using POA. One crossover operator, two mutation operators, evaluation and selection operators are all implemented using basic operations on DNA. It is shown that the algorithm can be implemented with space complexity much decreased and time complexity O(mn2) to get a new generation, where n is the number of vertices and m is the number of edges. Moreover, borrowing ideas from the above implementation, an algorithm for Maximal Clique problem is also presented.

1 Introduction The graph coloring problem is, for a given graph G=(V,E), coloring the vertices with the property that for any pair vertices connected by an edge, they are colored differently, the minimum number of color required is called the chromatic number of G and is denoted by X(G). It is well known that it is NP-complete to decide whether for a given graph G and an integer k, there exists a k-coloring of G. There are many optimal methods for the problem, for example simulated annealing in [1] and genetic algorithm in [2]. In 1996 Amos et al. proposed a DNA algorithm to solve the 3-coloring problem based on a test tube [3]. In another approach, Bach et al. solving the 3-coloring problems through generating all subsets of vertices V whose size are less than n/3 [4]. Developing efficient DNA-based algorithms for solving NP-complete problems is one of the most important issues of DNA-based computing. Adleman [5] and many researchers have explored the possibility of solving NP-complete problems using DNA, but it is required to generate all the solution candidates for most algorithms, which means the quantity of DNA used grows exponentially with the size of problems. Thus, the size of instances that can be solved with these algorithms is quite limited. Several suggestions [4] have been proposed to reduce the amount of DNA to be used. Bach et al. [4] proposed methods for solving Clique and Independent Set, where solution candidates to the instance are generated by combining (in all possible D.S. Huang, X.-P. Zhang, G.-B. Huang (Eds.): ICIC 2005, Part II, LNCS 3645, pp. 99 – 108, 2005. © Springer-Verlag Berlin Heidelberg 2005

100

X. Liu et al.

combinations) solutions for its sub-problems. Cai et al.[6] proposed a surface-based method, and Sergio et al.[7] proposed an implementation of a random walk method for solving k-SAT problems with the space complexity O((2-2/k)n). Since the beginning of DNA computing concept was proposed, there have been calls [8] to consider carrying out evolutionary computation using DNA, but only a few implementations have been presented. In 1999 Chen et al. [9] proposed an implementation of genetic algorithm for Max-1 problems. Rose et al [10] proposed a genetic method for producing massively parallel, recombined gene libraries encoding for proteins. The purpose of this paper is to study a possible implementation of a genetic algorithm proposed by Croitoru et al [2]. for graph coloring problem. The paper is organized as follows. In section 2 we give a brief description of Croitoru’s algorithm. In section 3 we describe a DNA-based implementation of the algorithm. In section 4, we present a solution for the maximal clique problem. In section 5 we conclude the paper.

2 Brief Description of Croitoru’s Algorithm Let G=(V,E) be a graph with the vertices set V={1,2…n}. The set of all n! permutations on the set V is denoted by Sn. For an element v=v1…vi…vj…vn of Sn, if e=vivj, i
The theorem says, for a graph, the problem of obtaining an optimal coloring is equivalent to find an ordering with minimum number of bad edges. Croitoru’s algorithm is based on the theorem. Croitoru’s algorithm is a genetic algorithm with 1 crossover operator and 4 mutation operators. A chromosome represents an ordering of the vertices of the graph. If the graph has n vertices, the chromosome will be a vector: chrom=(v1,v2…vn), where vi {1,2…n}, vi vj, i j. Crossover: Let parent1=(v11v21…vn1) and parent2=(v12v22…vn2) be two parent chromosomes. Two cutting points C1,C2 {1,2…n-1} are generated randomly for parent1 and parent2 respectively. One offspring is obtained by keeping unaltered genetic information from parent1 before C1, the vertices after C1 from the first parent are rearranged using the ordering defined by the second parent. The second offspring is constructed similarly. ⎧⎪ parent 1 = 316 ↓ 254 offspring 1 = 316524 ⎫⎪ For example: ⎨ ⇒ ⎬ 2 2 ⎩⎪ parent = 52 ↓ 4136 offspring = 523164 ⎭⎪ Order Mutation: Let parent=(v1v2…vn) be a parent chromosome, the offspring is obtained by exchange 2 vertices located in 2 randomly generated positions.



≠ ≠







For example, parent = 316 25 4 ⇒ offspring = 314256 Block Mutation: The operator translates blocks of k successive vertices (k is randomly generated). Let parent=(v1v2…vn) be a parent chromosome. If

A DNA-Based Genetic Algorithm Implementation for Graph Coloring Problem

101



k=2 and i,j [1,n-1] are randomly generated, the block mutation yields offspring=(v1…vi-1vi+2…vjvivi+1vj+1…). Color Spread Mutation and Bad Edge Stretch Mutation are not considered in this paper, so they are omitted here. Two evaluations are proposed in their algorithm: Evaluation by Bad Edge and Evaluation by heuristics. We consider only the first evaluation. The selection is rank-based and the number of ranks is equivalent to the number of fitness values.

Fig. 1. DNA Implementation Cornelius Genetic Algorithm

3 DNA Implementation of Croitoru’s Algorithm The implementation of Croitoru’s algorithm based on DNA is outlined below (see Fig.1 also). Begin with a diverse initial population of candidates. 1. 2. 3. 4. 5.

Evaluate the fitness of the candidates. Select and purify more fit candidates. Amplify fit candidates with PCR. Reserve some, crossover a part and mutate others. Combine all the candidates from step 4, and obtaine a new generation. Repeat.

3.1 Operations Used in the Implementation

To implement the algorithm, we permit the following operations on DNA. For the implementation of To-Single-Stranded and To-Double-Stranded, please see [11]. For convenience of description, we extend the extract operation.

102

X. Liu et al.

1. Merge: mixing the contents of two or more test tube into one, denote by T←Merge(T1,T2…Tn). 2. Detect: testing whether a test tube contains a DNA strand. 3. Cut: cutting DNA strands at specific restriction sites, denote by Cut(T,s1|s2). 4. Length: separating DNA strands according to their base length, denoted by T←length(T0,l). 5. Extract: extracting all strands containing certain subsequences, denoted by T←Extract(T0,(s1,s2…sn)). 6. To-Single-Stranded: denature each dsDNA in tube and remove one ssDNA, denoted by T←To-Single-Stranded(T0). 7. To-Double-Stranded: making ssDNA to dsDNA, denoted by T←To-Double-Stranded(T0). 3.2 Encoding Scheme and Generating of Initial Candidate Pool

In order to implement the algorithm, we employ a specific DNA encoding scheme (expanding the encoding scheme of [12]). We use dsDNA to encode the permutation of vertices and the encoding looks like p1v1p2v2…pnvnpn+1. Let G=(V,E) be a graph with |V|=n, |E|=m. For each vertex vi, we use a series of encoding p1vi, p2vi…pnvi to denote it, where pj (1≤j≤n) means the order of vertex vi in a specific permutation is j. we can choose the lengths of vi and pj (1≤i≤n, 1≤j≤n+1) to be both l, then the length of a proper permutation will be (2n+1)l. n2 Kinds of encodings are needed to encode n vertices, but in fact, we need only 2n+1 different encoding segments for the encodings of pj (1≤j≤n+1) in each vertex’s encoding are the same. For a DNA strand representing a permutation of vertices, there are n value sections (v1 to vn) sandwiched between n+1 position sections (p1 to pn+1) (see Fig.2). The last position section pn+1 is needed for the operation of To-Double-Stranded and PCR amplification. To encode an edge e=vivj, we use a series of encoding vipkvj (1≤k≤n) in the similar way. To generate an initial candidate pool, we can use POA (Parallel Overlap Assembly) [12]. One thing to mention here is that we do not need to generate all the solution candidates. To get legal permutations of vertices, we need extracting strands with length of 2(n+1)l and having v1…vn as subsequences, that is T0 Length(T0,(2n+1)l) and T0←Extract(T0,(v1,v2…vn)) if we denote the initial tube as T0.



Fig. 2. Encoding for vertices ordering

3.3 Implementation of Genetic Operators 3.3.1 Implementation of Crossover The crossover operator is designed to propagate and exchange information regarding stable sets defined in the parents throughout evolution. There is a cut point for each parent chromosome and the crossover operation is performed separately on each parent chromosome in original Croitoru’s algorithm. We can carry out the operation on all the

A DNA-Based Genetic Algorithm Implementation for Graph Coloring Problem

103

chromosomes simultaneously and consider only single point crossover since there are a large number of DNA strands presented in a tube when it is implemented using DNA. p1

pi

pnvnpn

p 1v

pi

pnv np n+1

vi

1



p 1 v 1 …p i v i

pi+1vi+1…pnvnpn+1

p 1 v 1 …p i v i

p i+1 v’ i+1 …p n v n p n+1

'

p1



To-Single-Stranded p1 … pi Cut p 1 v’ 1 …p i v’ i





pn v’ n p n+

pi+1v’i+1…pnv’npn

Add DNA ligase etc, v’ipi+1 p1v’1…piv’ pi+1vi+1…pnvnpn+1 v’pi+

vi pi+1 p1

pnv’npn

pi

pivipi+1v’

p n v’ n p n

p1 v’1

To-Double-Stranded … piv’ipi+1 ’

p n v n p n+1

Fig. 3. Crossover implementation process

Let the current test tube be T1 and a randomly generated cut point be i (1≤i≤n). We get tube T2 after performing the To-Single-Stranded operation. Single strands in T2 are cut between vi and pi+1, then ligase enzyme and vi ' pi +1 (vi ' ∈ {v1 , v2 ,L , vn }) are added into tube T2. We get dsDNA after extracting proper length ssDNA and performing To-Double-Stranded operation. The algorithm is outlined below (see Fig.3. also).

T2 ← To − Single − Stranded (T1 )

1. 2.

For each vi ∈{v1,L, vn} ,T2 ←Cut(T2 ,vi | pi+1)

3.

For j=1 to n add(T2 , v j pi +1 ) [In Parallel]

4.

Ligase(T2 ),T2 ← Extract(T2 ,(v1, v2 ,L, vn )), T2 ← Length(T2 ,(2n +1)l)

5.

T2 ← To − Double − Stranded (T2 )

In step 4, a single pi (1≤i≤n) extraction can be used instead, but for robustness of the algorithm, we extract all n pi here. After many v j pi +1 are added in step 3, the cut ssDNA containing p1 and pivj will hybridize with v j pi +1 and v j pi +1 will hybridize with cut ssDNA containing pi+1. The ssDNA formed now may not be proper permutation of vertices (some may appear more than once while some other may not appear), so the extracting operation is performed here. Meanwhile, some ssDNA may be of not proper length so the length operation is performed also. It is guaranteed to get proper permutation of vertices in step 5 after two operations mentioned above are performed.

104

X. Liu et al.

3.3.2 Implementation of Mutation Operation A permutation operator is aimed at sampling the search space in a neighborhood of a chromosome. There are 4 mutation operations in Croitoru’s algorithm and we give 2 of them here. p1 v1

pi



vi

p n v n p n+1



To-Single-Stranded p 1v 1

pi

p 1 v 1 …v i-1 p i

vi

p

Cut pj

p i+1 v i+1 …

n

v

n

p

n+1

p j + 1 v j + 1 …p n + 1

Add pi+1v’ipi, pj+1v’jpj etc,Ligase v

p 1 v 1 …v i-1 p i

p i+1 v i+1 …

pi v j pi+1 p1 v1

pi

pj

p j + 1 v j + 1 …p n + 1

p j vi p j+1

To-Double-Stranded p n v n p n+1 pj

Fig. 4. Order mutation implementation process

Order Mutation: the operator is used to change the order of some vertices in permutation. For two randomly generated number i, j (1≤i
added. The operation completes after extracting proper permutation of vertices and performing To-Double-Stranded operation. We denote the function by OM(pi,pj) where pi and pj are two positions. The algorithm is outlined below (see Fig.4. also). 1.

T1 ← To − Single − Stranded (T1 )

For vi , v j ∈ {v1 ,L , vn }[ In Parallel] 2.

Cut (T1 , pi | vi )

Cut (T1 , vi | pi +1 )

Cut (T1 , p j | v j )

Cut (T1 , v j | p j +1 )

3.

End For Add (T1 , pi +1vi ' pi , p j +1v j ' p j ), Ligase(T1 )

4.

Extract (T1 , (v1 , v2 ,L , vn )), To − Double − Strand (T1 )

Block Mutation: The operator is used to translate blocks of successive vertices. This operation can be implemented by many order mutations. For example, for parent chromosome parent=p1v1…pivi…pjvj…pnvnpn+1 and k=2, the aim is to transfer vivi+1 to

A DNA-Based Genetic Algorithm Implementation for Graph Coloring Problem

105

vj behind, that is to get child chromosome child=p1v1…pi-1vi-1pivi+2…pj-2vjpj-1vipjvi+1 …pnvnpn+1. We can get it by the following operations, vi↔vi+2 to place vi+2 in the destination place, in the same way, vi+1↔vi+3, vi+4↔vi…vj-1↔vi,vj↔vi+1. One thing to mention is that pi (1 ≤ i ≤ n ) does not change during the process. For general i, j, k, we have the following algorithm.

For r = 1 to k For s = 1 to j - i OM ( pi + s −1 , pi + s ) End For End For Color Spread Mutation and Bad Edge Stretch Mutation are both aimed to be carried on single chromosome separately, when implemented with DNA, we think there is not much meaning, so we do not consider them here. But since they are concerned with dealing with edges, it is a good place to show how to extract an edge. The extraction is a little difficult for our encoding for permutation contains position information of vertices. To extract an edge e=vivj, we need n-1 extraction operations (Let current test tube be T1).

1) 2) 3)

Perpare n empty test tubes, Label T1,2 , T1,3 , L , T1,n-1 and T2

T1 ← To − Single − Stranded (T1 ) For s=2 to n-1

T1,s ← Extract (T1 , vi ps v j ) T2 ← Merge(T2 , T1, s )

End For T2 ← To − Double − Stranded (T2 ) After performing operations above, tube T2 consists of dsDNA containing bad edge e=vivj, and we denote the operation by (T2,T1)←Extract(T1,e) (a little different from the previous definition).

4)

3.3.3 Implementation of Evaluation Evaluation by Bad Edges: according to the theorem mentioned before, each stable set consists of successive vertices in the ordering, which means we can get the number of bad edges by accounting pairs of vertices connected by an edge are successive in an ordering. Our aim is to separate chromosomes by their fitness, for the rank of evaluation, we can choose |E|+1(0, 1,…, |E|), the number of bad edges in an ordering. Let current test tube be T, edge set be {e1,…,em}. we test an edge one time. Performing (T1,T0)←Extract(T,e1) firstly, the result is that T1 consists of orderings containing bad edge e1 and T0 consists of the rest of T. Then testing for e2 is carried out on T0 and T1 simultaneously, (T00,T01)←Extract(T0,e2) and (T10,T11)←Extract(T1,e2). Repeating the operations until all the edges has been tested. At end, we get 2m test tube, Te1e2…em,



where e1…em {0,1}and

m

∑e j =1

j

means the number of bad edges in chromosomes in

tube. The algorithm is outlined below (let current test tube be T).

106

1)

X. Liu et al.

prepare 2m empty test tubes, Labels Te1e2 Lem , e1 ,L , em ∈ {0,1}

For i=1 to m

2)

(Te1Lei-1 0 , Te1 Lei-1 1 ) ← Extract (Te1Lei-1 , ei ) End For Prepare m+1 test tubes, Label with Wk , k ∈ {0,L , m}, do the following For each Te1Le m

3)

m

If

∑e

j

[In Parallel]

= k (e j ∈ {0,1}) ,Wk ← Merge(Wk , Te1 Lem )

j=1

End For We get k+1 DNA strands sets of different ranks when the algorithm completes. We use 2m test tubes in step 2 and m+1 test tube in step 3, but, in fact, the number of test tubes can be reduced. For example, during the process of computing, some tube may become empty (through detect operation), then the extract operation for these tubes can be terminated. Besides, we can also control the degree of ranks of fitness. For example, during the first a few generations of the whole genetic algorithm, we can limit the fitness be k’(k’
Selection is used to keep fit parent chromosomes in child generation and let less fit chromosomes to die. The implementation of selection is easy to achieve after the operation of evaluation. For a given tube Wk (0≤k≤m) obtained at the end of evaluation, the chromosomes in it have the same fitness rank. To let less fit candidates die, we can take a threshold k’(k’k’. To embody the difference of fitness among reserved chromosomes, we can perform different times of PCR for them, making the more fit chromosomes to breed more offspring. Normal completion rules of genetic algorithm can be used in algorithms based on DNA also. For the problem whether a graph can be k-colored, the algorithm may complete after evaluating operation. If after the evaluating, some test tubes Wi (0≤i≤k-1) are not empty, that is the number of bad edges in some ordering is less than k-1, then we can say that graph G can be k-colored and answer “yes”. Further, we can get concrete coloring schemes by decoding these DNA sequences. Another way to complete is that after a specific number of generations, we still can not say “yes”, than we say “no”. 3.5 Running Time Analysis

We take the operation of extracting as the most important criterion here and take the complexity of extracting n parts to be n. The initial generation of candidate data pool can be done in O(1) steps. To complete the crossover operation, the number of extracting operations required is O(n). Order mutation requires O(n) extracting

A DNA-Based Genetic Algorithm Implementation for Graph Coloring Problem

107

operations in a similar way. The number of extracting operations required for block mutation is proportioned to the randomly generated k and the value of j subtracting i, so it is O(n3). Evaluation of candidate based on bad edges is proportional to O(mn). Selection can be done in O(1). So the total running time complexity to get a new generation is O(n3+mn). As for space complexity, it is hard to estimate how many candidates are enough. But since it is implemented as a genetic algorithm, we can guess the number of enough candidates should be much less than the overall search space which is n!.

4 A Genetic Algorithm for Resolving the Maximal Clique Problem The maximal clique problem is for a given graph G=(V,E), finding a maximal vertices set in which any two vertices are connected by an edge in G. The problem is also NP-complete. For a DNA solution to the problem, please see [12]. Adopting the same encoding scheme as [12], we encode a chromosome representing a possible clique as p1v1p2v2…pnvnpn+1 where pi is denoting position i and vi∈{0,1}, vi equals 1 means that vertex i belongs to the clique, equals 0 means it does not belong to the clique. The number of 1 in a legal chromosome can be chosen as evaluation criterion, while legal means that two vertices connected by an edge in the complementary graph do not appear as 1 in a chromosome [12]. To get a legal chromosome, do the following operations for an edge e=vivj in a complementary graph G’. Let the current test tube be T0, (T0,T1)←Extract(T0,pi1). After the operation, T0 consists of DNA strands containing pi1 and T1 consists of strands containing pi0. In the same way, (T0,T2) ←Extract(T0,pj1), T2 consists of strands containing p i 1 and pj0. T←Merge(T1,T2), then T consists of strands does not contain pi1 and pj1 at the same time, that is, strands that do not contain e=vivj.

5 Conclusion and Discussion We present a primary implementation of a genetic algorithm proposed by Croitoru et al. with some simplifying in this paper. Their experiments showed that the algorithm is efficient for graph coloring problem. The implementation is based on available operations, but for the imperfect of operations, the feasibility of this implementation need to be further studied. Using DNA to implement genetic algorithm have a lot of advantages: high parallelism, high information density, the crossover operation is easy to implement and more tolerance to error. The paper shows further the possibility of implementing genetic algorithm on DNA.

Acknowledgement The work has been supported by the National High-Tech. R&D Program for CIMS, China (No. 2003AA411021) and the National Natural Science Foundation, China (No. 60273056).

108

X. Liu et al.

References 1. D.S. Johnson, C.R. Aragon, L.A. McGeoch, and C. Schevon. Optimization by simulated annealing: An experimental evaluation: Part II, graph coloring and number partitioning. Operations Research, 39(3):378–406, 1991 2. C. Croitoru, H. Luchian, O. Gheorghies, A. Apetrei. A New Genetic Graph Coloring Heuristic, COLOR02, Ithaca, NY 3. M. Amos, A. Gibbons. Error-resistant Implementation of DNA Computations. Proceedings of the Second Annual Meeting on DNA Based Computers, 1996, Vol.44, 151-168 4. E. Bach, A. Condon, E. Glaser, and C. Tanguay. DNA models and algorithms for NP-complete problems. In Proceedings of 11th Conference on Computational Complexity, 290-299. IEEE Computer Society Press, Los Alamitos, CA, 1996 5. L. Adleman. Molecular computation of solution to combinatorial problems. Science, 266:1021-1024, 1994 6. W. Cai, A. Condon, R. Corn, E. Glaser, Z.Fei, T. Frutos, Z. Guo, M. Lagally, Q. Liu, L. Smith, and A. Thiel. The power of surface-based DNA computation. In Proceedings of 1st International Conference on Computational Molecular Biology,67-74, ACM Press,1997 7. S. Diaz, J. L. Esteban, and M. Ogihara, A DNA-based random walk method for solving k-SAT. Proceedings of the Sixth International Workshop on DNA-based Computers, 209-220, Springer-Verlag Lecture Notes in Computer Science, 2001 8. W.P.C. Stemmer. The evolution of molecular computation. Science, 270:1510-1510, December 1, 1995 9. J. Chen, E. Antipov, B. Lemieux, W. Cedeno, and D. H. Wood. DNA computing implementing genetic algorithms. In L. F. Landweber, E. Winfree, R. Lipton, and S. Freeland, editors, Evolution as Computation, pages 39--49, New York, 1999. Springer Verlag 10. J. Rose, M. Takano and A. Suyama. A PNA-mediated Whiplash PCR-based Program for In Vitro Protein Evolution. Proceedings of the Eighth International Workshop on DNA-based Computers, 47-60, Springer-Verlag Lecture Notes in Computer Science, 2003 11. K. Chen, V Ramachandran. A Space Efficient Randomized DNA Algorithm. Proceedings of the Sixth International Workshop on DNA-based Computers,199-208, Springer-Verlag Lecture Notes in Computer Science, 2001 12. Q. Ouyang, P.D. Kaplan, S.Liu, A. Libechabe. DNA Solution of the Maximal Clique Problem. Science 1997,278,446-449

A DNA-Based Genetic Algorithm Implementation for ... - Springer Link

out evolutionary computation using DNA, but only a few implementations have been presented. ... present a solution for the maximal clique problem. In section 5 ...

315KB Sizes 1 Downloads 395 Views

Recommend Documents

A Linear Time Algorithm for the Minimum-weight ... - Springer Link
In this paper, we study the minimum-weight feedback vertex set problem in ...... ISAAC'95 Algorthms and Computations, Lecture Notes in Computer Science,.

LNBI 4360 - A Distributed System for Genetic Linkage ... - Springer Link
We present a distributed system for exact LOD score computations, called .... application on a single CPU, defined as a portion of CPU-bound operations in the over- ..... D., Foster, I.: Scheduling in the grid application development software.

A Linear Time Algorithm for the Minimum-weight ... - Springer Link
For each Bi, 1 ≤ i ≤ l, applying Algorithm II, we can compute a collection of candidate sets. FBi u. = {FBi .... W. H. Freeman and Company, New York, 1979.

Foveal Algorithm for the Detection of Microcalcification ... - Springer Link
Ewert House, Ewert Place, Summertown, Oxford OX2 7BZ, UK ... present in about a quarter of the total number of screening mammograms. For these reasons ... microcalcifications are expected to appear bright in a mammogram, indeed to be.

A reordered first fit algorithm based novel storage ... - Springer Link
context, we call edges resulting from the 1st phase, thus drawn below the numbers, ..... Networks, SAMSUNG Electronics Co., 1999. [6] Crozier S, Guinand P. ... Turbo Decoding [C]// 9th International Conference on. Electronics, Circuits and ...

A Process Semantics for BPMN - Springer Link
Business Process Modelling Notation (BPMN), developed by the Business ..... In this paper we call both sequence flows and exception flows 'transitions'; states are linked ...... International Conference on Integrated Formal Methods, pp. 77–96 ...

A Process Semantics for BPMN - Springer Link
to formally analyse and compare BPMN diagrams. A simple example of a ... assist the development process of complex software systems has become increas-.

Hierarchical genetic structure shaped by topography in ... - Springer Link
organisms is a central topic in evolutionary biology. Here, we ..... clusters on the ordination plot indicated high degree of dif- ...... Convenient online submission.

Genetic Dynamic Fuzzy Neural Network (GDFNN) - Springer Link
Network Genetic (GDFNN) exhibits the best result which is compared with ... criteria to generate neurons, learning principle, and pruning technology. Genetic.

Genetic differentiation in Pinus brutia Ten. using ... - Springer Link
Yusuf Kurt & Santiago C. González-Martínez &. Ricardo Alía & Kani Isik. Received: 9 May 2011 /Accepted: 15 November 2011 /Published online: 6 December 2011. © INRA / Springer-Verlag France 2011. Abstract. & Context Turkish red pine (Pinus brutia

Genetic Dynamic Fuzzy Neural Network (GDFNN) - Springer Link
Network Genetic (GDFNN) exhibits the best result which is compared with .... structure of DFNN, thereby good coverage of RBF units can be achieved. There are.

Fine-scale spatial genetic structure and within ... - Springer Link
Fine-scale spatial genetic structure and within population male-biased gene-flow in the grasshopper. Mioscirtus wagneri. Joaquın Ortego • Maria Pilar Aguirre • Pedro J. Cordero. Received: 11 May 2010 / Accepted: 20 January 2011 / Published onlin

Augmented reality registration algorithm based on ... - Springer Link
CHEN Jing1∗, WANG YongTian1,2, GUO JunWei1, LIU Wei1, LIN JingDun1, ... 2School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, China; .... One is degrees and the other is meters or ... these years many successf

The Genetic Algorithm as a Discovery Engine - Cartesian Genetic ...
parts we discover an amazing number of new possibili- ties. This leads us to the .... of the important themes which has arisen in the nascent field of Evolvable ...

A Competent Genetic Algorithm for Solving Permutation ...
Jan 30, 2002 - ... Volume 6) (Genetic Algorithms and Evolutionary Computation) Q2 Cloud, TFT 2. ... algorithm, combines some of the latest in competent GA technology to ... Competent GAs are those designed for principled solutions of hard ...

A Hybrid Genetic Algorithm with Pattern Search for ...
computer simulated crystals using noise free data. .... noisy crystallographic data. 2. ..... Table 4: Mean number of HA's correctly identified per replication and the ...

a niche based genetic algorithm for image registration
Image registration aims to find the unknown set of transformations able to reduce two or more images to ..... of phenotypic similarity measure, as domain-specific.

A Genetic Algorithm for Hierarchical Multi-Label ...
optimize the level of coverage of each antecedent. Then, ... that maps each example xi into a set of classes, respecting ... To the best of our knowledge, this is.

A Steady-State Genetic Algorithm With Resampling for ... - Roberto Rossi
1 Cork Constraint Computation Centre, University College, Cork, Ireland ... 3 Faculty of Computer Science, Izmir University of Economics, Turkey.

A Random-Key Genetic Algorithm for the Generalized ...
Mar 24, 2004 - Department of Industrial Engineering and Management Sciences ... Applications of the GTSP include postal routing [19], computer file ...

a niche based genetic algorithm for image ... - Semantic Scholar
Image registration can be regarded as an optimization problem, where the goal is to maximize a ... genetic algorithms can address this problem. However ..... This is akin to computing the cosine ... Also partial occlusions (e.g. clouds) can occur ...

Application of a Genetic Algorithm for Thermal Design ...
Apr 4, 2008 - Multiphase Flow in Power Engineering, School of Energy and Power. Engineering, Xi'an Jiaotong ... Exchanger Design, Chemical Engineering Progress, vol. 96, no. 9, pp. 41–46 ... Press, Boca Raton, FL, pp. 620–661, 2000.