Prologでは、有向グラフで巡回セールスマン問題を実装するためにすべてのパスを見つけるためにグラフアルゴリズムを実装するにはどうすればよいですか?
例 :
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
ご存知のように、有向グラフでは、サイクルが存在する可能性があります。ただし、同じポイントを2回通過する必要はありません。
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