Astart Hart

  • View
    213

  • Download
    0

Embed Size (px)

DESCRIPTION

Algoritmo A*

Transcript

  • IEEE TRANSACTIONS OF SYSTEMS SCIENCE AND CYBERNETICS, VOL. ssc-4, NO. 2, JULY 1968

    [N1 J. E. Falk, "Lagrange multipliers and nonlinear programming,"J. Math. Anal. Appl., vol. 19, July 1967.[6] 0. L. Mangasarian and J. Ponstein, "Minimax and duality innonlinear programming," J. Math. Anal. Appl., vol. 11, pp. 504-518, 1965.

    [7] J. Stoer, "Duality in nonlinear programming and the minimaxtheorem," Numerische Mathematik, vol. 5, pp. 371-379, 1963.[8] R. T. Rockafellar, "Duality and stability in extremum prob-lems involving convex functions," Pacific J. Math., vol. 21, pp.167-187, 1967.

    [9] P. Wolfe, "A duality theorem for nonlinear programming,"Q. A ppl. Math., vol. 19, pp. 239-244, 1961.[10] R. T. Rockafellar, "Nonlinear programming," presented at theAmerican Mathematical Society Summer Seminar on the Math-ematics of the Decision Sciences, Stanford University, Stanford,Calif., July August 1967.[1ll D. G. Luenberger, "Convex programming and duLality innormal space," Proc. IEEE Systems Science and Cybernetics Conf.(Boston, Mass., October 11-13, 1967).[12] J. M. Danskin, "The theory of max-min with applications,"J. SIAM, vol. 14, pp. 641-665, July 1966.

    113] W. Fenchel, "Convex cones, sets, and functions," mimeo-graphed notes, Princeton University, Princeton, N. J., September1963.

    [14] R. Fletcher and M. J. D. Powell, "A rapidly convergentdescent method for minimization," Computer J., vol. 6, p. 163, July1963.

    [115 L. S. Lasdon and A. D. Waren, "Mathematical programmingfor optimal design," Electro-Technol., pp. 53-71, November 1967.[16] J. B. Rosen, "The gradient projection method for nonlinearprogramming, pt. I, linear constraints," J. SIAM, vol. 8, pp. 181-217, 1960.

    [17] R. Fletcher and C. M. Reeves, "Function minimization byconjugate gradients," Computer J., vol. 7, July 1964.

    [I8] D. Goldfarb, "A conjugate gradient method for nonlinearprogramming," Ph.D. dissertation, Dept. of Chem. Engrg., Prince-ton University, Princeton, N. J., 1966.[19] L. S. Lasdon, "A multi-level technique for optimization,"Ph.D. dissertation, Systems Research Center, Case Institute ofTechnology, Cleveland, Ohio, Rept. SRC 50-C-64-19, 1964.

    120] L. S. Lasdon and J. D. Schoeffler, "A multi-level technique foroptimization," Preprints, Joint Automatic Control Conf., Troy,N. Y., June 22-25, 1965, pp. 85-92.[21] '-,"Decentralized plant control," ISA Trans., vol. 5,pp. 175-183, April 1966.[22] C. B. Brosilow and L. S. Lasdon, "A two level optimizationtechnique for recycle processes," 1965 Proc. AICHE-Symp. onApplication of Mathematical Models in Chemical Engineering Re-search, Design, and Production (London, England).

    [21] L. S. Lasdon, "Duality and decomposition in mathematicalprogramming," Systems Research Center, Case Institute of Tech-nology, Cleveland, Ohio, Rept. SRC 119-C-67-52, 1967.[24] A. V. Fiacco and G. P. McCormick, Sequential UnconstrainedMinimization Techniques for Nonlinear Programming. New York:Wiley, 1968.

    12] R. Fox and L. Schmit, "Advances in the integrated approachto structural synthesis," J. Spacecraft and Rockets, vol. 3, p. 858,June 1966.[261 B. P. Dzielinski and R. E. Gomory, "Optimal programming oflot sizes, inventory, and labor allocations," Management Sci., vol.11, pp. 874-890, July 1965.[271 J. E. Falk, "A relaxed interior approach to nonlinear pro-gramming," Research Analysis Corp., McLean, Va. RAC-TP-279,1967.

    A Formal Basis for the Heuristic Determinationof Minimum Cost Paths

    PETER E. HART, MEMBER, IEEE, NILS J. NILSSON, MEMBER, IEEE, AND BERTRAM RAPHAEL

    Abstract-Although the problem of determining the minimumcost path through a graph arises naturally in a number of interestingapplications, there has been no underlying theory to guide thedevelopment of efficient search procedures. Moreover, there is noadequate conceptual framework within which the various ad hocsearch strategies proposed to date can be compared. This paperdescribes how heuristic information from the problem domain canbe incorporated into a formal mathematical theory of graph searchingand demonstrates an optimality property of a class of search strate-gies.

    I. INTRODUCTIONA. The Problem of Finding Paths Through GraphsMANY PROBLEIVIS of engineering and scientific

    importance can be related to the general problem offinding a path through a graph. Examples of such prob-lems include routing of telephone traffic, navigationthrough a maze, layout of printed circuit boards, and

    Manuscript received November 24, 1967.The authors are with the Artificial Intelligence Group of the

    Applied Physics Laboratory, Stanford Research Institute, MenloPark, Calif.

    mechanical theorem-proving and problem-solving. Theseproblems have usually been approached in one of twoways, which we shall call the mathematical approach andthe heuristic approach.

    1) The Inathematical approach typically deals with theproperties of abstract graphs and with algorithms thatprescribe an orderly examination of nodes of a graph toestablish a minimum cost path. For example, Pollock andWiebensonf11 review several algorithms which are guaran-teed to find such a path for any graph. Busacker andSaaty[2' also discuss several algorithms, one of which usesthe concept of dynamic programming. [3] The mathematicalapproach is generally more concerned with the ultimateachievement of solutions than it is with the computationalfeasibility of the algorithms developed.

    2) The heuristic approach typically uses special knowl-edge about the domain of the problem being represented bya graph to improve the computational efficiency of solu-tions to particular graph-searching problems. For example,Gelernter's 41 program used Euclidean diagrams to directthe search for geometric proofs. Samuel[1 and others haveused ad hoc characteristics of particular games to reduce

    100

  • HART et al.: DETERMINATION OF MINIMUM COST PATHS

    the "look-ahead" effort in searching game trees. Proceduresdeveloped via the heuristic approach generally have notbeen able to guarantee that minimum cost solution pathswill always be found.

    This paper draws together the above two approaches bydescribing how information from a problem domain canbe incorporated in a formal mathematical approach to agraph analysis problem. It also presents a general algo-rithm which prescribes how to use such information to finda minimum cost path through a graph. Finally, it proves,under mild assumptions, that this algorithm is optimal inthe sense that it examines the smallest number of nodesnecessary to guarantee a minimum cost solution.The following is a typical illustration of the sort of

    problem to which our results are applicable. Imagine a setof cities with roads connecting certain pairs of them.Suppose we desire a technique for discovering a sequenceof cities on the shortest route from a specified start to aspecified goal city. Our algorithm prescribes how to usespecial knowledge-e.g., the knowledge that the shortestroad route between any pair of cities cannot be less thanthe airline distance between them-in order to reduce thetotal number of cities that need to be considered.

    First, we must make some preliminary statements anddefinitions about graphs and search algorithms.

    B. Some Definitions About GraphsA graph G is defined to be a set I nil of elements called

    nodes and a set {eij} of directed line segments called arcs.If epq is an element of the set { eijj, then we say that thereis an arc from node np to node n, and that nq is a successorof n,. We shall be concerned here with graphs whose arcshave costs associated with them. We shall represent thecost of arc eij by cij. (An arc from ni to nj does not implythe existence of an arc from nj to ni. If both arcs exist, ingeneral cij cji.) We shall consider only those graphs Gfor which there exists 8 > 0 such that the cost of every arcof G is greater than or equal to 6. Such graphs shall becalled 8 graphs.

    In many problems of interest the graph is not specifiedexplicitly as a set of nodes and arcs, but rather is specifiedimplicitly by means of a set of source nodes Sc n} and asuccessor operator P, defined on nil}, whose value for eachni is a set of pairs { (nj, cij) }. In other words, applying r tonode ni yields all the successors nj of ni and the costs cijassociated with the arcs from ni to the various nj. Applica-tion of r to the source nodes, to their successors, and soforth as long as new nodes can be generated results in anexplicit specification of the graph thus defined. We shallassume throughout this paper that a graph G is alwaysgiven in implicit form.The subgraph G,, from any node n in { ni} is the graph

    defined implicitly by the single source node n and some rdefined on {ni}. We shall say that each node in G,, isaccessible from n.A path from n, to nk is an ordered set of nodes (n1, n2,

    ... , nk) with each ni+ a successor of ni. There exists a pathfrom ni to nj if and only if nj is accessible from ni. Every

    path has a cost which is obtained by adding the individualcosts of each arc, ci,i+l, in the path. An optimal path fromni to nj is a path having the smallest cost over the set of allpaths from ni to nj. We shall represent this cost by h(ni, n3).

    This paper will be concerned with the subgraph G, fromsome single specified start node s. We define a nonemptyset T of nodes in GU as the goal nodes.1 For aniy node n inG., an element t e T is a preferred goal node of n if and onlyif the cost of an optimal path from n to t does not exceedthe cost of any other path from n to any member of T.For simplicity, we shall represent the unique cost of anoptimal path from n to a preferred goal node of n by thesymbol h(n); i.e., h(n) = min h(n,t).

    teT

    C. Algorithms for Finding Minimun Cost PathsWe are interested in algorithms that search G, to find

    an optimal path from s to a preferred goa