Я хотел бы перечислить все возможные пути
country(england,france).
country(france,bulgaria).
country(bulgaria,germany).
country(england,bulgaria).
country(germany,italy).
edit: additional to
country(germany,italy).
country(england,italy).
country(england,greece).
country(greece,france).
connectto(X, Y) :-
country(X, Y).
? - op (150, xfy, to).
X в Y: -get_waypoints (X, Y, Waypoints), писать (Waypoints), терпят неудачу.
get_waypoints(Start, End, [Waypoint|Result]) :-
country(Start, End),
!;country(Start, Waypoint),
get_waypoints(Waypoint, End, Result).
в противном случае из исходного кода система выдаст
| ?- england to italy.
[]no
из кода, который вы упомянули.
теперь проблема возникает в
| ?- england to italy.
[_31242|_31243][france,bulgaria,germany,_31332|_31333]
[bulgaria,germany,_31422|_31423]
[greece,france,bulgaria,germany,_31602|_31603]no
хотя он показывает все возможные маршруты.
Любое решение будет оценено.