ABSTRACT

As “Divide and Conquer”, dynamic programming makes it possible to solve problems by combining the solutions to sub-problems. A major difference between these two approaches lies in the fact that dynamic programming only concerns the problems of calculating the optimal value of a numerical quantity. In general, writing a dynamic programming algorithm therefore requires expressing the problem in the terms of sub-problems of smaller size and establishing a recurrence relation. The principle of Floyd's algorithm consists in taking advantage of Roy-Warshall's algorithm, through an adaptation, as long as the problem can be solved in the space of the elementary paths.