I know the Dijkstra algorithm to solve the "single source shortest path" problem in a graph. And I've seen people discuss solutions in a dynamic graph where edge/vertices are subject to change. Retrieving the shortest path of a dynamic graph
My question is a little different.
Given the entry node $S$, while the entire graph $G(V, E)$ is unknown at the beginning. There's a function
public List<Edge> get(Node node)
to figure out the outgoing weighted edges at each node. Also, there's another functionpublic boolean isExit(Node node)
tells you when to stop if the node is an exit node.
The question is a lot like the shortest path finding problem in a maze, where you're at the entry, you only know the next moves of the current node and past nodes, you'd like to find the exits (multiple) in the shortest path. In this analogy, we care more about how to find the "exit" quickly, rather than finding the global optimal shortest path.
I'm wondering if the normal Dijkstra algorithm (Greedy + Relaxation) still applies in the case.
Because we don't know the full graph, the shortest path to a node might haven't been explored yet, and exist in the unknown part. (That's my biggest concern).
I hope my explanations are clear enough, thank you very much!