라우팅 기능을 쓰려고하는데 필요한 결과를 얻지 못하는 것 같습니다. 지금까지의 코드입니다. 전임자는 N에 연결된 노드를 찾아 내 traceroute(placeA, Y).
이 .. Y = [ (_G575, _G575)|_G579] .
프롤로그 라우팅 루틴
는 기본적으로 경로 추적의 첫 줄을 내가이 데이터를 시도하고 반환 실행하면 P.
traceroute(_,L) :- member((A,A),L).
traceroute(N,L) :-
predecessor(N,P),
append(N,L,L1),
traceroute(P,L1).
로서 돌려줍니다 임의의 멤버가 그 자체의 전신 인 경우 재귀를 종료합니다. 두 번째 부분은 모든 노드를 순환하여 목록 (L)에 추가해야합니다.
노드
은 [(placeA, placeB), (placeB, placeC)]와 같은 저장되고 목록나는 이러한 결과를 얻고 이유를 이해할 수 없다 [placeA, placeB, placeC]처럼 저장해야합니다 .