An algorithm that returns a sequence of approximations to the correct answer such that each approximation is no worse than the previous one, i.e. the algorithm can be stopped at _any time_. Applications might include a real-time control system or a chess program that is allowed a fixed thinking time.