“…An algorithm is a problem solving procedure, which can be applied on a set of instances of the problem and that produce, in a finite number of constructive, unambiguous and organised steps, the answer to the problem for any of those instances. 5 The Theory of Complexity (see [9] for instance) defines a problem as a couple (I, Q) where I is a set of instances and Q a question that can concern any instance of I 6 . An algorithm A solves a problem P = (I, Q) if for any instance of I, A give an right answer to Q after a finite number of steps.…”