• Aucun résultat trouvé

TP 4 Programmation Logique L3-UPN 2009/2010

N/A
N/A
Protected

Academic year: 2022

Partager "TP 4 Programmation Logique L3-UPN 2009/2010"

Copied!
1
0
0

Texte intégral

(1)

TP 4 Programmation Logique L3-UPN 2009/2010

Le but de cet exercice est celui d'implémenter en PROLOG un algorithme pour décider si une formule de logique propositionnelle en forme normale conjonctive est satisfiable ou non. Dans le cas où la formule est satisfiable, le programme doit retourner les valeurs de vérité affectées aux variables booléennes dans les clauses de la formule, qui font que celle-ci soit satisfiable.

Considérons l'exemple suivant :

Soit X = {x1,x2,x3} l'ensemble de variables booléennes et soit C = {c1,c2,c3,c4,c5,c6} l'ensemble de clauses, avec c1 = {x1,x2}, c2 = {¬x1,¬x2}, c3 = {x1,¬x2}, c4 = {x1,x3}, c5 = {¬x1,¬x3}, et c6 = {x2,x3}.

On peut représenter la formule précédente par le format suivant :

?- sat(3,[[1,2],[-1,-2],[1,-2],[1,3],[-1,-3],[2,3]],T).

où le premier paramètre du programme (3 dans l'exemple) corresponds au nombre de variables booléennes dans X; le deuxième paramètre corresponds à la formule propositionnelle qui est représentée par une liste des clauses et dont chaque clause cj est représentée par une liste d'entiers telle que si i appartient à la liste, alors xi appartient à cj, et si -i appartient à la liste, alors la négation de xi appartient à cj.

Finalement, le dernier paramètre T représente les valeurs de vérité affectées aux variables booléennes dans X telles qu'elles satisfassent la formule donnée. T est une liste binaire de longueur

|X| telle que si l'ième élément dans T est égal à 1, alors xi = vraie, et si il est égal à 0 alors xi = fausse.

Références

Documents relatifs

Donner un sens aux formules = interpr´ eter dans l’alg` ebre de Boole D´ efinition 2.. Une interpr´ etation du calcul propositionnel est une fonction I : X

C’est pourquoi nous donnons les axiomes comme schémas, ce qui veut dire que toutes les formules propositionnelles de L ayant la même forme que les formules qu’on énumère dans la

L’axiome (T), par contre, peut être lu comme restriction aux relations d’accessibilité : il force cette relation à être réflexive : si w est en relation avec n’importe quel

Vous tapez ce programme dans un éditeur de texte simple et sauvegardez dans un fichier « prprog.pl » (par exemple, ou tout autre nom avec le suffixe

Vous tapez ce programme dans un éditeur de texte simple et sauvegardez dans un fichier « prprog.pl » (par exemple, ou tout autre nom avec le suffixe .pl). ?- consult('

objets complexes, description à l'aide d'un terme composé : (symbole fonctionnel suivi de la liste parenthèsée des arguments)

• Grâce à la notation [T|R], on peut traiter des listes de longueur variable car on dit simplement qu’une liste est composée d’un élément en tête (ou d’une tête) et

Le lecteur attentif aura remarqu´e que les th´eor`emes que nous avons ´enonc´es pour la repr´esentation des fonctions bool´eennes par des formules, faisaient intervenir des