Why does BFS find shortest paths? — The ripple analogy