Logique des prédicats et inférence



Documents pareils
Huitième partie VIII. Logique du premier ordre. Plan. En bref... Avantages et inconvénients de la logique propositionnelle. Avantages.

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Bases de données Cours 5 : Base de données déductives

Intelligence Artificielle Planification

Utilisation des tableaux sémantiques dans les logiques de description

Chapitre 2. Eléments pour comprendre un énoncé

Logique : ENSIIE 1A - contrôle final

Systèmes décisionnels et programmation avancée

Initiation à la Programmation en Logique avec SISCtus Prolog

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

M é ca n ism e Pr o lo g. Ex e m p le

Pourquoi l apprentissage?

Évaluation et implémentation des langages

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Intelligence artificielle appliquée à l automatique

Raisonnement probabiliste

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée

Théorie des Langages

Réalisabilité et extraction de programmes

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Bases de données déductives

OASIS Date de publication

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Structures algébriques

Chapitre 2. Classes et objets

Fondements de l informatique Logique, modèles, et calculs

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

SOMMAIRE. Travailler avec les requêtes... 3

Apprentissage. Intelligence Artificielle NFP106 Année Plan. Apprentissage. Apprentissage

Les enfants malentendants ont besoin d aide très tôt

Grammaires d unification

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

Algorithmique et Programmation Fonctionnelle

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Commission Polydog Règlement de compétition SportPlaisir Catalogue des disciplines catégorie adresse niveau B

6. Les différents types de démonstrations

Chapitre 2 Le problème de l unicité des solutions

Formula Negator, Outil de négation de formule.

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Des modèles au temps réel: le système KSE de traitement des alarmes nucléaires

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Algorithmique avec Algobox

Cours 1 : La compilation

Autres langages de l IA

Qu est-ce qu un résumé?

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Raisonnement par récurrence Suites numériques

Intelligence Artificielle et Robotique

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Direct and Indirect Object Pronouns

Chapitre 1 Régime transitoire dans les systèmes physiques

Logique. Plan du chapitre

NOTIONS DE PROBABILITÉS

Programmation Par Contraintes

dans un cadre richement typé

Les chaînes de caractères

Relation entre deux variables : estimation de la corrélation linéaire

Algorithmique et Programmation, IMA

MATHÉMATIQUES APPLIQUÉES S4 Exercices

JE N'AI JAMAIS REÇU L'AVIS DE COTISATION! LOUIS-FRÉDÉRICK CÔTÉ, LL.M. (L.S.E.), AVOCAT MENDELSOHN ROSENTZVEIG SHACTER TABLE DES MATIÈRES 1. TVQ...

IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -

Importation des données dans Open Office Base

CHAPITRE VIII : Les circuits avec résistances ohmiques

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Complément d information concernant la fiche de concordance

Conception des systèmes répartis

OCL - Object Constraint Language

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Annexe : La Programmation Informatique

Géométrie dans l espace Produit scalaire et équations

académique academic adversaire opponent arguments arguments, contentions auxiliaire visuel prop, visual aide besoin need

C f tracée ci- contre est la représentation graphique d une

Intégration et probabilités TD1 Espaces mesurés

Calculabilité Cours 3 : Problèmes non-calculables.

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

A.Mon ordinateur a-t-il une carte réseau?

I. Introduction aux fonctions : les fonctions standards

Atelier B. Prouveur interactif. Manuel Utilisateur. version 3.7

Organiser des séquences pédagogiques différenciées. Exemples produits en stage Besançon, Juillet 2002.

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Chapitre 1 : Introduction aux bases de données

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Compte rendu de la formation

Modalités - Promotion de BMO Ligne d'action destinée aux jeunes investisseurs

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Université de Bangui. Modélisons en UML

Université Paris-Dauphine DUMI2E 1ère année, Applications

Modélisation des données

M2 IAD UE MODE Notes de cours (3)

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Cours de Master Recherche

I- Définitions des signaux.

Transcription:

Logique des prédicats et inférence AIMA chapitres 8 & 9 Aperçu Motivation Logique des prédicats du 1 er ordre (syntaxe et sémantique) Exemples Inférence en logique des prédicats du 1 er ordre Le monde du Wumpus en logique du 1 er ordre IA 2004-2005 - C. Pellegrini 2 1

avantages et inconvénient nient de la logique propositionnelle La logique propositionnelle est déclarative: les éléments syntaxiques correspondent à des faits, La logique propositionnelle permet d'exprimer de l'information sous forme partielle, disjonctive ou négative (contrairement à la plupart des structures ou des bases de données) La logique propositionnelle est compositionnelle: la signification de B 1,1 P 1,2 est obtenue à partir des significations de B 1,1 et P 1,2 La sémantique (signification) en logique propositionnelle est indépendante du contexte (contrairement au langage naturel par exemple) La logique propositionnelle a un pouvoir expressif limité (contrairement au langage naturel par exemple) ex: on ne peut pas dire "les puits provoquent des courants d'air dans les cases adjacentes" sans écrire une phrase pour chaque case. IA 2004-2005 - C. Pellegrini 3 Motivation Comment exprimer les phrases suivantes en logique des propositions? pas représentable en logique propositionnelle! Marcus était Pompéien Tous les Pompéiens étaient Romains Tous les Romains étaient soit loyaux envers César soit ils le haïssaient Chacun est loyal envers quelqu'un Les gens tentent d'assassiner uniquement les souverains envers lesquels ils ne sont pas loyaux Marcus a tenté d'assassiner César Par conséquent Marcus haïssait César IA 2004-2005 - C. Pellegrini 4 2

Logique du 1 er ordre Au lieu des symboles propositionnels P 1, P 2, Q, utiliser des prédicats et des termes: exemples 1) Personne (Marie) Aime(Roméo, Juliette) constantes "prédicats" (ou simplement prédicats ) sans signification prédéterminée constantes individuelles (ou simplement constantes ) sans signification prédéterminée 2) Jean donne Fifi à Marie Donne(Jean, Marie, Fifi) 3) Égal(Plus(2,2), 4) IA 2004-2005 - C. Pellegrini 5 Autres exemples 3) Égal(Plus(2,2), 4) Prédicat avec signification prédéfinie Fonction avec signification prédéfinie Constantes avec signification prédéfinie On peut aussi utiliser la notation infixée 2+2 = 4 Égal(Mère(Fifi), Lulu), ou Mère(Fifi) = Lulu Sqrt(sin(90)) = 1 IA 2004-2005 - C. Pellegrini 6 3

Syntaxe: éléments de base Constantes RoiJean, 2, UniGE,... Prédicats Frère, >,... Fonctions Sqrt(.), JambeGaucheDe(.),... Variables x, y, a, b,... Connecteurs,,,, Égalité = Quantificateurs IA 2004-2005 - C. Pellegrini 7 Formules Phrases atomiques = prédicat(terme 1,, terme n ) ou terme 1 = terme 2 Terme = fonction(terme 1,, terme n ) ou constante ou variable Exemples 1) Frère(RoiJean, RichardCoeurDeLion) 2) > (Longueur(JambeGaucheDe(Richard)),15 ) Phrases complexes = phrases atomiques réunies par des connecteurs S, S 1 S 2, S 1 S 2, S 1 S 2, S 1 S 2 Exemples 1) Frère(RoiJean, Richard) Frère(Richard, RoiJean) 2) > (1, 2) (1, 2) 3) > (1, 2) > (1, 2) IA 2004-2005 - C. Pellegrini 8 4

Valeurs de véritv rité en logique du 1 er ordre Les phrases sont vraies par rapport à un modèle et à une interprétation, Le modèle contient les objets et les relations qui existent entre eux, l'interprétation spécifie les références pour: symboles de constantes objets symboles de prédicats relations symboles de fonctions relations fonctionelles une phrase atomique prédicat(terme 1,, terme n ) est vraie ssi les objets représentés par terme 1,, terme n sont dans la relation représentée par le prédicat. IA 2004-2005 - C. Pellegrini 9 Quantification La quantification permet d'exprimer des propriétés sur une collection d'objets sans avoir à les désigner chacun par un nom, 2 types de quantificateurs: quantificateur existentiel: quantificateur universel: IA 2004-2005 - C. Pellegrini 10 5

Forme générale <variables> <phrase> Quantification existentielle exemple: "Il y a quelqu'un d'intelligent à UniXX" x A(x, UniXX) Intelligent(x) x P est équivalent à la disjonction d'instantiations de P A(RoiJean, UniXX) Intelligent(RoiJean) A(Richard, UniXX) Intelligent(Richard) A(Pierre, UniXX) Intelligent(Pierre) Typiquement est le connecteur principal avec erreur fréquente: utiliser comme connecteur principal avec : x A(x, UniXX) Intelligent(x) est vrai aussi si quelqu'un n'est pas à UniXX! (cf. tables de vérité de et ) IA 2004-2005 - C. Pellegrini 11 Quantification existentielle (cont.) x Chien(x) il y a un chien variable liée par les variables désignent des emplacements possibles pour des constantes: x est une variable libre dans Chien(x) x est une variable liée dans x Chien(x) IA 2004-2005 - C. Pellegrini 12 6

Exemple y (Mange(Fifi, y) Biscuit(y)) Fifi mange un biscuit sans les parenthèses extérieures il y a ambiguïté: y Mange(Fifi, y) Biscuit(y) pourrait être interprété comme: ( y Mange(Fifi, y)) Biscuit(y) variable liée par variable libre ou comme: y (Mange(Fifi, y) Biscuit(y)) variable liée par IA 2004-2005 - C. Pellegrini 13 Forme générale <variables> <phrase> Quantification universelle exemple: "Toute personne à UniGE est intelligente" x A(x, UniGE) Intelligent(x) x P est équivalent à la conjonctions d'instantiations de P A(RoiJean, UniGE) Intelligent(KingJohn) A(Richard, UniGE) Intelligent(Richard) A(Pierre, UniGE) Intelligent(Pierre) Typiquement est le connecteur principal avec erreur fréquente: utiliser comme connecteur principal avec : x A(x, UniGE) Intelligent(x) signifie: "tout le monde est à UniGE et tout le monde est intelligent" IA 2004-2005 - C. Pellegrini 14 7

Lois de Morgan x φ est équivalent à x φ x φ est équivalent à x φ (φ ψ) est équivalent à φ ψ (φ ψ) est équivalent à φ ψ IA 2004-2005 - C. Pellegrini 15 Propriétés s des quantificateurs x y est équivalent à y x x y est équivalent à y x x y n'est pas identique à y x x y Aime(x, y) "Il y a quelqu'un qui aime tout le monde" y x Aime(x, y) "Chacun est aimé au moins par une personne" Dualité des quantificateurs: chacun peut être exprimé à l'aide de l'autre: x Aime(x, CrêmeGlacée) x Aime(x, CrêmeGlacée) x Aime(x, Brocoli) x Aime(x, Brocoli) IA 2004-2005 - C. Pellegrini 16 8

Logique de 1 er ordre: syntaxe La structure des phrases en logique du 1 er ordre est définie par la grammaire suivante: Phrase PhraseAtomique Phrase Connecteur Phrase Quantificateur Variable Phrase Phrase (Phrase) PhraseAtomique Prédicat(Terme,...) Terme = Terme Terme Fonction(Terme,...) Constante Variable Connecteur Quantificateur Constante A X 1 Jean... Variable a x s... Prédicat Avant EstColoré... Fonction Mère JambeGaucheDe... IA 2004-2005 - C. Pellegrini 17 Calcul des prédicats du 1 er ordre Le calcul des prédicats du 1 er ordre permet la quantification de variables (représentant des objets) mais pas la quantification de prédicats ou de fonctions exemple: l'expression "Tous les prédicats n'ont qu'un seul argument" n'est pas exprimable en calcul des prédicats du 1 er ordre p: Arité(p(x), 1) n'est pas une expression légitime Il faut un calcul des prédicats d'ordre supérieur. IA 2004-2005 - C. Pellegrini 18 9

Exemples Presque toutes les phrases du langage naturel peuvent être représentées en logique des prédicats du 1er ordre, il n'y a pas de correspondance unique entre une phrase en langage naturel et une expression logique, Exemples: "La mère de Jean est mariée au père de Jean" Marié(Père(Jean), Mère(Jean)) "Jean vit dans une maison jaune" 1) Vit(Jean, Maison-1) Couleur(Maison-1, Jaune) 2) x Maison(x) Couleur(x, Jaune) Vit(Jean, x) IA 2004-2005 - C. Pellegrini 19 Exemples (suite) "Si la voiture appartient à Jean, alors elle est verte" 1) Possède(Jean, Voiture-1) Couleur(Voiture-1, Vert) 2) x Voiture(x) Possède(Jean, x) Couleur(x, Vert) "Certaines personnes aiment les serpents" 1) x (Personne(x) Aime(x, Serpent)) 2) x y (Personne(x) Serpent(y)) Aime(x,y) "Tous les étudiants passent des examens" 1) x Étudiant(x) Passe-examen(x) 2) x (Étudiant(x) y Examen(y) Passe(x,y)) "Si x est parent de y, alors x est plus vieux que y" x y Parent(x,y) PlusVieux(x, y) IA 2004-2005 - C. Pellegrini 20 10

Exemples (suite) "Si x est la mère de y, alors x est un parent de y" x y Mère(x,y) Parent(x, y) "Chacun est loyal envers quelqu'un" x y Personne(x) Personne(y) LoyalEnvers(x,y) ou y x Personne(x) Personne(y) LoyalEnvers(x,y)? "il existe quelqu'un envers qui chacun est loyal" phrase ambiguë!! "Les gens tentent d'assassiner les dirigeants envers lesquels ils ne sont pas loyaux" x y Personne(x) Dirigeant(y) TenterAssassiner(x,y) LoyalEnvers(x,y) ou "la seule chose que les gens tentent de faire est d'assassiner ceux envers qui ils ne sont pas loyaux" une autre phrase ambiguë!! IA 2004-2005 - C. Pellegrini 21 Égalité terme 1 = terme 2 est vrai étant donné une interprétation si et seulement si terme 1 et terme 2 font référence au même objet exemples: a) Père(Paul) = Jacques Téléphone(Christian) = 705 76 34 b) définition de FrèreSoeur en termes de Parent x,y FrèreSoeur(x,y) [ (x = y) m,f (m = f) Parent(m, x) Parent(f, x) Parent(m, y) Parent(f, y)] IA 2004-2005 - C. Pellegrini 22 11

Inférence en logique du 1 er ordre Prémisses: 1. Si x est un parent de y, alors x est plus âgé que y 2. Si x est la mère de y, alors x est un parent de y 3. Lulu est la mère de Fifi Conclusion: Lulu est plus âgé que Fifi Correspondance en logique du 1er ordre: Prémisses: 1. x y Parent(x,y) PlusAgé(x, y) 2. x y Mère(x,y) Parent(x, y) 3. Mère(Lulu, Fifi) Conclusion: PlusAgé(Lulu, Fifi) l'inférence est obtenue par des axiomes et des règles (i.e. par des transformations syntaxiques) qui étendent ceux de la logique propositionnelle. IA 2004-2005 - C. Pellegrini 23 Règles d'inférence Règles identiques à celles de la logique propositionnelle α β, α β Modus ponens (MP) α 1,α 2, α n α 1 α 2 α n introduction du "et" (IE) Règle nouvelle x α α [x/k] Instantiation universelle (IU) α[x/k] : une phrase α où toutes les occurrences de la variable x sont remplacées par la constante k (noté aussi SUBST({x/k}, α)) IA 2004-2005 - C. Pellegrini 24 12

Exemple de preuve Bob est un bœuf 1. Boeuf(Bob) Pat est un cochon 2. Cochon(Pat) Les bœufs courent plus vite 3. x, y Boeuf(x) Cochon(y) que les cochons PlusRapide(x, y) Bob coure plus vite que Pat IE 1 & 2 IU 3 {x/bob, y/pat} MP 4 & 5 4. Boeuf(Bob) Cochon(Pat) 5. Boeuf(Bob) Cochon(Pat) PlusRapide(Bob,Pat) 6. PlusRapide(Bob,Pat) IA 2004-2005 - C. Pellegrini 25 Unification C'est le processus qui rend 2 expressions identiques, en logique propositionnelle 2 expressions sont les mêmes seulement si elles sont syntaxiquement identiques, la présence de variables en logique des prédicats complique ce fait: Humain(x) = Humain(Socrate) si et seulement si x=socrate il faut parfois substituer une fonction à une variable: ex: Humain(x) Mortel(x) Humain(PèreDe( Platon)) x / PèreDe( Platon) Humain(PèreDe( Platon)) Mortel(PèreDe( Platon)) IA 2004-2005 - C. Pellegrini 26 13

Unification (suite) Une substitution σ unifie les phrases atomiques p et q ssi pσ = qσ p q σ Connaît(Jean, x) Connaît(Jean, Jeanne) { x/jeanne } Connaît(Jean, x) Connaît(y, OJ) { y/jean, x/oj } Connaît(Jean, x) Connaît(y, Mère(y)) { y/jean, x/mère(jean) } Connaît(Jean,x) Connaît(x, OJ) {échec} Idée: unifier les prémisses des règles avec des faits connus, appliquer l'unificateur à la conclusion ex: si on connaît q et Connaît(Jean, x) Aime(Jean, x) alors on peut conclure Aime(Jean, Jeanne) Aime(Jean, OJ) Aime(Jean, Mère(Jean)) IA 2004-2005 - C. Pellegrini 27 Unification (suite) Unifier Q(x,Tom) & Q(Marie, y) Q(x,Tom) & Q(Marie, y) { y/tom, x/marie } Q(Marie,Tom) Q(Marie,Tom) une variable doit être substituée de manière consistante pour toutes ses occurrences dans les expressions à unifier P(x) Q(B,x) P(A) Q(z, x) { x/a, z/b } P(A) Q(B,A) P(A) Q(B, A) IA 2004-2005 - C. Pellegrini 28 14

Unification (suite) Si on applique une série de substitutions, l'effet est identique à celui d'une seule substitution qui est la composition des substitutions partielles {x/b, y/z} P(x) Q(y,x) P(b) Q(z,b) {x/a, y/f(b)} {b/a, z/f(b)} P(A) Q(f(B),A) IA 2004-2005 - C. Pellegrini 29 Unificateur le plus généralg Si on veut unifier Connaît(Jean,x) et Connaît(y,z) on peut le faire avec les unificateurs: σ = { y/jean, x/z } σ = { y/jean, x/jean, z/jean } Le 1 er est plus général (moins spécifique) que le 2 ème Il n'existe qu'un seul unificateur le plus général (UPG) qui est unique à condition de procéder au renommage des variables UPG = { y/jean, x/z } IA 2004-2005 - C. Pellegrini 30 15

Algorithme d'unification IA 2004-2005 - C. Pellegrini 31 Algorithme d'unification IA 2004-2005 - C. Pellegrini 32 16

Modus ponens généralisé p 1 ', p 2 ',, p n ', ( p 1 p 2... p n q ) qσ où p i ' = p i σ i exemple: p 1 ' = PlusRapide(Bob,Pat) p 2 ' = PlusRapide(Pat,Steve) p 1 p 2 q = PlusRapide(x, y) PlusdRapide(y, z) PlusRapide(x, z) σ = { x/bob, y/pat, z/steve } qσ = PlusRapide(Bob, Steve) IA 2004-2005 - C. Pellegrini 33 Exemple de preuve Une preuve de PlusVieux(Lulu, Fifi) à l'aide du MPG: 1. Mère(Lulu, Fifi) donné 2. Vivant(Lulu) donné 3. x y Mère(x,y) Parent(x, y) donné 4. x y(parent(x,y) Vivant(x)) PlusVieux(x, y) donné 5. Parent(Lulu, Fifi) 1,3, MPG 6. PlusVieux(Lulu, Fifi) 5,2,4, MPG cette application du MPG est appelée chaînage avant (ou "forward chaining") IA 2004-2005 - C. Pellegrini 34 17

Chaînage avant ("forward chaining") Lorsqu'un nouveau fait p est ajouté à la base de connaissances: pour chaque règle telle que p s'unifie avec un prémisse et si les autres prémisses sont connus alors ajouter la conclusion à la base de connaissances et continuer le chaînage le chaînage avant est piloté par les données ("data-driven") càd, on infère des propriétés et des catégories à partir des séquences perceptives IA 2004-2005 - C. Pellegrini 35 Exemple de chaînage avant (propositions) Activer chaque régle dont les prémisses sont satisfaites par des éléments de la base de connaissances IA 2004-2005 - C. Pellegrini 36 18

IA 2004-2005 - C. Pellegrini 37 IA 2004-2005 - C. Pellegrini 38 19

IA 2004-2005 - C. Pellegrini 39 IA 2004-2005 - C. Pellegrini 40 20

IA 2004-2005 - C. Pellegrini 41 IA 2004-2005 - C. Pellegrini 42 21

IA 2004-2005 - C. Pellegrini 43 IA 2004-2005 - C. Pellegrini 44 22

Exemple de chaînage avant (prédicats) Ajouter les éléments 1, 2, 3, 4, 5, 7 à la BdC dans l'ordre nombres entre [ ] = unification d'un littéral indique l'application d'une règle X indique une règle non applicable 1. Boeuf(x) Cochon(y) PlusRapide(x, y) 2. Cochon(y) Escargot(z) PlusRapide(y, z) 3. PlusRapide(x, y) PlusRapide(y, z) PlusRapide(x, z) 4. Boeuf(Bob) [1a, X] 5. Cochon(Pat) [1b, ] 6. PlusRapide(Bob, Pat) [3a, X], [3b, X] [2a,X] 7. Escargot(Steve) [2b, ] 8. PlusRapide(Pat, Steve) [3a, X], [3b, ] 9. PlusRapide(Bob, Steve) [3a, X], [3b, X] IA 2004-2005 - C. Pellegrini 45 Exemple d'une base de connaissances Soit l'énoncé suivant (conservé dans la version en anglais pour la cohérence avec la référence AIMA) The law says that it is a crime for an American to sell weapons to hostile nations. The country Nono, an enemy of America, has some missiles, and all of its missiles were sold to it by Colonel West, who is American. Prouver que le Colonel West est un criminel (au sens de la loi) IA 2004-2005 - C. Pellegrini 46 23

Exemple d'une base de connaissances (suite)... it is a crime for an American to sell weapons to hostile nations: American(x) Weapon(y) Sells(x,y,z) Hostile(z) Criminal(x) Nono has some missiles, i.e., x Owns(Nono,x) Missile(x): Owns(Nono,M 1 ) and Missile(M 1 ) all of its missiles were sold to it by Colonel West Missile(x) Owns(Nono,x) Sells(West,x,Nono) Missiles are weapons: Missile(x) Weapon(x) An enemy of America counts as "hostile : Enemy(x,America) Hostile(x) West, who is American American(West) The country Nono, an enemy of America Enemy(Nono,America) IA 2004-2005 - C. Pellegrini 47 Preuve par chaînage avant IA 2004-2005 - C. Pellegrini 48 24

Preuve par chaînage avant IA 2004-2005 - C. Pellegrini 49 Preuve par chaînage avant IA 2004-2005 - C. Pellegrini 50 25

Chaînage arrière re ("backward chaining") Partir d'un objectif (à prouver) et dériver de nouveaux sous-objectifs jusqu'à n'avoir que des sous-objectifs connus comme vrais semblable à la réduction de problème Preuve par chaînage arrière de PlusVieux(Lulu, Fifi) à partir des prémisses: 1. Mère(Lulu, Fifi) 2. Vivant(Lulu) 3. x y Mère(x,y) Parent(x, y) 4. x y(parent(x,y) Vivant(x)) PlusVieux(x, y) objectif: sous-objectif: sous-objectif: (i) PLusVieux(Lulu, Fifi) correspondance (i) avec partie droite de (4) (ii) Parent(Lulu, Fifi) (iii) Vivant(Lulu) correspondance (iii) avec (2) vrai correspondance (ii) avec partie droite de (3) (iv) Mère(Lulu, Fifi) correspondance (iv) avec (1) vrai IA 2004-2005 - C. Pellegrini 51 Chaînage arrière re (suite) Lorsqu'une requête q est posée si un fait correspondant q' est connu, alors retourner l'unificateur pour chaque règle ayant pour conclusion q' et tenter de prouver chaque prémisse de la règle par chaînage arrière (quelques complications dans la conservation des unificateurs) (encore plus de complications pour éviter les boucles infinies) deux cas: 1) trouver une solution, 2) trouver toutes les solutions le chaînage arrière est dirigé par les objectifs ("goal directed" ) le chaînage arrière est à la base de la programmation logique, par ex. de Prolog IA 2004-2005 - C. Pellegrini 52 26

Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 53 Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 54 27

Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 55 Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 56 28

Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 57 Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 58 29

Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 59 Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 60 30

Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 61 Exemple de chaînage arrière re (propositions) IA 2004-2005 - C. Pellegrini 62 31

Exemple de chaînage arrière re (prédicats) 1. Cochon(y) Escargot(z) PlusRapide(y, z) 2. Mince(z) Rampe(z) Escargot(z) 3. Cochon(Pat) 4. Mince(Steve) 5. Rampe(Steve) PlusRapide(Pat,Steve) 1 {y/pat, z/steve} Cochon(Pat) 3 { } Escargot(Steve) 2 {z/steve} Mince(Steve) Rampe(Steve) 4 { } 5 { } IA 2004-2005 - C. Pellegrini 63 Un autre exemple IA 2004-2005 - C. Pellegrini 64 32

Un autre exemple IA 2004-2005 - C. Pellegrini 65 Un autre exemple IA 2004-2005 - C. Pellegrini 66 33

Un autre exemple IA 2004-2005 - C. Pellegrini 67 Un autre exemple IA 2004-2005 - C. Pellegrini 68 34

Un autre exemple IA 2004-2005 - C. Pellegrini 69 Un autre exemple IA 2004-2005 - C. Pellegrini 70 35

Base de connaissances pour le monde du Wumpus Perception b, g, t Perçoit([Odeur, b, g], t) Odorant(t) s, b, t Perçoit([s, b, Éclat], t) Or(t) Reflex t Or(t) Action(Saisir, t) Reflex avec état interne: a-t-on déjà l'or? t Or(t) Tenir(Or,t) Action(Saisir,t) Tenir(Or,t) ne peut pas être observé directement conserver une trace des changements est essentiel IA 2004-2005 - C. Pellegrini 71 Interagir avec une base de connaissances Supposons que l'agent pour le monde du Wumpus utilise une base de connaissances en logique du 1 er ordre et qu'il perçoive une odeur et un courant d'air (mais pas d'éclat) au temps t = 5: Tell (KB, Percept([Odeur, CourantAir, Rien], 5)) Ask (KB, a Action(a, 5)) i.e., est-ce que KB induit une action particulière au temps t = 5? réponse: OUI, {a/tirer} substitution ("binding list") Soit un phrase S et une substitution σ, Sσ désigne le résultat d'introduire σ dans S, c-à-d: S = PlusIntelligent(x, y) σ = {x/hillary, y/bill} Sσ = PlusIntelligent(Hillary, Bill) Ask (KB, S) retourne quelques/tous les σ tels que KB Sσ IA 2004-2005 - C. Pellegrini 72 36

Déduire des propriétés s cachées Propriétés de positions: l, t At(Agent, l, t) Odeur(t) Odorant(l) l, t At(Agent, l, t) Air(t) CourantAir(l) Les cases proches d'un puit ont des courants d'air, 2 solutions: solution diagnostique: la règle infère la cause à partir de l'effet y CourantAir(y) x Puit(x) Adjacent(x, y) solution causale: la règle infère l'effet à partir de la cause x, y Puit(x) Adjacent(x, y) CourantAir(y) aucune solution n'est complète, i.e. la règle causale ne dit pas si une case éloignée d'un puit peut avoir des courants d'air Définition du prédicat CourantAir: y CourantAir(y), [ x Puit(x) Adjacent(x, y)] IA 2004-2005 - C. Pellegrini 73 Garder une trace des changements Les faits existent dans une situation donnée et pas éternellement ex: Tenir(Or, Maintenant) plutôt que simplement Tenir(Or) le calcul de situation est une possibilité pour représenter les changements en logique du 1 er ordre ajouter un argument de situation à chaque prédicat non-permanent ( càd non éternel) Maintenant dans Tenir(Or, Maintenant) représente une situation les situations sont liées les unes aux autres par la fonction Result Result(a,s) est la situation qui résulte de l'action a effectuée dans la situation s IA 2004-2005 - C. Pellegrini 74 37

Décrire les actions axiome "Effet" décrit les changements dus à une action s A-Or(s) Tenir(Gold Result(Saisir, s)) axiome "Frame" décrit les non-changements suite à une action s PossèdeFlèche(s) PossèdeFlèche(Result(Saisir, s)) problème " Frame ": trouver un moyen élégant de traiter les nonchangements par représentation: évite les axiomes "frame" par inférence: évite les copies répétées pour garder une trace des différents états problème "Qualification": des descriptions d'actions réelles exigeraient des précisions sans fin que faire si l'or est glissant, fixé au sol, problème "Ramification": les actions réelles ont de nombreuses conséquences secondaires IA 2004-2005 - C. Pellegrini 75 38