shortest path analysis