Algorithm as Defining Dynamic Systems

This paper proposes a new view to algorithms: Algorithms as defining dynamic systems. This view extends the traditional, deterministic view that an algorithm is a step-by-step procedure with nondeterminism. As a dynamic system can be designed by a set of its defining laws, it is also desirable to design an algorithm by a (possibly nondeterministic) set of defining laws. This observation requires some changes to algorithm development. We propose a two-step approach: the first step is to design an algorithm via a set of defining laws of dynamic system. The second step is to translate these laws (written in a natural