Représentation des connaissances et raisonnement automatique Université de Sfax Faculté des Sciences Économiques et de Gestion de Sfax Mastère de recherche : système d’information et nouvelle technologie Matière: Intelligence artificielle Représentation des connaissances et raisonnement automatique Elaboré par : Mekki Asma Ben Ayed Wafa Kammoun Wissal Khemakhem Hela Elamine Maryam Kchaou Mariem Année universitaire : 2015-2016
PLAN Introduction Représentation des connaissances Raisonnement automatique Conclusion
INTRODUCTION Un système intelligent Résolution de problèmes Algorithme A*, profondeur, largeur, .. Reconnaissance de formes réseau de neurones, analyse statistiques, … Représentation des connaissances Logique propositionnelle, temporelle, … Raisonnement automatique Raisonnement déductif, abductif, …
« Puisqu’il fait beau, le soleil brille » Problématique Pour concevoir un agent doué d’une “intelligence artificielle”, deux problèmes majeurs se posent à nous comment : Représenter les connaissances de l’agent ? Raisonner à partir de ces connaissances ? « Il fait beau » « Puisqu’il fait beau, le soleil brille » Ces deux problématiques sont interconnectées car la façon dont on représente les connaissances a un impact important sur le type de raisonnement .
PLAN Représentation des connaissances Définition Introduction Logiques des connaissances Logiques propositionnelle Logique du premier ordre Logique de description Logiques temporelles Logique floue Logiques de connaissances et/ou croyances Logiques non-monotones Raisonnement automatique Conclusion
REPRESENTATION DES CONNAISSANCES DEFINITION Représentation des connaissances outils procédés utiliser représenter organiser La représentation des connaissances désigne un ensemble d'outils et de procédés destinés d'une part à représenter et d'autre part à organiser le savoir humain Qui est diversifié et complexe : savoir juger résoudre un problème expliquer une solution répondre à des questions. pour l'utiliser et le partager. partager le savoir humain Savoir juger Résoudre un problème Expliquer une solution Répondre à des questions
Pourquoi représenter les connaissances? Apprentissage automatique Fouille de données Compréhension du langage Traduction automatique Raisonnement automatique Buts de la représentation des connaissances Partage du savoir Raisonnement sur le savoir
Logiques des connaissances Logique proposition-nelle Logique du premier ordre Logique de description Logiques temporelles Logique floue Logiques des connaissances et/ou croyances Logiques non-monotones
Logique propositionnelle Décrit un langage sans variable Vocabulaire du langage Propositions : (ou variables propositionnelles) qui représentent des énoncés qui peuvent être soit vrais soit faux dans une situation donnée. Connecteurs : Et () , Ou () , Négation (), Implication (), Equivalence () Expressions : {propositions} U {connecteurs} littéral est une proposition ou la négation d’une proposition. Une clause est une disjonction de littéraux. La logique propositionnelle est une logique très simple qui se trouve à la base de presque toutes les logiques qui sont étudiées aujourd’hui. Les éléments de bases sont des propositions (ou variables propositionnelles) qui représentent des énoncés qui peuvent être soit vrais soit faux dans une situation donnée.
Exemples P Q P "Pierre n ’aime pas voyager" Exemples de propositions et d’expressions P : "Pierre aime voyager" Q : "Pierre prend souvent l’avion" P Q Expression P Q ≡ (équivaut) "Pierre aime voyager et Pierre prend souvent l’avion" P Q "Pierre aime voyager ou Pierre prend P "Pierre n ’aime pas voyager" P Q "Si Pierre aime voyager Alors Pierre prend Connecteur Propositions
Exemples ¬P v Q P Q P "Pierre n ’aime pas voyager" Exemples de propositions et d’expressions P : "Pierre aime voyager" Q : "Pierre prend souvent l’avion" ¬P v Q (P ^ Q) v (¬P ^¬Q) P Q P Q ≡ (équivaut) "Pierre aime voyager et Pierre prend souvent l’avion" P Q "Pierre aime voyager ou Pierre prend P "Pierre n ’aime pas voyager" P Q "Si Pierre aime voyager Alors Pierre prend
Logique propositionnelle (Suite) Un modèle M est une fonction qui donne une valeur de vérité à chaque proposition du langage. M ⊨ p (M est un modèle de p), M ⊭ p (M n’est pas un modèle de p). M ⊨ ˄ 𝝍 ssi M ⊨ et M ⊨ 𝝍 M ⊨ ˅ 𝝍 ssi M ⊨ ou M ⊨ 𝝍 (ou les deux) M ⊨ ¬ ssi M ⊭ P := Fausse N’est pas satisfaite dans M P := Vraie Satisfaite dans le modèle M une valeur de vérité (soit vrai, soit faux) Une proposition p est satisfaite dans un modèle M si elle reçoit la valeur vrai, et elle n’est pas satisfaite si elle reçoit la valeur faux.
(Suite) Une formule est valide si elle est satisfaite par tout modèle. Elle est dite satisfiable si elle est satisfaite dans au moins un modèle. Une formule est une conséquence logique de 𝝍 si : chaque modèle qui satisfait satisfait aussi 𝝍, ou autrement dit, s’il n’y a pas de modèle de ˄¬𝝍. La logique propositionnelle est decidable, c’est- à -dire qu’il existe des algorithmes pour déterminer si une formule est valide ou non.
Exercice 1: a) Construire des formules en utilisant des propositions et des connecteurs logiques pour exprimer les phrases suivantes : S’il fait beau et que l’on n’est pas samedi alors je fais du vélo et si je fais du vélo alors c’est le printemps. b = il fait beau s = on est samedi f = je fais du vélo p = c’est le printemps ((b ∧ ¬s) → f) ∧ (f → p)
Exercice 1- a: (Suite) Si la température du patient est supérieure à 38° Alors le patient a de la fièvre et si en plus de la fièvre le patient présente une augmentation de la vitesse de sédimentation du sang alors il souffre d'une infection bactérienne. T= la température du patient est supérieure à 38° F= le patient est fébrile A= le patient présente une augmentation de la vitesse de sédimentation du sang I= le patient souffre d'une infection bactérienne ((T → F) ∧ ((F ∧ A) → I)
Exercice 1: (Suite) b) Pour toute formule ci-dessous, vérifiez si elle est valide, satisfaisable ou contradictoire : 1. (A → B) ∧ ¬B → ¬A 2. (A → B) ∧ B → A 3. ((A ∨ B) → ¬C) ∧ (¬C ∨ (B ∨ A)) 4. A ∧ ¬A 5.(A → B) → (¬A ∨ B) Satisfaisable Satisfaisable Satisfaisable Contradictoire Valide
Logique du premier ordre/Prédicat un prédicat est une fonction prenant l’une des deux valeurs vraie ou fausse suivant la valeur de ses arguments: les symboles pour constants, exemple : Paul, gareLyon les variables, exemple : x, y les symboles pour fonctions, exemple : mèreDe les symboles pour prédicats, exemple : humain, dans les connectives logiques : ^, ¬, etc. le quantificateur le quantificateur existentielle le symbole d’égalite =
Suite(…) Symbole pour fonction Symbole pour prédicat a un arité Exemples: mèreDe(X) a un arité de 1, dans(X,Y) a un arité de 2. a un arité Chaque Une arité qui détérmine combien d’arguments elle peut prendre (0, 1, 2,...).
Suite(…) Terme Variable mèreDe(Paul) Fonction appliquée à d’autres termes Constante mèreDe(mèreDe(Paul)) Les termes sont des symboles pour : constante, variable ou bien fonction appliquée à d’autre termes Paul
Suite(…) Atome P (terme1, ..., termen) terme1 = terme2 dans(Paul, gareLyon) Marie = mèreDe(Paul) Les atomes sont de deux types : soit P (terme1,..., termen) où P est un symbole pour prédicat avec arité n et les termei sont des termes, soit terme1= terme2 où terme1 et terme2 sont des termes.
Combinaison Booléenne de formules Suite(…) humain(Paul) Formule Atomes Combinaison Booléenne de formules Formules préfixées x humain(x) ou x humain(x) dans(Paul,gareLyon)˄ humain(Paul)
Fonction d’interprétation Suite(…) Modèle Fonction d’interprétation Univers I(C) ∊ U une fonction n-aire de U à U Un modèle en logique du premier ordre est composé de : un ensemble non vide U appelé univers, d’une fonction d’interprétation I. La fonction I associe à chaque symbole pour constante C un élément de l’univers nous notons I(C) ∊ U , à chaque symbole pour fonction F (où l’arité de F est n) une fonction n-aire de U à U , et à chaque symbole pour prédicat P (où l’arité de P est n) un prédicat n-aire sur U . un prédicat n-aire sur U
Suite(…) La valuations : Ce sont des fonctions qui associent à chaque variable un membre de l’univers U . La notation v(x/d), avec x une variable et d l’univers. La satisfaction d’une formule par rapport à un modèle M =< U, I > et une valuation v comme ceci : Pour traiter des variables (qui ne sont pas fixés par des modèles), nous faisons appel aux valuations, Dans la définition de la satisfaction, nous aurions aussi besoin de la notation v(x/d), qui donne la valuation qui est la même que v sauf pour la variable x, à laquelle on associe l’élément de l’univers d.
Suite(…) ⊨ M,v t1 = t2 ssi t1 et t2 réfère au même élément de U. ⊨ M,v P (t1, ..., tn) ssi le tuple d’éléments associés à (t1, ..., tn) est dans I(P ) ⊨ M,v ^ 𝝍 ssi ⊨M,v et ⊨M,v 𝝍 ⊨M,v ˅ 𝝍 ssi ⊨M,v ou ⊨M,v 𝝍 ⊨M,v ¬ ssi ⊭M,v ⊨M,v x. ssi pour tout d ∊ U nous avons ⊨ M,v(x/d) ⊨M,v x. ssi il existe d ∊ U tel que ⊨ M,v(x/d) Point deux : ssi est dans Interprétation de P =>(I(P)) Une formule est valide si elle est satisfaite par tout modèle et toute valuation.
Exercice Exprimez les énoncés suivants en logique du premier ordre : 1. « Tous les A sont B. » 2. « Seuls les A sont B. » 3. « Aucun A n’est B. » 4. « Quelques A sont B. » 5. « Certains étudiants assistent à tous les cours. » 6. « Aucun étudiant n’assiste à un cours inintéressant. »
Exercice Exprimez les énoncés suivants en logique du premier ordre : 1. « Tous les A sont B. » ∀x (A(x) → B(x)) 2. « Seuls les A sont B. » ∀x (B(x) → A(x)) 3. « Aucun A n’est B. » ∀x (A(x) → ¬B(x)) 4. « Quelques A sont B. » ∃x (A(x) ∧ B(x)) 5. « Certains étudiants assistent à tous les cours. » ∃x (Etudiant(x) ∧ (∀y Assiste(x,y))) 6. « Aucun étudiant n’assiste à un cours inintéressant. » ¬∃x (Etudiant(x) → (Assiste(x,y) ∧ ¬Interessant(y)))
Récapitulation sur les deux Logiques La logique du premier ordre est beaucoup plus puissante que la logique propositionnelle, et cette expressivité accrue se paie par une difficulté du calcul. En effet, à l’inverse de la logique propositionnelle, la logique du premier ordre n’est pas decidable : il n’existe pas d’algorithmes qui retournent oui si une formule est valide, et non si elle ne l’est pas.
Comparaison entre logique propositionnelle, 1er ordre, description Cette famille de logiques se trouve à mi-chemin entre la logique propositionnelle et la logique du premier ordre, offrant ainsi une expressivité beaucoup plus importante que celle de la logique propositionnelle mais avec une complexité du raisonnement moindre que pour la logique du premier ordre (en particulier, les logiques de description sont souvent decidables)
Logiques de description Logique de description : Cette famille de logiques se trouve à mi-chemin entre la logique propositionnelle et la logique du premier ordre. La logique propositionnelle et la logique du premier ordre sont de loin les deux logiques les plus étudiées, mais on constate un intérêt grandissant pour d’autres logiques qui sont parfois plus adaptées pour représenter certains types de connaissances. En voici quelques-unes :
Logiques de description Axiome Assertion Oiseau Animal et Oiseauenfant.oiseau Oiseau(T weety) et enfant(T weety, Paul) Axiome : décrivent des relations entre des concepts Exemple 1(= chaque oiseau est un animal) Exemple2(= les enfants des oiseaux sont aussi des oiseaux) Assertion: expriment les caractéristiques des individus et les relations entre individus. Exemple1: (=Tweety est un oiseau) Exemple2: (=Paul est un enfant de Tweety).
Suite(…) Les logiques de description sont utilisées dans plusieurs domaines d’application (exemple la médecine, le traitement du langage naturel, etc.) et sont à la base du web sémantique (qui est censé être la prochaine incarnation du Web).
Logiques temporelles Ces logiques sont obtenues à partir de la logique propositionnelle en ajoutant un certain nombre de quantificateurs temporels, exemple : “maintenant”, “dorénavant”, “toujours”, qui permettent de parler des propriétés qui sont vraies à différents moments dans le temps.
Suite(…) Exemples : “Marc est un étudiant maintenant mais un jour il ne sera plus étudiant” , “Deux est toujours un nombre pair”. L’une des applications principales des logiques temporelles est la vérification de programmes où ces logiques sont utilisées pour décrire des propriétés qui devraient être vraies lors d’une exécution d’un programme.
Logique floue logiques classiques : Il existe des propriétés qui semblent pouvoir être vraies à un certain degré. Exemple : la propriété “grand”. Comment chosir une hauteur telle que toutes les personnes avec une taille supérieure à cette hauteur sont grands, et les autres ne le sont pas ? Des propositions vraies Des propositions fausses Exemple de « grand » : Il serait un peu bizarre de séparer les êtres humains entre deux classes, ceux qui sont grands, et ceux qui ne le sont pas Exemple "les jeunes enfants sont turbulents"
Suite(…) La logique floue tente de répondre à ce problème en permettant aux propositions de prendre les valeurs entre 0 et 1, où 0 signifie que la proposition n’est pas satisfaite du tout, 1 signifie la satisfaction complète de la proposition, et les valeurs entre 0 et 1 signifient des niveaux de satisfaction de la proposition. La logique floue a été appliquée avec succès à de nombreux problèmes dans l’industrie.
Logiques de connaissances et/ou croyances Dans ces logiques, nous pouvons exprimer les informations de type : “je sais que Marie a un enfant, et je crois que c’est une fille, mais je ne suis pas sûr” “je crois qu’il croit que je sais qui a volé le diamant, mais je ne le sais pas”. L’une des caractéristiques du raisonnement humain est sa faculté de raisonner sur ses propres connaissances/croyances et sur les connaissances/croyances des autres. Un certain nombre de logiques ont été proposées pour formaliser ce type de raisonnement.
Suite(…) Le raisonnement sur les connaissances devient un sujet de plus en plus populaire grâce à son utilité dans de nombreux domaines tels que l’IA, la linguistique, l’informatique distribuée, et l’économie.
Logiques non-monotones Les logiques classiques sont appelées monotones. ⊨𝝍 ˄⊨𝝍 cette propriété ne semble pas toujours vérifiée dans les raisonnements humains. le fait d’ajouter de l’information supplémentaire ne peut pas causer de perte d’informations Autrement dit, le fait d’ajouter de l’information supplémentaire ne peut pas causer de perte d’informations. Or cette propriété ne semblent pas toujours vérifiée dans les raisonnements humains.
Suite(…) Exemple : “oui car les oiseaux volent. “ Tweety ne vole pas. C’est un exemple d’un raisonnement non-monotone car l’ajout d’une hypothèse (Tweety est un pingouin) fait perdre l’une des conséquences (Tweety vole). Si nous disons que “Tweety est un oiseau”, et nous vous demandons si Tweety vole. Mais si maintenant j’ajoute le fait que Tweety est un pingouin, est-ce-que il vole? Conclusion à la place de flèche dans l’animation Ce type de raisonnement ne satisfait pas donc les lois de la logique classique mais il est rationnel tout de même car il nous permet de raisonner en l’absence d’informations complètes. Les logiques non-monotones essaient de formaliser ce type de raisonnement.
Récapitulation Logiques des connaissances Decidable : vrai/faux Logique propositionn-elle Logique du premier ordre Logique de description Logiques temporelles Logique floue Logiques des connaissances et/ou croyances Logiques non-monotones Non Decidable Parfois l’ajout d’une information Annule une information précédente Souvent Decidable Je sais/ Je crois Logique de description : combinaison entre logique propositionnelle et du 1er ordre Propriétés qui semblent être vraies à un certain degré Propositionnelle + quantificateurs temporels
Exercice global Pour chacun de ces phrases suivantes donnez le type de la logique utilisée? Le feu continue toujours à travailler Un entier naturel est pair ou impair Un entier naturel est pair ou impair : ici 3 symboles de relation d’arité 1 : naturel, pair, impair. ∀ n ( naturel(n) ⇒ (pair(n) ∨ impair(n)) Il pleut et il y a un bon film à la télévision ce soir: P1= “il pleut ” P2 =“Il y a un bon film à la télévision ce soir” si le feu est vert et ma vitesse est faible et le feu est proche alors j'accélère : Logique temporelle Logique du premier ordre Logique propositionnelle P1 ∧ P2 Logique floue
PLAN Raisonnement automatique Introduction Représentation des connaissances Raisonnement automatique Définition Types de raisonnement Raisonnement déductif Raisonnement abductif Raisonnement inductif Conclusion
RAISONNEMENT AUTOMATIQUE DEFINITION Raisonnement automatique Connaissances Répondre aux questions Tirer des conclusions Le raisonnement automatique utilise des connaissances qui lui permettent de répondre aux questions et de tirer des conclusions
Pourquoi représenter les raisonnement? Systèmes d’aide à la décision Systèmes de capitalisation des connaissances Outils d’exploration de mécanismes du raisonnement Buts du raisonnement Rapprocher des situations Transposer des solutions.
Raisonnement automatique Raisonnement déductif Raisonnemnt abductif Raisonnemnt inductif
Raisonnement déductif C’est le type de raisonnement le plus étudié. Il s’agit de dériver les conséquences d’un ensemble d’informations données.
Exemple “Marie est un docteur ou un professeur” Et “Marie n’est pas un professeur” “Marie est un docteur” L’une des caractéristiques du raisonnement déductif est que si nous dérivons une conséquence d’un ensemble d’informations qui sont vraies, alors nous sommes sûrs que la conséquence est vraie aussi.
Raisonnement abductif Le but de l’abduction est d’expliquer des observations. La vie de tous les jours Diagnostic médical cause possible Connaisances générales observations
Connaissances générales Exemple Observation “La patiente a de la fièvre, de la toux, et mal à la tête” “La grippe peut provoquer des fièvres, maux de gorge, maux de tête, fatigue, toux, et des douleurs musculaires” “La patiente a la grippe” Connaissances générales Cause possible
Raisonnement inductif Il s’agit ici de produire des connaissances générales à partir d’observations. Le raisonnement inductif peut donc être vu comme une forme d’apprentissage.
Exemple “Tous les cygnes sont blancs”, étant donné que tous les cygnes que l’agent a vu dans sa vie étaient blancs. il existe des cygnes noirs à la différence du raisonnement déductif, les conclusions du raisonnement inductif peuvent s’avérer fausses ce type de raisonnement est très important car il nous permet d’agir dans un environnement donné, lorsque les informations dont on dispose sur celui-ci sont incomplètes.
Raisonnement déductif en logique propositionnelle Il existe deux problèmes : tester si une formule est bien une conséquence logique d’une autre formule, produire les conséquences d’une formule donnée. nous allons nous focaliser sur le raisonnement déductif en logique propositionnelle. pour résoudre le premier de ces problèmes, la méthode la plus facile à comprendre (mais aussi la moins efficace) est la méthode de table de vérité. En fait, Une formule PSI est une conséquence logique d’une formule PHI juste dans le cas où chaque modèle de PHI est aussi un modèle de PSI. Nous pourrions donc énumérer tous les modèles possibles (c’est le principe même de la table de vérité). Solution : Ces algorithmes ne donnent pas, par contre, une façon de dériver les conséquences d’une formule. C’est la raison pour laquelle nous introduisons une autre méthode, appelée la règle de résolution la règle de résolution
Identifier les conséquences d’une formule, Utilités Identifier les conséquences d’une formule, Générer les conséquences d’une formule, Peut être généralisée à la logique du premier ordre. Cause une bonne partie des algorithmes pour la logique du premier ordre sont basés sur la résolution. Je vais vous présenter l’utilité de la règle de résolution et les causes d’emploi
Exemple s’il fait beau, je vais à la plage, Et Rappel : a b ¬a ˅ b s’il fait beau, je vais à la plage, Et s’il ne fait pas beau, je vais au cinéma Ou je reste travailler à la maison. En logique, nous pourrions formaliser cet argument ainsi : je vais à la plage Ou je vais au cinéma je reste à la maison pour travailler. Si j’avais les propositions suivantes : s’il fait beau, je vais à la plage, ET s’il ne fait pas beau, je vais au cinéma OU je reste à travailler à la maison J’obtiens comme conséquences possibles : je vais à la plage OU je vais au cinéma OU je reste à travailler à la maison
Suite (…) Formule générale où lj et l’k sont des littéraux opposés. Ici nous avons supprimés lj et l’k parce qu'ils sont des littéreaux opposés. En fait ici nous sommes dans le cas où il y a une seule copie de chaque littéral
Suite (…) Si chaque clause contient plus qu’une copie de chaque littéral. a v a v b ¬a v c il faut supprimer toutes les copies du littéral dans la clause. a v b v c b v c Nous passons maintenant dans le cas où il y a plus qu’une copie Nous avons supposé que chaque clause contient au plus une seule copie de chaque littéral. Par exemple, le résultat de la résolution de a v a v b avec ¬a v c est b v c et non pas a v b v c.
Mise sous forme clausale Pour transformer une formule en forme clausale, il suffit d’appliquer les règles suivantes : 𝝍 Ξ ¬ v 𝝍 ↔ 𝝍 Ξ ( ^ 𝝍) v (¬ ^¬ 𝝍) et ↔ ¬( ^ 𝝍) Ξ ¬ v ¬𝝍 ¬( v 𝝍) ¬ ^¬𝝍 ¬¬ Ξ ¬ ( ^ 𝝍) v ζ Ξ ( v ζ) ^ (𝝍 v ζ) développement 1. Si les abréviations et ↔ sont présentes dans la formule, supprimez les en utilisant les équivalences 𝝍 Ξ ¬ v 𝝍 et ↔ 𝝍 Ξ ( ^ 𝝍) v (¬ ^¬ 𝝍). 2. Appliquez les équivalences ¬( ^ 𝝍) Ξ ¬ v ¬𝝍 et ¬( v 𝝍) ¬ ^¬𝝍 et ¬¬ Ξ jusqu’à ce que les négations se trouvent juste devant les propositions. 3. Appliquez les équivalences ( ^ 𝝍) v ζ Ξ ( v ζ) ^ (𝝍 v ζ) pour arriver à une conjonction de clauses.
Exercice Rappel : a b ¬a ˅ b ¬(a b) v (c ^ d) Ξ Ξ (¬¬a ^¬b) v (c ^ d) Ξ (a^¬b) v (c ^ d) Ξ (a v (c ^ d)) ^ (¬b v (c ^ d)) Ξ (a v c) ^ (a v d) ^ (¬b v c) ^ (¬b v d) ¬(¬a v b) v (c ^ d) 76 La formule ¬(¬a v b) v (c ^ d) est donc équivalente à l’ensemble de clauses {a v c, a v d,¬b v c,¬b v d}.
Vérification et génération de conséquences via la règle de résolution : Algorithme1 1. Transformer en un ensemble de clauses C. 2. Tant qu’il existe deux clauses cl1 et cl2 dans C tels que : a) la règle de résolution s’applique à cl1 et cl2, et b) le résultat de la résolution de cl1 avec cl2 n’est pas déjà dans C et n’est pas une tautologie : Si le résultat de la résolution est la clause vide Alors Sinon ajoutez le résultat de la résolution de cl1 avec cl2 à C. Fin Si Fin TantQue 3. Retournez “satisfiable”. retournez “pas satisfiable”, Nous montrons maintenant comment utiliser la règle de résolution pour faire du raisonnement déductif.
Exercice 𝝍 = cinéma = (beau plage)^(¬beau Cinéma v travail)^ (paresseux ¬travail) ^ ¬beau ^ paresseux 1. Transformez la formule ^ ¬ 𝝍 en un ensemble de clauses? 2. Est-ce que les clauses ¬beau v plage et beau v cinéma v travail satisfont les conditions? 3. Résoudre : beau v cinéma v travail et ¬beau C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, ¬ cinéma} C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, ¬cinéma, plage v cinéma v travail } Il peut être prouvé que cet algorithme s’arrête toujours et qu’il retourne “satisfiable” si et seulement si la formule est satisfiable. L’ordre dans lequel nous les traitons ne change pas le résultat de l’algorithme. En fait, pour illustrer le fonctionnement de cet algorithme, nous l’utilisons pour tester si PSI= cinéma est une conséquence logique de la formule PHI 2/ Les clauses ¬beau v plage et beau v cinéma v travail satisfont les conditions, (qui sont règle a et b de l’algorithme) donc nous ajoutons la clause plage v cinéma v travail à C. 3/ Nous ajoutons la clause cinéma v travail à l’ensemble C : C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, ¬cinéma, plage v cinéma v travail, cinéma v travail }
Exercice 𝝍 = cinéma = (beau plage)^(¬beau Cinéma v travail)^ (paresseux ¬travail) ^ ¬beau ^ paresseux 1. Transformez la formule ^ ¬ 𝝍 en un ensemble de clauses 2. Est-ce que les clauses ¬beau v plage et beau v cinéma v travail satisfont les conditions ? 3. Résoudre : beau v cinéma v travail et ¬beau 4. Résoudre : ¬paresseux v ¬travail et paresseux C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, ¬cinéma, plage v cinéma v travail, cinéma v travail, ¬travail} Nous ajoutons la clause ¬travail à l’ensemble C:
Exercice (Suite) 5. Résoudre : cinéma v travail et ¬travail. C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, ¬cinéma, plage v cinéma v travail, cinéma v travail, ¬travail, cinéma} Nous ajoutons la clause cinema à l’ensemble C:
Exercice (Suite) 5. Résoudre : cinéma v travail et ¬travail. 6. Dans cette étape, vous allez choisir 2 clauses à résoudre qui vont générer « pas satisfiable ». Lesquelles? cinéma ^ ¬ cinéma L’algorithme retourne « pas satisfiable ». clause vide Nous ajoutons la clause cinema à l’ensemble C:
Exercice (Suite) 5. Résoudre : cinéma v travail et ¬travail. 6. Dans cette étape, vous allez choisir 2 clauses à résoudre qui vont générer « pas satisfiable ». Lesquelles? 7. Puisque ^ ¬ 𝝍 n’est pas satisfiable, Est-ce-que vous pouvez retourner « oui »? Nous pouvons retourner “oui” car le fait que ^ ¬ 𝝍 n’est pas satisfiable implique que 𝝍 est bien une conséquence de . Nous ajoutons la clause cinema à l’ensemble C:
Exercice : Résolution d’une énigme par la logique des propositions. Vous êtes perdus sur une piste dans le désert. Vous arrivez à une bifurcation. Chacune des deux pistes est gardée par un sphynx que vous pouvez interroger. Les pistes peuvent soit conduire à une oasis, soit se perdre dans le désert profond (au mieux, elles conduisent toutes à une oasis, au pire elles se perdent toutes les deux).
Suite (…) A. Le sphynx de droite vous répond : « Une au moins des deux pistes conduit à une oasis. » B. Le sphynx de gauche vous répond : « La piste de droite se perd dans le désert. » C. Vous savez que les sphynx disent tous les deux la vérité, ou bien mentent tous les deux.
Suite (…) On pose : D : « Il y a une oasis au bout de la route de droite. » G : « Il y a une oasis au bout de la route de gauche. » On a : A = D ∨ G B = ¬D A ≡ B (formule F qu’on cherche à vérifier)
Suite (…) Mise sous forme normale conjonctive : F = A ↔ B = (A → B) ∧ (B → A) = ((D ∨ G) → ¬D) ∧ (¬D → (D ∨ G)) = (¬ (D ∨ G) ∨ ¬D) ∧ (¬¬D ∨ (D ∨ G)) = ((¬D ∧ ¬G) ∨ ¬D) ∧ (D ∨ (D ∨ G)) = (¬D ∨ ¬D) ∧ (¬G ∨ ¬D) ∧ (D ∨ D ∨ G) = (¬D) ∧ (¬D ∨ ¬G) ∧ (D ∨ G) = (¬D) ∧ (D ∨ G) Pour faciliter le travail ceci est la première ligne de la résolution à vous maintenant de terminer
Suite (…) On aboutit à l’ensemble de clauses C = {¬D, D ∨ G}. L’application de la règle de résolution nous indique que la route de gauche conduit effectivement à une oasis : La résolution des deux clauses nous donne que G « l’oasis gauche est le bon chemin »
Exercice Montrez {pvqvr, ¬pvqvr, ¬qvr}⊨r à l’aide de la méthode de résolution Ensemble de départ{pvqvr, ¬pvqvr, ¬qvr, ¬r} Premier pas {pvqvr, ¬pvqvr, ¬qvr, ¬r, ¬q} Deuxième pas {pvqvr, ¬pvqvr, ¬qvr, ¬r, ¬q, qvr} Troisième pas {pvqvr, ¬pvqvr, ¬qvr, ¬r, ¬q, qvr, r} Quatrième pas {pvqvr, ¬pvqvr, ¬qvr, ¬r, ¬q, qvr, r, ⫨} Montrez que « r » est une conséquence logique pour cet ensemble de clauses. Pour vous aidez voici l’ensemble de départ À la fin on obtient l’ensemble vide suite à la résolution de (not r et r) donc nous avons pu montrer que {pvqvr, ¬pvqvr, ¬qvr}⊨r (« r » est une conséquence logique pour cet ensemble de clauses)
Vérification et génération de conséquences via la règle de résolution : Algorithme2 1. Transformer en un ensemble de clauses C. 2. Tant qu’il existe deux clauses cl1 et cl2 dans C tels que : a) la règle de résolution s’applique à cl1 et cl2, et b) le résultat de la résolution de cl1 avec cl2 n’est pas déjà dans C et n’est pas une tautologie : { ajoutez le résultat de la résolution de cl1 avec cl2 à C. } Fin TantQue 3. Enlever de C toutes les clauses qui ne sont pas minimales 4. Renvoyer C. 3. Retournez “satisfiable”. Minimale Cl={a,b,c,d} Cl’={a,b} une clause cl est minimale dans C s’il n’existe pas une autre clause cl’ dans C telle que tous les littéraux de cl0 sont dans cl mais certains des littéraux de cl ne sont pas dans cl’).
Non complet Complet (Suite) … Ne retourne pas toutes les consequences de . Complet Retourne toutes les conséquences clausales les plus fortes de . impliqués premiers Cet algorithme termine toujours, et il est correct (chacune des clauses retournées est bien une conséquence de ).
(Suite) … Ces clauses sont appelées les impliqués premiers de , et elles satisfont la propriété suivante : Si une clause cl est une conséquence d’une formule , il existe un implique premier p de ! tel que p |= cl. Les impliqués premiers sont donc une façon compacte de représenter les conséquences d’une formule.
Exercice = (beau plage)^(¬beau Cinéma v travail)^ (paresseux ¬travail) ^ ¬beau ^ paresseux 1. Transformez la formule en un ensemble de clauses? 2. Est-ce que les clauses ¬beau v plage et beau v cinéma v travail satisfont les conditions? 3. Résoudre : beau v cinéma v travail et ¬beau C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux} C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, plage v cinéma v travail } Essayez maintenant d’appliquer cet algorithme pour calculer les impliqués premiers de la formule suivante : Meme travail C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, plage v cinéma v travail, cinéma v travail }
Exercice = (beau plage)^(¬beau Cinéma v travail)^ (paresseux ¬travail) ^ ¬beau ^ paresseux 1. Transformez la formule ^ ¬ 𝝍 en un ensemble de clauses? 2. Est-ce que les clauses ¬beau v plage et beau v cinéma v travail satisfont les conditions? 3. Résoudre : beau v cinéma v travail et ¬beau 4. Résoudre : ¬paresseux v ¬travail et paresseux C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, plage v cinéma v travail, cinéma v travail, ¬travail} Nous ajoutons la clause ¬travail à l’ensemble C:
Exercice (Suite) 5. Résoudre : cinéma v travail et ¬travail. C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, plage v cinéma v travail, cinéma v travail, ¬travail, cinéma} Nous ajoutons la clause cinema à l’ensemble C:
Exercice (Suite) 5. Résoudre : cinéma v travail et ¬travail. 6. Supprimez les clauses les plus faibles C = {¬beau v plage, beau v cinéma v travail, ¬paresseux v ¬travail, ¬beau, paresseux, plage v cinéma v travail, cinéma v travail, ¬travail, cinéma} C = {¬beau, paresseux, ¬travail, cinéma} Apres 5 : Comme il ne reste plus de paires de clauses auxquelles nous pouvons appliquer la règle de résolution, nous passons `a l’´étape suivante. L’ensemble des impliqués premiers de contiennent exactement les mêmes informations que mais elle à l’avantage d’être beaucoup plus lisible.
Exercice 2 On pose : D : « Il y a une oasis au bout de la route de droite. » G : « Il y a une oasis au bout de la route de gauche. » On a : 1. A = D ∨ G 2. B = ¬D = (A B)^(B A) 1. Transformez la formule en un ensemble de clauses? 2. Est-ce que les clauses ¬D et D v G satisfont les conditions? Essayez maintenant d’appliquer cet algorithme pour calculer les impliqués premiers de la formule suivante : Meme travail C = {¬D , D ∨ G } 3. Supprimez les clauses les plus faibles C = {¬D, D v G , G} C = {¬D, G} C = {¬D, D v G, G }
Conclusion La représentation des connaissances veut dire représentation et organisation du savoir. Les connaissances les plus précises sont les plus faciles à représenter. La représentation des connaissances nous permet de construire une Base de connaissances. Une BC contient les connaissances spécifiques à un domaine, sous une forme exploitable par un ordinateur. Avec règles base de règles Moteur d’inférence (raisonnement déductifs logiques) Déduction de nouveaux faits
Conclusion Architecture des systèmes à base de règles de production ou à base de connaissances SYSTEME A BASE DE CONNAISSANCES Base de connaissances UTILISATEUR Base de faits L’utilisateur donne des données au système et ce dernier lui génère des résultats Le système à base de connaissances est composé d’une base de connaissance et d’un moteur d’inférence La base de connaissances est constituée de Base de fait + Bases de règles qui interagissent avec le moteur d’inférences pour générer des résultat à l’utilisateur. Base de règles Moteur d’inférences
Merci pour votre attention