Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. let meilleurCoup profondeurMax etat profondeur etatsFils evaluation =
  2. let rec meilleurCoupAux profondeurMax (etat,chemin) profondeur etatsFils evaluation =
  3. let listeFils = etatsFils etat in
  4. let longueurFils = longueur listeFils in
  5. if longueurFils = 0 || profondeurMax = profondeur
  6. then
  7. ((evaluation etat), chemin)
  8. else
  9. fold_left ( fun (r,cheminR) (cheminF,fils) -> let (aM,cheminAM) = meilleurCoupAux profondeurMax (fils,cheminF) (profondeur+1) etatsFils evaluation
  10. in if (pair profondeur) then ( if ( (max aM r) = r ) then (r,cheminR) else (aM,cheminF) ) else (if ( (min aM r) = r ) then (r,cheminR) else (aM,cheminF) ) )
  11. (meilleurCoupAux profondeurMax (match tete listeFils with (c, f) -> (f , c) ) (profondeur+1) etatsFils evaluation) (pop listeFils)
  12. in
  13. meilleurCoupAux profondeurMax (etat,"") profondeur etatsFils evaluation;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement