Tp1 prolog - intelligence artificielle ai - prolog - télécha

Intelligence Artificielle AI - Prolog : TP1 PROLOG

Télécharger PDF

Introduction à Prolog : Exercices Pratiques

Blandine Ginon, Amjad Rattrout, Nadia Kabachi et Alain Mille – M1 Info/BIA/2012

Ce travail pratique (TP) vise à familiariser avec l’environnement de Prolog à travers des programmes simples.

Exercices de Base

Exercice A : Relations Familiales

Voici un programme définissant des relations de parenté et permettant de trouver un grand-père :

pere(charlie, david).
pere(henri, charlie).
grandpere(X, Y) :- pere(X, Z), pere(Z, Y).

Pour exécuter ce programme, tapez-le dans un éditeur de texte simple et sauvegardez-le dans un fichier avec le suffixe .pl, par exemple prprog.pl. Ensuite, lancez Prolog et consultez le fichier avec la commande :

?- consult('prprog.pl').

Exemples d’interrogations et de réponses :

?- pere(X, Y).
X = charlie, Y = david ;
X = henri, Y = charlie ;
No.

?- grandpere(henri, X).
X = david ;
No.

?- halt.

Exercice B : Habitants et Capitales

Ce programme associe des personnes à des villes et vérifie si une personne habite dans une capitale :

habite(jean, paris).
habite(hans, munich).
habite(juan, madrid).
capitale(paris).
capitale(madrid).

habite_capitale(Qui) :-
    habite(Qui, Qqpart),
    capitale(Qqpart).

Consultez le fichier avec :

?- consult('dxprog.pl').

Exemples d’interrogations et de réponses :

?- habite(jean, paris).
Yes.

?- habite(jean, Qqpart).
Qqpart = paris ;
No.

?- habite_capitale(Qui).
Qui = jean ;
Qui = juan ;
No.

?- habite(Qui, paris).
Qui = jean ;
No.

?- habite(_, Qqpart).
Qqpart = paris ;
Qqpart = munich ;
Qqpart = madrid ;
No.

?- habite(Qui, Qqpart), capitale(Qqpart).
Qui = jean, Qqpart = paris ;
Qui = juan, Qqpart = madrid ;
No.

?- halt.

Exercice C : Les Mutants

Ce programme génère des noms hybrides d’animaux en combinant leurs débuts et fins :

non_vide([_|_]).
mutant(S) :-
    animal(D),
    animal(F),
    append(Debut, Milieu, D),
    non_vide(Debut),
    non_vide(Milieu),
    append(Milieu, _, F),
    append(Debut, F, M),
    name(S, M).

animal("alligator").
animal("lapin").
animal("tortue").
animal("pintade").
animal("cheval").

Consultez le fichier avec :

?- consult('mutants.pl').

Exemple d’interrogation :

?- mutant(X).
X = alligatortue ;
X = lapintade ;
X = chevalligator ;
X = chevalapin ;
No.

Manipulation de Listes

Reprenez les programmes du TD6 (Prolog) et testez-les pour consolider vos connaissances sur la manipulation des listes.

FAQ

1. Qu’est-ce que Prolog ?

Prolog est un langage de programmation logique utilisé pour la résolution de problèmes basés sur des règles et des faits. Il est particulièrement efficace pour le traitement symbolique et les applications nécessitant une logique déclarative.

2. Comment consulter un fichier dans Prolog ?

Utilisez la commande consult('nom_du_fichier.pl') pour charger un fichier contenant des règles ou des faits dans l’environnement Prolog.

3. Que signifie non_vide([_|_]) dans Prolog ?

Cette règle vérifie si une liste n’est pas vide. La syntaxe [_|_] signifie qu’elle contient au moins un élément (tête) et une sous-liste (queue).

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne