0
Я пытаюсь определить правило «друг моего друга мой друг» в прологе, и у меня есть следующий код:Пролог впадая в бесконечный цикл
friends(john,jake).
friends(mike,hans).
friends(hans,robert).
friends(robert,angela).
mutual_friendship(X,Y):-
friends(X,Y);
friends(Y,X).
friendship(X,Y):-
mutual_friendship(X,Y),!;
mutual_friendship(Y,Z), friendship(Z,X).
И он делает это очень хорошо, это способен обнаружить дружбу между Майком и Анджелой через Ганса и Роберта, проблема в том, что я пытаюсь найти дружбу между Джоном и Анджелой, например, которые не связаны, но программа попадает в бесконечный цикл.
Я получаю то, что вы говорите, но, учитывая, друзей, которые были определены, конечно, это правило не будет соответствовать никто ? Что-то там не так. –
Но можете ли вы теперь дружить (mike, angela). ? –
ответ обновлен –