A Generative Hyper-Heuristic for Deriving Heuristics for Classical Artificial Intelligence Problems
A recent direction of hyper-heuristics is the automated design of intelligent systems with the aim of reducing the man hours needed to implement such systems. One of the design decisions that often has to be made when developing intelligent systems is the low-level construction heuristic to use. These are usually rules of thumb derived based on human intuition. Generally a heuristic is derived for a particular domain. However, according to the no free lunch theorem different low-level heuristics will be effective for different problem instances. Deriving low-level heuristics for problem instances will be time consuming and hence we examine the automatic induction of low-level heuristics using hyper-heuristics. We investigate this for classical artificial intelligence. At the inception of the field of artificial intelligence search methods to solve problems were generally uninformed, such as the depth first and breadth first searches, and did not take any domain specific knowledge into consideration. As the field matured domain specific knowledge in the form of heuristics were used to guide the search, thereby reducing the search space. Search methods using heuristics to guide the search became known as informed searches, such as the best-first search, hill-climbing and the A* algorithm. Heuristics used by these searches are problem specific rules of thumb created by humans. This study investigates the use of a generative hyper-heuristic to derive these heuristics. The hyper-heuristic employs genetic programming to evolve the heuristics. The approach was tested on two classical artificial intelligence problems, namely, the 8-puzzle problem and Towers of Hanoi. The genetic programming system was able to evolve heuristics that produced solutions for 20 8-puzzle problems and 5 instances of Towers of Hanoi. Furthermore, the heuristics induced were able to produce solutions to the instances of the 8-puzzle problem which could not be solved using the A* algorithm with the number of tiles out of place heuristic and at least one admissible heuristic was evolved for all 25 problems.