TP4 1 Satisfaisabilité (SAT) 2 Requêtes

Transcription

TP4 1 Satisfaisabilité (SAT) 2 Requêtes
Univ. Lille1 - Licence info 3ème année
2012-2013
Expression Logique et Fonctionnelle . . . Évidemment
TP4
1 Satisfaisabilité (SAT)
Relisez le codage vu en cours pour des formules propositionnelles, disponible ici.
Question 1 Appliquez ce codage pour tester la satisfaisabilité de la formule suivante :
(A or B) and (not B or C or not D) and (D or not E)
Résultat attendu :
DES> s a t (A, B, C, D, E)
{
sat (0 ,1 ,0 ,0 ,0) ,
sat (0 ,1 ,1 ,0 ,0) ,
sat (0 ,1 ,1 ,1 ,0) ,
sat (0 ,1 ,1 ,1 ,1) ,
sat (1 ,0 ,0 ,0 ,0) ,
sat (1 ,0 ,0 ,1 ,0) ,
sat (1 ,0 ,0 ,1 ,1) ,
sat (1 ,0 ,1 ,0 ,0) ,
sat (1 ,0 ,1 ,1 ,0) ,
sat (1 ,0 ,1 ,1 ,1) ,
sat (1 ,1 ,0 ,0 ,0) ,
sat (1 ,1 ,1 ,0 ,0) ,
sat (1 ,1 ,1 ,1 ,0) ,
sat (1 ,1 ,1 ,1 ,1)
}
I n f o : 14 t u p l e s computed .
DES>
Question 2 Appliquez le même codage à la formule
A and(B or (D and E))
Pour vous simplier le codate, il est conseillé de reécrire la formule en forme normale conjonctive (CNF), dans
une première étape.
Résultat attendu :
DES> s a t (A, B, D, E ) .
{
sat (1 ,0 ,1 ,1) ,
sat (1 ,1 ,0 ,0) ,
sat (1 ,1 ,0 ,1) ,
sat (1 ,1 ,1 ,0) ,
sat (1 ,1 ,1 ,1)
}
I n f o : 5 t u p l e s computed .
Si le sujet de la satisfaisabilité vous intéresse, lisez l'introduction sur Wikipedia.
2 Requêtes
Écrivez en DES les requêtes suivantes, sur la base du TP5 de BDD. Vous trouvez le script de création
ici, et les requetes du cours là.
1
Question 3 Les couleurs rares, pour lesquelles il n'y a qu'un seul article.
Question 4 Articles qui existent exclusivement en rouge.
Question 5 Le nom du vendeur de l'article le plus cher.
Question 6 Les noms des articles fournissables, avec prix maximal et minimal, uniquement pour les articles
avec plus d'un fournisseur.
3 Détection d'évaluations gées
Le but de cet exercice et de détecter des évaluations d'articles gées sur un site commercial, en
analysant les évaluations, et appliquant certains critères. Le point de départ est une base contenant des
faits dans la forme suivante :
e v a l u a t i o n ( Eval_id , Evaluateur_id , Note , Produit_id , C r i t i q u e , Date )
p r o d u i t ( Produit_id , Producteur , Note_moyenne , Classement_vente )
e v a l u a t e u r ( Evaluateur_id , Nombre_evals )
Les signication des variables sont les suivantes :
Eval_id un identiant numérique pour une évaluation
Evaluateur_id un identiant numérique pour un evaluateur
Note un entier entre 1 et 5 (5 : excellent, 4 : bon, 3 :moyen, 2 :mauvais, 1 :nul)
Produit_id identiant pour un produit
Critique contenu de l'évaluation, une chaîne de caractères.
Date la date de soumission de l'évaluation sur le site
Producteur le nom du producteur (ou, l'éditeur pour un livre ou de la musique)
Note_moyenne la note moyenne pour cet article
Classement_vente le classement des ventes, entre 1 et 10000. Plus d'articles ont étés vendus, plus
petit est le classement.
Nombre_evals le nombre d'évaluations par ce vendeur.
Question 7 Pour cet exercice, nous ne fournissons pas de base. Il faut la créer vous-mêmes. Nous suggérons la
création d'un document partagé par groupe pour cette tache, par exemple sur le site Titanpad.
Ecrivez les prédicats suivants :
Question 8 evaluation_gee_auteur_a(Eval) : trouvez les évaluations écrites par des auteurs d'au moins 1000
évaluations.
Question 9 evaluation_gee_auteur_b(Eval) trouvez les évaluations écrites par des auteurs qui ont jugé le
même article plus de deux fois le même jour.
Question 10 doublon(Eval) trouvez les évaluations dont le contenu apparaît ailleurs.
Question 11 classement_vente_bas trouvez les produits avec un nombre bas d'exemplaires vendus. Nous
dénissons ceci par un classement supérieur à 5000.
Question 12 haut_jugement_ge trouvez les évaluations avec une note haute (5) pour un article dont le classement de vente est bas (prédicat de la question précédente).
Question 13 spam(Evaluation) : trouvez les évaluations qui correspondent à au moins un des quatre critères
précédents.
Question 14 Trouvez des articles d'Apple et Sony, pour lesquels il existe des évaluations dont le contenu est
identique à d'autres évaluations.
2