Quelques indices pour démarrer l'exercice 3
Pour modéliser ce problème sous la forme d'un CSP, il s'agit d'identifier les variables (les inconnues du problème), les domaines de valeur de ces variables, et les contraintes existant entre ces variables.
Ici, en ce qui concerne les inconnues du problème, on peut envisager deux modélisations différentes :
- Première modélisation :
Les inconnues sont les choix faits par les cinq amis, à savoir : rien, sel, moutarde ou sel-et-moutarde. Dans ce cas, on aura une variable pour chacun des cinq convives, chaque variable pouvant prendre une valeur parmi les quatre choix possibles.
- Deuxième modélisation :
Une autre possibilité est d'associer une variable booléenne à chaque couple convive/condiment, chacune de ces variables pouvant prendre pour valeur soit vrai (si le convive prend le condiment) soit faux (sinon). Etant donné qu'il y a 5 convives et 2 condiments (le sel et la moutarde), on aura alors 10 variables. Par exemple, si Barnabé ne prend rien, alors Barnabé/sel=faux et Barnabé/moutarde=faux ; s'il ne prend que du sel, alors Barnabé/sel=vrai et Barnabé/moutarde=faux ; s'il prend des deux condiments, alors Barnabé/sel=vrai et Barnabé/moutarde=vrai.
Quelle que soit la modélisation possible, il s'agit ensuite de définir les contraintes. Ici, il y aura une contrainte logique pour chaque phrase de l'énoncé (soit 10 contraintes), le "si et seulement si" se traduisant par une équivalence logique "<=>". Les formules logiques à mettre de chaque coté des équivalences sont ensuite dépendantes de la modélisation choisie...