3

私はプロローグの完全な初心者です。パスがエッジ間に存在するかどうかを確認する必要がある問題を見つけようとしています。巡回用の非巡回グラフ コードが完成しました。私のコードは無限ループに陥ります。

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

新しい述語 new_path(Start,End,path) を定義して、このケースを処理する必要があります。これにより、無限ループが解消されます。続行する方法を教えてください。

4

2 に答える 2

1

試す

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

この定義を使用してclosure/3

于 2014-11-27T23:44:40.767 に答える