Un tutoriel simple sur WinProlog | |||||||||||||||
Petit glossaire des lettres utilisées par le traceur de Win-Prolog :
|
|||||||||||||||
Allocation de l'espace dans WinProlog : Lorsque vous chargez WinProlog, la console affiche certaines informations de configuration : ![]() Les valeurs affichées sont celles par défaut. Cependant, il est possible que vous fassiez (par exemple) un programme hautement complexe et qu'alors vous obteniez à l'exécution une erreur du genre Backtrack stack full. Dans ce cas, la première solution est bien entendu de vérifier s'il n'y aurait pas moyen de modifier votre programme pour que l'erreur ne se reproduise pas. Autrement, il vous est possible d'augmenter l'espace alloué à la pile de retour-arrière (Backtrack Stack). En fait, vous pouvez modifier l'espace alloué à chacun des éléments donnés ci-haut. Pour modifier la taille allouée à un élément configurable, vous devez refermer WinProlog et le redémarrer en spécifiant les informations de configuration à la ligne de commande. Dans l'exemple ci-dessous, nous appelons WinProlog en allouant 256k à l'espace de la pile de retour-arrière (Backtrack Stack) et 256k à l'espace utilisé pour le tas (Heap Space): ![]() |
|||||||||||||||
Spypoints : un complément pour la trace :
Dans WinProlog, il est possible de suivrela résolution pas-à-pas au moyen de la commande "trace". Il peut arriver cependant que l'on désire surveiller la résolution d'un prédicat en particulier, sans être obligé de faire la trace du programme en entier. Il y a deux possibilités dans ce cas : |
|||||||||||||||
Ctrl+Pause : Lorsque WinPROLOG entre dans une boucle infinie, il est possible de l'arrêter en appuyant sur les touches Ctrl + Pause. | |||||||||||||||
Pour pouvoir faire des assertions de clauses avec un prédicat déjà utilisé dans la base de connaissances, vous devez le déclarer comme étant dynamique avec le prédicat dynamic/1. En début de fichier, ajouter la commande : :-dynamic nom_predicat/arité |
|||||||||||||||
Le petit jeu de tic-tac-toe suivant vous permettra peut-être de mieux comprendre les concepts abordés dans la séance #3 : tictactoe.zip (zippé parce que certains navigateurs interprètent les fichiers .pl comme du perl) |
|||||||||||||||
Vous pouvez télécharger 3 programmes Prolog (fichier recherche.zip) qui mettent en pratique les stratégies de recherche vues en cours : Vous trouverez suffisamment d'explications et de commentaires pour les essayer et mieux comprendre ces stratégies. |
|||||||||||||||
Les solutions aux exercices sur les listes et la récursivité. Les solutions aux exercices sur les listes et la récursivité, avec la coupure. |
|||||||||||||||
Le méta-interpréteur des diapositives de la séance #9. | |||||||||||||||
TALN.zip : Les grammaires présentées dans la séance #10, plus un fichier PROLOG pour l'analyse sémantique d'une question et la génération d'une réponse en LN ( la sémantique est produite d'une manière légèrement différente qu'avec la grammaire attribuée vue en classe) . | |||||||||||||||
planification.zip : Le planificateur présenté dans la séance #11. |