Bi, Xue and Zhang provide a book on Genetic Programming (GP) applied to image classification tasks. This book is very pleasant to read, clear and well explained. By combining GP and image classification, the title invites readers to join both relevant research areas.

GP has shown excellent performance in several applications where it has been used. Moreover, it achieves interpretable models that are very useful in image classification tasks. However, GP’s particular characteristics, which differentiate it from other types of evolutionary algorithms, have led to it being addressed by a smaller number of researchers in evolutionary computation. This book is focused on showing, with educational material, the main advantages of models based on GP to solve image classification tasks. Experimental studies with other classic methodologies are included to justify the relevant position of GP.

The book is structured into two distinct parts. The first part, from chapter 1 to 3, gives the background. These chapters describe the main concepts of GP and image classification, and they are valuable for the rest of book. The review contained in these three chapters covers areas of computer vision, machine learning and evolutionary computation. It is important to highlight that it is presented as a brief overview; therefore, it is expected that the reader has previous knowledge of GP and image classification to be able to follow this book. The second part, from chapter 4 to 9, is of particular interest to GP researchers. These chapters have a similar flow that leads the readers through new models of GP to solve image classification problems. This includes a detailed description of each GP proposal, offering clear pseudocode and source code available at repository. Then an experimental study is carried out to show and discuss the results. It is also important to emphasize that this study provides interesting explications and insights for didactic material, but it can be confusing because the different comparisons vary in data and methods. Moreover, describing an algorithm and later showing how to improve it, by means of other proposals, might be better justified. At the end of each chapter, a summary is included to show final results and provide advice, which is very useful for those learning about the area. Finally, relevant future work on each topic is given in chapter 10.The strength of this book clearly lies in the new GP models, their descriptions and the discussion surrounding them. Different and recent GP representations and models are presented and their performance is compared. The explications include a clear specification with highly detailed information of each proposal. In this point, authors show their extensive experience in the area.

The book is strongly oriented toward specialists, and the use of specialized GP algorithms makes this book difficult as a primary undergraduate textbook. A non-expert with GP could find this book difficult to follow. It is not explicitly written to be an introduction in GP or image classification. It would be recommended that a more introductory book be used to start in these areas. On the other hand, the book is a valuable reference for an academic research audience with prior knowledge of GP capabilities, or in the area of image classification to extend the possibilities with GP algorithms. The inclusion of pseudocode and a repository with all code available allows readers to understand the models. Moreover, it gives a survey of the different type of algorithms to solve the problem along with examples.

In conclusion, this book could be an excellent option for a post-graduate course or a specific seminar. Researchers who use GP algorithms would surely benefit from consulting the specific proposals given in each chapter as reference material, and the book could encourage image classification researchers to take interest in GP as an option to be applied to solve image classification tasks.