Heuristic Search Algorithms for Problem Solving

advertisement
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
Download