The Use of Area Extended Particle Swarm Optimization (AEPSO) in Swarm Robotics
Adham Atyabi
School of Computer, Science, Engineering and Mathematics, Flinders University
Adelaide, Australia Adham.Atyabi@flinders.edu.au
David M W Powers
School of Computer, Science, Engineering and Mathematics, Flinders University
Adelaide, Australia Adham.Atyabi@flinders.edu.au
Abstract—Swarm Robotics is the study of simple, un-intelligent robots teaming up together to address complicated tasks using cooperation and knowledge/skills sharing factors. Particle Swarm Optimization (PSO) is an Evolutionary algorithm inspired by animals’ social behaviors. PSO has been used in various problems due to its fast convergence capability. Area Extended PSO (AEPSO) is an enhanced version of PSO designed to address complications in the Swarm Robotics field. These complications include dynamicity of the environment, degree of cooperation, time dependency of the tasks, and uncertain nature of the envi- ronment. This study investigates advantages and shortcomings of the AEPSO method in the robotic domain
Index Terms—Area Extended Particle Swarm Optimization, Swarm Robotics.
I. INTRODUCTION
Swarm robotics is the study of a population based problem solving approach that emphasizes the use of a group or groups of simple physical robots/agents with a low level of intelligent behaviour that collectively and collaboratively interacts with each other and their environment/search-space with the aim of emerging toward a collective behavior. In swarm robotics, the focus is on the agents’ capability in terms of solving the problem using a higher level of cooperation between swarm members (i.e., agents). In addition to the agents’ cooperation, the use of an appropriate population size also plays a major role in this domain. The idea of swarm is inspired from the observation of social insects (ants, termites, wasps and bees) in nature. In other words, the principles of swarm robotics can be seen in i) termites’ capability in building large and complex mounds, and ii) ants capability in terms of carrying large preys using foraging raids. The study of insect life gives some ideas about:
• First, how large the population size should be to achieve the desired behavior?
• Second, what level of intelligence is required for agents so that they can handle the tasks?
• Third, how much collaboration and cooperation is neces- sary?
II. SWARMROBOTICS
Sahin and Spars in [4] provided following definition for swarm robotics: Definition: ”Swarm robotics is the study of how large numbers of relatively simple physically embodied
agents can be designed such that a desired collective behavior emerges from the local interactions among agents and between the agents and the environment”. Due to the cost efficiency, simplicity the system robustness, flexibility and scalability of the approach, there has been increasing interest in the approach and a variety of new studies have been spawned [4]. Miner in [1] claimed that swarm robotics approaches are scalable, fault tolerant, robust and efficient. Compared to a singular robot, swarm-based robots are able to cover a higher percentage of the area due to the use of multiple robots which provide the possibility of distributing search to various regions of the search space simultaneously. Miner also argued that swarm robots are fault tolerant due to the fact that the failure of a single robot in the swarm does not cause failure in the rest of the swarm members. Finally, Miner claimed that due to the possibility of increasing the number of swarm members, robot swarms are scalable and more robust. In other words, in a robot swarm, the swarm’s algorithm does not depend on the number of robots. Sahin and Spears in [4] argued that in a robot swarm, the robustness can be also seen as decentralized coordination. Balch in [2] studied communication, diversity, and learning aspects in the swarm robotics. In the study, some communication complexities, such as communication range, type of information to be communicated, and timing of communication, are considered. Even though communi- cation improves robot teaming performance considerably, it also adds cost and complexity to a robot system [2]. Balch proposed the use of Social Entropy to measure the diversity in a heterogeneous team of robots [2]. Sayfried et al. in [3]
studied the concept of ISWARM using swarms of micro- robots. In their study, a population of over 1000 micro-robots was used. Spars et al., in [5] studies the impact of two localization methods called trilateration and triangulation in swarm robotics. Rothermich et al., in [6] also investigate the localization and mapping in a simulated-based and physical- based study. Gazi1 et al. studied the role of communication topology into swarm robotics (neighborhood topology) and noted pre-fixed and dynamic neighborhood topologies as the most common methods [7]. Schmickl and Crailsheim in [8]
studied the impact of bio-inspired navigation methods for swarm robotics. Soysal and Sahin study the self-organized aggregation of a swarm robotics. The study investigated the
978-1-4244-7815-6/10/$26.00 c2010 IEEE ICARCV2010
WK,QW&RQI&RQWURO$XWRPDWLRQ5RERWLFVDQG9LVLRQ 6LQJDSRUHWK'HFHPEHU
impact of cue less, decentralized, self-organized aggregation and claimed its essentiality in swarm robotic systems [9-11].
In studies conducted by Liu et al., and Hamann and Worn [12, 13] swarms of foraging robots are investigated. In the Hamann and Worn study [12], an analytical model is proposed to predict the collective behavior of robots in the swarm.
Burchan et al. [14] employed integrating roadmap-based path planning hybrids with flocking techniques to achieve different behaviors. Applications such as foraging for objects (i.e., rescue/destroy, mining, food) and patrolling (i.e., detecting intruders, guarding borders, etc) are suggested by Pettinaro et al. [38]. Conventional Swarm Intelligence approaches such as Ant Colony Optimization (ACO) have not been regarded as suitable for swarm robotics [1]. This is due to complications inherent in the implementation of ACO and in particular the implementation of the concept of dropping pheromones. In [18], Bogatyreva proposed a hybrid method in a path planning study based on preventing chaos and perturbation. Platforms such as iRobot and Swarm-Bot are two well known examples of swarm robotics. In general, the idea of swarm robotics is widely used in military-based applications such as counter terrorism and bomb or threat detectors, moving products in large warehouses, and for search and rescue teams [19-21].
Due to the nature of the hazardous scenarios assumed in such applications (i.e., large distance, lack of proper communica- tion, information uncertainty, environment dynamism, and so on), the use of approaches based on centralized control is impossible. In such scenarios, single-robot-based approaches are not cost efficient due to the level of intelligence required, the physical structure and the amount of time needed to finish the task. Werfel in [19] described swarm robotics as a part of distributed artificial intelligence. This can be seen as the coordination and cooperation between swarmed agents that make decisions.
III. PARTICLESWARMOPTIMIZATION WITHAREA
EXTENSIONPSO (AEPSO) A. Particle Swarm Optimization (PSO)
Particle Swarm Optimization (PSO) is introduced by Kennedy and Eberhart. It is a nature inspired evolutionary approach that outperforms other methods in some problems [15]. PSO can be seen as a population based approach in which the population evolves due to its cognitive and social interactions. Furthermore, PSO can be considered as a behavior based approach in which particles adjust their current behav- ior according to their status in the environment/search-space favoring global optimum. The behavior adjustment process is influenced by the memory of previously achieved performance (personal best) and majority voting of neighboring particles (global best) [15-17,31]. The following shortcomings for basic PSO have been identified in the context of these studies [16,17,31,37]:
• Lack of dynamic velocity adjustment
• Initialization dependency
• Inaccuracy of fitness criteria
• Premature convergence and stagnation in local optima
• Complications with multi-objective, dynamic, uncertain and time dependent problems.
B. Macroscopic and Microscopic modeling of the swarm Macroscopic and Microscopic models make an important distinction that has been used in multiple swarm robotics studies [26-30]. Macroscopic modeling of swarm robotics refers to implementing the entire population of robots as a single (homogenous) swarm. Microscopic modeling refers to implementing robots separately (heterogeneously). Recently, [24, 29] used macroscopic and microscopic modeling in their studies. Pugh in [22-25] studied macroscopic and microscopic modeling of swarm robotics in robot search scenarios based on homogeneity and heterogeneity principles. Li et al. in [30] pro- posed the use of Probabilistic Finite State Machines (PFSM) as agents in a microscopic modeling of a swarm robotics, aiming to investigate aspects such as homo/heterogeneity and swarm diversity. Considering the advantages of simplicity and fast convergence of the PSO, numerous studies have been done based on using PSO and its variations in robotic problems [22-25, 32-37]. Even though varieties of enhanced methods are proposed to address PSO’s shortcomings, the main focus remains on:
1) Providing extra controls on PSO’s velocity parameters resulting in faster convergence toward optimum [31].
Initialization dependency
2) Maintaining search diversity and providing a balance between the uses of essential components/behaviors of the swarm [31].
3) Defining better communicating / neighboring topologies aimed at providing more realistic and useful knowledge and information sharing between particles of the swarm [16,17].
C. Area Extended PSO (AEPSO)
Area Extended PSO (AEPSO) is an enhanced version of PSO that aims to address traditional problems and shortcom- ings of basic PSO in swarm robotics problems. To do so, AEPSO utilizes some heuristics in addition to the macroscopic modeling of the PSO which together helps it to provide dynamic neighborhood topology, dynamic velocity adjustment, and extra communication capability resulting in higher levels of knowledge sharing and cooperation between particles [32, 33, 35, 37]. Following is the list of employed heuristics in AEPSO and their impact on the solution finding:
1) To handle dynamic velocity adjustment:
• New velocity heuristic which solves the premature convergence [39-41, 45].
2) To handle direction and fitness criteria:
• Credit Assignment heuristic which solves the cul de sacs problem [42, 43].
• Environment Reduction heuristic.
3) To handle communication limitation in real world robotic domains:
−
→V(t+1) =fittest
⎧⎪
⎪⎪
⎪⎪
⎨
⎪⎪
⎪⎪
⎪⎩
c2×rand()(g(t)−x(t)) : 1 c1×rand()(p(t)−x(t)) : 2
w×V(t) : 3
1 + 2 HP SO : 4
1 + 3 GP SO : 5
2 + 3 GCP SO : 6
1 + 2 + 3 Basic−P SO : 7
(1) IV. THEPROBLEM
This study provides some extra details about the use of AEPSO augments our previous studies and its principles [32, 33, 35, 37] with analysis of significance. To define the problem, the following terms are used:
• Let R1,···,Rmbe single point robots in which m represents the number of robots in the environment. Ri is tuple set
<xij, vi>in which xij and vi are location and velocity in the E respectively.
• 1<i <5 is the robot’s index and 1<j <2 is the dimen- sion in the search space. E is a Euclidean space called environment. The environment is 2D (500500 pixels).
• Let St1,1,· · ·, Sttn,n and O1,· · ·,OL be single point sur- vivors an obstacles randomly distributed in E. Survivor’s elimination iteration is denoted as ti in Sti,i and 5000<
ti <20000 iterations.
• Assume that robots, survivors and obstacles are randomly distributed in the environment.
The problem: Given initial locations of Ri, Oi, and Si in E, locate all survivors before their elimination and avoid obstacle collision.
V. EXPERIMENTALSETUP
The results are aggregated based on comparison between variations of Basic PSO and AEPSO. Basic PSO’s variations are in terms of parameter adjustment (using linearly decreasing inertia weight (LDIW), fixed inertia weight (FIW), random inertia weight (RIW), and fixed acceleration coefficient (FAC)).
In LDIW-PSO, w1 and w2 are fixated as 0.2 and 1. In FIW-PSO, inertia weight is fixated to 0.729844 and in RIW- PSO; the inertia weight takes a random value in the range of 0 and 1. For all variations of PSO used in the study, c1 and c2 (acceleration coefficients) are fixated to 0.5 and 2.5 respectively. The detail description of the methods, used equations, and parameter setups are presented in figure 1 to figure 2.
VI. EXPERIMENTALRESULT
The efficiency of basic PSO’s variations is measured in scenarios favoring the impact of various parameter adjustment mechanisms in a simulated static environment in which 5 robots, 50 survivors and 50 obstacles are randomly positioned in the initialization phase. Robots have a circular vision with 3 pixels radius and their task is to locate survivors. Later on, a new scenario called population density is defined in which, the number of survivors is reduced to 15 which allows the possi- bility of positioning survivors in a wide range of environments far away from each other. The overall results of the suggested
Fig. 1. The used equations in basic PSO and AEPSO
Fig. 2. The initial setup of AEPSO
Fig. 3. Parameter adjustment in variation of basic PSO and AEPSO
Fig. 4. The overall results achieved in simulations.
scenarios are presented in figure 4. In figure 4, dynamic environment refers to a scenario in which survivors randomly move inside the environment without any knowledge about robots’ locations. The results of statistical Z-Test for the quality of two proportions is performed between variations of basic PSO and AEPSO (the results that are presented in figure 4) in static environment are demonstrated in figure 5. In this test, sample size is 100 (number of trials) and the significant factor α=0.05. As it is illustrated in figure 5, there is a significant
Fig. 5. The results of 1 tail Z-test for 2 proportions
in LDIW-PSO’s results comparing to the other two variations of basic PSO in environment with 50 survivors (Sti,i=50).
However, in the population density scenario (Sti,i=15), neither of the basic-PSO’s variations show any significant. In addition, the results show a significant difference between AEPSO and variation of basic PSO’s achieved performance. Our second set of tests measures feasibility of AEPSO in static and dynamic environments. Since the worst results of PSO are achieved in the population density scenario, the next set of tests uses that configuration. In this scenario, the impact of various communication ranges in a static environment is measured.
Later on, these tests are repeated in dynamic, uncertain and time dependent environments. Uncertainty is simulated using random noise in the range of -1 and +1. Time dependency is mimicked using random elimination iterations in the range of 5000 and 20000 iterations. The robots task is to locate simulated survivors before they are eliminated. The overall results are illustrated in figure 6.
Fig. 6. AEPSO results in different environments
The results of the statistical test between AEPSO in static and dynamic environments and LDIW-PSO in static environ- ment are demonstrated in figure 7 using Z-Test for the quality of two proportions. The setup of the performed Z-Test in figure 7 is similar to figure 5.
Fig. 7. The results of 1 tail Z-test for 2 proportions.
To further clarify the interpretation of the results we note that the only significant exist in the comparison result of 125 pixels (covering quarter of the environment) to 5 pixels (1%
coverage of the environment). This can be assumed as the impact of sub-swarms that share information with each other properly. However, the use of higher communication ranges do not result in achievement of a significant due to knowledge sharing between sub-swarms/particles that are far away from each other. These type of knowledge sharing miss-lead the particles.
VII. CONCLUSION
This study provided additional understanding about AEPSO and the significant of previously achieved results. The studies in [32-37] demonstrate that the principle idea of AEPSO which emphasizes on the use of the most proper behavior in each iteration is reasonable. It is due to the fact that AEPSO out performed variations of basic PSO and later on achieved reasonable performances in more complicated simulated envi- ronments addressing some of the real world robotic aspects such as uncertainty and dynamism [34-37].
REFERENCES
[1] D. Miner, Swarm Robotics Algorithms: A Survey, Report, MAPLE lab, University of Maryland, 2007.
[2] T. Balch, Communication, Diversity and Learning: Cornerstones of Swarm Behavior, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 3342, 2005, pp. 21–30.
[3] J. Seyfried, M. Szymanski, N. Bender, R. Estana, M. Thiel, and H. Worn, The I-SWARM Project: Intelligent Small World Autonomous Robots for Micro-manipulation, Swarm Robotics, Springer Berlin / Heidelberg, Vol.
3342, 2005, pp. 70–83.
[4] E. Sahin and W.M. Spears, Swarm Robotics: From Sources of Inspiration to Domains of Application, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 3342, 2005, pp. 10–20.
[5] W. M. Spears, J. C. Hamann, P. M. Maxim, T. Kunkel, R. Heil, D.
Zarzhitsky, D. F. Spears, and C. Karlsson, Where Are You?, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 4433/2007, 2007, pp. 129–
143.
[6] J. A. Rothermich, M. I. Ecemi, and P. Gaudiano, Distributed Localization and Mapping with a Robotic Swarm, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 3342, 2005, pp. 58–69.
[7] V. Gazi1 and B. Fidan, Coordination and Control of Multi-agent Dynamic Systems: Models and Approaches, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 4433/2007, 2007, pp. 71–102.
[8] T. Schmickl and K. Crailsheim, A Navigation Algorithm for Swarm Robotics Inspired by Slime Mold Aggregation, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 4433/2007, 2007, pp. 1–13.
[9] O. Soysal and E. Sahin, A Macroscopic Model for Self-organized Ag- gregation in Swarm Robotic Systems, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 4433/2007, 2007, pp. 27–42.
[10] M. Dorigo and E. Sahin., Swarm robotics - special issue editorial.
Autonomous Robots, Vol. 17, Num. 2, 2004.
[11] E. Sahin, Swarm robotics: From sources of inspiration to domains of application. In Sahin, E., Spears, W., eds.: Swarm Robotics Workshop:
State-of-the-art Survey. Number 3342 in Lecture Notes in Computer Science, , Springer Berlin Heidelberg, 2005, pp.10–20.
[12] H. Hamann and H. Worn, An Analytical and Spatial Model of Foraging in a Swarm of Robots, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 4433/2007, 2007, pp. 43–55.
[13] W. Liu, A. Winfield, J. Sa, J. Chen, and L. Dou, Strategies for Energy Optimisation in a Swarm of Foraging Robots, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 4433/2007, 2007, pp. 14–26.
[14] O. B. Bayaz?t, J. M. Lien, and N. M. Amato, Swarming Behavior Using Probabilistic Roadmap Techniques, Swarm Robotics, Springer Berlin / Heidelberg, Vol. 3342, 2005, pp. 112-125.
[15] J. Kennedy and R. Eberhart, Particle swarm optimization. IEEE Press Proceedings of the 1995 IEEE International Conference on Neural Net- works, 1995.
[16] J. Kennedy and R. Mendes, Population structure and particle swarm performance. Proceedings of the 2002 Congress on Evolutionary Compu- tation (CEC ’02), 2002, pp. 1671–1676.
[17] J. Kennedy and W. Spears, Matching algorithms to problems: An experimental test of the particle swarm and some genetic algorithms on the multimodal problem generator. Proceedings of the IEEE Intl Conference on Evolutionary Computation, 1998, pp. 78–83.
[18] O. Bogatyreva and A. Shillerov, Robot swarms in an uncertain world:
controllable adaptability. Int. J. Adv. Robot. Syst., Vol. 2, Num. 3, 2005, pp. 187-196.
[19] J. Werfel, B. Y. Yaneer, and R. Negpal, Building patterned structures with robot swarms. In: Nineteenth International Joint Conference on Artificial Intelligence (IJCAI’05), 2005, pp. 1495–1502 .
[20] F. Mondada, G. C. Pettinaro, A. Guignard, I. W. Kwee, D. Floreano, J.
Deneubourg, S. Nolfi, L. M., Gambardella, and M., Dorigo, Swarm-Bot: a new distributed robotic concept. Auton. Robots, Vol. 17, Num. 2-3, 2004, pp. 193–221.
[21] E. Martinson and R. C. Arkin, Learning to role-switch in multi-robot systems. In: Autonomous Robots (ICRA’03), Vol. 2, 2004, pp. 2727–2734.
[22] J. Pugh and Y. Zhang, Particle swarm optimization for unsupervised robotic learning. In: Proceedings 2005 IEEE Swarm Intelligence Sympo- sium (SIS), 2005, pp. 92–99.
[23] J. Pugh, A. Martinoli, Multi-robot learning with Particle Swarm Opti- mization. In: AAMAS’06, Hakodate, 2006, pp. 41–448.
[24] J. Pugh, and A. Martinoli, Parallel learning in heterogeneous multi- robot swarms. In: IEEE Congress on Evolutionery Computation CEC’07, Singapore, 2007, pp. 3839–3846.
[25] J. Pugh and A. Martinoli, Inspiring andmodelingmulti-robot search with Particle SwarmOptimization. In: Proceeding of the 2007 IEEE Swarm Intelligence Symposium (SIS 2007), 2007, pp. 332–339.
[26] A. Martinoli, K. Easton, and W. Agassounon, Modeling swarm robotic systems: a case study in collaborative distributed manipulation. Int. J. Rob.
Res. Vol. 23, Num. 4, 2007, pp. 415–436.
[27] W. Agassounon, A. Martinoli, and K. Easton, Macroscopic modeling of aggregation experiments using embodied agents in teams of constant and time-varying sizes. In: Autonomous Robots, Hingham, Vol. 17, 2004, pp.
163-192.
[28] K. Lerman, A. Galstyan, and A. Martinoli, A macroscopic analytical model of collaboration in distributed robotic systems. In: Artificial Life, vol. 7, 2001, pp. 375–393 .
[29] S. Kazadi, A. Abdul-Khaliq, and R. Goodman, On the convergence of puck clustering systems. Robot. Auton. Syst. Vol. 38, Num 2, 2002, pp.
93-117.
[30] L. Li, A. Martinoli, Y. S. Abu-Mostafa, Learning andMeasuring Spe- cialization in Collaborative Swarm Systems, International Society for Adaptive Behavior (2004), Vol. 12, Num. 3-4, 2004, pp. 199–212.
[31] Atyabi, A., Amnuaisuk, S.P., Ho, C.K., Samadzadegan, S.: Particle Swarm Optimizations: A Critical Review, Proceeding of Conf IKT07, Third conference of Information and Knowledge Technology, Ferdowsi University, Iran, 2007.
[32] Atyabi, A., Phon-Amnuaisuk, S.: Particle swarm optimization with area extension (AEPSO). In: IEEE Congress on Evolutionary Computation (CEC), 2007, Singapore, 2007, pp. 1970–1976.
[33] Atyabi, A., Phon-Amnuaisuk, S., Ho, C.K.: Effects of Communication Range, Noise and Help Request Signal on Particle Swarm Optimization with Area Extension (AEPSO), IEEE Computer Society, Washington DC , 2007, pp. 85–88.
[34] A. Atyabi, S. P. Amnuaisuk, and C. K. Ho, Effectiveness of a cooperative learning version of AEPSO in homogeneous and heterogeneous multi robot learning scenario. In: IEEE Congress on Evolutionary Computation (CEC 2008), Hong Kong, 2008, pp. 3889–3896.
[35] A. Atyabi, S. P. Amnuaisuk, and C. K. Ho, Navigating agents in uncertain environments using particle swarm optimisation. MSc thesis, Dept. Information Technology, Univ Multimedia, Cyberjaya, Malaysia, 2009.
[36] A. Atyabi, S. P. Amnuaisuk, and C. K. Ho, Navigating a robotic swarm in an uncharted 2D landscape, Applied Soft Computing 10, Elsevier, doi:10.1016/j.asoc.2009.06.017, 2010, pp. 149-169.
[37] A. Atyabi, S. P. Amnuaisuk, and C. K. Ho, Applying Area Extension PSO in Robotic Swarm, Journal of Intelligent and Robotic Systems, Springer Netherlands, DOI 10.1007/s10846-009-9374-2, 2009.
[38] G. Pettinaro, I. Kwee, L. Gambardella, F. Mondada, D. Floreano, S.
Nolfi, J. Deneubourg, and M. Dorigo, Swarm Robotics: A Different Approach to Service Robotics. Proceedings of the 33rd International Symposium on Robotics (ISR2002) , 2002, pp. 71–76.
[39] A. Ratnaweera, S. K. Halgamuge, and H. C. Watson, Self-organizing hierarchical particle swarm optimizer with time-varying acceleration co- efficients. IEEE Transactions on evolutionary computation, Vol. 8, no. 3, 2004, pp. 240-255.
[40] S. Pasupuleti and R. Battiti, The gregarious particle swarm optimizer (G-PSO). Proceedings of the 8th annual conference on Genetic and evolutionary computation, Seattle, Washington, USA,2006, pp. 67 - 74.
[41] J. Vesterstrom and J. Riget, Particle swarms extensions for improved lo- cal, multi-modal, and dynamic search in numerical optimization. Master’s thesis, Dept Computer Science, Univ Aarhus, Aarhus C, Denmark, 2002.
[42] S. Hettiarachchi, Distributed evolution for swarm robotics, Doctoral Thesis, University of Wyoming, USA, 2007.
[43] M. N. Ahmadabadi, M. Asadpour, and E. Nakano, Cooperative q- learning: the knowledge sharing issue. Advanced Robotics, Vol. 15, no.
8, 2001, pp. 815 - 832.
[44] R. Brits, A. P. Engelbrecht, and F. V. D. Bergh, A niching particle swarm optimizer. 4th Asia-Pacific Conference on Simulated Evolution and Learning 2002 (SEAL 2002). 2002, pp. 692 - 696.
[45] B. C. H. Chang, A. Ratnaweera, S. K. Halgamuge, and H. C. Watson, Particle swarm optimization for protein motif discovery. Journal of Genetic Programming and Evolvable Machines, 2004, pp. 203 - 214.