Prolog Arad par a

816 palavras 4 páginas
% Mapa da romenia

% Um estado é simplesmente o nome da cidade onde o agente se encontra

% Inicialmente está em Arad e_inicial(arad). % E quer chegar a Bucharest e_objectivo(bucharest). % Um agente pode ir de uma cidade a outra, se houver
% uma estrada entre essas cidades sucessor(Or,Dest,move(Or,Dest),D) :- estrada(Or,Dest,D) ; estrada(Dest,Or,D).

% E cá vão todas as estradas estrada(oradeo,zerind,71). estrada(oradeo,sibiu,151). estrada(zerind,arad,75). estrada(arad,sibiu,140). estrada(arad,timisoara,118). estrada(timisoara,lugoj,111). estrada(lugoj,mehadia,70). estrada(mehadia,dobreta,75). estrada(dobreta,craiova,120). estrada(craiova,vilcea,146). estrada(craiova,pitesti,138). estrada(sibiu,vilcea,80). estrada(vilcea,pitesti,97). estrada(sibiu,fagaras,99). estrada(fagaras,bucharest,211). estrada(pitesti,bucharest,101). estrada(bucharest,giurgiu,90). estrada(bucharest,urziceni,85). estrada(urziceni,hirsova,98). estrada(hirsova,eforie,86). estrada(urziceni,vaslui,142). estrada(vaslui,iasi,92). estrada(iasi,neamt,87). % A heuristica usada é a distancia em linha recta a Bucharest h_custo(C,H) :- distancia(C,H).

% E cá vão as distâncias distancia(arad,366). distancia(bucharest,0). distancia(craiova,160). distancia(dobreta,242). distancia(eforie,161). distancia(fagaras,178). distancia(giurgiu,77). distancia(hirsova,151). distancia(iasi,226). distancia(lugoj,244). distancia(mehadia,241). distancia(neamt,234). distancia(oradeo,380). distancia(pitesti,98). distancia(vilcea,193). distancia(sibiu,253). distancia(timisoara,329). distancia(urziceni,80). distancia(vaslui,199). distancia(zerind,374).

% Mostra em que cidade está e_mostra(C) :- write('Esta em : '), write(C), nl.

% Mostra para onde se desloca op_mostra(move(O,D)) :- write('Vai de '), write(O), write(' para '), write(D), nl.

% Mapa da romenia

% Um estado é simplesmente o nome da cidade onde o agente se encontra

% Inicialmente

Relacionados

  • Marcus
    169348 palavras | 678 páginas