jak odwiedzić każdy punkt na wykresie kierowanym

Jak w Prologu mogę zaimplementować algorytm graficzny, aby znaleźć całą ścieżkę w celu wdrożenia problemu sprzedawcy w grafie ukierunkowanym?

przykład:

                                                                         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

Jak wiesz, w grafie ukierunkowanym może być cykl. Jednak nie ma potrzeby, aby dwa razy przekazywać ten sam punkt.

             graph             expected output             
           X ----> Y            
           Y ----> X               X Y Z
           Y ----> Z 

Dlaczego eliminuję ten przypadek, ponieważ;

      output :

      X Y X Y ...   Z
              ^^^
              god knows this length ( when program terminates )
              termination is np problem

questionAnswers(2)

yourAnswerToTheQuestion