Sessions 6 et 7 :
Travaux pratiques


Sommaire du TP :

Présentation du TP
Exercice 1 : Retour de monnaie
Exercice 2 : Coloriage de cartes
Exercice 3 : Sel et moutarde
Exercice 4 : Send more money
Exercice 5 : Le zèbre




Présentation du TP

Le but de ce TP, qui fait l'objet de ces deux dernières sessions, est d'utiliser la programmation par contraintes pour résoudre les problèmes que vous avez modélisés sous la forme de CSPs lors de la deuxième session de cours.

Ce TP est composé des 5 exercices étudiés lors de la deuxième session. Pour chacun de ces exercices, nous commençons par vous rappeler l'énoncé du problème et sa modélisation sous la forme d'un CSP (X,D,C). Vous devez alors écrire le code Gnu-Prolog permettant de résoudre effectivement ce problème. Pour décrire les prédicats à écrire, on utilisera les conventions suivantes.


Exercice 1 : Retour de monnaie

1.1 - Description du problème

On s'intéresse à un distributeur automatique de boissons. L'utilisateur insère des pièces de monnaie pour un total de T centimes d'Euros, puis il sélectionne une boisson, dont le prix est de P centimes d'Euros (T et P étant des multiples de 10). Il s'agit alors de calculer la monnaie à rendre, sachant que le distributeur a en réserve E2 pièces de 2 €, E1 pièces de 1 €, C50 pièces de 50 centimes, C20 pièces de 20 centimes et C10 pièces de 10 centimes.

1.2 - Formalisation du problème sous la forme d'un CSP (X,D,C)

1.3 - Travail à faire

Ecrivez le prédicat monnaie/4 suivant :

Corrigé de l'exercice 1


Exercice 2 : Coloriage d'une carte

2.1 - Description du problème

Il s'agit de colorier les 14 régions de la carte ci-dessous, de sorte que deux régions ayant une frontière en commun soient coloriées avec des couleurs différentes. On dispose pour cela des 4 couleurs suivantes : bleu, rouge, jaune et vert.


2.2 - Formalisation du problème sous la forme d'un CSP (X,D,C)

2.3 - Travail à faire

Ecrivez le prédicat carte/2 suivant :