Есть некий соединенный направленный граф.
1. Все вершины имеют значение из

.
2. В начале граф делим на подмножества по значению вершин (вершины с одинаковым значением образуют подмножества), т.б. стандартный класс эквивалентности.
3. Далее, для каждого

все их след. соседи в

. Формально:

Кромсаем граф дальше на кусочки, пока он не будет удовлетворять второму условию.
Чувствую, ноги растут у этой задачи из биективности, но не могу определить что за мат.база лежит за таким сегментированием графа.
Нужно на основе графа как можно точней и проще (возможно аппроксимация) определить объем работы и как можно более простой способ для проверки ее завершения.