Tikrit Journal of Pure Science

O ptimization techniques play a major role in real-world problems, As many cases in which decisions are made are based on random research. But choosing the optimization technology is a big challenge for the user. The cuckoo search algorithm is one of the modern optimization techniques that can replace many of the traditional techniques used, The cuckoo bird use a Levi's flight strategy based on the egg laying method to extract a solution to the problem. The presented work will provide a review of the original cuckoo search algorithm with mentioning some types of developed and hybrid cuckoo search algorithm as well as some of their applications.


Introduction
Optimization can be defined as an operation of altering a system to add several features to make the system working efficiently or finding alternative performance within certain restrictions by minimizing unwanted parameters and maximizing wanted parameters that participated in the problem. The meaning of maximizing is attempt to get good results at no cost. If any Android phone or computer is optimized then it will run faster or to run with less memory requirements. One of the algorithms used for optimization's problem solving is cuckoo search algorithm [1]. Since Cuckoo Search (CS) was introduced by Xin-She Yang & Suash Deb in 2009, The CS algorithm's literature was exploded. CS, which was inspired by the brooding parasitism of cuckoo in nature. First Cuckoo Search was proposed as a tool for the continuous problems and numerical function optimization. This algorithm was tested by researchers on some known standard functions and they compared the algorithm with GA and PSO algorithms, it was turns out that CS gave results better than the "Genetic Algorithm (GA)" and "Particle Swarm Optimization (PSO)" results. Cuckoo research also showed promising results when developers and researchers applied it to engineering optimization. Nowadays, CS algorithm has been applied in various fields of optimization, image processing, engineering optimization, real-world applications, scheduling, feature selection, planning, and forecasting [1].

2-Cuckoo Search Algorithm:
One of the latest meta-heuristic algorithms inspired by nature is Cuckoo Search Algorithm (CSA), and this algorithm was developed on the basis of "interesting breeding behavior" such as the parasitic nursery of certain types of cuckoo birds. The strength of all modern algorithms beyond intuition comes from the fact that they imitate the best features in nature, especially biological systems that have evolved from natural selection over millions of years. These "nature-inspired algorithms" have been used to solve several optimization issues [2].

3-Cuckoo breeding behavior
Cuckoo birds can be distinguished by their beautiful sounds as well as the policy of aggressive breeding that the bird follows, Some species, such as "Ani and Guira", lay their eggs in another host bird nest, and to increase the likelihood of hatching their eggs they remove other eggs. A large number of species are share in parasitic nursery behavior by laying their eggs in the nests of other host birds. Some host birds may enter into direct conflict with the intruding cuckoo [2]. If the host bird detects there are strange eggs in its nest, which are not its own eggs, the host bird will either get rid of its nest and create a new nest or throw the strange eggs away. The female of cuckoo bird is distincted in imitating the pattern and color of the host bird specie's eggs, and this increases their chances of production by reduces the possibility of throwing their eggs. Moreover, the timing of laying eggs for some species is also surprising, as the parasitic cuckoo often chooses the host bird's nest that has just laid its own eggs. In general, cuckoo eggs hatch slightly earlier than host eggs. And when the first cuckoo chick hatches, the first instinctive action that it will perform is to blindly expose the host's eggs outside the nest, Which increases the share the chick of cuckoo from the food that the host bird provided. Also the Studies showed that the chick of cuckoo can be mimic the host's chick's appeal to be able to have a greater chance of feeding [2].

4-The Strategy of Cuckoo Bird Search
The description of CS can be simplified using the following three ideal rules [2] : 1. "Each cuckoo lays one egg at a time and dumps it in a randomly chosen nest". 2. "The best nests with the high quality of eggs will carry to the next generations". 3. "The number of available host nest is fixed and if a host bird identifies the cuckoo egg with the probability of pa=0,1 then the host bird can either throw them away or abandon them and build a new nest". For simplicity's sake, suppose get rid of the nest and create a new nest or throwing eggs away, It can approx substitute for a percentage (pa) of total nests (n) with new random nests. Fitness function (quality) of a solution can calculate a relative to the objective function of the maximization issues, many kinds of fitness function may be defined in a manner similar to that used in GA [3]. In addition for the ease of application of the process, it can be considered that each egg in the nest is a solution, and that the egg of cuckoo considered the new solution, The goal is to use the best possible new and potential solutions (for cuckoo) To exchange those lesser quality solutions found in nests, CS can be expanded to a complex situation when every nest has several eggs considered a set of solutions [3]. The basic steps for cuckoo bird research can be summarized on the basis of these three rules as shown in Figure 1  In the CSA, the value of X g; i is calculated from the equation [4]: Whereas, (rand) represent a random number within [0,1] period, and (low_i) and (up_i) represent the upper and lower limits of the search space. The CSA examines the boundary conditions in each computational step, so when the attribute's value exceeds the permissible search space limit, the attribute's value is exchanged with the value of the closest limit to it. The (pa) ratio of bad nests is disused and new nests are being created using the following equation [4]: whereas v i : Represents the new nest.
x i : Represents the old nest. r: is a random number within the period [0,1]. randi: is a random number within the period [0,1].
" Keep the best solutions ( or nests with quality solutions); Rank the solutions and find the current best; end while Postprocess results and visualization;"

5-Random walk
The process of random walk involves making a series of sequential random steps. We can assume that (S N ) refers to the sum of the sequential random steps (X i ), so (S N ) is formed randomly, as in equation [5]: = ∑ =1 = 1 + … + … (4) Whereas, X i is a random step derived from a "random distribution". the relationship can be expressed as a nested equation as follows [5]: This means that the following state (S N ) depends only on:  The Existing Current State (S N-1 )  The movement or transitions (X N ) between the existing & the following state. In the random walk, the size or length of the step can be constant or varying [5].

6-Lévy Flights
Animals usually searching for food in the nature in a random manner or semi-random. In general, the way animals search for food is really a random walk [6]. Studies by researchers Reynolds and Frye shown that fruit flies are exploring spatial spaces (Landscape( using straight flight paths that are cut off by a sudden reversal of (90 o ), which leads to the representation of the Levi flight method [7]. After that, studies of human behavior were performed and also showed typical characteristics of Levi's flight, So this behavior has been used in optimal research and optimization, Where the preliminary results showed the successful susceptibility to this behavior. Figure 2 gives two examples of a Levi's flight path [6]. Where (u) is derived from the normal distribution as well (v) and the value of (φ) is calculated from equation [4]: whereas: Γ: is the standard kama function, β = 1.5 X best : is the nest that has the best solution. X i -X best : Means that when the solution is the best solution, it remains unchanged. The value (X i ) is randomly updated using the equation [4]: = + * () … (8) whereas: X i : It is the solution born by the cuckoo. stepsize: is the size of step. randn (): a random number derived from a "normal distribution".

Variants
The first and original version of CS tested by improved numerical functions criteria. Usually, new developed algorithms are tested using such problems. Therefore, "standard benchmark function suites" were developed to make the comparison between algorithms as fairly as possible. examples of some studies in this field :  "Cuckoo search L'evy flights".  "An efficient cuckoo search algorithm for numerical function optimization".  "Multimodal function optimization". CS can handle naturally and efficiently with multimodal problems. Also the researchers tried to amelioration the efficiency of the CS and to get good and comparable solutions to solutions in the literature, Since cuckoo search first appearance in 2009, many researchers develop several variants of the CS algorithm.

Hybrid Algorithms
CS can find the required solutions with high efficiency for several optimization problems.
However, some difficulty may sometimes arise when we have optimization problems and not found the required solutions. This is agree with what's called "No Free-Lunch theorem". Therefore the hybridization was done on optimization algorithms to cross many given problems. Hybridization between cuckoo search and many other optimization algorithms, heuristics techniques, machine learning techniques, etc. in cuckoo search, every component of it can be Hybridized. For example, Hybridization has been tried on evaluation function, initialization procedure, moving function and others. Table 2 summarized several of the hybrid variants [1] [8].

7.3"Multi-objective optimization"
Here, optimization will occur for more than one objective, and there may be conflicts between these objectives with each other. "Many optimization problems in real-world required designing solutions according to several criteria. optimization algorithm with a single objective looking for a single solution but optimization algorithm with multi-objective looking many solutions. multi-objective optimization goals are :  "to obtain solutions as close to the true Pareto front as possible"  "to generate solutions as diversely as possible in the non-dominated front". To expand the standard Cuckoo Search into multiobjective Cuckoo Search Various variants were developed. Table 3 summarize several of the multiobjective CS optimization [1] [8].

8-Applications
The promising efficiency of CS algorithm was shown by its applications. Better solutions was obtained by using CS algorithm than other algorithms in literature. presented "a new description-centric algorithm for the clustering of web results, called WDC-CSK", it used CS algorithm, split and merge methods on clusters, kmeans algorithm, Balanced Bayesian Information Criterion, and frequent phrases approach for cluster labeling. The CS provides a shared local and global search strategy in the solution space. "Split and merge methods replace the original Lévy flight operation and try to improve existing solutions (nests), so they can be considered as local search methods. WDC-CSK includes an abandoned operation that provides diversity and prevents the population nests from converging too quickly. Balanced Bayesian Information Criterion is used as a fitness function and allows defining the number of clusters automatically. WDC-CSK was tested with four data sets (DMOZ-50, AMBIENT, MORESQUE and ODP-239) over 447 queries. The algorithm was also compared against other established web document clustering algorithms, including Suffix Tree Clustering (STC), Lingo, and Bisecting k-means. The results show a considerable improvement upon the other algorithms as measured by recall, F-measure, fall-out, accuracy and" SSLk [36]. (Maryam Rabiee and Hedieh Sajedi 2013) Proposed a scheduling algorithm depending on COA )"Cuckoo Optimization Algorithm") for solving the problem of job scheduling on computational grids. This method involves generating an optimum schedule that completes all jobs in a shorter time. the Simulation results of the proposed scheduling algorithm was compared with other existing algorithms like PSO and Genetic, the results demonstrate that the process of allocated jobs to resources using the COA was better than using the existing algorithms, also the COA minimize the execution time of the job scheduling less than the existing algorithms [37].
(Prasad Janga and Dr.R.L.Sharma 2017) a new approach was presented for satellite image enhancement, which depends on PSO-CS and AHE-RWT with SVD algorithm to improve the quality of satellite images low brightness. Noise is the reason for satellite image corruption, therefore removing the noise from the images is very necessary for better visualization.
Firstly, Adaptive Histogram Equalization (AHE) is used for enhanced The input image, after that a decomposed process into (4-sub band) through the wavelet transform was done on the image. Optimization using CS algorithm is done on each sub band and by using "singular value decomposition" threshold of LL image's sub band is obtained, finally by applying "inverse redundant wavelet transforms"(IRWT) the enhanced image was reconstructed [38]. (Manar Abdulkareem 2019) Introduced image retrieval system, it used " Discrete Wavelet Transform (DWT)", "Gray Level Co-occurrence Matrix (GLCM)" and color Moment to extract features from the images in the database. CS algorithm was used to select only the important features from LL-sub band. The use of CS algorithm increases the speed of retrieval process, which reduces the time needed in the retrieval process and also increase the system efficiency. Manhattan distance was used to measures the distance between images. System accuracy was calculated using precision & recall measures [39]. (Najla Akram AL-Saati and Marrwa Alabajee 2013) Produced a work to investigate the software product reliability as significant characteristic of computer programs, it helps to determine the degree of confidence that the program has in achieving its specific functions. This is done by using "the Software Reliability Growth Models" (SRGMs) via the guessing of their parameters. The parameters in this work was guessing depending on the Swarm Intelligence searching techniques, namely, CS algorithm because of its effectiveness, efficiency and robustness. the results of this work are compared to Ant Colony Optimization (ACO), Particle Swarm Optimization(PSO) and extended ACO. Results indicate that CS surpassed both ACO and PSO in finding better parameters [40]. (S.Vennila and A.Venkatesan 2017) proposed a method to achieve good results in the color satellite images segmentation. This method used cuckoo search and supported by "Tsallis entropy and Granular computing". The using of CS algorithm help to got optimized threshold values, this lead to reduce the computational cost and the execution time, this method also achieved efficient color satellite image segmentation than the segmentation using the previous algorithms [41]. (Tongxiang Liu et.al 2018) developed a new shortterm wind speed forecasting method which consists of Ensemble Empirical Mode Decomposition (EEMD) for data preprocessing, and the Support Vector Machine (SVM) whose key parameters are optimized by the Cuckoo Search Algorithm (CSO). This method enhances the forecasting ability and avoids the shortcomings of other traditional models. The results show that the accuracy of forecasting improved using the developed model, and also the model was good tool in supporting the the plants of wind power [42]. (Monica Sood et.al 2018) here the determined of optimal path depends on the unknown environment area and also environment that having static obstacles. A hybrid approach consists of Cuckoo Search (CS) and Bat Algorithm (BA) is used in this research to determine the optimal path between source and destination. standard benchmarks functions is used to test The hybridized of BA and CS. After that results of hybrid path planning are compared with individual BA and CS in terms of "small number of iteration and simulation time" required to obtain the optimal path between source and destination. The comparison between the hybrid approach results and individual concepts results indicates that the proposed hybrid concept dominance in terms of "standard benchmarks functions" and other parameters as well [43]. (C. Gunavathi and K. Premalatha 2015) Proposed a method for cancer classification, this method used cuckoo search optimization algorithm to select the features from gene expression data. The methods of selection the features are used to get better classification accuracy by selecting the informative genes. At the beginning, the genes are ranked using Signal-to-Noise Ratio (SNR), T-statistics value ("The t-value measures the size of the difference relative to the variation in sample data") and Fstatistics values ("F statistic is a value you get when you run an ANOVA test or a regression analysis to find out if the means between two populations are significantly different"). from the top-m ranked genes, the cuckoo search used to take the best genes from the top-m ranked genes. This method tested on Lung Harvard2, AML-ALL, Ovarian Cancer, Lung Michigan and DLBCL Harvard datasets. The results of this method illustrate that the cuckoo search gives 100% average accuracy [44].

9-Conclusion
Optimization techniques were played a major role in real-world problems. Cuckoo Search's algorithm that subrogated many of the traditionally used technologies.in this research we focused on the feeding behavior of Cuckoo Search algorithm, the mechanism of Levy Flight and CS applications. Cuckoo Search were used in several applications such as routing, trace weights in neural networks, scheduling, feature selection, Path Planning, Forecasting, choosing random variables, image processing and so on. their provided facilities, which helped to improve the quality of this work".