Programmation
Logique
et
Programmation Logique avec Contraintes
stage du vendredi 8 septembre au vendredi 15 septembre
2000
(programme officiel)
en construction, version du 10 janvier 2001
last edition 30 march 2001
Contents
Emploi du temps
|
Jour
|
Cours en Amphi A
|
TDs
Groupe 1
Groupe 3
|
TDs
Groupe 2
|
Thème
|
|
Vendredi 8 septembre 2000
|
9h - 10h30
10h45h - 12h15
|
14h - 17h
|
13h45 - 16h45
|
Logique, Résolution, Unification, Prolog pur
|
|
Lundi 11 septembre 2000
|
9h - 11h
|
11h15 - 12h15
14h - 17h
|
11h15 - 12h15
13h45 - 16h45
|
Sémantiques de Prolog
programmation en Prolog pur
|
|
Mardi 12 septembre 2000
|
9h - 11h
|
11h15 - 12h15
14h - 17h
|
11h15 - 12h15
13h45 - 16h45
|
Programmation Logique
avec Contraintes
|
|
Mercredi 13 septembre 2000
|
9h - 11h
|
11h15 - 12h15
14h - 17h
|
11h15 - 12h15
13h45 - 16h45
|
Programmation Logique
avec Contraintes
|
|
Jeudi 14 septembre 2000
|
9h - 10h
|
10h15 - 12h15
14h - 17h
|
10h15 - 12h15
13h45 - 16h45
|
Programmation Logique
avec Contraintes
|
|
Vendredi 15 septembre 2000
|
pas de cours
|
9h - 12h
14h - 17h
|
9h - 12h
13h45 - 16h45
|
Programmation Logique
avec Contraintes
|
Les trois groupes, découpés selon l'ordre alphabétique
(voir tableau d'affichage), sont encadrés comme suit:
Back to Top
Exercices de TDs
Une liste d'exercices en sept pages est distribuée le premier jour
et accessible en postscript. Trois
fichiers .pl à copier chez soi sont disponibles à partir
du répertoire ~gloess/chip/clp/exercices: init.pl,
map.pl, money.pl et revapp.pl.
Les solutions à ces exercices seront visibles (à partir
de vendredi 15 septembre 2000) dans le répertoire ~gloess/chip/clp/solutions:
-
champions.pl résoud le problème
de la médaille d'or en CLP(FD);
-
compiler.pl utilise la technique des grammaires
de métamorphose (Alain Colmerauer) pour compiler des expressions
algébriques en formes LISP;
-
criver.pl donne une
solution CLP(FD) au problème du fermier, de la chèvre, du
loup et du chou;
-
init.pl généralise la somme 1+...+N
dans les entiers (prédicat "sumto" du cours) aux rationnels (prédicat
"sumto2");
-
map.pl traite le problème du coloriage
de la carte de Yougoslavie avec une solution en CLP(FD) et une solution
en Prolog pur;
-
money.pl résoud le puzzle "SEND+MORE=MONEY"
en CLP(FD);
-
nqueens.pl résoud le problème
des N reines en CLP(FD);
-
river.pl traite le problème du fermier,
de la chèvre, du loup et du chou en Prolog pur avec:
-
une version sémantiquement correcte et complète mais non
opérationnelle;
-
divers moyens d'obtenir la terminaison en contournant la stratégie
de Prolog standard tout en restant en Prolog pur;
-
spriver.pl traite le même problème
en Prolog standard, en semant des cailloux comme le petit poucet pour éviter
de repasser par un état déjà rencontré, ce
qui donne une solution très efficace, comme criver.pl.
Back to Top
Comment faire du CHIP
Lire le fichier ~gloess/chip/A_LIRE.
Je n'arrive pas à faire marcher ce lien vers /opt/chip52/Documentation/on-line.htm
correctement: Documentation CHIP :
la page de Cosytec apparait, mais ensuite les liens internes à
cette page ne fonctionnent pas!
Back to Top
Projet
Le sujet du projet sera publié sur le www et disponible sur papier
au plus tard lundi 18 septembre 2000:
-
Chess.ps contient le sujet du projet au format
postscript: Attention! Par suite d'un bug, les caractères ">=" ou
">" n'apparaissent pas toujours sous "ghostview" devant la lettre
grecque "beta" sur le schéma du minimax alpha beta en Page 3;
-
Chess.doc est le fichier Word (créé
sur un Macintosh de Apple) qui a permis d'engendrer Chess.ps (sous Microsoft
Windows) grâce à la machine Citrix ICA de l'ENSERB (commande
"cica" sous Solaris). [Le caractère ">" a dû être
remplacé par ">=" car il n'apparaissait pas sous Word.]
Une solution est disponible dans le répertoire ~gloess/chip/clp/project/stage2000/solution
avec:
-
demo.pl: la racine de l'ensemble des
fichiers CHIP, avec des commentaires pour lancer le tout sous CHIP;
-
chess.pl: les règles du jeu
d'échec (avec un échiquier de taille paramétrable)
pour une fin de partie avec Roi-Tour contre Roi-Tour (j'avoue que mon implantation
ne respecte pas strictement les règles véritables, car elles
permettent à un roi de se mettre en échec, et donc de se
faire manger au coup suivant);
-
display.pl: l'affichage de l'échiquier
à l'écran;
-
minimax_alpha_beta.pl:
le minimax alpha beta;
-
predcall.pl: application d'un prédicat
Prolog binaire ou ternaire à des arguments.
Cette solution n'est pas meilleure que certaines des votres (que j'espère
publier): elle permet de traiter un échiquier 7X7 jusqu'à
la profondeur 8 en utilisant l'heuristique minimale, sous "chip5 -L180000
-G180000" (voir l'astuce du prédicat "the" qui permet d'oublier
les sous-arbres au fur et à mesure de leur exploration).
Des notes provisoires (avant
confirmation par le jury) sont maintenant disponibles (intranet uniquement).
Le projet est à faire par binôme: un trinôme au plus
est autorisé. La liste des binômes et de l'éventuel
trinôme pour l'ensemble des groupes doit être communiquée
électroniquement aux trois intervenants, avec copies à Madame
Francoise
Verdier (Secrétariat de la Filière Informatique, S226)
et à Monsieur Michel
Pallard, au plus tard le vendredi 15 septembre 2000 à 23h59.
Les binômes et l'éventuel trinôme peuvent être
constitués de manière quelconque, et en particulier à
cheval sur plusieurs groupes de TDs. Aucun changement ne sera admis, et
tout étudiant non inscrit dans un et un seul binôme ou trinôme
aura automatiquement 0 au projet.
La date de remise du projet est fixée au lundi 9 octobre 2000.
Celui-ci doit être remis sous les deux formes
suivantes:
-
avant 17h chez Madame Francoise
Verdier pour la version papier;
-
et avant 23h59 sur le répertoire
prévu à cet effet par Monsieur Michel
Pallard pour la version électronique.
Tout retard entraînera automatiquement la note 0, la date des fichiers
faisant foi pour la version électronique (ne pas modifier les fichiers
après la date limite).
Back to Top
© Copyright 1999-3000 Paul
Y Gloess