En extensión de la respuesta de Byte56, me gustaría señalar que, en su conjunto de datos específico, usar la Distancia de Manhattan como su función heurística siempre será una heurística perfecta en el sentido de que siempre devolverá el costo real de la ruta (suponiendo que haya nada "bloqueando" los caminos).
También debe tener en cuenta que todos los nodos en la dirección correcta (ya sea horizontal o vertical) producirán la misma distancia esperada (porque hay muchos caminos igualmente cortos hacia la meta). Debe tener en cuenta que su cola de prioridad (conjunto abierto) debe, en caso de prioridades vinculadas, eliminar primero el último nodo agregado (LIFO - Último en entrar, primero en salir). Al hacerlo, solo examinará los nodos que terminarán en la ruta óptima . Si examina nodos igualmente adecuados de manera FIFO (primero en entrar, primero en salir), examinará efectivamente todos los nodos que forman parte de una mejor ruta. Este problema surge porque hay múltiples rutas igualmente buenas para el nodo objetivo.