  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 language) into a formal language such as linear logic.
