A critical path is defined as a path linking two local maxima on N that maximizes the minimum value of f encountered (the critical value of that path). The equivalent of this path in R N necessarily passes through a firstorder saddle point of f known as a critical point and, in analogy, the point of minimum f on a critical path in N is labelled as a critical point (see Fig. ). Given a neighbourhood graph N , edge weights are assigned as the average of the function values at the endpoints of the edge. It is then possible to find critical paths rapidly by noting that they are paths on the maximum spanning tree (MST) of N (see appendix A), which is denoted as M (N ) (the critical-path problem essentially becomes the widest path problem from graph theory). In fact, the critical path between two local maxima on N is the only path linking the maxima on M (N ), thanks to the fact that M (N ) is acyclic. The union of all critical paths is called the critical tree, which can be found rapidly and in it's entirety by repeatedly pruning the maximum spanning tree according to the following algorithm (shown in Fig. ):