Exemple d'une simulation pour l'apprentissage de prolog
Telecom-Paris - 46 rue Barrault - 75634 Paris Cedex 13 …afficher plus de contenu…
voiture(Revenus, 10) :-
Revenus >= 4000, Revenus < 10000 .voiture(Revenus, 30) :-
Revenus >= 4000, Revenus >= 10000 .
Ce programme est inefficace pour plusieurs raisons : il comporte des buts redondants dans les clauses 1 et 3, et l'aspect déterministe du programme n'est pas pris en considération (par ex. un cut peut être introduit en clause 1 pour éviter un appel inutile des clauses suivantes).
L'interprète Prolog ne peut pas mettre clairement en évidence le manque d'efficacité du programme. Il peut simplement montrer que le programme a un comportement anormal, mais il ne peut pas relier ceci à une faute conceptuelle éventuelle sur le fait, par exemple, qu'il y a backtracking et que le programme peut donner plusieurs solutions, ou encore sur la signification des cuts, etc. C'est en cela que l'intervention de savant 3 peut être …afficher plus de contenu…
Les difficultés pédagogiques résident essentiellement dans la bonne perception de la pertinence des arguments que la machine oppose à l'étudiant. Nous avons cherché à copier les mécanismes argumentatifs que l'on peut observer dans les conversations naturelles [dessalles 1992b]. Toutefois, il n'est pas certain que l'effet logique souhaité d'un argument soit toujours perçu par l'étudiant. Par exemple, celui-ci doit comprendre les raisons qui poussent la machine à s'étonner (cf. extrait 2). Il s'agit là d'un problème non trivial sur lequel nous travaillons. En revanche, l'amélioration de la forme des arguments (pour éviter la monotonie de l'extrait 1) ne semble pas constituer une difficulté