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