como visitar cada ponto no grafo direcionado
No Prolog, como posso implementar o algoritmo gráfico para encontrar todo o caminho para implementar o problema do vendedor de viagens no grafo direcionado?
exemplo:
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
Como você sabe, no gráfico direcionado, pode haver um ciclo. No entanto, não há necessidade de passar o mesmo ponto duas vezes.
graph expected output
X ----> Y
Y ----> X X Y Z
Y ----> Z
Por que eu estou eliminando este caso é porque;
output :
X Y X Y ... Z
^^^
god knows this length ( when program terminates )
termination is np problem