Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Genetic algorithms in Java basics
Jacobson L., Kanber B., Apress, New York, NY, 2015. 154 pp. Type: Book (978-1-484203-29-3)
Date Reviewed: Jul 22 2016

Apress has dedicated itself to the rapid publication of books on emerging and current technologies in order to provide its readership with the latest information. This text provides the reader with a succinct introduction to genetic algorithms. In addition, it is also an applied handbook with actual code in the Java programming language. While other introductory books on the topic do exist, this text distinguishes itself by providing the practical application of genetic algorithms to advanced applications such as the traveling salesperson problem, class scheduling, robotic controllers, and optimization problems. For readers looking for a quick and concrete treatment of the subject matter, this brief (the publisher’s designation for the series) will serve them well.

Genetic algorithms are part of a broader field now known as evolutionary computation. In order to avoid confusion for the uninitiated reader, it should be noted that these algorithms and computations are based on or inspired by the biological processes found in nature. These are studied in order to help heuristic search and optimization procedures, not the other way around. So, for example, bioinformatics and computational biology are interested in how computers and computation can aide the study of biological processes and hence are not part of the discipline known as evolutionary computation because their purposes are in the opposite direction. As such, chapter 1 starts off with an introduction to artificial intelligence and the advantages of evolutionary computations.

This chapter concludes with defining the critical terminology used in genetic algorithms. This includes a discussion of a sometimes-overlooked concept in programming, the parameter file. Genetic algorithms are notorious for the many parameters necessary to run the algorithm: population size, number of generations, thresholds for termination, crossover rate, mutation rate, and seed(s) for a random number generator, among others. This sets up the necessary details for the implementation of the algorithm presented in the next chapter.

Chapter 2 immediately presents the development of a genetic algorithm. These steps include creating an initial population, analyzing the population for user-defined termination criteria, constructing the next generation by mating pairs of individuals from the previous generation, and employing crossover and mutation. This cycle of operations continues until either the maximum number of generations has been reached or a preset threshold has been achieved. These operations are often influenced by the fitness value of the individual solution considered. The fitness function is a totally defined function that assigns a numerical value to each possible individual solution proposed.

Chapters 3 through 5 concentrate on the applications for the genetic algorithm developed in chapter 2. Chapter 3 develops robotic controllers that would enable a robot to go through a maze by using its sensors. It should be noted that this problem does not provide a hardware design of such a controller, but rather develops strategies for a sensor-enabled robot to go through a maze. Chapter 4 considers the traveling salesperson problem. This problem is an NP-complete problem and is a favorite choice for evolutionary computations. In general, NP-problems such as the KARP-21 problems are excellent candidates for studying genetic algorithms because their solutions can readily be encoded by bitstrings.

Chapter 5 deals with class scheduling, a timetable application that will suggest a schedule of classes for a department at a university given timing constraints. Chapter 6 encompasses a broader set of problems, optimization problems. This chapter differs from the previous three in two main ways. First, the chapter handles optimization problems at large instead of a specific problem such as chapters 3 through 5. Second, the chapter employs an adaptive genetic algorithm that can improve the convergence to a solution by allowing the changing of parameter values based on the current state of the genetic algorithm.

This handbook is a useful publication for anyone interested in coding a genetic algorithm, written by authors that collectively have many years of programming experience.

More reviews about this item: Amazon

Reviewer:  Michael Goldberg Review #: CR144623 (1610-0729)
Bookmark and Share
  Reviewer Selected
 
 
Optimization (G.1.6 )
 
 
Java (D.3.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Optimization": Date
A general-purpose global optimizer: implementation and applications
Pronzato L., Walter E., Venot A., Lebruchec J. Mathematics and Computers in Simulation XXVI(5): 412-422, 1984. Type: Article
Jul 1 1985
Minkowski matrices.
Cryer C. ACM Transactions on Mathematical Software 9(2): 199-214, 1983. Type: Article
Feb 1 1985
Numerical optimization techniques
Evtushenko Y., Springer-Verlag New York, Inc., New York, NY, 1985. Type: Book (9789780387909493)
Jun 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy