The document describes various heuristic search techniques including best first search, A* search, and their algorithms. A* search is a special case of best first search that uses an evaluation function f(n)=g(n)+h(n) where g(n) is cost from start to node n and h(n) is heuristic estimate of cost from n to goal. The A* algorithm maintains OPEN and CLOSED lists, calculates f scores, and expands the lowest f node at each step until reaching the goal node. A node may be moved from CLOSED to OPEN if revisiting it leads to a lower path cost.