Reviewed by
Helder Coelho
Departamento de Informatica, Universidade de Lisboa
After his first and major book Genetic Algorithms in Search, Optimisation and Machine Learning (1989), David Goldberg addresses the topic of innovation, a buzz word in economics, management and politics at large. As a matter of fact, the book emerges into a policy debate in which discussion about the European economy focuses on topics such as productivity, competitiveness and innovation, and the need for a society based on knowledge. The European Commission is again trying to advocate the Lisbon Strategy for 2000-2010 and the intended big push will depend on how creativity can be built on our existing skills. It is hard to see how the challenges ahead (such as the anticipated rise of China and India) can be met without such a novel and effective response.
This book will be a terrific help for those, either in industry or in the academy, who are interested in innovation. Its step-by-step approach, with simple examples, is a road map for understanding the technology of genetic algorithms (GA) and being able to explore them in diverse fields. John Holland often talks about the need to obtain building blocks suitable for attacking complex problems and I am sure that this approach to understanding the troubles of today will also be efficient in opening a window to better solutions tomorrow.
Complexity is all around us both because many routine problems are dealt with by computers and because we are always envisaging new possibilities for intervening in social systems. The complexity sciences are of great use in helping us face such new challenges in management, economics and business at large. They offer alternative points of view beyond the Cartesian (reductionist) approach and provide a rather broad spectrum of powerful tools (multi-agent systems, fuzzy logic, neural networks and evolutionary algorithms including GA).
The book is included in Kluwer's series dedicated to genetic algorithms and evolutionary computation. This series has the aim of providing university students with good texts at the graduate level. The lessons of the book (from and for competent algorithms) are organised around twelve chapters and an epilogue. These chapters are: 1) GA and innovation; 2) making GA fly; 3) three tools of conceptual engineering; 4) goals and elements of GA design; 5) building blocks; 6) a design approach to problem difficulty; 7) ensuring building block supply; 8) ensuring building block growth; 9) making time for building blocks; 10) deciding well; 11) mixing, control maps, and GA success; 12) design of competent GA; and, finally, from competence to efficiency and beyond. The text is very appropriate for informatics, engineering and computer science courses, as the author argues in the preface: "The book … had to bring together a consistent, effective GA design methodology, applicable pieces of design theory, and effective GA designs in a unified volume". As a matter of fact, on the back cover, John Holland highlights the essence of the book by stating that "this guidebook (is) for exploiting building blocks, combining relevant theory with carefully chosen examples".
The book is rather technical and requires some basic knowledge of calculus, probability, statistics and programming. It also requires some background in GA but the author has tried to include material to facilitate it being read as a standalone volume. The first four chapters of Goldberg's earlier book from 1989 will provide the additional help needed by GA beginners. The newsgroup comp.ai.genetic and the Illinois Genetic Algorithms Laboratory web page also provide useful pointers to the current literature.
The hard tasks in science are always to find out how a piece of knowledge can be put into practice in an elegant fashion and to transform it into a popular and powerful technology. Both objectives are very difficult to accomplish but Goldberg shows how GA can be designed and implemented easily for general application. This book did the job of convincing me that GA technology deserves its place in our current box of soft computing tools. Let us think and face hard problems using many perspectives and diverse tools!
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2005