Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 0.50 KB | None | 0 0
  1. %branch and bound
  2.  
  3. caminho_bb(O,D,C):-
  4.     caminho_bb2(D,[(0,[O])],C).
  5.  
  6. %valida se o destino ja se encontra na lista de listas visitados
  7. caminho_bb2(D,[(_,[D|L])|_],[D|L]).
  8.  
  9. % V e o valor somado de todos os valores dos ramos e depois e feito a
  10. % soma desses valores
  11. caminho_bb2(D,[(V,[X|L])|R],Res):-
  12.     findall((NV,[Z,X|L]),(liga(X,Z,Par),not(member(Z,[X|L])),NV is Par+V),Caminhos),
  13.     append(R,Caminhos,F),
  14.     sort(F,F2),
  15.     caminho_bb2(D,F2,Res).
  16.     %ao fazer o sort o caminho com menos custo fica em primeiro
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement