Como extensão da resposta de Byte56, gostaria de salientar que, em seu conjunto de dados específico, usar a Distância de Manhattan como sua função heurística será sempre uma heurística perfeita, no sentido em que sempre retornará o custo real do caminho (supondo que exista nada "bloqueando" os caminhos).
Você também deve observar que todos os nós na direção correta (horizontal ou verticalmente) produzirão a mesma distância esperada (porque existem muitos caminhos igualmente curtos para a meta). Você deve estar ciente de que sua fila de prioridades (conjunto aberto) deve, em caso de prioridades vinculadas, remover da fila o nó adicionado mais recente primeiro (LIFO - Último a entrar, primeiro a sair). Ao fazer isso, você examinará apenas os nós que terminarão no caminho ideal . Se você examinar nós igualmente adequados da maneira FIFO (primeiro a entrar, primeiro a sair), estará examinando efetivamente todos os nós que fazem parte do melhor caminho. Esse problema surge porque existem vários caminhos igualmente bons para o nó da meta.