0% ont trouvé ce document utile (0 vote)
22 vues4 pages

Initiation À Prolog: Objectif

Ce document présente un travail pratique sur l'initiation au langage de programmation Prolog, visant à familiariser les étudiants avec ses concepts fondamentaux tels que les faits, les règles, et les requêtes. Il inclut des instructions pour l'installation de SWI-Prolog, ainsi que des exercices pratiques pour traduire des informations en faits Prolog et poser des questions sur ces données. Les exercices portent sur des thèmes variés, tels que les animaux domestiques et les plats préférés des habitants.

Transféré par

Sofiane SH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues4 pages

Initiation À Prolog: Objectif

Ce document présente un travail pratique sur l'initiation au langage de programmation Prolog, visant à familiariser les étudiants avec ses concepts fondamentaux tels que les faits, les règles, et les requêtes. Il inclut des instructions pour l'installation de SWI-Prolog, ainsi que des exercices pratiques pour traduire des informations en faits Prolog et poser des questions sur ces données. Les exercices portent sur des thèmes variés, tels que les animaux domestiques et les plats préférés des habitants.

Transféré par

Sofiane SH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Monastir A.U.

: 2023-2024
Faculté des Sciences de Monastir Matière : Fondements de l'intelligence
Département des Sciences de l'Informatique artificielle (programmation IA)

TP1 : Initiation à prolog

Objectif
L'objectif de ce travail pratique est de vous familiariser avec le langage Prolog, tout en
développant vos compétences en résolution de problèmes logiques grâce à l'application pratique
de ce langage.

Introduction

Prolog est un langage de programmation logique, ce qui signifie que son approche de la
programmation diffère significativement des langages impératifs traditionnels. Au lieu de
définir un programme comme une séquence d'instructions, Prolog utilise une collection
d'affirmations - sous forme de faits et de règles - pour représenter une base de connaissances
sur un sujet donné. Lorsqu'on utilise un programme Prolog, on interroge cette base de
connaissances pour obtenir des informations ou résoudre des problèmes.

• Nous utiliserons SWI-Prolog, une version gratuite et libre du langage Prolog.

Cette distribution peut être téléchargée à partir des liens suivants :


Pour Windows, rendez-vous sur [Link]
Pour Linux, sur [Link]

Syntaxe de Prolog

La syntaxe de Prolog est unique et se caractérise par les éléments suivants :


o Faits : Les faits sont des assertions de base qui décrivent les relations ou les
caractéristiques des objets. Par exemple, parent (Ahmed, Sami). affirme qu'Ahmed est
parent de Sami.
o Règles : Les règles décrivent des relations en utilisant des conditions. Elles se
composent d'une tête et d'un corps, séparés par :-. Par exemple, grandparent(X, Y) :-
parent(X, Z), parent(Z, Y). définit qu'une personne X est grand-parent de Y si X est
parent de Z et Z est parent de Y.
o Requêtes : Utilisées pour interroger la base de connaissances, les requêtes sont
formulées pour trouver des informations ou vérifier des faits. Par exemple, ?-
parent(Ahmed, Sami). demande si Ahmed est parent de Sami.
o Variables : Commencent par une lettre majuscule ou un underscore. Elles sont
utilisées pour représenter une entité inconnue ou variable. Par exemple, dans la requête
?- parent(X, Sami)., X est une variable.
o Listes et Structures : Prolog permet de créer des listes et des structures complexes
pour représenter des données. Les listes sont définies par des crochets [ ], et les
structures utilisent des parenthèses ( ).
o Commentaires : Tout texte suivant le caractère % jusqu'à la fin de la ligne est
considéré comme un commentaire et est ignoré par l'interpréteur.

Premiers pas en programmation prolog

Pour créer un fichier Prolog, écrire du code, sauvegarder, consulter et tester le fichier, suivez
ces étapes :
Création d'un Nouveau Fichier :
• Lancez SWI-Prolog sur votre ordinateur.
• Dans la fenêtre de SWI-Prolog, sélectionnez "File" (Fichier) dans la barre de menu,
puis "New" (Nouveau).
Écriture du Code Prolog :

• Dans la nouvelle fenêtre d'édition, tapez votre code Prolog. Par exemple :

parent(salah, ali).
parent(asma, mohamed).
parent(nour, ali).
Sauvegarde du Fichier :

• Allez dans le menu "File", puis choisissez "Save As" (Enregistrer sous).
• Donnez un nom à votre fichier avec l'extension .pl, par exemple [Link].
• Choisissez l'emplacement pour sauvegarder le fichier.
Consultation du Fichier via le Menu :
• Cliquez sur l'option "File" (Fichier) dans la barre de menu de l'interface SWI-Prolog.
• Sélectionnez "Consult" (Consulter) dans le menu déroulant.

• Une fenêtre de dialogue s'ouvrira. Naviguez jusqu'à l'emplacement où vous avez


sauvegardé votre fichier Prolog (par exemple, [Link]).

• Sélectionnez le fichier et cliquez sur "Open" (Ouvrir).

Tester le Code :
• Après avoir consulté le fichier, testez votre code en faisant des requêtes. Par exemple :

?- parent(salah, ali).

?- parent(nour, mohamed).

Exercice1 :
Dans un quartier tranquille, différents résidents possèdent divers types d'animaux domestiques.
Les informations disponibles sont les suivantes :
• Alice possède un chat.
• Bob possède un chien.
• Charlie possède un poisson.
• Dana possède un chat.
Tâches :
Traduisez ces informations en faits Prolog.
Questions à Résoudre :
Qui, parmi les résidents, possède un chat ?
Bob possède-t-il un chat ?
Qui possède un poisson ?
Exercice 2 :
Objectif :

Développer une base de connaissances en Prolog pour enregistrer les plats préférés de différents
habitants et formuler des requêtes pour obtenir des informations spécifiques.

Contexte :

Dans une ville cosmopolite, chaque habitant a un plat préféré. Voici quelques exemples :

• Ahmed préfère le couscous.


• Sami préfère le tajine.
• Leila préfère la pizza.
• Karim préfère les spaghetti.

Tâches :

Traduisez ces informations en faits Prolog.

Questions à Résoudre :

Quel est le plat préféré de Sami ?

Qui aime le couscous ?

Est-ce que quelqu'un préfère la Ojja ?

Vous aimerez peut-être aussi