A good algorithm is like a good story: it has a clear beginning, middle, and end.
The first step is to establish that something is possible; then probability will occur.