# Graphic – Critical Path, Most Immediate Successor First (CP / MISF) Explanation

Just as a disclaimer, I'm not sure if this is the place to post this discrete math / graphics question, or if I should pass that question to the math stack exchange.

tl; dr: I am looking for an explanation for CP / MISF and possibly DF / IHS

I am particularly interested in algorithms that focus on the static planning of task priority diagrams. In my work, I am challenged to design work for any DAGs where the vertices have a known average weight and the edges are weighted with zero. i.e. there are estimated calculation costs in the execution time $w(n_{i})$ for all vertices $n_{i}$ and there are no communication costs $c(n_{i},n_{j}) = 0$ for any vertices $n_{i}$ and $n_{j}$, The work requires non-preventative scheduling. This means that a started job can only be completed or canceled. It is not possible to stop the execution of a work node and continue later.

I want to implement an efficient scheduling algorithm that is able to reduce the overall end time for a task priority diagram when scheduling the work over a set of tasks $P$ processors (These will actually be remote machines),

After reading a series of articles, especially static planning algorithms for assigning charts for directed tasks to multiprocessors, I believe that Critical Path / The most immediate successors first (CP / MISF) will be an effective choice.

Could someone please explain to me the implementation of this algorithm so that I can apply it to the problem at hand? After searching the Internet for an explanation of the algorithm, I could not find any free sources describing the implementation.

Bonus point, if someone can also explain the derived work, Depth search with implicit heuristic search (DF / IHS)