Ryan J. Urbanowicz, and Will N. Browne: Introduction to learning classifier systems
Genetic Programming and Evolvable Machines
https://doi.org/10.1007/s10710-018-9322-7
Ryan J. Urbanowicz, and Will N. Browne: Introduction
to learning classifier systems
Springer, 2017, 123 pp, ISBN 978-3-662-55007-6
Analı́a Amandi1
Ó Springer Science+Business Media, LLC, part of Springer Nature 2018
Learning Classifier Systems (LCS) are one of the major families of techniques that
apply evolutionary computation to construct programs that automatically learn from
experience. Introduction to Learning Classifier Systems, published in the ‘‘SpringerBriefs in Intelligent Systems’’ book series, is a very good textbook on LCS, and
will be of interest to readers of Genetic Programming and Evolvable Machines.
The exposition of the topic flows naturally, allowing readers to understand each
step. The exercises that the authors propose serve as an interesting closing of the
initial process of understanding this topic. To this the authors add access to code to
be able to experience the concepts introduced.
Urbanowicz and Browne use the multiplexer problem as their example to teach
LCS. The multiplexer problem may at first seem very simple, but it turns out to have
enough complexity to present LCS clearly and deeply, also the theme can be
naturally mapped on to other domains.
Introduction to Learning Classifier Systems as a textbook, is organized into five
chapters. Chapter one introduces us to the topic, starting with the key questions we
ask ourselves when we want to understand the topic. What are the basic components
of an LCS? What is a rule and how does it differ from a model? What does an LCS
model look like and how is it used to make predictions?
Chapter 2 presents and analyzes the core concepts that distinguish LCS from
other techniques. Here Urbanowicz and Browne also raise questions that are
answered in the chapter. What are rules/classifiers? How can they be represented
and evaluated? Why do we evolve a population of rules rather than a single rule as a
solution? What is the importance of cooperation and competition among classifiers?
How does an LCS interact with problems to find and generalize useful patterns?
What problem properties should be considered when deciding whether to apply an
LCS? What are the general advantages and disadvantages of LCS? How to begin
implementing an LCS?
& Analı́a Amandi
1
CONICET and Computer Science Department, UNICEN, Buenos Aires, Argentina
123
Genetic Programming and Evolvable Machines
In these first two chapters they give an introductory vision to the topic of LCS.
This is ideal for students. Chapter 3 closes the basic explanation of LCS introduced
in the first two chapters. By Chapter 3 we can really understand the whole LCS
cycle, with pictures that really clarify the differences between the different search
spaces.
Chapter four changes the introductory style a little. Here Urbanowicz and
Browne introduce different LCS approaches and analyze them. For readers who are
new to LCS, Chapter 4 gives important information so that they get closer to these
different approaches. While readers are informed about these approaches, I think
that they need to provide details themselves for their complete understanding.
Chapter 4 is then a guide to issues to investigate on your own.
The final chapter is certainly very interesting. Chapter 5 adds tips to the
theoretical and practical concepts of this textbook. So, someone who is starting with
LCS can have information that allows them to implement the concepts introduced in
the book with much more confidence. But this is not all, in the same
chapter Urbanowicz and Browne focus on ‘‘Where to Now?’’. They consider that
there is much more to do and discover in this area, they inform us about workshops,
conferences, books, journals, select reviews, websites and software. This gives a
good closing to a complete introduction to LCS.
The authors are specialists in the subject of this book, a specialty that is
evidenced by articles published on the subject in both well-known journals and
conferences. Ryan Urbanowicz of the University of Pennsylvania, USA, shows his
specialty in Learning Classifier Systems, Bioinformatics, Data Mining, Machine
Learning, Evolutionary Algorithms and Data Visualization. Whilst Will Browne of
the Victoria University of Wellington, New Zealand, shows his expertise in
Learning Classifier Systems, Cognitive Robotics and Modern Heuristics for
industrial application.
In summary, even considering that it is a short text, Introduction to Learning
Classifier Systems is an excellent textbook and introduction to Learning Classifier
Systems. LCS are introduced didactically by means of an easily understandable
example. The theoretical topics are introduced with absolute clarity, and it only
remains for the reader to delve into specific approaches introduced in chapter four.
The book is completed with Python code available through a link included in the
book. Also, information to continue with the subject is included. Urbanowicz and
Browne recommend their book for undergraduate and postgraduate students, data
analysts, and machine learning practitioners alike. I consider the recommendation
appropriate, although I would extend it to software developers and bioinformatics
practitioners, as it is appropriate for anyone who wants to know and begin to use
Learning Classifier Systems.
123
(...truncated)