prev

next

of 42

View

11Category

## Documents

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

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