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