PHA*:Performing A* in Unknown Physical Environments

Embed Size (px)

DESCRIPTION

PHA*:Performing A* in Unknown Physical Environments. Ariel Felner Bar-Ilan University. felner@cs.biu.ac.il Joint work with Roni Stern and Sarit Kraus . Appeared in Proc AAMAS02, Bolonga Italy. Journal version submitted to JAIR. Available at http://www.cs.biu.ac.il/~felner. Motivation:. - PowerPoint PPT Presentation

Text of PHA*:Performing A* in Unknown Physical Environments

  • PHA*:Performing A* in Unknown Physical EnvironmentsAriel FelnerBar-Ilan University.felner@cs.biu.ac.il

    Joint work with Roni Stern and Sarit Kraus.Appeared in Proc AAMAS02, Bolonga Italy.Journal version submitted to JAIR.Available at http://www.cs.biu.ac.il/~felner

  • Motivation:Episode: Suppose a large army division must move from one location to another in unknown enemy territories.Solution: Send scouts to explore the area and return with the best or optimal path.The problem: find the optimal path between two locations in a real unknown physical environment.

  • Graphs in search problemsSmall, partially known graphsVery large graphsknown graphsUnknown or partially known graphsEx: A city mapThe entire graph is explicitlystored in memoryEx: tile puzzle or Rubiks cubeOnly described implicitly. Our problem: an unknown graph in a real physical environment

  • optimal path search algorithmsFor known graphs: algorithm such as Dijkstras shortest path, Bellman-Ford or Floyd-Warshal. Complexity O(n^2). For Unknown very large graphs, the A* algorithm which is a best-first search algoirthm.

  • Best-first search schemaNode expansion: takes a node and generates its neighbors.BFS: sorts all generated nodes in an OPEN-LIST and chooses the node with the best cost value for expansion. BFS depends on its cost (heuristic) function. Different functions cause BFS to expand different nodes.

  • A*A* is a best-first search algorithm that uses f(n)=g(n)+h(n) as its cost function. Nodes are sorted in an open-list according to their f-value. g(n) is the shortest known path between the initial node and the current node n.h(n) is an admissible heuristic estimation from n to the goal nodeA* is admissible, complete and optimally effective. [Pearl 84]Result: any other optimal search algorithm will expand at least all the nodes expanded by A*

  • A* in physical environmentsIn virtual large graphs: the complexity is measured by the number of generated nodes and expanding a node is considered to be done in constant time in the memory. In a real physical environment: expanding a node requires a mobile agent to travel to that node.

  • PHA*: Physical A*.

    PHA*: an algorithm that expands all the nodes expanded by A* but in an environment with physical characteristics.PHA* finds the shortest path in such environmentComplexity is measured by the traveling effort of the agent.We can omit the time and memory complexity of the computer because the graph is small.

  • Related worknavigationMapping, node explorationAutomated route planningExplores the whole graphRequires priori knowledge of the terrain.Doesnt findthe optimal path.D*RTA*RoadmapA*

  • Real practical applications.An army division that sends a scout in order to find the optimal path for future usage.In a dynamic (and thus, unknown) computer network when we want to transfer large files between two nodes. A small packet, (operating as scout) might explore the graph and return with the optimal solution.

  • PHA* descriptionAt the beginning of the search:The agent is at the initial node.The only knowledge available is the coordinates of the initial node and the goal node.The algorithm must expand all the nodes that A* expands.We assume that when physically reaching a node we can learn about its neighbors. A Node is expandable if it is known a priory or was explored by the agent.

  • PHA*: Initial solutionUpper level: At each cycle choose to expand the node with the smallest f-value, exactly as A* does. g is known. h is the straight line heuristic.Lower level: If the node selected by the upper level was not explored yet, the agent has to navigate to that node in order to learn about its neighbors.

  • Initial solution (cont.)Have the goalnode been expanded?Have the agent visited node t?tThe node with the smallest f-value in the open listExpand node tNavigate to node tTerminateInsert the initial node and goal node to the open list.YesNoNoYesUpper levelLower level

  • Lower level navigation algorithmsThe purpose of the lower level algorithm is to navigate the agent from its current location to the best node that was selected by the upper levelTree path

    Go through the search treeShortest known PathGo through the shortest known pathAir path

    Go directly to the target node

  • Example4RTree pathTree pathTree pathTree path51236

  • Example4RShortest pathShortest pathShortest path51236

  • Example4R51236Air path

  • DFS-based navigation algorithmsDuring the navigation learn and explore new nodes on the fly. Saves future work.DFS based searches: The order of node selection is determined according to a heuristic function.

    P-DFS

    Go to the neighborthat is closest to target.D-DFS

    Go to the neighbor that is closest in direction to the target.

    A*-DFS

    Go to the neighbor thatminimizes:d(curr,n)+h(n,target)

  • Example4R3PDA12

  • Problem

    1RCG2345

  • Problem

    1RCG2345

  • Improved-A*DFSThe agent should prefer to navigate through nodes that are likely to be expanded in the near future: i.e. with small f-valuecurr = the agents current location. t = the node that the agent is navigating to.According to A*DFS the agent will go to the neighboring node n that minimizes: c(n)=d(curr,n)+h(n,t)

  • I-A*DFS (cont.)According to I-A*DFS the agent will go to the neighboring node that minimizes:

    If n is not in the open list, it is exactly as A*DFSIf n is in open list, its I-A*DFS value decreases as f(n) is near f(t), which is the smallest f-value in the open list.

  • ExperimentsDelaunay graphs, are graphs created by Delaunay triangulation of random points (uniform distribution) on a unit square. Created by Delaunay triangulation

  • Experiments (cont.)The experiments were done on Delaunay graphs, deleting and adding random edges.

    Chart1

    8.04854.334193.661263.571173.505682.65985

    15.69827.412655.796835.609855.5243.51254

    39.326216.982811.894411.349111.13375.89241

    81.342431.766920.289119.120318.76997.87316

    TREE

    AIR

    P-DFS

    D-DFS

    A*DFS

    I-A*DFS

    number of nodes in the graph

    cost of search

    Results with different lower level algorithms

    Sheet1

    500A*TREEAIRP-DFSD-DFSP'-DFSI-Local-A*

    0,00.543668.04854.334193.661263.571173.505682.65985

    60,00.56594412.20256.308355.463845.46715.25513.58458

    0,4000.5344154.040032.225122.4931115.80961.874911.67724

    1000

    0,00.53852715.69827.412655.796835.609855.5243.51254

    60,00.55144621.607210.0137.747177.568417.367724.38096

    0,4000.5265376.921443.522423.9601137.26732.578112.20901

    2000

    0,00.57707239.326216.982811.894411.349111.13375.89241

    60,00.58691547.321520.438914.246213.822513.4046.61215

    0,4000.56163413.58716.357666.9590598.14913.887433.21688

    4000

    0,00.55066381.342431.766920.289119.120318.76997.87316

    60,00.56005695.902737.728324.19623.023722.29429.28111

    0,4000.53683220.41569.047299.51605205.4915.044793.99149

    Sheet1

    000000

    000000

    000000

    000000

    TREE

    AIR

    P-DFS

    D-DFS

    A*DFS

    I-A*DFS

    number of nodes in the graph

    cost of search

    Results with different lower level algorithms

    Sheet2

    Sheet3

  • Improving the upper levelSo far the nodes were expanded (by the upper level) in a best-first order according to their f-value.However it might be better to expand first nodes that are closer to the agent.R2647135G

  • Win-A*We want to expand a node in good position in the open list but also one that is closed to the agent.We define a window of size S in the front of the open list and choose to expand a node in that window that minimizes: c(n)=f(n)*d(curr,d)

  • Win-A*Is the goal node in the closed list?t = the node that minimizes

    Send an agent to expand tExpand & Mark t as EXPANDEDIs the best node marked as EXPANDED?Move the best node in the open list to the closed listTerminateNoYesYesNoLower level

  • Experiments

    Chart1

    2.659853.512545.89241

    2.419013.348665.5186

    2.135823.008125.24912

    2.167532.865584.89847

    2.545363.073614.67571

    2.7233.236574.59391

    2.912783.391774.73399

    3.149823.614754.8506

    3.43493.943125.17343

    500 nodes

    1000 nodes

    2000 nodes

    window size

    search cost

    Sheet1

    WindowSize50010002000

    12.659853.512545.89241

    32.419013.348665.5186

    72.135823.008125.24912

    152.167532.865584.89847

    302.545363.073614.67571

    402.7233.236574.59391

    502.912783.391774.73399

    603.149823.614754.8506

    803.43493.943125.17343

    1003.800164.320075.27534

    1504.256724.938275.9692

    2004.656365.558926.57028

    2504.884255.901817.06825

    10005.021817.7779110.3391

    Sheet1

    000

    000

    000

    000

    000

    000

    000

    000

    000

    500 nodes

    1000 nodes

    2000 nodes

    Sheet2

    000

    000

    000

    000

    000

    000

    000

    000

    000

    500 nodes

    1000 nodes

    2000 nodes

    Number of nodes in the window

    search cost

    Different window sizes

    Sheet3

  • Performance of PHA*

    1

    graphclosedshortest pathPHA*

    3011.320.620.81

    5015.450.740.94

    7517.930.771.07

    10020.320.851.11

    15024.120.911.27

    20028.430.991.42

    25031.571.021.48

    30035.781.051.51

    2

    3

  • MAPHA*: multi-agent PHA*2 different efficiency considerations:Time the time from the beginning of the search until the best path to the