An experiment in implementing A* in Ruby