Кратчайший путь терпит неудачу с подобными графиками - PullRequest
0 голосов
/ 03 сентября 2018

Я работаю с 2 графиками, пытаясь найти кратчайший путь между 2 фиксированными узлами. Я использовал пакет igraph и функцию shortest_paths в R, а затем перенес его в SQL Server, запустив там код R.

Graph 1

Graph 2

В 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 была начальная стрелка, также возвращая слишком высокий вес, чтобы сделать его полезным.

Graph 1 modified

В любом случае, теперь самый короткий путь - A-G, даже если стрелка идет от G к A, и это не самый дешевый обход между двумя узлами.

Почему это происходит? Чего мне не хватает?

Искренне спасибо за ваше время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...