Self Organizing Classifiers and Niched Fitness
SSelf Organizing Classifiers and Niched Fitness
Danilo V. Vargas
Graduate School ofInformation Science andElectrical Engineering,Kyushu UniversityFukuoka, Japan [email protected] Hirotaka Takano
Faculty of Information Scienceand Electrical Engineering,Kyushu UniversityFukuoka, Japan [email protected] Junichi Murata
Faculty of Information Scienceand Electrical Engineering,Kyushu UniversityFukuoka, Japan [email protected]
ABSTRACT
Learning classifier systems are adaptive learning systemswhich have been widely applied in a multitude of applica-tion domains. However, there are still some generalizationproblems unsolved. The hurdle is that fitness and nichingpressures are difficult to balance. Here, a new algorithmcalled Self Organizing Classifiers is proposed which faces thisproblem from a different perspective. Instead of balancingthe pressures, both pressures are separated and no balanceis necessary. In fact, the proposed algorithm possesses adynamical population structure that self-organizes itself tobetter project the input space into a map. The niched fit-ness concept is defined along with its dynamical populationstructure, both are indispensable for the understanding ofthe proposed method. Promising results are shown on twocontinuous multi-step problems. One of which is yet morechallenging than previous problems of this class in the liter-ature.
Categories and Subject Descriptors
I.2.11 [
Artificial Intelligence ]: Distributed Artificial Intel-ligence— intelligent agents, languages and structures, multi-agent systems ; I.2.6 [
Artificial Intelligence ]: Learning
General Terms
Algorithms, Performance
Keywords
Self Organization, Self Organizing Systems, Self OrganizingMap, Learning Classifier Systems, Reinforcement Learning,Structured Evolutionary Algorithms
1. INTRODUCTION
The importance of classifiers to maximize their reward(decrease the error in supervised learning problems or in-
Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.
GECCO’13,
July 6–10, 2013, Amsterdam, The Netherlands.Copyright 2013 ACM 978-1-4503-1963-8/13/07 ...$15.00. crease reward in reinforcement learning problems) with atthe same time specializing to their best suited position (nich-ing) were demonstrated by many articles about learning clas-sifier systems (LCS) [29, 22]. Throughout the LCS history,there has been an initial focus on strength based systems(e.g., ZCS [33]) which highlight the focus on reward. Later,however, it was realized that much of the niching capabilitymay be lost in strength based systems, because over-generalclassifiers dominate and high payoff niches become crowded.Accuracy based systems, on the other hand, (e.g., XCS [34,10], XCSF [35]) try a middle ground between niching andreward. By rewarding the accuracy of the reward predic-tion, accuracy based systems have justifiably better nichingthan strength based systems (the accuracy-based fitness ismore uniform over different niches). For this reason, recentarticles have focused more on accuracy-based systems.However, it is known for some time that XCS systems(and in general, accuracy-based systems) may have problemswith generalization [19, 8]. Solutions have been proposed forsome environments [21], but the hindrance is that differentpressures are acting together and balancing them properlyfor every environment is difficult [13]. In other words, thebalance between specialized (niched) and generic classifiersis still unsolved.This article propose to face the dilemma from a differ-ent perspective. What if we separate completely the nichingproblem from the fitness problem? Suppose we could dividethe input space into small niches and evolve the solutionsfor each niche. By doing this, the fitness for each niche canbe strength based because the niches are small and indepen-dently defined (not defined by the chromosome and thus notaffected by evolution). Moreover, there is not any balancenecessary, since niching and fitness pressures were separatedfrom each other.But then, two questions need to be solved:1. How can we divide the input space automatically andcompactly?2. How can we compare individuals? Notice that the fit-ness defined above is relative to the niche!The answer to the first question lies in using Self Orga-nizing Map (SOM). Self Organizing Map is an unsupervised Concerning the proposed method, the term niche followsthe Hutchinsonian niche definition [15]. Hutchinsonian nicheis an n -dimensional hyper-volume composed of environmen-tal features. a r X i v : . [ c s . N E ] N ov rtificial neural network [18]. It is an algorithm capable ofprojecting high dimensional spaces into a map. In otherwords, by using SOM, a multidimensional input space canbe divided automatically into the cells of a compact map. Infact, the projection done preserves the topological proper-ties and retains many other relevant information (e.g., datafrequency) of the input space.The second question has a simple answer: they can not becompared. With relative fitness, there is not any easy wayof comparing individuals from different niches. Therefore,regarding the fitness selection, the evolutionary algorithm(EA) should be constrained to each niche. Genetic opera-tors, however, are not constrained and may benefit from anypopulation structure present.Actually, the proposed approach is evaluated at two con-tinuous multi-step problems with promising results. The ex-periments conducted on two continuous labyrinths demon-strate the capabilities of the proposed approach. One ofwhich is more challenging than the continuous multi-stepproblems solved by state of the art LCS.
2. LEARNING CLASSIFIER SYSTEMS INMULTI-STEP AND/OR CONTINUOUSPROBLEMS
Learning classifier systems are evolutionary based sys-tems capable of solving problems by the mutual competitionand/or cooperation of their solutions. There is a wide anddiverse literature. Here we will confine to a brief review ofLCS applied to multi-step and/or continuous problems. Fora detailed review of the literature, please refer to [29, 22].LCS with continuous actions were applied to many prob-lems. To begin with, XCSF has been applied to functionapproximation [35, 9, 28]. Other works in function approxi-mation include the LCS with fuzzy logic [30, 6, 11], neural-based LCS algorithms [5, 6] and genetic programming-based[17]. The success of LCS also span the control of roboticarms [25, 7] and navigation problems [4, 14].However, applications to multi-step problems with con-tinuous actions restrict to the mobile robot in a corridor [4]and the empty room with noise [14]. Complex multi-stepproblems were solved only for discrete outputs [20].
3. STRUCTURED EVOLUTIONARY ALGO-RITHMS
Structured evolutionary algorithms does not possess a pan-mictic population. Instead they organize the individuals intoa structured population [27, 1].Two types of structured EAs will be given as exampleswhich are somewhat related to the structure of the proposedmethod.The first type is island models (also called distributed ge-netic algorithms) [3]. Figure 1 shows the structure. Basi-cally, the population is divided into a number of subpopu-lations (“islands”) with few genetic information exchangedbetween them.The second type, cellular algorithms are structured evolu-tionary algorithms where individuals are usually positionedin a vertex of a lattice graph (Figure 2 shows a commoncellular structure). They interact solely with adjacent indi-viduals defined by the a neighborhood function [23, 2].
Figure 1: Island model structure. Arrows indicatethe infrequent immigration procedure, the circlesare the individuals and the oval shapes are the sub-populations.Figure 2: Cellular algorithm structure. Shaded areaindicates an example of neighborhood for the centralindividual.
4. NEW CONCEPTS
First, in order to present the proposed method, it is nec-essary to explain some new concepts and their related liter-ature.
A fitness which is relative to a given place or circumstanceis called niched fitness . Thus, it does not possess a mean-ing when compared with another fitness out of this place orcircumstance.This is a new concept. At first glance, it may appear un-wise to use niched fitness, because the comparison betweenindividuals from different niches becomes impossible. Butthere is the benefit of avoiding competition between tasksdifferent in nature. Therefore, every niche existence is pro-tected from other more rewarding and/or more voluminousand/or more frequently accessed niches.Moreover, niched fitness can be thought as a multiobjec-tivization procedure [24], because each niched fitness be-comes a separate fitness. In fact, niching and multi-objectivesearch are related subjects. The Pareto front created allowsthe existence of multiple non-dominated individuals (differ-ent niches). We consider this a relevant aspect which de-serves to be mentioned. The remaining of this article, how-ever, will ignore this aspect and treat the search as a singleobjective one.
This Section aims to define the SOM population concept.SOM population is a 2D grid with each cell in the grid hav-ing a subpopulation. Moreover, the 2D grid is a projectionmap which is not static, i.e., it is part of a SOM which isalways self-organizing itself. Figure 3 illustrates the SOMpopulation (SOM’s weight vectors are excluded for simplifi-cation). Generally speaking, this structure can be seen as amixture of both island models and cellular algorithms, with igure 3: SOM population structure. A self orga-nizing map grid with populations inside each cell. the additional feature that the structure also changes itsproperties in relation to the input.The SOM population’s behavior is described below. Whenan input is given to a SOM population, a competition takesplace between the cells of the map. The cell which is closerwins the competition to the input and the SOM cells in theneighborhood are updated (the update make the SOM cell’sweight vectors get closer to the input). Then, an individualinside the winner cell acts on the environment and is conse-quently evaluated by a subsequent reward. The individualchosen to act inside the winner cell is based on a selectionprocedure which is algorithm specific. (here we use a ran-dom selection procedure, see Section 5).
5. SELF ORGANIZING CLASSIFIERS
Figure 4 shows a schematic of the overall procedure of
Self Organizing Classifiers (SOC). It follows the classicschematic style used in ZCS, XCS and many other papersof the LCS literature [33]. Simple classifiers are used. Theyare made up of action parameters represented by an arrayof real numbers.SOC uses a Q-learning based reinforcement scheme withniched fitness. The fitness update of each individual is doneusing the Widrow-Hoff rule [32]: F = F + η ( ˆ F − F ) , (1)where η is the learning rate, F is the current fitness and ˆ F is a new fitness estimate. The fitness estimate of cell cell and classifier c which were activated at time t − F ( c, cell ) t − = R t − + γ max c (cid:48) ∈ cell (cid:48) { F ( c (cid:48) , cell (cid:48) ) } , (2)where R is the reward received, γ is the discount-factor andmax c ∈ cell { F ( t ) } is the maximum fitness of classifier c (cid:48) inside theactivated cell cell (cid:48) at the current cycle t .Similar to learning classifier systems, to decrease compu-tation resources, the structure of the SOM population isimplemented as a single array of classifiers with a given nu-merosity indexed by the SOM population structure. In thismanner, the numerosity is defined by the number of indexesa given individual possess.This article uses a particular SOM population where thesubpopulation inside each cell is divided into two groups:one of best individuals and the other of novel individuals.Best and novel individuals have a fixed size of β and ν respec- tively. Considering EA’s cycle is an algorithm cycle whenthe EA is called, the following rules take place: • Best individuals are the best fitted individuals insidethe subpopulation in the last EA’s cycle. • Novel individuals are renewed every EA’s cycle (thedetailed process is described in the next Section).The SOM population begins without any classifiers. Clas-sifiers are created when the respective cell wins the com-petition inside the SOM. In one hand, novel individualsare created as random classifiers. On the other hand, bestindividuals, when possible, are set equal to another cell’sbest individuals from the neighborhood which maximize experiencechebishevDistance . If not possible, best individuals are ini-tialized in the same way as the novel individuals.The system has, as usual in reinforcement learning, cyclesof exploration and exploitation. Within the SOM’s winningcell in a giving exploration or exploitation cycle a randomindividual from respectively the novel or best individuals arechosen to act. Moreover, cycles of exploration and exploita-tion are always alternated (a cycle of exploration is followedby an exploitation cycle and so on). For every cycle that a cell’s individual acts, this cell has itsexperience counter increased. The evolutionary algorithmis called locally on each cell when the cell’s experience isgreater than ιS . Where S is the number of subpopulationindividuals (novel plus best individuals) present on each cell.The parameter ι defines an experience per individual, abovewhich they should have an accurate fitness evaluation.By applying the evolutionary algorithm locally, it respectsthe niched fitness concept. Its procedure consists of sortingthe individuals of the given cell according to their fitness.The current best β individuals substitute the previous bestindividuals and the remaining individuals are discarded (theindex is removed and the individual numerosity decrease, ifthe numerosity reaches 0 it is deleted). Novel ν individualsare created using either:1. Indexing - A copy from (index to) a randomly selectedindividual of the entire population;2. Reproduction - Created by a genetic operator.The two procedures above have equal probabilities.Motivated by some comparison articles and robustnesstests, the differential evolution is chosen as the genetic op-erator [26, 31, 16]. It compares well to even complex opti-mization algorithms (e.g., Estimation of Distribution Algo-rithms) [12]. The differential evolution’s mutant vector iscreated by randomly choosing three vectors from the SOM’sentire population of individuals (individuals with numeros-ity bigger than one are counted as one).
6. EXPERIMENTS6.1 Environments
The experiments were conducted on both Empty Roomand One-Wall Maze environments. They are respectively Neighborhood is defined as the cells within a Chebishevdistance of less or equal to four nvironmentSOMDetectors
Input(1.1, 5.2)
Effectors
Individual Fitness 2.1, 4.7 90
PreviousAction Set
Reward Action(2.1, 4.7)
Action Set +
Fitnessdiscount
Figure 4: Self Organizing Classifier Schematic
Figure 5: Empty room environment. The black po-sition represents the goal. depicted in Figures 5 and 6. All environments require con-tinuous actions. The variable observed by the agent is theagent’s position which is also continuous.At every trial, the agent starts at a random position onthe environment. Naturally, starting inside a wall is not pos-sible. Reaching the goal would give the agent a reward of1000, hitting an obstacle would return −
20 and any otheraction would return −
10. Additionally, agents can not movemore than 1 . The parameters of the algorithm are fixed and describedin Table 1. Here, it means the SOM iteration number, chebyshevDistance () is the Chebyshev distance between thecurrent cell and the cell which won the SOM’s competi- Figure 6: One-Wall Maze environment. Grey po-sitions are obstacles and the black position is thegoal. tion and random ( a, b ) is a function which returns a uniformrandom value between a and b . The cells of the SOM areonly updated if the neighborhood function multiplied by thelearning restraint surpasses the cell update threshold.Following the design of [20] the performance is computedas the average steps to reach the goal during the last 100trials. The trials can not last more than 500 steps. Anytrial which last more than 500 is terminated and a new trialis started with the agent, as usual, in a random position.All statistics, when not stated otherwise, are averaged over20 experiments. Empty Room is a well known problem, in continuous [14]as well as discrete action spaces [20]. The evaluation focushere is on the overall functionality of the system. Althoughnot complicated in nature, this problem may expose stronginstabilities and other undesired phenomena.Figure 7 shows the average behavior obtained. To con-struct this figure, the action of the agent was sampled 100times and averaged in a given environment area of size 1x1.The resulting matrix have a dimension of 10x10 averaged ac- able 1: Parameters
Differential Evolution CR 0 . random (0 , × random (0 , . . it Neighborhood function exp( − chebyshevDistance () )Cell update threshold 0 . η . β ν ι γ . InitialF itness Figure 7: Behavior evolved in the Empty Room en-vironment. tions. Subsequently, the matrices of 20 experiments in thesame environment were averaged.The SOC’s developed behavior is optimal, in spite of thefact that inside the SOM structure each cell must arrive atthe best solution (fitness is not global). The justification liesin the fact that the ability of the SOC algorithm to share andimprove solutions between cells make the development veryfast and stable. Figure 8 shows the performance. The fitnessdistribution is calculated in the same way as the matrix ofactions, but instead of action vectors the maximum fitnessof the cell is measured. The result is shown on Figure 9.
This second problem is different from the previous one.It makes necessary the use of different actions for differentplaces of the environment. Note that the classifiers used arevery simple. Therefore, this experiment evaluates specifi-cally the dynamical population structure’s niching capabili-ties.Figure 10 shows the behavior of the agent in the One-Wall Maze environment. This figure was obtained in thesame manner of Figure 7.One-Wall Maze is a difficult problem. Even so, the be-havior observed is accurate and stable. This is justifiable bythe SOM population capability of first self-organizing to the
Number of Trials N u m be r o f S t ep s t o G oa l Figure 8: Performance over the Empty Room en-vironment (continuous line). For guiding purposesa dashed line is drawn at 6.5 of distance to the x-coordinate.
Figure 9: Average distribution of fitness in theEmpty Room environment.
Figure 10: Behavior evolved in the One-Wall Mazeenvironment.
Number of Trials N u m be r o f S t ep s t o G oa l Figure 11: Performance over the One-Wall Maze en-vironment (continuous line). Dashed-line is drawnfor guiding purposes parallel to the x-coordinate at of distance. environment’s input distribution. Projecting and dividingthe input space respecting its topology. And secondly, theability of developing different behavior at different parts ofthe space (niches) with their own subpopulation.Note that the SOM used was initialized to values betweenzero and one as weight vectors. Therefore, it was not in anyway biased to the environment’s inputs range (environmentvalues range from zero to ten). Additionally, Figures 11and 12 show respectively the performance and fitness distri-bution. But what is the cost of running a SOC? Solving a prob-lem is often not enough, it is required that a method usesreasonably its resources. The aim of this section is to eval-uate briefly the population requirements of SOC. All testsare run over the One-Wall Maze.Foremost, SOC’s maximum possible population size can
Figure 12: Average distribution of fitness in theOne-Wall Maze environment. be computed by the following equation:
MaximumP opulationSize = cells ∗ ( β + ν ) , (3)where cells is the number of cells present in the SOM map.Taking the parameters found in Table 1 it is possible tocompute a maximum population size of 1500 for the previousexperiments. However, as shown in Figure 13 this value isnever reached. The population grows rapidly to around 1100and remains stable below this value.Moreover, Figure 13 shows the population growth of twoother variations of the same algorithm. Test A has β = 2and ν = 5 resulting in a maximum population size of 700,while Test B has a 7 × discrete output called Side 10 [20]. Therefore, SOC’s re-sults are promising when compared with the literature.
7. CONCLUSIONS
This paper proposed the algorithm named Self Organizing e+00 2e+04 4e+04 6e+04 8e+04 1e+05Number of Trials P opu l a t i on S i z e 5001100 OriginalTest ATest B
Figure 13: Population dynamics for the original andtwo additional tests with smaller maximum popula-tions.
Figure 14: Behavior for the algorithm with a smallerpopulation, i.e., β = 2 and ν = 5 (Test A). Figure 15: Behavior for the algorithm with a smallerpopulation, i.e., a × SOM population (Test B). N u m be r o f S t ep s t o G oa l OriginalTest ATest B
Figure 16: Performance comparison between theoriginal parameters and the smaller population ver-sions (Tests A and B).
Classifiers which possess a different perspective on how toface the balance of generalized and specialized classifiers.We showed that with a self-organizing structured pop-ulation, the separation of niching and fitness pressures ispossible. Experiments on continuous multi-step problemsshowcased the capabilities of the approach. Note that thisarticle presented a problem which is more difficult than pre-vious continuous multi-step problems. This is just the firstarticle about this type of algorithm and the difficulty of theproblems solved shows a promising horizon for this line ofalgorithms.Additionally, two new concepts were introduced: • Niched Fitness - a fitness relative to the niche; • SOM Population - a dynamical structured populationbased on the SOM’s dynamics.Both concepts are fundamental to understand the SOC al-gorithm.Thus, with the promising results accomplished by thenovel concepts and the algorithm introduced here, they will,hopefully, aid the development of other algorithms and the-ories specially in the area of genetics based machine learningor evolutionary computation in general.
8. REFERENCES [1] E. Alba and M. Tomassini. Parallelism andevolutionary algorithms.
Evolutionary Computation,IEEE Transactions on , 6(5):443–462, 2002.[2] E. Alba and J. Troya. Cellular evolutionaryalgorithms: Evaluating the influence of ratio. In
Parallel Problem Solving from Nature PPSN VI , pages29–38. Springer, 2000.[3] T. Belding. The distributed genetic algorithmrevisited. In
Proceedings of the Sixth InternationalConference on Genetic Algorithms: University ofittsburgh, July 15-19, 1995 , page 114. MorganKaufmann Pub, 1995.[4] A. Bonarini, C. Bonacina, and M. Matteucci. Fuzzyand crisp representations of real-valued input forlearning classifier systems.
Learning ClassifierSystems , pages 107–124, 2000.[5] L. Bull. On using constructivism in neural classifiersystems.
Parallel problem solving from nature-PPSNVII , pages 558–567, 2002.[6] L. Bull and T. O’Hara. Accuracy-based neuro andneuro-fuzzy classifier systems. In
Proceedings of theGenetic and Evolutionary Computation Conference ,pages 905–911. Morgan Kaufmann Publishers Inc.,2002.[7] M. Butz and O. Herbort. Context-dependentpredictions and cognitive arm control with XCSF. In
Proceedings of the 10th annual conference on Geneticand evolutionary computation , pages 1357–1364.ACM, 2008.[8] M. Butz, T. Kovacs, P. Lanzi, and S. Wilson. Towarda theory of generalization and learning in XCS.
Evolutionary Computation, IEEE Transactions on ,8(1):28–46, 2004.[9] M. Butz, P. Lanzi, and S. Wilson. Functionapproximation with XCS: Hyperellipsoidal conditions,recursive least squares, and compaction.
EvolutionaryComputation, IEEE Transactions on , 12(3):355–376,2008.[10] M. Butz and S. Wilson. An algorithmic description ofXCS.
Advances in Learning Classifier Systems , pages267–274, 2001.[11] J. Casillas, B. Carse, and L. Bull. Fuzzy-XCS: Amichigan genetic fuzzy system.
Fuzzy Systems, IEEETransactions on , 15(4):536–550, 2007.[12] S. Garc´ıa, D. Molina, M. Lozano, and F. Herrera. Astudy on the use of non-parametric tests for analyzingthe evolutionary algorithms’ behaviour: a case studyon the CEC’2005 special session on real parameteroptimization.
Journal of Heuristics , 15(6):617–644,2009.[13] J. Horn, D. Goldberg, and K. Deb. Implicit niching ina learning classifier system: Nature’s way.
Evolutionary Computation , 2(1):37–66, 1994.[14] G. Howard, L. Bull, and P. Lanzi. Towards continuousactions in continuous space and time usingself-adaptive constructivism in neural XCSF. In
Proceedings of the 11th Annual conference on Geneticand evolutionary computation , pages 1219–1226.ACM, 2009.[15] G. Hutchinson. Concluding remarks. In
Cold SpringHarbor Symposia on Quantitative Biology 22 , pages415–427, 1957.[16] A. Iorio and X. Li. Solving rotated multi-objectiveoptimization problems using differential evolution.
AI2004: Advances in Artificial Intelligence , pages861–872, 2005.[17] M. Iqbal, W. N. Browne, and M. Zhang. Xcsr withcomputed continuous action. In
AI 2012: Advances inArtificial Intelligence , pages 350–361. Springer, 2012.[18] T. Kohonen. The self-organizing map.
Proceedings ofthe IEEE , 78(9):1464–1480, 1990. [19] P. Lanzi et al. A study of the generalizationcapabilities of XCS. In
Proceedings of the SeventhInternational Conference on Genetic Algorithm , pages418–425, 1997.[20] P. Lanzi, D. Loiacono, S. Wilson, and D. Goldberg.XCS with computed prediction in multistepenvironments. In
Proceedings of the 2005 conferenceon Genetic and evolutionary computation , pages1859–1866. ACM, 2005.[21] P. Lanzi, D. Loiacono, S. Wilson, and D. Goldberg.Generalization in the XCSF classifier system:Analysis, improvement, and extension.
EvolutionaryComputation , 15(2):133–168, 2007.[22] P. Lanzi and R. Riolo. A roadmap to the last decadeof learning classifier system research (from 1989 to1999).
Learning Classifier Systems , pages 33–61, 2000.[23] B. Manderick and P. Spiessens. Fine-grained parallelgenetic algorithms. In
ICGA’89 , pages 428–433, 1989.[24] J. Mouret. Novelty-based multiobjectivization.
NewHorizons in Evolutionary Robotics , pages 139–154,2011.[25] P. Stalph and M. Butz. Learning local linear jacobiansfor flexible and adaptive robot arm control.
Geneticprogramming and evolvable machines , 13(2):137–157,2012.[26] R. Storn and K. Price. Differential evolution–a simpleand efficient heuristic for global optimization overcontinuous spaces.
Journal of global optimization ,11(4):341–359, 1997.[27] M. Tomassini.
Spatially structured evolutionaryalgorithms . Springer, 2005.[28] H. Tran, C. Sanza, Y. Duthen, and T. Nguyen. XCSFwith computed continuous action. In
Genetic AndEvolutionary Computation Conference: Proceedings ofthe 9 th annual conference on Genetic andevolutionary computation , volume 7, pages 1861–1869,2007.[29] R. Urbanowicz and J. Moore. Learning classifiersystems: a complete introduction, review, androadmap.
Journal of Artificial Evolution andApplications , 2009:1, 2009.[30] M. Valenzuela-Rend´on. The fuzzy classifier system: Aclassifier system for continuously varying variables. In
Proceedings of the Fourth International Conference onGenetic Algorithms pp346-353, Morgan Kaufmann I ,volume 991, pages 223–230, 1991.[31] J. Vesterstrom and R. Thomsen. A comparative studyof differential evolution, particle swarm optimization,and evolutionary algorithms on numerical benchmarkproblems. In
Evolutionary Computation, 2004.CEC2004. Congress on , volume 2, pages 1980–1987.IEEE, 2004.[32] B. Widrow and M. E. Hoff. Adaptive SwitchingCircuits. In , pages 96–104, New York, 1960. IRE.[33] S. Wilson. ZCS: A zeroth level classifier system.
Evolutionary computation , 2(1):1–18, 1994.[34] S. Wilson. Classifier fitness based on accuracy.