Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

PROLOG PROGRAM : Write a Prolog program for Train Travel using recursion (NO ITE

ID: 3873113 • Letter: P

Question

PROLOG PROGRAM :

Write a Prolog program for Train Travel using recursion (NO ITERATIVE SOLUTIONS) given the below:

---------------------------------------------------------------------------------

(1) write a prolog program with the following knowledge base.

directTrain(union-station, san-bernardino).

directTrain(oxnard, union-station).

directTrain(burbank, lancaster).

directTrain(lancaster, union-station).

directTrain(san-bernardino, riverside).

directTrain(santa-ana, burbank).

directTrain(burbank, santa-ana).

directTrain(oceanside, santa-ana).

---------------------------------------------------------------------------------

(2) write a Prolog recursive predicate travelBetween that tells us when we can travel by train between two towns (not necesarily by a single direct trail).

---------------------------------------------------------------------------------

(3) what results do ou get when you test the program with the query (screenshot please): ?-travelBetween(oceanside, san-bernardino).

---------------------------------------------------------------------------------

(4) extend the program with a rule that adds directTrain between A and B whenever there is one from B to A

---------------------------------------------------------------------------------

(5) what results do you get when you test this query (screenshot please): ?-travelBetween(san-bernardino, oceanside).

---------------------------------------------------------------------------------

(6) what are some problems this program might run into?

Explanation / Answer

example: byCar(auckland, hamilton). byCar(hamilton, raglan). byCar(valmont, saarbruecken). byCar(valmont, metz). byTrain(metz, frankfurt). byTrain(saarbruecken, frankfurt). byTrain(metz, paris). byTrain(saarbruecken, paris). byPlane(frankfurt, bangkok). byPlane(frankfurt, singapore). byPlane(paris, losAngeles). byPlane(bangkok, auckland). byPlane(singapore, auckland). byPlane(losAngeles, auckland). connect(X,Y):-byCar(X,Y);byCar(Y,X). connect(X,Y):-byTrain(X,Y);byTrain(Y,X). connect(X,Y):-byPlane(X,Y);byPlane(Y,X). travel(X,Y):-travelLoop(X,Y,[]). travelLoop(X,Y,_):-connect(X,Y). travelLoop(X,Y,Passed):-connect(X,Thru), +memberchk(Thru,Passed), travelLoop(Thru,Y,[Thru|Passed]),X=Y. travel(_,_):-write('Wrong travel input, please try again.'),nl. travel(X,Y,go(X,Y)):-byCar(X,Y). travel(X,Y,go(X,Y)):-byTrain(X,Y). travel(X,Y,go(X,Y)):-byPlane(X,Y). travel(X,Y,go(X,Z,W)):-travel(X,Z,go(X,Z)),travel(Z,Y,W). travel1(X,Y,go(X,Y,car)):-byCar(X,Y). travel1(X,Y,go(X,Y,train)):-byTrain(X,Y). travel1(X,Y,go(X,Y,plane)):-byPlane(X,Y). travel1(X,Y,go(X,Z,V,W)):-travel1(X,Z,go(X,Z,V)),travel1(Z,Y,W).

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at drjack9650@gmail.com
Chat Now And Get Quote