I am recently learning A* algorithm, I know it takes a heuristic value when finding the potential path, and I also understand what consistent and admissible is for a heuristic. But I am confused that what kind of heuristic is good and why is it good?
BTW, how does heuristics work?
Selecting a heuristic is, in my opinion, mostly dependent on the problem. Yet, selecting a heuristic becomes easier if the problem is understood in a goal-oriented fashion. At least thats what I do. The idea I follow is this:
The heuristic evaluates to zero at the goal state.
So what are all the scenarios ? What are all the functions that yield zero at the goal?
I would go with the last option since it seems more reliable, though all the three will eventually lead to the solution.