|
@@ -0,0 +1,66 @@
|
|
|
+%==============================================================================
|
|
|
+% Weighted graph of romanian road system.
|
|
|
+%==============================================================================
|
|
|
+road(arad, zerind, 75).
|
|
|
+road(arad, sibiu, 140).
|
|
|
+road(arad, timisoara, 118).
|
|
|
+road(zerind, oradea, 71).
|
|
|
+road(oradea, sibiu, 151).
|
|
|
+road(timisoara, lugoj, 111).
|
|
|
+road(lugoj, mehadia, 70).
|
|
|
+road(mehadia, drobeta, 75).
|
|
|
+road(drobeta, craiova, 120).
|
|
|
+road(sibiu, faragas, 99).
|
|
|
+road(sibiu, rimnicuvilcea, 80).
|
|
|
+road(rimnicuvilcea, craiova, 146).
|
|
|
+road(rimnicuvilcea, pitesti, 97).
|
|
|
+road(craiova, pitesti, 138).
|
|
|
+road(pitesti, bucharest, 101).
|
|
|
+road(faragas, bucharest, 211).
|
|
|
+road(giurgiu, bucharest, 90).
|
|
|
+road(bucharest, urziceni, 85).
|
|
|
+road(urziceni, hirsova, 98).
|
|
|
+road(hirsova, eforie, 86).
|
|
|
+road(urziceni, vaslui, 142).
|
|
|
+road(vaslui, iasi, 92).
|
|
|
+road(iasi, neamt, 87).
|
|
|
+%==============================================================================
|
|
|
+
|
|
|
+twoWayRoad(City1, City2, Distance):-
|
|
|
+ road(City1, City2, Distance).
|
|
|
+twoWayRoad(City1, City2, Distance):-
|
|
|
+ road(City2, City1, Distance).
|
|
|
+
|
|
|
+move(City1, City2):- twoWayRoad(City1, City2, _).
|
|
|
+
|
|
|
+move(City1, City2, Distance):-
|
|
|
+ twoWayRoad(City1, City2, Distance).
|
|
|
+
|
|
|
+%==============================================================================
|
|
|
+% Decimal latitude and longitude of US cities.
|
|
|
+% Useful in computing D-2 (Pythagorian) distance in the heuristic.
|
|
|
+% 0.01 degrees is about 1 km precision.
|
|
|
+% city(name, latitude north, longitude west)
|
|
|
+% The longitude of japan (35.68N, 139.77E) is fudged so everything is west:
|
|
|
+% 360 + E, where E is negative.
|
|
|
+%==============================================================================
|
|
|
+city(arad, 46.17, 21.33). %Arad 46°10'N 21°20'E
|
|
|
+city(zerind, 46.62, 21.52). %Zerind 46°37'N 21°31'E
|
|
|
+city(sibiu, 45.8, 24.15). %Sibiu 45°48'N 24°9'E
|
|
|
+city(timisoara, 45.75, 21.23). %Timisoara
|
|
|
+city(oradea, 47.03, 21.97). %Oradea 47°02'N 21°58'E
|
|
|
+city(lugoj, 45.7, 21.95). %Lugoj 45°42'N 21°57'E
|
|
|
+city(mehadia, 44.90, 22.37). %Mehadia 44°54'2"N 22°22'E
|
|
|
+city(drobeta, 44.65, 22.68). %Drobeta-Turnu Severin 44°39'N 22°41'E
|
|
|
+city(craiova, 44.33, 23.78). %Craiova 44°21'N 23°48'E
|
|
|
+city(faragas, 45.84, 24.97). %Fagaras 45°48'N 24°58'E
|
|
|
+city(rimnicuvilcea, 45.10, 24.38). %Ramnicu Valcea 45°09'N 24°21'E
|
|
|
+city(pitesti, 44.87, 24.88). %Pitesti 44°52'N 24°54'E
|
|
|
+city(bucharest, 44.43, 26.10). %Bucharest 44°27'N 26°10'E
|
|
|
+city(giurgiu, 43.90, 25.97). %Giurgiu 43°52'N 25°57'E
|
|
|
+city(urziceni, 44.72, 26.63). %Urziceni 44°43'N 26°38'E
|
|
|
+city(hirsova, 44.68, 27.93). %Hirsova 44°41'N 27°56'E
|
|
|
+city(eforie, 44.07, 28.63). %Eforie 44°4'N 28° 38'E
|
|
|
+city(vaslui, 46.63, 27.70). %Vaslui 46°38'N 27°42'E
|
|
|
+city(iasi, 47.16, 27.59). %Iasi 47°10'N 27°40'E
|
|
|
+city(neamt, 46.93, 26.37). %Piatra Neamt 46°55'N 26°20'E
|