ISSN ONLINE(23198753)PRINT(23476710)
Alireza Rezaee,^{1}, Azizeh Ajalli ^{2}

Related article at Pubmed, Scholar Google 
Visit for more related articles at International Journal of Innovative Research in Science, Engineering and Technology
In this paper, new genetics and Ant colony optimization algorithm for solving the problem of graph correspondence is presented. When using the genetics technique for the problem of graph correspondence, it is not easy to define the crossover operator. our attempt will be to present a definition holding the integration of the population graph in a onetoone correspondence. we present new and suitable definitions for the target function and a function giving score to a solution at the end of any cycle. We compare both algorithms and try to find their advantages and their shortcomings.
Keywords 
Graph Correspondence, Genetics Algorithm, AOC Algorithm 
I. INTRODUCTION 
The problem of graph correspondence has been noticed in a wide range of various fields and has become an important instrument for modeling and solving different problems. This problem is a NPComplete one and the time required for solving it increases exponentially in terms of the number of the input graphs. Recently, many researches are conducted for improvement of the efficiency of graph correspondence algorithms, both in time and in memory consumption. Some of these algorithms reduce temporal complexities through applying limitations over the structure of the input graphs. Another method for reducing the complexity of the process of correspondence is to present a special display for seeking and deleting useless routes of the search space. In these methods, no limitation is applied on the structure of the input graphs. So they can be used in a larger domain of applications. One of the first articles in this context [1] suggests an algorithm applying some distortion on the input graphs and builds an intermediate display on which the action of correspondence is done much rapider. But [2] showed that the assumptions used by this method are not always true and this limits the domain of using this algorithm. 
Another method reducing the search space considerably is Ullmann algorithm that uses backwards technique [3] and is still widely used. Messmer in [4] compared this algorithm with other algorithms and showed its high efficiency in a onetoone correspondence. 
Another algorithm using backwards techniques is Schmidt& Druffel algorithm stated in [5]. This algorithm uses the information existing in the distance matrix. Another important algorithm in graphical correspondence is Mckay's Nauty algorithm [6]. This algorithm is based on a series of transformations. These transformations transform the graphs to a focused form and correspondence test is much rapider in this focused form. 
Another algorithm for the problem of graphical correspondence is presented in [7]. In this algorithm, instead of trying to reduce temporal complexity of the algorithm, it is tried to reduce the complexity in a case there is a constant model graph and the graphs are constantly passed in front of this model graph and the samples of the model graph are extracted from any target graphs. Since the model graph is deemed constant in this algorithm, so a table of information related to the model graph and the various states of having it in the target graph can be built in a preprocessing manner and it can be used in the process of correspondence. 
Using techniques inspired from the nature in the problem of graph correspondence is examined in several articles. [8] suggested a method for solving the problem of graph correspondence using the genetics algorithm. In his suggestion, the suggested crossover function may not work correctly for a onetoone correspondence. The example he used for testing the algorithm is the examination of the resemblance between the solar system and an atom. In his work, no comparison between the suggested algorithm and other methods has been done. In [9], using an ACO technique, a method for solving the problem of graph correspondence is suggested. In this article, definitions of the target function and also a function giving scores to a solution found at the end of any cycle are stated. [10] has also proposed an algorithm using ACO. 
At first, we try to improve genetics and ACO algorithms suggested for the problem of graph correspondence. For genetics algorithm, we present a new definition of crossover operator. [11]For ACO algorithm, we try to present exact definitions fitting the problem of graph correspondence for the target function and a function giving scores to a solution at the end of any cycle. Finally, we do a comparison between the two proposed methods. [12] The structure of this article is as follows: first, we propose the genetics algorithm suggested for solving the problem of correspondence. [13,14]Then, we describe the proposed method using ACO technique. In the next section, the results are examined and both algorithms are compared. Finally, conclusions are derived from the works. [15,16] 
II. GENETICS ALGORITHM 
Genetics algorithm is an optimizing algorithm based on using evolutionary methods. The main idea of this algorithm is that instead of a solution, a population of solutions is held for a problem of optimization and doing operations over this population, the new population is generated. Any solution is composed of a set of genes and any gene shows one or more properties fitting that solution. Genes can be of any type of data, but they are often considered as binary ones. Any solution forms a vector of binary values although except the vector, other data structures can be used (as it is done for solving the problem of graph correspondence and instead of using a vector, we use a two dimensional matrix). Any member of this population can pair based on the closeness to a target function and produce some offspring. These offspring can be a part of the new population of the solutions. After all reproductions are performed, individuals (solutions) being more beneficial to the target function than other solutions are returned as the final solution of the problem. [17] 
Genetics algorithm has good capabilities in solving problems of discrete optimization. Naturally, genetics algorithms are suitable for solving those problems having many optimal points and in addition, having this property that subsolutions can be locally combined and a better general solution is obtained. This is done using the crossover function. [18] 
In the problem of graph correspondence, a correspondence function is defined identifying the relation between nodes of the target graph and those of the model graph. This correspondence function is shown as a two dimensional binary matrix M when used in Genetics algorithm. Any row of this matrix shows a node of the target graph ( i t ) and any of its columns shows a node of the model graph ( j b ). If the element ij M of this matrix is one, then f (ti ) will be equal to j b . Only an element of a row can have a nonzero value and other elements must be zero, because any node of the target graph can only correspond to a node of the model graph. 
Now we need to define mutation and crossover operators in this representation of the problem of graph correspondence. These definitions must perform such that the integration of the matrix holds, i.e. after applying them; any node of the target graph only corresponds to a node of the model graph. For mutation, we use the shift of two rows of the matrix, i.e. in mutation of a solution (a matrix), we replace nodes of the model corresponded to two target nodes. [19] 
Definition of crossover function is not as easy as that of mutation. Our definition from crossover function is that first, we determine a position between one to the number of the nodes of the target graph (the number of rows of the matrix). This position divides any of the two matrixes and also the matrix must be divided to two parts. The new matrix takes any parts from one of the two available matrixes. A problem we face is that the integration of the resulting matrix may not hold and nodes from the target graph correspond to some nodes from the model graph. In this case, the crossover function replaces some nonzero values of the column having more than one nonzero value with zero values of the columns not having nonzero values. [20] 
III. ACO ALGORITHM 
Another problem is the number of the nodes existing in the graph. If the size of the graphs increase (in our experiments, more than 150 nodes), then regardless of the parameters of ACO algorithm, genetics algorithm works better than ACO algorithm. For example, consider the above case ( =0.05 and =0.5). in this case, when the number of nodes is low, ACO algorithm works quicker (as it is shown in figure 4), but when the number of nodes is high, genetics algorithm finds the answer quicker. 
The vertical axis shows the operation time. First, ACO algorithm works better, but gradually increasing the number of nodes (more than 150 nodes), the operation time of genetics algorithm becomes less than that of ACO algorithm. 
CONCLUSIONS 
In this paper, we first presented a genetics algorithm and an ACO algorithm for the problem of graph correspondence. We stated a new definition from crossover operator in genetics algorithm that holds the integration of the population graph. In ACO algorithm, we presented new definitions for the target function and a function giving scores to a solution at the end of any cycle. 
In the next step, we compared both algorithms presented. ACO algorithm is very sensitive to the parameters and , and its operation time and also the quality of the solution it finds (the score it gains) depends on these parameters. This relation is presented in the section, empirical results and the comparison of both algorithms, and also in figures 1, 2, 3 and 4. 
If the size of these graphs increases (for example more than 150 nodes), regardless of the parameters of ACO algorithm, genetics algorithm works better than ACO algorithm (it obtains correspondence in less time). 
References 
[1] D.G. Corneil, C.C. Gotlieb, An efficient algorithm for graph isomorphism, Journal of the Association for Computing Machinery, 17, pp. 5164,
1970. [2] R. Mathon, Sample graphs for isomorphism testing, Congressus Numerantium, 21, pp. 499517, 1978. [3] M. Dorigo and G. Di Caro. The Ant Colony Optimization Metaheuristic. In D. Corne, M. Dorigo, and F. Glover, editors, New Ideas in Optimization. McGraw Hill, London, UK, pages 1132, 1999. [4] B. T. Messmer, Efficient Graph Matching Algorithms for Preprocessed Model Graphs, Ph.D. Thesis, Inst. of Comp. Science and Appl. Mathematics, University of Bern, 1996. [5] T. St¨utzle and H.H. Hoos. MAX − MIN Ant System. Journal of Future Generation Computer Systems, 16:889914,2000. [6] B.D. McKay, Practical Graph Isomorphism, Congressus Numerantium, 30, pp. 4587, 1981. [7] H. Bunke, B.T. Messmer, Efficient Attributed Graph Matching and its Application to Image Analysis, in Image Analysis and Processing. (C. Braccini, L. De Floriani, G. Vernazza, eds), Springer, Berlin Heidelberg, pp. 4555, 1995. [8] Tessem, Bjørnar, Genetic Algorithms for Analogical Mapping. In Proc. of Intl. Conf. on Evolutionary Computation (ICEC `98), pp. 762677, Anchorage, Alaska. IEEE. 1998. [9] Olfa Sammoud, Sébastien Sorlin, Christine Solnon, and Khaled Ghédira. Ant Algorithm for the Graph Matching Problem. 5th European Conference on Evolutionary Computation in Combinatorial Optimization. April 2005. [10] Olfa Sammoud, Sébastien Sorlin, Christine Solnon, and Khaled Ghédira. A omparative Study of Ant Colony Optimization and Reactive Search for Graph Matching Problems. 6th European Conference on Evolutionary Computation in Combinatorial Optimization. 2006. [11] H. Kälviäinen E. Oja, Comparisons of Attributed Graph Matching Algorithms for Computer Vision, Lappenraantra University of Technology, Department of Information Technology, Research Report 18, 1990. [12] T. Miyazaki, The complexity of McKay's canonical labeling algorithm, in Groups and Computation, II (L. Finkelstein and W.M. Kantor, eds.), Amer. Math. Soc., Providence, RI, pp. 239256, 1997. [13] X. Jiang, H. Bunke, Including geometry in graph representations: a quadratic time isomorphism algorithm and its applications, in Perner, P., Wang, P., Rosenfeld, A. (eds.): Advances in Structural and Syntactic Pattern Recognition, Springer Verlag, Lecture Notes in Computer Science 1121, 1996, 110  119. [14] S. Sorlin and C. Solnon. Reactive Tabu Search for Measuring Graph Similarity. to appear in 5th IAPR Workshop on Graphbased Representations in Pattern Recognition (GbR 2005), LNCS, Springer Verlag, 2005. [15] R. Battiti and M. Protasi. Reactive Local Search for the Maximum Clique Problem. Algorithmica, SpringerVerlag, (29), 610637, 2001. [16] P. Foggia, C. Sansone, M.Vento, A Database of Graphs for Isomorphism and SubGraph Isomorphism Benchmarking, Proc. of the 3rd IAPR TC15 International Workshop on Graphbased Representations, Italy, 2001. [17] H. Bunke, M.Vento, Benchmarking of Graph Matching Algorithms Proc. 2nd IAPRTC15 Workshop on Graphbased Representations, Handhorf, 1999. [18] L.P. Cordella, P. Foggia, C. Sansone, M. Vento, Evaluating Performance of the VF Graph Matching Algorithm, Proc. of the 10th International Conference on Image Analysis and Processing, IEEE Computer Society Press, pp. 11721177, 1999. [19] P. Foggia C. Sansone, M.Vento, An Improved Algorithm for Matching Large Graphs, Proc. of the 3rd IAPRTC15 International Workshop on Graphbased Representations, Italy, 2001. [20] J.R. Ullmann, An Algorithm for Subgraph Isomorphism, Journal of the Association for Computing Machinery, vol. 23, pp. 3142, 1976. [21] D. Conte, P. Foggia, C. Sansone, and M. Vento. Thirty years of graph matching in pattern recognition. International Journal of Pattern Recognition and Artificial Intelligence, 18(3):265298, 2004. [22] P. Champin and C. Solnon. Measuring the similarity of labeled graphs. 5th International Conference on CaseBased Reasoning (ICCBR). Lecture Notes in Computer Science  Springer Verlag, 2003. [23] H. Bunke and X. Jiang. Graph matching and similarity. Volume Teodorescu, HN, Mlynek, D.Kandel, A. Zimmermann, HJ. (ds.): Intelligent Systems and Interfaces, chapter 1, 2000. [24] M. Boeres, C. Ribeiro, and I. Bloch. A Randomized Heuristic for Scene Recognition by Graph Matching. WEA 2004, 100113, 2004. [25] R. Ambauen, S. Fischer, and H. Bunke. Graph Edit Distance with Node Splitting and Merging, and Its Application to Diatom Identification. IAPRTC15 Wksp on Graphbased Representation in Pattern Recognition, LNCS, Springer Verlag, 95106, 2003. 