In my game, there are many agents. Agents request a path, then after attaining a path to "goal" they follow the path. However player and many other things in the world can impact their position by pushing them or pulling them.
When agents get pushed and they happen to advance forward closer to "goal", I want them to smartly follow the previously given path.
I have pictures below to enhance your understanding of my situation.
I COULD recalculate path every a few seconds or when agent gets out of path BUT I have DOZENS of these little agents. I don't want to do path finding for DOZENS of agents again, again, again, and again whenever they walk out of the path.