как посетить каждую точку в ориентированном графе
В Прологе, как я могу реализовать алгоритм графа, чтобы найти весь путь, чтобы реализовать задачу коммивояжера в ориентированном графе?
пример :
graph
expected input expected output X -----> Y
start X X Y X Z Y -----> T
end Z Y T X Y Z T -----> Z
T Z X Y T Z Y -----> Z
Y Z X -----> Z
X Z
Как вы знаете, в ориентированном графе может быть цикл. Однако не нужно проходить одну и ту же точку два раза.
graph expected output
X ----> Y
Y ----> X X Y Z
Y ----> Z
Почему я исключаю это дело, потому что;
output :
X Y X Y ... Z
^^^
god knows this length ( when program terminates )
termination is np problem