Graph Search Methods Flashcards
How are costs reduced during graph searches?
-Nodes are not revisited
-search trees find optimal paths for the environment
Functionality of the breadth-first search
Begins at the start node and explores local nodes
-from neighbouring nodes, explore unexplored nodes
-repeats until goal nodes are found
Functionality of depth-first search
Comparison of the Breadth-first and depth-first
-both used often for path searches
-both are simple to implement but might be inefficient
DFS:
-has lower memory footprint than BFS
-mainly used to completely explore a graph
BFS:
-faster computation
Why would the star algorithms be used instead of BFS/DFS
BFS and DFS do not consider when the edges have weights
-Star algorithm can calculate the shortest path with the lowest cost
Give the pros/cons of Dijkstra’s
PROs:
-considers weights of each node
-calculates shortest path and cost
-easy to implement
CONs:
-attention required on priortity queue
-not possible to determine if solution exists untul it reaches it
Define A* algorithim
Dijkstra’s algorithm + heurisitc
-a heuristic function provides an optimistic estimate of how close the goal is
-improves efficiency of the Dijkstra algorithm
Compare Dijkstra and A*
-A* is an extension of Dijkstras algorithm
Define D* algorithm
-A variation of A* which resuses previous search effort for iterations
-it only tackles state effected by change
Define RRTs
-Rapidly exploring random trees
-grow a graph online only requiring an obstacle map
-begins with an inital tree and succesively adds nodes closest to random points on graph
Give the cons of RRTs
Lack optimality but the solution is eventually found as number of ndoes grows towards infinity