From 5127251a62e08a049780821b3006de912d6eccbd Mon Sep 17 00:00:00 2001 From: Michael Leuschel <leuschel@uni-duesseldorf.de> Date: Tue, 20 Dec 2022 10:42:15 +0100 Subject: [PATCH] add roumania.pl for A* Signed-off-by: Michael Leuschel <leuschel@uni-duesseldorf.de> --- logic_programming/prolog_files/roumania.pl | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 logic_programming/prolog_files/roumania.pl diff --git a/logic_programming/prolog_files/roumania.pl b/logic_programming/prolog_files/roumania.pl new file mode 100644 index 0000000..ef47024 --- /dev/null +++ b/logic_programming/prolog_files/roumania.pl @@ -0,0 +1,63 @@ +start(arad). + +kante(A,B) :- s(A,_,B). +kante(A,B) :- s(B,_,A). + +wkante(A,W,B) :- s(A,W,B). +wkante(A,W,B) :- s(B,W,A). + +s(oradea,71,zerind). +s(oradea,151,sibiu). +s(arad,75,zerind). +s(arad,118,timisoara). +s(arad,140,sibiu). +s(fagaras,99,sibiu). +s(rimnicu_vilcea,80,sibiu). +s(bucharest,211,fagaras). +s(bucharest,101,pitesti). +s(bucharest,90,giurgiu). +s(craiova,138,pitesti). +s(craiova,120,dobreta). +s(craiova,146,rimnicu_vilcea). +s(dobreta,75,mehadia). +s(lugoj,70,mehadia). +s(lugoj,111,timasoara). +s(pitesti,97, rimnicu_vilcea). + +s(eforie,86,hirsova). +s(iasi,87,neamt). +s(bucharest,85,urziceni). +s(hirsova,98,urziceni). +s(iasi,92,vaslui). +s(urziceni,142,vaslui). + +% ----------------------------- +% fuer A* (SLD: straight line distance nach Bucharest) + +h(arad,366). +h(bucharest,0). +h(craiova,160). +h(dobreta,242). +h(eforie,161). %% +h(fagaras,178). +h(giurgiu,77). +h(hirsova,151). %% +h(iasi,226).%% +h(lugoj,244). +h(mehadia,241). +h(neamt,234). %% +h(oradea,380). +h(pitesti,98). +h(rimnicu_vilcea,193). +h(sibiu,253). +h(timisoara,329). +h(urziceni,80). %% +h(vaslui,199). %% +h(zerind,374). + +ziel(bucharest). + + +prnt(N) :- format('~w~n',[N]). +valid_state(X) :- findall(X,kante(X,_),L), sort(L,SL), member(X,SL). + -- GitLab