Я работаю с 2 графиками, пытаясь найти кратчайший путь между 2 фиксированными узлами. Я использовал пакет igraph
и функцию shortest_paths
в R, а затем перенес его в SQL Server, запустив там код R.
В SQL Server краткий путь на графике 2 от A до E является правильным, как и в R, и это A-C-F-E.
Вместо этого на Графике 1 (где стрелка не начинается с узла G) SQL Server не возвращает кратчайший путь, который я хочу, от A до G, который R говорит мне, что это A-B-C-E-G. Я получаю следующее предупреждение:
In .Call ("R_igraph_get_shortest_paths", graph, as.igraph.vs (graph,:
На сайте struct_properties.c: 4517: не удалось достичь некоторых вершин
Затем я попытался сопоставить узел G с A, чтобы у G была начальная стрелка, также возвращая слишком высокий вес, чтобы сделать его полезным.
В любом случае, теперь самый короткий путь - A-G, даже если стрелка идет от G к A, и это не самый дешевый обход между двумя узлами.
Почему это происходит? Чего мне не хватает?
Искренне спасибо за ваше время