Bonsoir je rencontre un problème avec l'utilisation de la fonction bagof avec le code suivant (je vous mets que les parties utiles) :
le problèmes c'est que appelé avec le test suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 heuristique(Goal,State,Act, ForbiddenState, ForbiddenAc):- bagof(Ac,preclist(Ac, PrecList),R), sous-chaine(PrecList,State), nl,write(R),nl. sous-chaine([],_). sous-chaine([X|Y],State):- member(X,State),sous-chaine(Y,State). preclist(stack(X,Y), [holding(X),clear(Y)]). preclist(pickup(X), [ontable(X),clear(X), handempty]). preclist(unstack(X,Y), [on(X,Y), clear(X), handempty]). preclist(putdown(X), [holding(X)]).
heuristique(_,[clear(a),clear(b),clear(c),ontable(a),ontable(b),ontable(c),handempty],_, _, _).
mon R ne contient pas la liste de toute les actions possibles mais 1 a la fois comment faire pour avoir une liste contenant bien [pickup(a),pickup(b),pickup(c)] dans R directement.
Merci d'avance pour votre aide,
Cordialement.
ps : je vous joins le code complet si jamais besoins ai
Partager