Formal derivation of graph algorithmic programs using partition-and-recur

In this paper, we derive, by presenting some suitable notations, three typical graph algorithms and corresponding programs using a unified approach, partition-and-recur. We put emphasis on the derivation rather than the algorithms themselves. The main ideas and ingenuity of these algorithms are revealed by formula deduction. Success in these examples gives us more evidence that partition-and-recur is a simple and practical approach and developing enough suitable notations is the key in designing and deriving efficient and correct algorithmic programs.

[1]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[2]  Donald E. Knuth,et al.  A simple program whose proof isn't , 1990 .

[3]  Xue Jinyun,et al.  Two new strategies for developing loop invariants and their applications , 1993, Journal of Computer Science and Technology.

[4]  Jinyun Xue,et al.  A simple program whose derivation and proof is also , 1997, First IEEE International Conference on Formal Engineering Methods.

[5]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[6]  Jinyun Xue A unified approach for developing efficient algorithmic programs , 2008, Journal of Computer Science and Technology.

[7]  D. R. Fulkerson,et al.  Flows in Networks. , 1964 .

[8]  Jinyun Xue,et al.  A Derivation and Prrof of Knuth's Binary to Decimal Conversion Program , 1997, Softw. Concepts Tools.

[9]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[10]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[11]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[12]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[13]  Richard Bellman,et al.  ON A ROUTING PROBLEM , 1958 .

[14]  Roland C. Backhouse,et al.  Calculating Path Algorithms , 1994, Sci. Comput. Program..