Abstract
The main goal of the research direction is to extract building blocks of knowledge from a problem domain. Once extracted successfully, these building blocks are to be used in learning more complex problems of the domain, in an effort to produce a scalable learning classifier system (LCS). However, whilst current LCS (and other evolutionary computation techniques) discover good rules, they also create sub-optimum rules. Therefore, it is difficult to separate good building blocks of information from others without extensive post-processing. In order to provide richness in the LCS alphabet, code fragments similar to tree expressions in genetic programming are adopted. The accuracy-based XCS concept is used as it aims to produce maximally general and accurate classifiers, albeit the rule base requires condensation (compaction) to remove spurious classifiers. Serendipitously, this work on scalability of LCS produces compact rule sets that can be easily converted to the optimum population. The main contribution of this work is the ability to clearly separate the optimum rules from others without the need for expensive post-processing for the first time in LCS. This paper identifies that consistency of action in rich alphabets guides LCS to optimum rule sets.
Similar content being viewed by others
Notes
For a detailed review of different types and approaches in LCS refer to (Urbanowicz and Moore 2009).
If the classifier population size grows larger than the specified limit, then one of the classifier rules has to be deleted so that the new rule can be inserted.
S-expressions are list-based data structures that are suitable for representing arbitrary complex data. An S-expression is defined recursively as either a byte-string or a list of simpler S-expression. For a more detailed description of S-expressions refer to (Rivest 1997).
Four methods to implement code fragmented actions in XCS were tested, but as the results of the other three methods were not illuminating for scaled learning, they are not presented here.
It is assumed that the order of bits is A1A0D0D1D2D3.
The generalized input 10##0# actually covers eight input combinations: 100000, 100001, 100100, 100101, 101000, 101001, 101100, and 101101.
A few newly created classifiers may contain ‘#’ in the address bits due to mutation.
This assumes binary classification with the complete mapping payoff of XCS being no longer explicitly required.
If the code fragmented action tree is evaluated using the current environmental instance as input to the tree (instead of assigning randomly 0 or 1 to ‘#’ symbol in the classifier’s condition), then the final population of classifiers is similar to the population obtained using standard XCS.
In the XCS system, accuracy of prediction is more important than the correctness of the prediction itself.
In this schema ‘A’, the address bits, can be either 0 or 1 and ‘x’, the data bits, can be 0, 1, or ‘#’.
References
Acampora G, Cadenas JM, Loia V, Ballester EM (2011) A multi-agent memetic system for human-based knowledge selection. IEEE Trans Syst Man Cybern A Systems Humans 41(5):946–960
Ahluwalia M, Bull L (1999) A genetic programming based classifier system. In: Proceedings of the genetic and evolutionary computation conference, pp 11–18
Alfaro-Cid E, Merelo JJ, de Vega FF, Esparcia-Alcázar AI, Sharman K (2010) Bloat control operators and diversity in genetic programming: a comparative study. Evol Comput 18(2):305–332
Altenberg L (1995) The schema theorem and Price’s theorem. In: Foundations of genetic algorithms, pp 23–49
Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming—an introduction: on the automatic evolution of computer programs and its applications. Morgan Kaufmann, Burlington
Bernad-Mansilla E, Garrell-Guiu JM (2003) Accuracy-based learning classifier systems: models, analysis and applications to classification tasks. Evol Comput 11(3):209–238
Beyer HG (1997) An alternative explanation for the manner in which genetic algorithms operate. BioSystems 41:1–15
Booker LB, Goldberg DE, Holland JH (1989) Classifier systems and genetic algorithms. Artif Intell 40(1-3):235–282
Burjorjee KM (2008) The fundamental problem with the building block hypothesis
Butz MV (2000) XCSJava 1.0: an implementation of the XCS classifier system in Java. Technical Report 2000027, Illinois Genetic Algorithms Laboratory
Butz MV (2007) Combining gradient-based with evolutionary online learning: an introduction to learning classifier systems. In: Proceedings of the seventh international conference on hybrid intelligent systems, pp 12–17
Butz MV, Kovacs T, Lanzi PL, Wilson SW (2001) How XCS evolves accurate classifiers. Technical Report 2001008, Illinois Genetic Algorithms Laboratory
Butz MV, Kovacs T, Lanzi PL, Wilson SW (2004) Toward a theory of generalization and learning in XCS. IEEE Trans Evol Comput 8(1):28–46
Butz MV, Pelikan M, Llorá X, Goldberg DE (2006) Automated global structure extraction for effective local building block processing in XCS. Evol Comput 14(3):345–380
Butz MV, Wilson SW (2002) An algorithmic description of XCS. Soft Comput A Fusion Found Methodol Appl 6(3-4):144–153
Drugowitsch J (2008) Design and analysis of learning classifier systems: a probabilistic approach. Springer Berlin
Eiben AE, Smith JE (2003) Introduction to evolutionary computing, 1st edn. Natural Computing Series. Springer, Berlin
Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison Wesley, Boston
Holland JH (1975) Adaptation in natural and artificial systems. University of Michigan Press, Ann Arbor
Holland JH (1986) Escaping brittleness: the possibilities of general-purpose learning algorithms applied to parallel rule-based systems. In: Machine learning: an artificial intelligence approach, vol II. Morgan Kaufmann, Burlington, pp 593–623
Ioannides C, Browne WN (2007) Investigating scaling of an abstracted LCS utilising ternary and S-expression alphabets. In: Proceedings of the genetic and evolutionary computation conference, pp 2759–2764
Jong KAD (2006) Evolutionary computation: a unified approach. MIT Press, Cambridge
Kinzett D, Johnston M, Zhang M (2009) Numerical simplification for bloat control and analysis of building blocks in genetic programming. Evol Intell 2(4):151–168
Kovacs T (1996) Evolving optimal populations with XCS classifier systems. Technical Report CSR-96-17 and CSRP-9617, University of Birmingham, UK
Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge
Koza JR, Poli R (2005) Genetic programming. In: Search methodologies: introductory tutorials in optimization and decision support techniques, chap. 5. Springer, Berlin, pp 127–164
Lanzi PL (1999) Extending the representation of classifier conditions Part I: from binary to messy coding. In Proceedings of the genetic and evolutionary computation conference, pp 337–344
Lanzi PL, Loiacono D (2007) Classifier systems that compute action mappings. In: Proceedings of the genetic and evolutionary computation conference, pp 1822–1829
Lanzi PL, Loiacono D, Wilson SW, Goldberg DE (2005) XCS with computed prediction for the learning of Boolean functions. Technical Report 2005007, Illinois Genetic Algorithms Laboratory
Lanzi PL, Loiacono D, Wilson SW, Goldberg DE (2007) Generalization in the XCSF classifier system: analysis, improvement, and extension. Evol Comput 15(2):133–168
Lanzi PL, Perrucci A (1999) Extending the representation of classifier conditions Part II: from messy coding to S-expressions. In: Proceedings of the genetic and evolutionary computation conference, pp 345–352
Lanzi PL, Stolzmann W, Wilson SW (2000) Learning classifier systems: from foundations to applications. Springer, Berlin
Loiacono D, Marelli A, Lanzi P (2007) Support vector machines for computing action mappings in learning classifier systems. In: Proceedings of the congress on evolutionary computation, pp 2141–2148
Luke S, Panait L (2006) A comparison of bloat control methods for genetic programming. Evol Comput 14(3):309–344
Mhlenbein H, Paaß G (1996) From recombination of genes to the estimation of distributions I. Binary parameters. In: Parallel Problem Solving from Nature, pp 178–187
Orriols-Puig A, Bernadó-Mansilla E (2006) A further look at UCS classifier system. In: Proceedings of the ninth international workshop on learning classifier systems. Springer, Berlin
Pelikan M, Goldberg DE, Lobo FG (2002) A survey of optimization by building and using probabilistic models. Comput Optim Appl 21(1):5–20
Poli R (2000) Why the schema theorem is correct also in the presence of stochastic effects. In: Proceedings of the congress on evolutionary computation, pp 487–492
Poli R, Langdon WB (1998) Schema theory for genetic programming with one-point crossover and point mutation. Evol Comput 6:231–252
Poli R, Langdon WB, McPhee NF (2008) A field guide to genetic programming. Lulu Enterprises, UK Ltd
Rivest RL (1997) S-expressions, Internet Engineering Task Force—Internet Draft. http://people.csail.mit.edu/rivest/Sexp.txt,1997
Robilliard D, Marion-Poty V, Fonlupt C (2009) Genetic programming on graphics processing units. Genet Program Evol Mach 10(4):447–471
Russell SJ, Norvig P (2011) Artificial intelligence: a modern approach, 3rd edn. Pearson Education, Boston
Smith SF (1980) A learning system based on genetic adaptive algorithms. PhD thesis
Sutton RS, Barto AG (1998) Reinforcement learning: an introduction. MIT Press, Cambridge
Tenne Y, Armfield S (2009) A framework for memetic optimization using variable global and local surrogate models. Soft Comput A Fusion Found Methodol Appl 13(8):781–793
Thrun S (1996) Is learning the n-th thing any easier than learning the first? In: Advances in neural information processing systems. MIT Press, Cambridge, pp 640–646
Urbanowicz RJ, Moore JH (2009) Learning classifier systems: a complete introduction, review, and roadmap. J Artif Evol Appl 2009(1):1–25
Wilson SW (1994) ZCS: a zeroth level classifier system. Evol Comput 2(1):1–18
Wilson SW (1995) Classifier fitness based on accuracy. Evol Comput 3(2):149–175
Wilson SW (1998) Generalization in the XCS classifier system. In: Procedings of the third annual genetic programming conference, pp 665–674
Wilson SW (2002) Classifiers that approximate functions. Nat Comput 1:211–233
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Iqbal, M., Browne, W.N. & Zhang, M. Evolving optimum populations with XCS classifier systems. Soft Comput 17, 503–518 (2013). https://doi.org/10.1007/s00500-012-0922-5
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-012-0922-5