CUDA реализован PUSH RELABEL решает общий граф?
Я пытался найти какой-то код с открытым исходным кодом, который использует метод Goldberg push and relbel или preflow-push, preflow-relaybel для решения срезов графа для ОБЩЕГО графа.
Я знаю, что CUDA имеет пример кода 2D npp GrabCut, и я также знаю, что nppiGraphCut() решает graphcut для плоскости 2D, когда каждый пиксель обрабатывается как узел. ОДНАКО, я хочу что-то, что решает, учитывая следующие входные данные графа:
источник, приемник, количество узлов, от узлов до узлов, весовые коэффициенты прямой дуги (от -> до узлов) весовые коэффициенты обратной дуги (до -> от узлов) весовые коэффициенты источника (пропускная способность от источника к нетерминальным узлам) весовые коэффициенты приемника (не терминальные узлы для снижения пропускной способности)
У меня это есть в matlab так, что следующий график приведен примерно так: источник соединяется с узлами <1><2><3> с помощью sourceWeights, а узлы <1><2><3> соединяются с узлом приемника с помощью sinkWeights. Кроме того, между емкостями есть узлы, но они связаны только в одном направлении (т. Е. Обратная емкость равна 0).
<source>
<1> -> <2> -> <3> -> <4> -> <5> -> <6>...
<sink>
Может ли это быть использовано в nppGraphCut как одномерный массив (<1><2><3>) для выполнения вырезки графика?