Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 A REMINISCENT STUDY OF NATURE INSPIRED COMPUTATION Shilpi Gupta, Shweta Bhardwaj, Parul Kalra Bhatia Amity School of Engineering & Technology, Amity University, Noida - 201303, U.P [email protected], [email protected], [email protected] Abstract Nature in itself is the best example to solve problems in an efficient and effective manner. During the past few decades, researchers are trying to create computational methods that can help human to solve complex problems. This may be achieved by transferring knowledge from natural systems to engineered systems. Nature inspired computing techniques such as swarm intelligence, genetic algorithm, artificial neural network, DNA computing, membrane computing and artificial immune system have helped in solving complex problems and provide optimum solution. Parallel, dynamic, decentralized, asynchronous and self organizing behaviour of nature inspired algorithms are best suited for soft computing applications. This paper is a comprehensive survey of existing nature inspired techniques and their applications. Keywords – Nature inspired algorithm, PSO, BFO, ACO, Swarm intelligence, Genetic Algorithm, Neural Network, DNA Computing, Artificial Immune System, and Membrane Computing. 1. Introduction Living organisms’ exhibit extremely sophisticated learning, decision making and processing abilities that allow them to survive and proliferate. Nature has always served as inspiration for several scientific and technological developments. In computer science synchronization, parallelization, distributiveness, scalability, robustness, adaptability, manageability, redundancy, cooperation, and coordination are the characteristics for the development of software. The nature is in itself has parallel, asynchronous, decentralised and collective behaviour. The nature-inspired techniques are an excellent match for computing environments that exhibit these characteristics. It is vital that disciplined scientific and engineering investigations are undertaken to successfully transfer these algorithms, techniques and infrastructures into emerging computing environments. These nature inspired techniques are used to develop several algorithms to solve search and optimization problem. An overview of this paper is as follows. In Section 2 we have categorized some of the previously proposed nature inspired algorithm. In Section 3 we discuss the algorithms which fall under swarm intelligence. This is followed by Evolutionary algorithm. In the next section we have discussed artificial neural network. Section 6 is all about DNA computing. Section 7 presents algorithm inspired by human immune system. Section 8 is a comprehensive introduction of Membrane computing. In section 9 we provide concluding remarks. 2. Classification of Nature Inspired Computation In recent years, many nature inspired algorithms have been developed for solving numerical and combinatorial optimization problems. These algorithms simulate the way in which real biological system works. On the basis of this, in figure 1 six major categories of nature inspired approaches are presented, namely • Swarm Intelligence • Natural Evolution • Biological Neural Network • Molecular Biology • Immune System • Biological Cells 117 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 Nature Inspired Algorithms Figure 1: Classification of nature inspired computation 3. Swarm Intelligence Collective behaviour of birds, bacteria and insects like ants, termites and bees exhibit a problemsolving ability. The corresponding behaviour is the consequence of the self-organization and indirect communication between the insects. It also inspires the area of artificial intelligence, because of the possibility to simulate and potentially exploit this behaviour to solve real world applications. This field of computer science is known as Swarm intelligence [26, 27, 30 ]. All the possible algorithms in this area are implemented to find the best optimized solution. 3.1 Particle Swarm Optimization It is a stochastic optimization technique based on bird flocking and fish schooling. It was first introduced by Dr. Eberhart and Dr. Kennedy in 1995[1]. Suppose a group of birds are randomly searching food in an area. There is only one piece of food in the area being searched. All the birds do not know where the food is, but in each of iteration they know how far the food is. So the best strategy is to follow the bird which is nearest to the food. PSO [24] learned from the above scenario. In PSO, each single solution is a bird in the search space called as particle. All of particles have fitness values which are evaluated by the fitness function to be optimized, and have velocities which direct the flying of the particles. The particles fly through the problem space by following the current optimum particles. Major areas of applications are: fuzzy system control, training of Artificial Neural Network and optimization of functions. 3.2 Ant colony Optimization ACO is a population-based, search technique to find the optimized solution [25]. It was introduced by Marco Dorigo in 1992, and was called Ant System. In 1999 it was redefined as the Ant Colony Optimization metaheuristic by Dorigo, Di Caro and Gambardella [14, 15]. In real world, ants go randomly from their colony in search of food laying down the pheromone trail [23]. Brueckner, for example presents an infrastructure to support ant based pheromone activities [28]. To apply ACO, the problem is transformed into the problem of finding the best path on a weighted graph. The artificial ants incrementally create solutions by traversing on the graph. A pheromone is a set of parameters associated with graph components (either nodes or edges) whose 118 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 values are modified at runtime by the ants. It is used to find the solution of difficult combinatorial problems, routing of networks and transportation problems. 3.3 Bacterial Foraging Optimization Foraging strategy involves finding a patch of food for the animals or bacteria, for deciding whether to enter in a group of bushes or berries for searching food and when to leave the patch In the process of foraging, E. coli bacteria undergo four stages, namely, chemotaxis, swarming, reproduction, and elimination and dispersal. In search space, BFOA seek optimum value through the chemotaxis of bacteria, and realize quorum sensing via assemble function between bacterial, and satisfy the evolution rule of the survival of the fittest make use of reproduction operation, and use eliminationdispersal mechanism to avoiding falling into premature convergenceFor performing social foraging an animal needs collective intelligence like communication capabilities. While foraging, the bacteria alternate between running and tumbling. Chemotaxis actions are such as: a) b) If in neutral medium, alternate tumbles and runs => Search. If swimming up a nutrient gradient, swim longer => Seek increasingly favorable environments. c) If swimming down an nutrient gradient, then search => avoid unfavorable environments. The sensors it uses are receptor proteins, average the sensed concentrations and computes a time derivative. The factors affecting the bacteria foraging are, oxygen, light, temperature, magnetic lines of flux. Swarming -When a group of E. coli cells is placed in the center of a semisolid agar with single nutrient chemo-effectors, they move out from the center in a travelling ring of cells by moving up the nutrient gradient created by consumption of the nutrient by the group. Reproduction -According to the rules of evolution, individual will reproduce themselves in appropriate conditions in a certain way. For keep a constant population size, bacteria with the highest health values die. The remaining bacteria are allowed to split into two bacteria in the same place. Elimination – Dispersal - In the evolutionary process, elimination and dispersal events can occur such that bacteria in a region are killed or a group is dispersed into a new part of the environment due to some influence [6]. 3.4 River formation dynamics (RFD) River Formation Dynamics (RFD) is a heuristic optimization method recently developed by Rabanal Basalo et al is an heuristic method which is a gradient version of ant colony optimization (ACO) [3]. This method is based on copying how rivers are formed by water eroding the ground and depositing sediments. In the environment when water transforms, there is dynamic modification of altitudes of places, and construction of decreasing gradients. New gradients are formed when gradients follow subsequent drops, fortifying the best ones. By this, we achieve good solutions. One major area of application is solving NP-complete problems for example, the problems of finding a minimum distances tree and finding a minimum spanning tree in a variable-cost graph [4]. RFD is also suitable to solve problems like covering tree [5]. 3.5 Stochastic diffusion search (SDS) SDS was first proposed by Mark Bishop [11] as a pattern recognition technique is an agent-based probabilistic global search and optimization technique. It is more suitable for problems where we have combination of multiple independent partial-functions for an objective function. Each agent maintains a hypothesis which is iteratively tested by evaluating a randomly selected partial objective function parameterised by the agent's current hypothesis. Information on hypotheses is diffused across the population via inter-agent communication. Unlike the stigmergic communication used in ACO, in SDS agents communicate hypotheses via a one-to-one communication strategy analogous to the tandem running procedure observed in some species of ant [11]. A positive feedback mechanism ensures that, over time, a population of agents stabilise around the global-best solution. SDS is both 119 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 an efficient and robust search and optimisation algorithm, which has been extensively mathematically described. 3.6 Intelligent Water Drops algorithm (IWD) A natural river often finds good paths among lots of possible paths in its ways from the source to destination. These near optimal or optimal paths are obtained by the actions and reactions that occur among the water drops and the water drops with the riverbeds. The intelligent water drops (IWD) algorithm is a new swarm-based optimisation algorithm inspired from observing natural water drops that flow in rivers [8]. IWD can be used to solve the problem by moving on the graph representation of the problem. 4. Natural Evolution Darwin theory is survival of the Fittest or Natural Selection. This theory states that if a member of a species developed a functional advantage (it grew wings and learned to fly) then its offspring would inherit that advantage and pass it on to their offspring. Only the superior (advantaged) members of the species are left out whereas the inferior (disadvantaged) members of the same species gradually die out. Natural selection is the preservation of a functional advantage that enables a species to compete better than other species. Genetic algorithms [29] are based on this observation. 4.1 Genetic Algorithm Genetic Algorithms are adaptive heuristic search algorithms [22]. It was introduced as a computational analogy of adaptive systems. They are based on the principles of the evolution via natural selection, employing a population of individuals that undergo selection in the presence of variation-inducing operators such as mutation and crossover. To evaluate individuals a fitness function is used and reproductive success varies with fitness. A Genetic Algorithms operates through a simple cycle of stages: • Creation of a “population” of strings, • Evaluation of each string, • Selection of best strings and • Genetic manipulation to create new population of strings. The Genetic Algorithm cycle is presented as follows: Figure 2: Flow diagram of Genetic Algorithm [36] 120 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 5. Biological Neural Network One of the most inspiring natural intelligence is the human mind itself. There are many theories of how minds work. This is a big question that will it ever be possible to make a machine which posses mind. If we consider the overall structure of the human brain and the elements we find out are nerve cells or neurons. Neurons process electrical signals constituting all brain activities which are connected up into complicated networks. It is this simultaneous cooperative behaviour of very many simple processing units which is at the root of the enormous sophistication and computational power of the brain. The simulation of this behaviour can be achieved by Artificial Neural Network. Figure 3: Biological Neuron [34] 5.1 Figure 4: Neuron Model [35] Artificial Neural Network A neural network is a parallel system, capable of resolving paradigms that linear computing cannot. It is based on statistical signal processing. The word network in the term 'artificial neural network' arises because the function f(x) is defined as a composition of other functions g (x), which can further be defined as a composition of other functions. 2 main constituents of ANN are neuron and weights. Neurons are the structures comprised of densely interconnected simple processing elements. Each element is linked to neighbours with varying strengths called weights [19]. Artificial Neural Networks are well suited for prediction, analysis, forecasting and pattern identification and recognition of text, audio, video, speech and facial expressions. 6. Molecular Biology Biology is also a study of information stored in DNA. The famous double-helix structure discovered by Watson and Crick consists of two strands of DNA wound around each other. Each strand has a chain of sugar molecules and phosphate groups. Each sugar group is attached to one of following four "bases" as - guanine (G), cytosine (C), adenine (A) and thymine (T) forming the genetic alphabet of the DNA, and their order or "sequence" along the molecule constitutes the genetic code. It deals with the transformations that information undergoes in the cell. Figure 5: Binary computing to DNA Computing 121 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET 6.1 ISSN: 2231-1963 DNA Computing DNA computing seeks to use biological molecules such as DNA and RNA to solve basic mathematical problems [18]. DNA computation technology allows designing single DNA strands which can be used as representations of bits of binary data. It allows reproducing individual strands until there are sufficient numbers of strands to solve complex computational problems. DNA computing performs millions of operations simultaneously by parallel processing. Therefore it allows large parallel searches and generates a complete set of potential solutions. DNA can hold more information in a cubic centimetre than a trillion CDs, thereby enabling it to efficiently handle massive amounts of working memory. Applications of natural DNA into a computable form include DNA sequencing, DNA fingerprinting, DNA mutation detection, Development and miniaturization of biosensors, which could potentially allow communication between molecular sensory computers and conventional electronic computers. DNA based models of computation may be applicable for simulating or modelling other emerging computational paradigms, i.e. quantum computing, and design of expert systems through Evolutionary programming. 7. Immune System The human immune system has numerous properties such as robustness and fault tolerance, makes it suitable for many computational problems. 7.1 Artificial Immune System Artificial Immune System [20] has two generations. The first generation is based on simplified immune models and the second generation is utilising interdisciplinary collaboration to develop a deep understanding of the immune system and hence produce more complex models. Above mentioned generations of AIS have been successfully applied in a variety of problems like anomaly detection, pattern recognition, optimisation and robotics. Artificial Immune Systems (AIS) [19] are algorithms and systems that use the human immune system as inspiration. The human immune system is a robust, decentralised, error tolerant and adaptive system. Such properties are highly desirable for the development of novel computer systems. 8. Biological Cell Life is directly related to cells; everything alive consists of cells or has to do in a direct way with cells. The cell is the smallest unit unanimously considered as alive. It is very small and very intricate in its structure and functioning, has an elaborate internal activity and an exquisite interaction with the neighbouring cells, and with the environment in general S. Marcus puts life in an equation form: Life = DNA software + membrane hardware [13]. There are cells living alone (unicellular organisms, such as ciliates, bacteria, etc.), but in general the cells are organized in tissues, organs, organisms, communities of organisms. All these suppose a specific organization, starting with the direct communication/cooperation among neighbouring cells, and ending with the interaction with the environment, at various levels. Together with the internal structure and organization of the cell, all these suggest a lot of ideas, exciting from a mathematical point of view, and potentially useful from a computability point of view. Processing of cells can be explored by membrane computing. 8.1 Membrane Computing Membrane computing [31] is an area of computer science aiming to abstract computing ideas and models from the structure and the functioning of living cells, as well as from the way the cells are organized in tissues or higher order structures. The models considered, called membrane systems (P 122 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 systems), are parallel, and distributed computing models, processing multisets of symbols in cell-like compartmental architectures. A model of computing which abstracts from the functioning and structure of living cells is called P systems – Păun, 2000 [13].There are 3 essential features: • A hierarchical arrangement of membranes delimiting regions (membrane structure) – tree structure, • Some multisets of objects • Finite sets of rules associated to regions A P system evolves from one configuration to the other by applying the rules according to a given strategy (maximally parallel manner). Rules can transform objects, move objects, and even modify the membrane structure (creation/division/dissolution/moving). Most of the applications [10, 32, 33] of membrane computing lie in the areas of biology, computer science, computer graphics and linguistics like Static Sorting, Analysis of a Public Key Protocol, NPComplete Optimization algorithms, parsing in automata. 9. Conclusion Biology has fascinating facts influencing the area of computer science. Nature-inspired Computations have already achieved remarkable success. This paper enlightens the common properties shared between emerging computing and natural environments. In certain circumstances, parallel execution and asynchronous communication can improve performance. Existing nature inspired systems may benefit parallel implementations and their self organising properties may address the problem of coordinating decentralised execution. These algorithms help in initiating and studying the way in which machines can make plan, learn, take decisions or perceive others. We believe that further properties of natural environments are worth investigating, either because these properties are desirable for optimum results for new computing environments. References [1]. Kennedy, J. and Eberhart, R., “Particle Swarm Optimization”, Proceedings of the 1995 IEEE International Conference on Neural Networks, pp. 1942-1948, 1995, IEEE Press. [2]. Carlisle, A. and Dozier, G. “An Off-The-Shelf PSO”, Proceedings of the 2001 Workshop on Particle Swarm Optimization, pp. 1-6, 2001, Indianapolis, IN [3]. Pablo Rabanal, Ismael Rodríguez and Fernando Rubio,” Using River Formation Dynamics to Design Heuristic Algorithms” , Springer 2007. ISBN 978-3-540-73553-3 [4]. Pablo Rabanal, Ismael Rodríguez and Fernando Rubio,”Finding Minimum Spanning/Distances Trees by Using River Formation Dynamics “ , Springer, 2008. ISBN 978-3-540-87526-0 [5]. Pablo Rabanal, Ismael Rodríguez and Fernando Rubio,” A Formal Approach to Heuristically Test Restorable Systems” , Springer, 2009. ISBN 978-3-642-03465-7 [6]. Hai Shen et al. ,” Bacterial Foraging Optimization Algorithm with Particle Swarm Optimization Strategy for Global Numerical Optimization”, GEC’09, June 12–14, 2009, Shanghai, China. Copyright 2009 ACM 978-160558-326-6/09/06. [7]. Zulkifi Zainal Abidin et al., “A survey: Animal Inspired Metaheuristic Algorithms” , Proceedings of the Electrical and Electronic Postgraduate Colloquium, EEPC 2009. [8]. Hamed Shah-Hosseini, “The intelligent water drops algorithm: a nature-inspired swarm-based optimization algorithm”, International Journal of Bio-Inspired Computation, Vol. 1, Nos. 1/2, pp. 71-79, 2009. [9]. Enda Ridge, Edward Curry, “A Roadmap of Nature-Inspired system Research & Development”, Journal 123 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 Multiagent and Grid Systems - Special Issue on Nature inspired systems for parallel, asynchronous and decentralised environments , Volume 3 Issue 1, January 2007 [10]. Paun, G. ; Paun, R.A. ; “Membrane computing as a framework for modeling economic processes” Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, 2005. [11]. J.M. Bishop, “Stochastic Searching Networks”, Proc. 1st IEEE Conf. on Artificial Neural Networks, pp 329-331, 1989, London. [12]. J. Hoffmeyer,” Surfaces Inside Surfaces. On the Origin of Agency and Life”, Cybernetics and Human Knowing, pp 33–42, 1998. [13]. S. Marcus, “Bridging P Systems and Genomics: A Preliminary Approach”, In [86], 371–376, SpringerVerlag London, UK , 2003. [14]. Sh Rahmatizadeh et al., “The Ant Bee Routing Algorithm: A new Agent based Nature Inspired Routing Algorithm”, Journal of Applied Sciences, pp 983-987, 2009. [15]. O.A. Mohamed Jafar and R. Sivakumar, “Ant-based Clustering Algorithms: A Brief Survey”, International Journal of Computer Theory and Engineering, Vol. 2, No. 5, October, 2010. [16]. L. de Castro and J. Timmis, “Artificial Immune Systems: A New Computational Approach”, SpringerVerlag, London. UK. , September 2002. [17]. Leonard M. Adleman, “Computing with DNA”, Scientific American August 1998. [18]. Watada, J., binti abu Bakar, R., “DNA Computing and Its Applications”, Intelligent Systems Design and Applications, . pp 288 – 294, 2008, ISDA '08. [19]. D. Shanthi, Dr. G. Sahoo & Dr. N. Saravanan, “Designing an Artificial Neural Network Model for the Prediction of Thrombo-embolic Stroke”, International Journals of Biometric and Bioinformatics (IJBB), Volume (3). [20]. Tao Gong ; “Artificial immune system based on normal model and immune learning Systems”, IEEE International Conference on Man and Cybernetics, 2008. [21]. Kris De Meyer, “Foundations of Stochastic Diffusion Search”, Department of cybernetics, 2004. http://www.doc.gold.ac.uk/~mas02mb/sdp/download/DeMeyer-thesis.pdf [22]. N. Chaiyarataiia and A. M. S. Zalzala, “Recent Developments in Evolutionary and Genetic Algorithms: Theory and Applications”, Genetic Algorithms in Engineering Systems: Innovations and Applications, 2-4 September 1997. [23]. M Dorigo, " Optimization, Learning and Natural Algorithms”, PhD thesis, Politecnico di Milano, Itlay, 1992. [24]. Eberhart, R. C. et Kennedy, J. (1995), “A new optimizer using particle swarm theory,” Proceedings of the Sixth International Symposium on Micromachine and Human Science, Nagoya, Japan. pp. 39-43. [25]. Marco Dorigo, Mauro Birattari, and Thomas Stutzle, (2006), “Ant Colony Optimization: Artificial Ants as a Computational Intelligence Technique,” IEEE Computational Intelligence Magazine [26]. E. Bonabeau, M. Dorigo, G. Theraulaz, (1999), “Swarm Intelligence: From Natural to Artificial Intelligence,” NY: OxfordUniversity Press, NewYork [27]. Eric Bonabeau, Marco Dorigo, and Guy Theraulaz. Swarm Intelligence. Santa Fe Institute Studies in the Sciences of Complexity. Oxford University Press, 1999. [28]. Sven Brueckner. Return from the Ant: Synthetic Ecosystems for Manufacturing Control. PhD , Humboldt University. [29]. John H. Holland. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. The MIT Press, Cambridge, Massachusetts, USA, 1995. [30]. J. Kennedy, R. C. Eberhart, and Y. Shi. Swarm Intelligence. Morgan Kaufmann, 1 edition, 2001 [31]. Ibarra, O.H.; “Computing with Membranes: An Overview” International Conference on Parallel and Distributed Computing, Applications and Technologies, 2009. 124 Vol. 1,Issue 2,pp.117-125 International Journal of Advances in Engineering & Technology, May 2011. ©IJAET ISSN: 2231-1963 [32]. Yang Sun ; Lingbo Zhang ; Xingsheng Gu ; “Membrane computing based particle swarm optimization algorithm and its application”, IEEE Fifth International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA), 2010. [33]. Pavanasam, V. ; Subramaniam, C. ; Srinivasan, T. ; Jitendra Kumar Jain, D. ; “Membrane Computing Model for Software Requirement Engineering” Second International Conference on Computer and Network Technology (ICCNT), 2010. [34]. http://www.neuralpower.com/technology.htm [35]. http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html [36]. http://www.learnartificialneuralnetworks.com/geneticalg.html Authors Shilpi Gupta is working as a lecturer in the Department of Computer Science & Engineering of Amity School of Engineering & Technology, Amity University, Noida. She has 03 years of experience in the field of Academics and is actively involved in research & development activities. She has received her B.Tech degree in 2006. She is M.Tech Gold medalist in the stream of Computer Science and Engineering from Jaypee Institute of Information Technology, Noida. Her area of interest includes Software Engineering, Artificial Intelligence, Soft Computing, Cognitive Informatics, Enterprise Resource Planning and Digital Rights Management. Shweta Bhardwaj is M.Tech.in Computer Science and Engineering from Jaypee Institute of Information Technology and B.Tech in Computer Science and Engineering from U.P. Technical University. She is currently working with Amity School of Engineering & Technology, Amity University, Noida as a lecturer. She has over 3 years of experience in the field of Academia and Industry. Current research areas are Soft Computing & its applications, Biofeedback and Embedded Systems, E Commerce and Networking. She has successfully published national and international research papers. Parul Kalra Bhatia was born in Alwar of Rajasthan, India in 1980 She has received her M.Sc. degree in Computer Science in 2003 and M.Tech in Computer Science and Engineering in 2005 from Banasthali Vidyapith, Rajasthan She is working as a lecturer in Amity School of Engineering and Technology, Amity University, Noida. Her interest includes Copyrights, Intellactual Property Rights, Digital Rights Management, Privacy Rights Management, Advance Database Management System and Enterprise Resource Management and Information Storage and Management. 125 Vol. 1,Issue 2,pp.117-125