Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let meilleurCoup profondeurMax etat profondeur etatsFils evaluation =
- let rec meilleurCoupAux profondeurMax (etat,chemin) profondeur etatsFils evaluation =
- let listeFils = etatsFils etat in
- let longueurFils = longueur listeFils in
- if longueurFils = 0 || profondeurMax = profondeur
- then
- ((evaluation etat), chemin)
- else
- fold_left ( fun (r,cheminR) (cheminF,fils) -> let (aM,cheminAM) = meilleurCoupAux profondeurMax (fils,cheminF) (profondeur+1) etatsFils evaluation
- 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) ) )
- (meilleurCoupAux profondeurMax (match tete listeFils with (c, f) -> (f , c) ) (profondeur+1) etatsFils evaluation) (pop listeFils)
- in
- meilleurCoupAux profondeurMax (etat,"") profondeur etatsFils evaluation;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement