Поиск пути графа пролога с циклическим путем

Я полный новичок в Прологе. Я пытаюсь выяснить проблему, где мне нужно проверить, есть ли путь между краями. Я сделал с ациклическим графовым кодом для циклического, мой код идет в бесконечный цикл.

path(Start, End) :- edge(Start, End).
path(Start, End) :- edge(Start, Z), path(Z, End).

Мне нужно обработать этот случай путем определения нового предиката: new_path (Start, End, path), который должен устранить бесконечный цикл. Пожалуйста, дайте мне знать, как это сделать.

Ответы на вопрос(2)

Ваш ответ на вопрос