Evaluation of genetic operators and solution representations for shape recognition by genetic algorithms

Evaluation of genetic operators and solution representations for shape recognition by genetic algorithms

Pattern Recognition Letters 23 (2002) 1589–1597 www.elsevier.com/locate/patrec Evaluation of genetic operators and solution representations for shape...

158KB Sizes 0 Downloads 26 Views

Pattern Recognition Letters 23 (2002) 1589–1597 www.elsevier.com/locate/patrec

Evaluation of genetic operators and solution representations for shape recognition by genetic algorithms K.G. Khoo, P.N. Suganthan

*

School of Electrical and Electronic Engineering, Nanyang Technological University, Block S2, Nanyang Avenue, Singapore 639798, Singapore Received 12 July 2001; received in revised form 8 December 2001

Abstract In this paper, we investigate the genetic algorithm based optimization procedure for structural pattern recognition in a model-based recognition system using attributed relational graph matching technique. In this study, potential solutions indicating the mapping between scene and model vertices are represented by integer strings. The test scene may contain multiple occurrences of different or the same model object. Khoo and Suganthan [Proc. IEEE Congr. Evolutionary Comput. Conf. 2001, p. 727] proposed a solution string representation scheme for multiple mapping between a test scene and all model objects and with the uniform crossover operator. In this paper, we evaluate this proposed solution string representation scheme with another representation scheme commonly used to solve the problem. In addition, a comparison between the uniform, one-point and two-point crossover operators was made. An efficient poseclustering algorithm is used to eliminate any wrong mappings and to determine the presence/pose of the model in the scene. Simulations are carried out to evaluate the various solution representations and genetic operators. Ó 2002 Elsevier Science B.V. All rights reserved. Keywords: Attributed relational graph; Genetic algorithm; Graph matching; Structural pattern recognition; Shape recognition

1. Introduction An object can be decomposed into smaller features or structural entities. Each feature has its own sets of properties or unary attributes. Spatial relationships between features are known as binary

* Corresponding author. Tel.: +65-790-5404; fax: +65-7920415. E-mail addresses: [email protected] (K.G. Khoo), [email protected] (P.N. Suganthan).

attributes. An object can then be represented by an attributed relational graph (ARG) with the set of unary and binary attributes on the features. ARGs are commonly used to represent complex structures as such representations can be made invariant to transformations such as rotation, translation and scaling by the proper choice of attributes. In a model-based pattern recognition system, a test scene is mapped against model objects. Objects are represented by ARGs thus simplifying pattern recognition into a graph-matching problem. As graph matching is a NP-hard problem, it may be

0167-8655/02/$ - see front matter Ó 2002 Elsevier Science B.V. All rights reserved. PII: S 0 1 6 7 - 8 6 5 5 ( 0 2 ) 0 0 1 2 3 - X

1590

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

formulated as an optimization problem and efficient parallel search algorithms are needed. In these parallel search methods, an overall cost function is minimized using stochastic methods such as simulated annealing procedure (Kirkpatrick et al., 1983; Liu and Huang, 1998) or deterministic methods such as the relaxation labeling algorithm (Hummel and Zucker, 1983), graduated assignment algorithm (Gold and Rangarajan, 1996), the Potts mean field theory network (Peterson and Soderberg, 1989; Suganthan et al., 1995a) and the Hopfield network (Hopfield and Tank, 1985; Suganthan et al., 1995b). Genetic algorithms (GAs) (Liu and Huang, 1998; Krcmar and Dhawan, 1994; Wang et al., 1997; Cross et al., 1997; Singh et al., 1997; Goldberg, 1989) have been employed in recent years to find an approximate solution for the ARG matching problem. Khoo and Suganthan (2001) 1 proposed a genetic based ARG matching framework capable of generating a homomorphic mapping between the scene graph and all model graphs within one genetic search. Instead of restricting the mapping from the scene graph to only one model graph at a time, mapping to all model graphs simultaneously was allowed in the solution string representation and thereby achieving multiple graph mapping in one genetic search. In this study, we would like to evaluate the effectiveness of this solution string representation allowing multiple mapping in solving the ARG matching problem, comparing it against the usual representation with mapping to only one model graph. In this study, we also evaluate the effectiveness of various crossover operators on the proposed solution representations. This paper is organized as follows. In Section 2, we present the ARG representation and the silhouette patterns used to evaluate the various solution representations and crossover operators for the GA. In Section 3, the application of GA for the two types of ARG matching is explained. Experimental results and discussions are presented in Section 4 and the paper is concluded in Section 5.

1 This paper presented only some preliminary results for this proposed framework.

2. Attributed relational graph representation In this paper, ARGs are used to represent the model and scene objects because they perform well under noise and do not require an intelligent preprocessing nor a segmentation of scene primitives belonging to different object model instances prior to the recognition. In an ARG, vertices represent the features and edges represent the relationships between pairs of vertices. The following definitions are used in an ARG. An attribute is a 2-tuple, ðt; aÞ consisting of a type, t, and a value, a. An example of an attribute is ðlength; 10Þ where the attribute type t is ‘‘length’’ and the value of the attribute, a, is 10 units. An attributed vertex has a set of attributes associated with it referred to as unary attributes. An attributed edge represents the spatial relationships between two given vertices and the set of attributes associated with it is called binary attributes. An ARG consists of the set of attributed vertices, fv1 ; v2 ; . . . ; vN g and the set of attributed edges, feð1;2Þ ; eð1;3Þ ; . . . ; eðN 1;N Þ g. This is illustrated in Fig. 1 showing an object with 3 vertices, i, j and k. In this work, an ARG of an object is a fully connected complete graph representing the object. Pattern recognition by ARG matching is a mapping procedure, whereby each vertex from the scene graph is mapped to a vertex in the model graph. The mapping function may be constrained to be a one-to-one (sub-graph isomorphic) or a many (scene)-to-one (model) mapping depending on the application. In this study, the mapping function may be many-to-one (homomorphic) as it is possible to have more than one occurrence of a model in the scene. In this study we make use of synthetic silhouette patterns shown in Fig. 2. In the figure, objects

Fig. 1. Illustration of an ARG.

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

1591

Fig. 2. Set of models (a)–(d) and scenes (e) and (f).

(a)–(d) are the models and objects (e) and (f) are the test scenes. Line segments are represented as vertices and the following attributes are used to construct the ARGs: (a) line segment length (unary); (b) summation of internal angles with the two neighbouring line segments (unary); (c) the angle between line segments (binary); (d) distance between center points (binary); (e) the maximum distance between end points (binary); (f) the minimum distance between end points (binary). Besides line segments, some other commonly used features are corner points, curve segments or a combination of different features. These features are obtained by a preprocessing step such as edge detection, polygonal approximation or corner point extraction (Ansari and Delp, 1990). In real life applications, distortions are introduced during the capturing of the object image. These distortions affect the extraction of the features during the preprocessing step, affecting the sharpness of corners, length of lines or curvature of curves. However, these distortions are not inherent as we make use of synthetic patterns, hence, we introduce distortions to the scene objects as seen in Fig. 3.

Fig. 3. Plot of test scenes before (––) and after (- - -) distortion.

3. The genetic algorithm GA is a type of stochastic search method inspired by the Darwinian’s concept of survival of the fittest and natural selection. The technique was first investigated by Holland (1975) and has in recent years attracted a great deal of attention from researchers in many different fields as a way to effectively search through complex, multi-dimensional spaces.

1592

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

In GA, a set of potential solutions strings or chromosomes is randomly initialised. In this paper, each solution string is an integer array representing the mapping from each scene vertex to a model vertex. These solutions are evaluated against the problem and are assigned fitness values based on a measure of the solutions’ quality. Solution strings with higher fitness values are favoured in the selection process to form the gene pool. Solutions from the gene pool are then genetically combined via the genetic crossover operator to create the next generation of solutions. This new generation is further diversified using the mutation operator that modifies the new solutions slightly. This process is repeated to generate new populations and the evolution continues until a predetermined stopping criterion is satisfied. 3.1. Representation of solution strings As discussed earlier, there are two possible types of solution representations as GA can either be applied to find the optimal mapping function between a scene ARG and one model ARG at a time or between a scene ARG and all model ARGs simultaneously. The solution string or mapping function should map each scene vertex to a model vertex or a Null node, indicated as ‘0’ within the solution string, if a scene vertex does not correspond to any of the model vertices under consideration. Let N be the total number of model objects in the object library, M be the total number of model vertices for all the N models and S be the total number of scene vertices in the scene. Taking Fig. 2 as illustration, N ¼ 4, M ¼ 50 and S ¼ 27 and 19 for scene (e) and (f), respectively. All model vertices are labeled uniquely with an integer between 1 and M and Mn denotes the set of integer labels for model n. In Fig. 2 for example, we set M1 ¼ f1; 2; . . . ; 12g, M2 ¼ f13; 14; . . . ; 27g, M3 ¼ f28; 29; . . . ; 38g and M4 ¼ f39; 40; . . . ; 50g for the four models (a)–(d), respectively. Each solution string is a one-dimensional array with S integer elements representing the mapping for each scene vertex to a model vertex or Null. In the first type of solution representation where a

scene ARG is mapped to one single model ARG at a time (single mapping), the S elements of the solution string would take integer values given by the labels of the model vertices of that model to be mapped or Null. In general, if the scene is to be mapped to model n, the solution string is denoted as: f n ¼ ff1 ; . . . ; :fi ; . . . ; fS g, where fi 2 f0; Mn g. If fi ¼ m, it means that the i-th scene vertex is mapped to the model vertex in model n labeled as m. For the second type of solution representation where a scene ARG is mapped to all model ARGs simultaneously (multiple mapping), the S elements of the solution string would take integer values from the whole set of labels and Null such that f ¼ ff1 ; . . . ; fi ; . . . ; fS g, where fi 2 f0; M1 ; M2 ; . . . ; MN g. To illustrate the above, let us consider the first case of a mapping between scene (e) and model (a) in Fig. 2. A possible solution string can be: f1; 2; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 8; 9; 10; 11; 12g. In this example, since f1 ¼ 1, the first scene vertex is matched to the first vertex of model (a). In the second case where scene (e) is mapped to all models simultaneously, the solution string can be: f1a ; 2a ; 0; 0; 24b ; 25b ; 26b ; 27b ; 13b ; 14b ; 15b ; 16b ; 0; 0; 32c ; 33c ; 34c ; 35c ; 36c ; 37c ; 0; 0; 8a ; 9a ; 10a ; 11a ; 12a g. The underlined vertices correspond to the vertices at the overlapping intersection of separate occurrences of objects. The letter in the superscript indicates the model from which the mapped vertex belongs to. 3.2. Fitness computation GA evaluates each solution string in the population and associates a fitness measure, F with each solution string. The fitness of each solution string is computed by accumulating the similarity between the unary and binary attributes of the matched vertex pairs. Let us first consider the fitness of a solution string in the first case of solution representation where the scene is mapped to only one of the models at a time. The unary cost of the mapping between scene vertex i and model vertex fi such that i ! fi , is defined as the absolute difference between the unary attributes of the pair. The u-th component of this cost is defined as:

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

   i ;m  i;fi Cn;u ¼ afn;u  ai;s u ; i ;m where afn;u and ai;s u represent the u-th unary attribute of vertex fi of model n ARG and vertex i of scene ARG respectively. The corresponding unary fitness of the mapping is defined as: (P    U i;fi tanh k t  C ; fi 62 Null i;fi A;u u n;u u¼1 An ¼ 0; otherwise

ð1Þ where U is the number of unary attributes. Similarly, for a pair of mapping between two scene vertices (i and j) and two model vertices (fi and fj ) such that i ! fi and j ! fj , the binary cost is the difference in the binary attributes of the pair of scene and model vertices. The b-th component of this binary cost is defined as:    fi fj ;m  i;j;f ;f Cn;b i j ¼ an;b  aij;s b : f f ;m

i j and aij;s represent the b-th The parameters an;b b binary attribute in the model ARG edge between vertices fi and fj of model n and scene ARG edge between vertices i and j, respectively. Both fi and fj should belong to the same model for a binary cost to exist. The corresponding binary fitness of the pair of mappings is defined as:    8P i;j;fi ;fj B > ; < b¼1 tanh kD;b tb  Cn;b i ;fj i;j;fi ;fj Di;j;f ¼ n > : Cn;b < tb ; fi 62 Null; fj 62 Null 0; otherwise ð2Þ

where B is the number of binary attributes. In Eqs. (1) and (2), tu and tb are the tolerance thresholds of the unary and binary attributes and kA;u and kD;b are the steepness parameter of the fitness function respectively. The selection of t and k in the tanh function is explained in (Suganthan et al., 1995b, 1997), and will not be discussed in detail here. From the above assignment of unary fitness, it can be seen that if attribute values of the mapped scene and model vertices are similar, then Cn;u will be close to zero and fitness values, A will be large. If the attributes are very different, Cn;u will be large resulting in either a small fitness value or even

1593

negative values if the unary cost is larger than the unary threshold. The fitness contribution of Null matches is set to zero, which is higher than the negative fitness values of wrong matches, thereby encouraging Null mappings when scene vertices do not correspond to any model vertices. From Eq. (2), binary fitness contribution to solution string is zero instead of negative if the cost is larger than the binary threshold. This is because, for a scene with more than one occurrence of the same model, different scene vertices may be mapped correctly to the same model vertex. However, the binary cost between these scene vertices belonging to different occurrences of the same model can be high. Hence, if negative binary fitness is allowed, the overall fitness of this correct mapping function would be decreased undesirably when there are multiple instances of the same model in the scene. With the above definitions, the fitness of a solution string that maps the scene to model n is defined as: Fn ¼

S X i¼1

i Ai;f n þ kb

S S X X i¼1 j¼iþ1

i ;fj Di;j;f n

ð3Þ

where fi ; fj 2 f0; Mn g; where kb is the weighting factor between unary fitness and binary fitness. In the second case of solution representation where the solution string maps the test scene to all the models simultaneously, the solution string will contain mapping to model vertices from different model. As the binary cost (and hence binary fitness) between a pair of mappings to vertices of different models does not exist, each solution string should be considered as N different sub-strings for each model so that each sub-strings contain mappings to vertices of one model and Nulls only. For the solution string given in Section 3.1 that maps scene (e) in Fig. 2 to all models, the N sub-strings are given as follows: f1; 2; 0; 0; x; x; x; x; x; x; x; x; 0; 0; x; x; x; x; x; x; 0; 0; 8; 9; 10; 11; 12g, fx; x; 0; 0; 24; 25; 26; 27; 13; 14; 15; 16; 0; 0; x; x; x; x; x; x; 0; 0; x; x; x; x; xg; fx; x; 0; 0; x; x; x; x; x; x; x; x; 0; 0; 32; 33; 34; 35; 36; 37; 0; 0; x; x; x; x; xg and fx; x; 0; 0; x; x; x; x; x; x; x; x; 0; 0; x; x; x; x; x; x; 0; 0; x; x; x; x; xg for models (a)–(d), respectively. An x represents a mapping to other models and will be ignored in the

1594

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

fitness computation. Null mappings are retained in each sub-strings. Now, the unary and binary fitness of mappings in each sub-string can be computed based on the relationships defined in Eqs. (1) and (2) and the overall fitness of a sub-string, F n can be computed based on Eq. (3). The overall fitness of a solution string is then given by the summation of fitness of all N sub-strings as follows: F ¼

N X

F n:

ð4Þ

n¼1

As it is possible for the overall fitness, F or F n to be negative, due to negative unary fitness component, an offset on the fitness values is needed. If any of the solution strings is negative, a positive offset is added to the fitness value of all solution strings such that the lowest fitness level is zero. In this study, linear fitness scaling is performed. In the scaling changes, the highest fitness level FH is scaled to twice the average fitness level, Fave while keeping Fave constant. The fitness value, F of a solution string will be scaled to F 0 according to this scaling function: F 0 ¼ aF þ b;

ð5Þ

where a¼

Fave and b ¼ Fave ð1  aÞ: FH  Fave

3.3. Selection Solution strings are selected from the current population and the gene pool of previous generation to form the gene pool for the next generation. Elitism is practiced as the fittest solution string of the population is first chosen into the gene pool to ensure that it will survive through future generations and also be available for mating. The remaining pool was selected using the roulette wheel selection method while ensuring that a string occurs at most once in the gene pool. Subsequently, the selection of the two solution strings, hereby referred to as the parent strings, from the gene pool for crossover is also performed using the roulette wheel selection method.

3.4. Crossovers In this study, the probability of crossover is set to 1. Uniform and single/two-point crossover techniques are applied and compared. In uniform crossover, each element in the two parent strings has an equal chance to be copied to the offspring solution string. For illustration, assuming the two selected seven-element strings are f1; 4; 3; 5; 8; 9; 10g and f5; 6; 7; 0; 4; 3; 2g. A coin is ‘‘tossed’’ seven times and the outcome (head, H or tail, T) is recorded into as fT; T; H; T; H; H; Tg. When the outcome is H at a particular element, that element in the offspring would follow string 1. Otherwise, it would follow string 2. The offspring would then be f5; 6; 3; 0; 8; 9; 2g. For single-point crossover, a single crossover site is fixed randomly and interchanging the two halves between the two parent strings and re-combining them creates two offspring. Using the same pair of parent strings above and assuming that the crossover site is 3, the two offspring would be f1; 4; 3; 0; 4; 3; 2g and f5; 6; 7; 5; 8; 9; 10g. For two-point crossover, two crossover sites are chosen randomly. Assuming that the chosen sites are 2 and 5, the offspring are f1; 4; 7; 0; 4; 9; 10g and f5; 6; 3; 5; 8; 3; 2g. The singlepoint and two-point crossover may be considered as a simplified crossover operator of the partially mapped and order crossovers (Wang et al., 1997; Singh et al., 1997; Goldberg, 1989) that include extra steps to ensure the legality (sub-graph isomorphic mapping) of offspring. Since homomorphic mapping is allowed, single-point and twopoint crossover is sufficient in this study. 3.5. Mutations Mutation is another operator in GA that slightly varies the offspring generated from a crossover operation. The probability of mutation, pm determines the probability that each element in the solution string mutates. The elements to be mutated will be randomly assigned another vertex mapping or Null with equal probability. The value pm is set to decrease by a factor after each generation. A higher mutation rate initially helps to ensure the diversity of population to search the solution space effectively and prevents the GA

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

1595

Table 1 The proposed GA GA1:

GA2: GA3: GA4: GA5: GA6: GA7:

Generation ¼ 0. Initialize the first population of size P randomly. (a) To match a scene of S vertices to model n, randomly generate P one-dimensional integer array with S elements taking values from the set f0; Mn g or (b) to match a scene of S vertices to all models simultaneously, randomly generate P one-dimensional integer array with S elements taking values from the set f0; M1 ; M2 ; . . . ; MN g. Assign fitness to each solution string using the fitness measure defined in Eqs. (1), (2) and (3) or (4). Place all solutions strings from the last two generations into a temporary pool. For the first generation, the temporary pool will be the initial population itself. Perform fitness offsetting and scaling on the temporary pool. Create a gene pool with elitism and select individuals from the temporary pool using the roulette wheel selection. Use roulette wheel selection to select pairs of parent solutions from gene pool and create offspring for the next generation using the uniform crossover or single/two-point crossover operation. Mutate the offspring. Generation ¼ Generation þ 1. If termination criterion not met, go to GA2. Output the best solution candidate found.

from converging pre-maturely to a local optimum solution. The mutation rate is decreased at the later stage so as to avoid destroying the good structures that have evolved within the solution strings in the population. The GA used in our study is summarized in Table 1.

4. Experimental results Simulations are carried out using the synthetic objects Fig. 2. Noise was added to the scenes, by shifting the corner points, to emulate the distortions experienced in real applications. Each corner point is shifted a distance in a random direction from its original position. The distance is determined as 20% of the shorter of the two line lengths on both sides of the corner point (Fig. 3). In the following results, the population size is 100; pm was set to decrease by a factor of 0.99 after each generation from an initial value of 0.2. Simulations using other parameter values were also conducted and similar results were obtained. The optimal values for the various parameters were not searched as the simulations in this section aim to evaluate the performance of different solution representations and crossover operators. The results displayed in the figures are obtained from the average of forty separate runs. Occluded vertices at the intersection of separate object occurrences are not considered in our assessment of a solution’s quality, as they may be mapped to Nulls or other model vertices wrongly affecting the quality of solution string.

The programs are written using MATLAB 5.3 and simulations are conducted on a Pentium III 1 GHz platform. 4.1. Solution representations In this section, we evaluate the two types of solution representations by comparing the quality of solutions obtained and the convergence of GA. For the single mapping solution representation, there will be N different sets of solutions each representing the mapping of the scene to one of the N models. The fittest solution strings in the N sets are checked against the ideal mapping to obtain the number of scene vertices that are mapped to wrong model vertices. Scene vertices that do not correspond to any of the model vertices are not considered. For each generation, the percentage of wrong mappings for the N fittest solution strings are added and plotted in Fig. 4, indicated by the label ‘‘single’’. For the multiple mapping solution representation, each solution represents the mapping between the scene and all models. The fittest solution in each generation is checked against the ideal mapping and the percentage of scene vertices mapped wrongly are plotted in Fig. 4 and labeled as ‘‘multiple’’. Fig. 4(a) and (b) plots the solution quality of the two mappings with respect to generations. It can be seen from both plots that the GA using single mapping converges to the ideal solution whereas the multiple mapping solution representation do not converge to the ideal solution and hence a poorer solution quality. For the single

1596

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

Fig. 4. Solution quality at various generations using different solution representations.

mapping solution representation, the time taken for each generation would be more as the algorithm has to match N times to N different model objects within each generation whereas the multiple mapping allows all N model objects to be matched simultaneously. From Fig. 4(a) and (b), though the multiple mapping converges at a slower rate with respect to the number of generations, it is not indicative of the actual convergence rate with respect to time. Fig. 4(c) and (d) plots the solution quality of the two mappings with respect to time (seconds). It shows that the multiple mapping converges at a similar rate to that of the single mapping. In Fig. 4(d), the multiple mapping converges faster after the initial stage. However, as the single mapping converges to the ideal solution eventually, the solution quality under single mapping surpasses that of multiple mapping eventually. 4.2. Crossover operators Simulations using uniform, single-point and two-point crossover operators are conducted and the results are compared. The solution quality for single mapping and multiple mapping with respect to generations are plotted in Figs. 5 and 6 respectively. From Fig. 5, it can be seen that both the

Fig. 5. Performance of various crossover operators using single mapping representation.

Fig. 6. Performance of various crossover operators using multiple mapping representation.

uniform and two-point crossovers have similar performances and both outperform the singlepoint crossover in terms of convergence rate and solution quality. From Fig. 6, the performance of the three crossover operators appears to be similar. However, it can be observed that the uniform crossover operator has a superior performance over the other operators in terms of convergence rate. The solution quality achieved at the end of

K.G. Khoo, P.N. Suganthan / Pattern Recognition Letters 23 (2002) 1589–1597

500 generations remain provides mixed observations with one type of crossover operator outperforming the others in one case but under performs in another case.

5. Conclusions In this paper, we compare the two solution representations and the various crossover operators. From the simulation results, the solution qualities obtained using single mapping representation outperforms the multiple mapping representation. It was also observed that the single mapping solution representation converges in a lesser number of generations than the multiple mapping representation. However, the convergence rate with respect to time is similar for both solution representations with the multiple mapping outperforming the single mapping before converging to a poorer quality. Single mapping representation is recommended when the quality of the solution has a higher priority over the computation time. For the simulations on various crossover operators, the results showed that the uniform and two-point crossovers have similar performance in terms of convergence rate and solution quality and both outperform the one-point crossover for the single mapping solution representation. Under the multiple mapping solution representation, the results showed that the various crossover operators has similar performances with one outperforming the other in a case but not in another case. Uniform crossover is shown to be appropriate for this problem where homomorphic mapping is allowed.

Acknowledgements The authors would like to thank the anonymous reviewers for their constructive comments and suggestions in improving the paper.

1597

References Ansari, N., Delp, E.J., 1990. Partial shape recognition: a landmark-based approach. IEEE Transaction on Pattern Analysis and Machine Intelligence 12 (5), 470–483. Cross, A.D.J., Wilson, R.C., Hancock, E.R., 1997. Inexact graph matching using genetic search. Pattern Recognition 30 (6), 953–970. Gold, S., Rangarajan, A., 1996. A graduated assignment algorithm for graph matching. IEEE Transaction on Pattern Analysis and Machine Intelligence 18 (4), 309–319. Goldberg, D.E., 1989. Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Reading, MA, USA. Holland, J., 1975. Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor, MI. Hopfield, J.J., Tank, D.W., 1985. Neural computation of decisions in optimization problems. Biological Cybernetics 52, 141–152. Hummel, R.A., Zucker, S.W., 1983. On the foundation of relaxation labelling processes. IEEE Transaction on Pattern Analysis and Machine Intelligence 5 (3), 267–287. Khoo, K.G., Suganthan, P.N., 2001. Multiple relational graphs mapping using genetic algorithms. In: Proceedings of IEEE Congress of Evolutionary Computation Conference, pp. 727–733. Kirkpatrick, S., Gellat, C.D., Vecchi, M.P., 1983. Optimization by simulated annealing. Science 220, 671–680. Krcmar, M., Dhawan, A.P., 1994. Application of genetic algorithm in graph matching, neural networks. IEEE World Congress on Computational Intelligence 6, 3872–3876. Liu, H.C., Huang, J.S., 1998. Pattern recognition using evolution algorithms with fast simulated annealing. Pattern Recognition Letter 19 (5–6), 403–413. Peterson, C., Soderberg, B., 1989. A new method for mapping optimization problems onto neural networks. International Journal of Neural Systems 1 (1), 3–22. Suganthan, P.N., Teoh, E.K., Mital, D.P., 1995a. Pattern recognition by graph matching using the potts MFT neural networks. Pattern Recognition 28 (7), 997–1009. Suganthan, P.N., Teoh, E.K., Mital, D.P., 1995b. Pattern recognition by homomorphic graph matching using Hopfield neural networks. Image and Vision Computing 13 (1), 45–61. Suganthan, P.N., Teoh, E.K., Mital, D.P., 1997. Optimal mapping of graph homomorphism onto self organizing Hopfield Network. Image and Vision Computing 15, 679–694. Singh, M., Chatterjee, A., Chaudhury, S., 1997. Matching structural shape descriptions using genetic algorithms. Pattern Recognition 30 (9), 1451–1462. Wang, Y.K., Fan, K.C., Horng, J.T., 1997. Genetic-based search for error-correcting graph isomorphism. IEEE Transaction on Systems, Man and Cybernetics––Part B: Cybernetics 27 (4), 588–597.