Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
INTELLIGENCE ARTIFICIELLE
IAR-1001
2
Contenu du cours 5 Connaissances et Raisonnement
Système expert Inférence propositionnelle/premier ordre Moteur d’inférence par chaînage avant Moteur d’inférence par chaînage arrière LECTURES: Chapitres 9 Russell & Norvig Notes de cours (site ftp UQTR)
3
Connaissances et Raisonnement
Système Expert (Inférence propositionnelle/premier ordre) Les systèmes d’inférence logiques modernes permettent, par l’utilisation de règles d’inférence simples pouvant être appliquées aux propositions du premier ordre donc avec des quatificateurs pour revenir à des propositions sans quantificateurs. L’inférence du premier ordre peut être effectuée en convertissant la base de connaissances en propositions logiques et en utilisant les règles d’inférence propositionnelle.
4
Connaissances et Raisonnement
Système Expert (Règles d’inférence sur les quantificateurs) Exemple de proposition de premier ordre Il est alors possible d’inférer que: Nous pouvons écrire formellement les règles d’inférence en utilisant la notion de substitutions sachant que SUBST(θ,α) correspond au résultat découlant de l’application de la substitution θ à la proposition α. Pour chaque variable v et instance g Exemple de substitutions: {x/John}, {x/Richard }, et {x/Father (John)}.
5
Connaissances et Raisonnement
Système Expert (Règles d’inférence sur les quantificateurs) Pour les règles d’instantiation Existentielle, la variable est replacée par un symbole constant unique. Pour chaque proposition α, variable v, et constante k n’apparaissant pas ailleurs dans la base de connaissances. Exemple:
6
Connaissances et Raisonnement
Système Expert (Réduction en propositions logiques) Après l’élimination des quantificateurs, il est possible de réduire les règles d’inférence du premier ordre sous forme de règles d’inférence propositionnelles. D’abord, nous savons qu’une proposition quantifiée sous forme existentielle peut être remplacée par une seule instantiation, et une, sous forme universelle, remplacée par un ensemble des instantiations possibles. Avec les propositions: Après l’application des substitutions possibles ({x/John} et {x/Richard }) tirées du dictionnaire de la base de connaissances, découlant des instantiations universelles sur la première proposition, nous pouvons ainsi réduire cette proposition.
7
Connaissances et Raisonnement
Système Expert (Réduction en propositions logiques) L’inférence que “John is evil”, découle du fait que la substitution {x/John} apporte une solution au prédicat Evil(x), pour utiliser la règle “greedy kings are evil”, cherchons des x tel que x est un “king” et x est “greedy”, et pouvons inférer que x est “evil”. Donc, si une substitution θ existe de telle sorte que chaque conjonction des prémisses d’une implication soit identique à des propositions déjà dans la base de connaissances, nous pouvons alors assumer la conclusion de cette implication, après avoir appliqué θ. Dans ce cas, la substitution θ = {x/John} atteint ce but.
8
Connaissances et Raisonnement
Evil(John) Connaissances et Raisonnement Système Expert (Réduction en propositions logiques) L’inférence peut être poussée un peu plus loin en supposant que d’avoir dans la base de connaissances le fait que Greedy(John), nous savons que tous sont “greedy”: Alors comment conclure que Evil(John), sachant que John est un “king” et que John est “greedy”. Nous devons donc trouver une substitution pour les variables dans l’implication et les variables dans les propositions qui sont dans la base de connaissances. Dans ce cas, en applicant la substitution {x/John, y/John} aux prédicats de l’implication King(x) et Greedy(x) et que les propositions de la base de connaissances King(John) et Greedy(y) les rendent identiques. Il est alors possible d’inférer la conclusion de cette implication.
9
Connaissances et Raisonnement
Système Expert (Modus Ponens) Sachant que les processus d’inférence permettent de déduire des propositions qui sont des conséquences logiques d’autres propositions. Un bon processus d’inférence doit être correct (sound). Toute proposition déduite d’un ensemble de propositions doit être une conséquence logique de ces propositions. Un processus d’inférence doit idéalement être complet. Il doit donc être capable de déduire toute proposition qui est une conséquence logique d’autres propositions. À partir d’une prémisse f1 et l’implication f1 → f2,on peut déduire f2. Si on a (wumpusAhead ∧ wumpusAlive) et la règle (wumpusAhead ∧ wumpusAlive) → shoot alors shoot peut être inféré.
10
Connaissances et Raisonnement
Système Expert (Modus Ponens) À partir de la proposition ∀ x f1 on peut déduire f2 déduit de f1 en remplaçant toutes les occurrences libres (instances) de x par un terme n’ayant pas de variable en commun avec f1. Par exemple: tous les chiens sont des mammifères, Fido est un chien, donc Fido est un mammifère.
11
Connaissances et Raisonnement
Système Expert (Modus Ponens) Ce processus d’inférence peut être représenté par le Modus Ponens Généralisé: Pour les propositions pi , pi’ et q, avec une substitution θ pour laquelle SUBST(θ, pi’) = SUBST(θ, pi), pour tout i. Cette règle comportent n+1 prémisses: les n propositions atomiques pi et une implication. La conclusion est le résultat de l’application de la substitution θ sur la conséquence q.
12
Connaissances et Raisonnement
Système Expert (Modus Ponens) Par exemple: Sachant que pour une substitution θ satisfaisant les conditions de la règle du Generalized Modus Ponens Alors à partir des propositions p1‘,.., pn‘ nous pouvons inférer que: Et de l’implication p1 ∧ ∧ pn ⇒ q nous pouvons inférer:
13
Connaissances et Raisonnement
Système Expert (Modus Ponens) La substitution θ dans la règle Generalized Modus Ponens est définie de telle sorte que SUBST(θ, pi‘)= SUBST(θ, pi ), pour tout i; Donc les premières prémisses correspondent exactement aux secondes (voir les deux premières propositions). Alors , SUBST(θ, q) découle donc par Modus Ponen. Le Generalized Modus Ponens est une “lifted version” du Modus Ponen et généralisant le Modus Ponens d’une logique propositionnelle sans variable libre (variable-free) vers une logique du premier ordre.
14
Connaissances et Raisonnement
Système Expert (Modus Ponens) L’avantage de ces règles d’inférence “lifted” par rapport aux formes propositionnelles sans variables est que juste les substitutions requises sont appliquées pour déduire des inférences particulières.
15
Connaissances et Raisonnement
Système Expert (Principe d’unification) Les règles d’inférence “Lifted” requièrent de trouver les substitutions rendant des expressions logiques identiques. Ce processus est l’unification et est une composante importante des algorithmes d’inférence du premier ordre. L’algorithme UNIFY prend 2 propositions (phrases) et retourne un unifier de ces propositions si un existe:
16
Connaissances et Raisonnement
Système Expert (Principe d’unification) Algorithme UNIFY()
17
Connaissances et Raisonnement
Système Expert (Mise en situation) “La loi stipule que c’est un crime pour un Américain de vendre des armes à des nations hostiles. Le pays Nono, un ennemi des USA, possède des missiles, et ces missiles furent achetés du Colonel West, qui est Américain”. Maintenant comment prouver que le Colonel West est un criminel. Pour ce faire il faut d’abord représenter les faits relatés dans la mise en situation sous forme de propositions logiques du premier ordre.
18
Connaissances et Raisonnement
Système Expert (Mise en situation) “c’est un crime pour un Américain de vendre des armes à des nations hostiles”. “Nono a des missiles.” Cette proposition ∃ x Owns(Nono, x) ∧ Missile(x) est transformée en 2 propositions distinctes par instantiation Existentielle, introduisant une nouvelle constante Mi “Tous leurs missiles furent achetés du Colonel West”: 1 2 3 4
19
Connaissances et Raisonnement
Système Expert (Mise en situation) Nous devons aussi savoir que des missiles sont des armes: Et que les ennemis des USA sont considérés comme “hostile”: Que West est américain: Et que le pays Nono est un ennemi des USA 5 6 7 8
20
Connaissances et Raisonnement
Système Expert (Mise en situation) Les implications sont: (1), (4), (5), et (6). Le processus déductif comporte 2 itérations: Itération 1: la règle (1) a des prémisses insatisfaites. La règle (4) est satisfaite par la substitution {x/M1}, et Sells(West,M1, Nono) est ajouté. La règle (5) est satisfaite par la substitution {x/M1}, et Weapon(M1) est ajouté. La règle (6) est satisfaite par la substitution {x/Nono}, et Hostile(Nono) est ajouté. Itération 2: la règle (1) est satisfaite avec la substitution {x/West, y/M1, z/Nono}, et Criminal (West) est ajouté.
21
Connaissances et Raisonnement
Système Expert (Mise en situation) Itération 2 Itération 1
22
Connaissances et Raisonnement
Système Expert (Moteur d’inférence: chaînage avant) En chaînage avant, le contenu de la mémoire correspond aux données qui peuvent vérifier certaines prémisses des règles, ces règles deviennent des règles candidates à être utilisées dans le raisonnement. Ensuite, le système prend en compte les règles candidates selon un ordre donné et teste si le reste des prémisses sont vérifiées.
23
Connaissances et Raisonnement
Système Expert (Moteur d’inférence: chaînage avant)
24
Connaissances et Raisonnement
Système Expert (Moteur d’inférence: Chaînage arrière) Avec le chaînage arrière, le but est placé au début dans la mémoire du système. Ensuite, le système cherche dans sa base de connaissances les règles dont la conclusion correspond au but recherché. Une des règles est choisie selon une stratégie donnée. Ses prémisses sont empilées dans la mémoire du SE et deviennent les sous-buts actuels à résoudre. Le système continue à travailler de cette façon jusqu’à ce que tous les sous buts placés en mémoire soient vérifiés. Les sous-buts peuvent être résolus en posant des questions à l’expert.
25
Connaissances et Raisonnement
Système Expert (Chaînage arrière) La fonction FOL-BC-ASK(KB,goal ) sera prouvée si la KB contient une proposition (clause) de la forme lhs ⇒ goal, où lhs (left-hand side) est une listes de conjonctions. Un fait atomique comme American(West) est considérée comme une proposition avec un lhs est vide. Une requête du genre Person(x) peut être prouvée par la substitution {x/John} et aussi {x/Richard }. Nous pouvons implémenter FOL-BC-ASK () sous forme d’un générateur qui est une fonction qui retourne à chaque fois qu’un résultat est possible.
26
Connaissances et Raisonnement
Système Expert (Chaînage arrière) Le chaînage arrière est une recherche de type AND/OR, la partie OR puisque la requête but peut être prouvée par n’importe quelles règles dans la KB, et la partie AND puisque toutes les conjonctions dans le lhs d’une proposition doivent être prouvées. FOL-BC-OR retirent chaque clauses pouvant être unifiées avec le but, standardise les variables dans la proposition, et ensuite, si le rhs de la proposition peut être unifié avec le but, prouver chaque conjonction du lhs, par la fonction FOL-BC-And (). Cette fonction prouve chacune des conjonctions, conservant en même temps l’ensemble des substitutions réussies.
27
Connaissances et Raisonnement
Système Expert (Chaînage arrière: exemple)
28
Connaissances et Raisonnement
Système Expert (Chaînage arrière: exemple) Sachant que l’arbre de preuves découlant du BC permet de prouver que West est un criminel. L’arbre de preuves comme l’algorithme BC sont depth first (profondeur d’abord), de gauche à droite. Pour prouver que Criminal (West), nous devons prouver les 4 conjonctions en dessous. Certaines sont dans la KB, mais d’autres doivent être développées par chaînage arrière. Les unifications réussies sont présentées à côté des sous buts correspondants. Dès qu’un sous but dans une conjonction réussi (devient vrai), ces substitutions sont alors appliquées aux sous buts subséquents (plus hauts). Donc quand FOL-BC-ASK arrive à la dernière conjonction, originalement Hostile(z), sachant que z est déjà associé à Nono lors d’une substitution antérieure.
29
Connaissances et Raisonnement
Système Expert (Chaînage arrière)
30
Connaissances et Raisonnement
Système Expert (Chaînage arrière: Assistant de conduite) Voir la référence: Composantes de l’assistant de conduite intelligent
31
Connaissances et Raisonnement
Système Expert (Chaînage arrière: Assistant de conduite) Composantes du système expert
32
Connaissances et Raisonnement
Système Expert (Chaînage arrière: Assistant de conduite) Composantes du système expert: Sous systèmes: Situations normales et urgentes
33
Connaissances et Raisonnement
Système Expert (Chaînage arrière: Assistant de conduite) Composantes du système expert: Base de règles Exemple de règle codée en Lisp
34
Connaissances et Raisonnement
Système Expert (Chaînage arrière: Assistant de conduite) Composantes du système expert: Diagramme logique de la conduite normale
35
Connaissances et Raisonnement
Système Expert (Chaînage arrière: Assistant de conduite) Composantes du système expert: Chaînage arrière pour valider un changement de voie à gauche
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.