aStarShortestPath

fun <T> aStarShortestPath(start: T, isGoal: Predicate<T>, neighbors: (T) -> Iterable<WeightedEdge<T>>, heuristic: ToDoubleFunction<T>, maxIterations: Int = Int.MAX_VALUE, maxCost: Double = Double.POSITIVE_INFINITY): ShortestPath<T>?

Finds the shortest path using A* search.

Set heuristic to zero to get Dijkstra behavior.