Learning heuristics for A*
  Path finding in graphs is one of the most studied classes of problems in
computer science. In this context, search algorithms are often extended with
heuristics for a more efficient search of target nodes. In this work we combine
recent advancements in Neural Algorithmic Reasoning to learn efficient
heuristic functions for path finding problems on graphs. At training time, we
exploit multi-task learning to learn jointly the Dijkstra's algorithm and a
consistent heuristic function for the A* search algorithm. At inference time,
we plug our learnt heuristics into the A* algorithm. Results show that running
A* over the learnt heuristics value can greatly speed up target node searching
compared to Dijkstra, while still finding minimal-cost paths.
