Technical Review Abhishek Narula – ECE 4884 Heuristic Search Algorithms for Problem Solving Introduction Modern problem solving applications usually rely on some heuristics to intelligible search thorough all possible solution to solve a given problem. Heuristics might not always find the best solution, but it is guaranteed to find a good solution in reasonable time [1]. This paper discusses the commercial application, the underlying technology of heuristic based searching, and how this technology can be implemented to solve basic problems such as a 15-tile puzzle. Commercial Applications of Heuristic Based Searching Genetic algorithm (GA), A * search, and Best first search are all types of heuristic based searching that find their application in automation, robotics, and manufacturing [2]. GA, for example, can be implemented to solve a multi-level lot sizing problem [3]. This process is used to determine the lot size of production or procurement of an item at each level in an industrial process so that the total costs of production setup and inventory holding are minimized. A * search, on the other, can be applied to optimal path search in dynamic and real-time urban traffic [4]. By using real time traffic information and using this search algorithm, an automated way to manage urban traffic to avoid congestion and reduce delay times can be developed. Underlying Technology Problem Space Representation The first step in implementing a heuristic search is to translate a problem space into a graph. This graph usual consists of nodes, arcs and weights. For example in a vehicle routing problem, the crossing of roads and dead ends maybe represented by nodes, connecting roads as arcs, and average travel time and average travel cost can be treated as the weight of arc corresponding with the road [5]. Once the network is defined the problem is translated to a graph and thus heuristics can be applied to finding the optimal path. 1 Technical Review Abhishek Narula – ECE 4884 Heuristic Function The most crucial part of heuristic based searching is the heuristic function [4]. This function estimates the cost of the cheapest path from a starting node to the goal node. Different algorithms may use different techniques to evaluate the heuristic function and depending on the graph representation, the cost of the cheapest path must be tweaked to attain the desired solution. Best first search, for example, uses a combination of the estimated cost and the actual cost. A * search, a complicated version of Best first search [1], uses a combination of the actual cost and an evaluated function like the Manhattan distance [6] . The heuristic function also has the property of being admissible and monotonic. Implementation of Heuristics to Puzzle Solving A * search can be directly applied to solving a basic 15-tile puzzle. The A* search algorithm evaluates the cost f(n) of the cheapest path through node n by combining the actual cost g(n) from starting node to node n and the estimated cost h(n) from node n to goal node [4]. For the 15-tile puzzle, the algorithm works best if the heuristic function is calculated based on the location of the empty space, instead of the other 15 tiles [6]. The further is the location of the empty space from its final location the higher is the cost. The cost also increases if a solution has a higher number of nodes. Therefore g(n) is set the location of the empty space and h(h) is set to the number of moves. Based on this representation a quick solution can be extracted from a given initial tile configuration. 2 Technical Review [1] Abhishek Narula – ECE 4884 D. Marshall, “Heuristic Search,” [Online], 5 Sept 2005, [cited 2 Aug 2008], Available: http://www.cs.cf.ac.uk/Dave/AI2/node23.html [2] S. S. Ge and F. L. Lewis, “Automotive Systems/Robotic Vehicles,” in Autonomous Mobile Robots, 1st ed. Boca Raton: CRC, 2006, ch. 14, pp. 613-614. [3] I. Kaku, Z. Li, and C. Xu, “Solving Large Multilevel Lot-sizing Problems with an Effective Heuristic Algorithm Based on Segmentation,” presented at the 3rd International Conference on Innovative Computing Information and Control, Dalian City, China, 2008. [4] H. Yue and C. Shao, "Study on the Application of A* Shortest Path Search Algorithm in Dynamic Urban Traffic," presented at the 3rd International Conference on Natural Computation, Haikou, China, 2007. [5] L. Sun, X. Hu, Y. Li, J. Lu, and D. Yang, “A Heuristic Algorithm and a System for Vehicle Routing with Multiple Destinations in Embedded Equipment,” presented at the 7th International Conference on Mobile Business, Barcelona, Spain, 2008. [6] A. Howard, Control of Robotic Systems, ECE8843a Lecture Notes, Atlanta: Georgia Institute of Technology, 2008. 3 Technical Review Abhishek Narula – ECE 4884 4