Intelligence Artificielle Logique (1/3)
Bruno Bouzy
http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr
Licence 3 Informatique
UFR Mathématiques et Informatique
Université Paris Descartes
Agents logiques
Motivations
Agents fond´es sur lesconnaissances Repr´esentationdes connaissances Processus deraisonnement
⇒ Tirer parti de connaissances grˆace `a une capacit´e `a combiner et recombiner des informations pour les adapter `a une multitude de fins.
→ Math´ematicien d´emontre un th´eor`eme
→ Astronome calcule la dur´ee de vie de la Terre
⇒ Environnementspartiellement observables: combiner connaissances g´en´erales et percepts re¸cus pour inf´erer des aspects cach´es de l’´etat courant.
→ M´edecin ausculte un patient
→ Compr´ehension du langage naturel :
“John a vu le diamant `a travers le carreau etl’a convoit´e”
“John a lanc´e un caillou `a travers le carreau etl’a cass´e”
Connaissances desens commun
2 / 59 Intelligence artificielle N
Agents logiques
Motivations
Agents fond´es sur lesconnaissances Repr´esentationdes connaissances Processus deraisonnement
⇒ Tirer parti de connaissances grˆace `a une capacit´e `a combiner et recombiner des informations pour les adapter `a une multitude de fins.
→ Math´ematicien d´emontre un th´eor`eme
→ Astronome calcule la dur´ee de vie de la Terre
⇒ Environnementspartiellement observables: combiner connaissances g´en´erales et percepts re¸cus pour inf´erer des aspects cach´es de l’´etat courant.
→ M´edecin ausculte un patient
→ Compr´ehension du langage naturel :
“John a vu le diamant `a travers le carreau etl’a convoit´e”
“John a lanc´e un caillou `a travers le carreau etl’a cass´e”
Connaissances desens commun
2 / 59 Intelligence artificielle N
Agents logiques
Motivations
Agents fond´es sur lesconnaissances Repr´esentationdes connaissances Processus deraisonnement
⇒ Tirer parti de connaissances grˆace `a une capacit´e `a combiner et recombiner des informations pour les adapter `a une multitude de fins.
→ Math´ematicien d´emontre un th´eor`eme
→ Astronome calcule la dur´ee de vie de la Terre
⇒ Environnementspartiellement observables: combiner connaissances g´en´erales et percepts re¸cus pour inf´erer des aspects cach´es de l’´etat courant.
→ M´edecin ausculte un patient
→ Compr´ehension du langage naturel :
“John a vu le diamant `a travers le carreau etl’a convoit´e”
“John a lanc´e un caillou `a travers le carreau etl’a cass´e”
Connaissances desens commun
2 / 59 Intelligence artificielle N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
3 / 59 Intelligence artificielle N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
4 / 59 Intelligence artificielle N
Agents logiques
Base de connaissances (BC)
Base de connaissances: ensemble d’´enonc´esexprim´es dans unlangage formel
Les agents logiques peuvent ˆetre vus au :
niveau des connaissances: ce qu’ils savent, quelle que soit l’impl´ementation niveau des impl´ementations: structures de donn´ees dans la BC, et les algorithmes qui les manipulent
Approched´eclarativepour construire la base de connaissances Tell: ce qu’ils doivent savoir
Ask: demander ce qu’ils doivent faire. La r´eponse doitr´esulterde BC
5 / 59 Intelligence artificielle N
Agents logiques
Agent bas´ e sur les connaissances
Un agent bas´e sur les connaissances doit ˆetre capable de : Repr´esenter les ´etats, les actions
Incorporer de nouvelles perceptions
Mettre `a jour sa repr´esentation interne du monde D´eduire les propri´et´es cach´ees du monde
D´eduire les actions appropri´ees
6 / 59 Intelligence artificielle N
Agents logiques
Exemple simple d’un agent bas´ e sur les connaissances
Programme agent bas´e sur les connaissances fonction KB-Agent(percept)retourneaction
variables statiques: KB, base de connaissances
t, compteur initialis´e `a 0, indique le temps Tell(KB, Make-percept-sentence(percept,t))
action←Ask(KB, Make-action-query(t)) Tell(KB, Make-action-sentence(action,t)) t ←t+ 1
retourneraction
7 / 59 Intelligence artificielle N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
8 / 59 Intelligence artificielle N
Agents logiques
Le monde du Wumpus
Environnement
Agent commence en case [1,1]
Cases adjacentes au Wumpus sentent mauvais
Brise dans les cases adjacentes aux puits
Lueur dans la cases contenant de l’or Tirer tue le Wumpus s’il est en face On ne peut tirer qu’une fois S’il est tu´e, le Wumpus crie Choc si l’agent se heurte `a un mur Saisir l’or si mˆeme case que l’agent Capteurs : odeur, brise, lueur, choc, cri Percepts : liste de 5 symboles
Ex : [odeur, brise, rien, rien, rien]
Actions : tourne gauche, tourne droite, avance, attrappe, tire
Mesures de performance : or : +1000;
mort : -1000;
action : -1;
utiliser la fl`eche : -10
9 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observable
Non. Perception locale uniquement
D´eterministe
Oui
Episodique
Non. S´equentiel au niveau des actions
Statique
Oui. Le Wumpus et les puits ne bougent pas
Discret
Oui
Mono-agent
Oui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observableNon. Perception locale uniquement D´eterministe
Oui
Episodique
Non. S´equentiel au niveau des actions
Statique
Oui. Le Wumpus et les puits ne bougent pas
Discret
Oui
Mono-agent
Oui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observableNon. Perception locale uniquement D´eterministeOui
Episodique
Non. S´equentiel au niveau des actions
Statique
Oui. Le Wumpus et les puits ne bougent pas
Discret
Oui
Mono-agent
Oui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observableNon. Perception locale uniquement D´eterministeOui
EpisodiqueNon. S´equentiel au niveau des actions Statique
Oui. Le Wumpus et les puits ne bougent pas
Discret
Oui
Mono-agent
Oui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observableNon. Perception locale uniquement D´eterministeOui
EpisodiqueNon. S´equentiel au niveau des actions StatiqueOui. Le Wumpus et les puits ne bougent pas Discret
Oui
Mono-agent
Oui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observableNon. Perception locale uniquement D´eterministeOui
EpisodiqueNon. S´equentiel au niveau des actions StatiqueOui. Le Wumpus et les puits ne bougent pas DiscretOui
Mono-agent
Oui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Caract´ erisation du monde du Wumpus
Totalement observableNon. Perception locale uniquement D´eterministeOui
EpisodiqueNon. S´equentiel au niveau des actions StatiqueOui. Le Wumpus et les puits ne bougent pas DiscretOui
Mono-agentOui. Le Wumpus est une caract´eristique de la nature
10 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Explorer un monde du Wumpus
11 / 59 Intelligence artificielle N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
12 / 59 Intelligence artificielle N
Agents logiques
Principe g´ en´ eraux de la logique
Logique: langage formel permettant de repr´esenter des informations `a partir desquelles on peu tirer des conclusions
Lasyntaxed´esigne les phrases (ou ´enonc´es) bien form´ees dans le langage Las´emantiqued´esigne la signification, le sens de ces phrases
Par exemple, dans le langage arithm´etique : x+y= 4 est une phrase syntaxiquement correcte x4y+ = n’en est pas une
2 + 3 = 4 est une phrase syntaxiquement correcte mais s´emantiquement incorrecte
x+y= 4 est vraie ssixetysont des nombres, et que leur somme fait 4 x+y= 4 est vraie dans un monde o`ux= 1 ety= 3
x+y= 4 est fausse dans un monde o`ux= 2 ety= 1
13 / 59 Intelligence artificielle N
Agents logiques
Relation de cons´ equences
Relation de cons´equences : un ´enonc´ed´ecoule logiquementd’un autre
´
enonc´e : α|=β
α|=βest vraie si et seulement siβest vraie dans tous mondes o`uαest vraie
Siαest vraie,βdoit ˆetre vraie
Par exemple, (x+y= 4)|= (x+y≤4)
Bases de connaissances = ensemble d’´enonc´es. Une BC a un ´enonc´e pour cons´equence : BC |=α
La relation de cons´equences est une relation entre des ´enonc´es (la syntaxe) bas´ee sur las´emantique
14 / 59 Intelligence artificielle N
Agents logiques
Les mod` eles
Les logiciens pensent en terme demod`eles, qui sont des mondes structur´es dans lesquels la v´erit´e ou la fausset´e de chaque ´enonc´e peut ˆetre ´evalu´ee mest un mod`elede l’´enonc´eαsiαest vraie dansm
M(α) est l’ensemble de tous les mod`eles deα BC |=αsi et seulement siM(BC)⊆M(α)
15 / 59 Intelligence artificielle N
Agents logiques
Relation de cons´ equences dans le monde du Wumpus
Situation apr`es avoir effectu´e Rien en [1,1]
Droite Brise en [2,1]
Consid´erer les mod`eles possible pour la base de connaissances en ne
consid´erant que les puits 23= 8 mod`eles possibles
16 / 59 Intelligence artificielle N
Agents logiques
Mod` eles du monde du Wumpus
17 / 59 Intelligence artificielle N
Agents logiques
Mod` eles du monde du Wumpus
BC = r`egles du monde Wumpus + observations
17 / 59 Intelligence artificielle N
Agents logiques
Mod` eles du monde du Wumpus
BC = r`egles du monde Wumpus + observations α1= “[1,2] est sans puits”
17 / 59 Intelligence artificielle N
Agents logiques
Mod` eles du monde du Wumpus
BC = r`egles du monde Wumpus + observations α1= “[1,2] est sans puits”
BC |=α1, prouv´e parv´erification des mod`eles(model checking)
17 / 59 Intelligence artificielle N
Agents logiques
Mod` eles du monde du Wumpus
BC = r`egles du monde Wumpus + observations α2= “[2,2] est sans puits”
BC 6|=α2
17 / 59 Intelligence artificielle N
Agents logiques
Inf´ erence logique
KB`iα: l’´enonc´eαest d´eriv´e deKBpar la proc´edurei
Validit´e(soundness) : i est valide si, lorsqueKB`i αest vrai, alors KB|=αest ´egalement vrai
Compl´etude(completness) : i est compl`ete si, lorsqueKB|=αest vrai, alorsKB`iαest ´egalement vrai
Une proc´edure valide et compl`ete permet de r´epondre `a toute question dont la r´eponse peut ˆetre d´eduite de la base de connaissances
18 / 59 Intelligence artificielle N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
19 / 59 Intelligence artificielle N
Agents logiques
Logique propositionelle - syntaxe
Logique propositionnelle = logique tr`es simple
Un´enonc´eest un ´enonc´e atomique ou un ´enonc´e complexe
Unsymbole propositionnelest une proposition qui peut ˆetre vraie ou fausseP,Q,R...
Enonc´es atomiques: un seul symbole propositionnel,vrai oufaux. Appel´e aussi unlitt´eral
Enonc´es complexes:
SiEest un ´enonc´e,¬Eest un ´enonc´e (n´egation)
SiE1etE2sont des ´enonc´es,E1∧E2est un ´enonc´e (conjonction) SiE1etE2sont des ´enonc´es,E1∨E2est un ´enonc´e (disjonction) SiE1etE2sont des ´enonc´es,E1⇒E2est un ´enonc´e (implication) SiE1etE2sont des ´enonc´es,E1⇔E2est un ´enonc´e (´equivalence)
20 / 59 Intelligence artificielle N
Agents logiques
Logique propositionelle - s´ emantique
Un mod`ele : une valeur de v´erit´e (vrai oufaux) pour chaque symbole propositionnel
3 symboles propositionnelsP1,1,P2,2etP3,1
m1={P1,1=Faux, P2,2=Faux, P3,1=Vrai}
nsymboles propositionnels = 2nmod`eles possibles
R`egles pour ´evaluer un ´enonc´e en fonction d’un mod`elem:
¬E est vrai ssi E est faux
E1∧E2 est vrai ssi E1est vraietE2est vrai E1∨E2 est vrai ssi E1est vraiouE2est vrai E1⇒E2 est vrai ssi E1est fauxouE2est vrai E1⇒E2 est faux ssi E1est vraietE2est faux
E1⇔E2 est vrai ssi E1⇒E2est vraietE2⇒E1est vrai Un processus r´ecursif simple permet d’´evaluer un ´enonc´e. Par exemple :
¬P1,2∧(P2,2∨P3,1) =Vrai∧(Faux∨Vrai) =Vrai∧Vrai=Vrai
21 / 59 Intelligence artificielle N
Agents logiques
Table de v´ erit´ e des connecteurs logiques
P Q ¬P P∧Q P∨Q P⇒Q P⇔Q
vrai vrai faux vrai vrai vrai vrai
vrai faux faux faux vrai faux faux
faux vrai vrai faux vrai vrai faux
faux faux vrai faux faux vrai vrai
22 / 59 Intelligence artificielle N
Agents logiques
Base de connaissances du monde du Wumpus (simplifi´ e)
Pi,jvrai s’il y a un puits en [i,j]
Bi,j vrai s’il y a une brise en [i,j]
Base de connaissances : R1:¬P1,1
Brise ssi puits dans une case adjacente : R2:B1,1⇔(P1,2∨P2,1)
R3:B2,1⇔(P1,1∨P2,2∨P3,1) R4:¬B1,1
R5:B2,1
BC :R1∧R2∧R3∧R4∧R5
23 / 59 Intelligence artificielle N
Agents logiques
Base de connaissances du monde du Wumpus (simplifi´ e)
7 symboles propositionnels : 27= 128 mod`eles possibles
B1,1 B2,1 P1,1 P1,2 P2,1 P2,2 P3,1 R1 R2 R3 R4 R5 BC faux faux faux faux faux faux faux vrai vrai vrai vrai faux faux faux faux faux faux faux faux vrai vrai vrai faux vrai faux faux ..
. .. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. . faux vrai faux faux faux faux faux vrai vrai faux vrai vrai faux faux vrai faux faux faux faux vrai vrai vrai vrai vrai vrai vrai faux vrai faux faux faux vrai faux vrai vrai vrai vrai vrai vrai faux vrai faux faux faux vrai vrai vrai vrai vrai vrai vrai vrai faux vrai faux faux vrai faux faux vrai faux faux vrai vrai faux ..
. .. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. .
.. . vrai vrai vrai vrai vrai vrai vrai faux vrai vrai faux vrai faux
24 / 59 Intelligence artificielle N
Agents logiques
Inf´ erence par ´ enum´ eration
Enum´eration en profondeur d’abord de tous les mod`eles
fonctionTT-Entails(KB,α)retournevraioufaux variables statiques:KB, base de connaissances
α, requˆete, ´enonc´e propositionnel symboles←liste de symboles propositionnels dansKB etα retournerTT-Check-All(KB,α,symboles, [])
fonctionTT-Check-All(KB,α,symboles,modele)retournevraioufaux siEmpty?(symboles)alors
siPL-True?(KB,modele)alors retournerPL-True?(α,modele) sinon retournervrai
sinon faire
P←First(symboles);reste←Rest(symboles)
retournerTT-Check-All(KB,α,reste, Extend(P,vrai,modele)) etTT-Check-All(KB,α,reste, Extend(P,faux,modele))
25 / 59 Intelligence artificielle N
Agents logiques
Inf´ erence par ´ enum´ eration
Algorithmevalideetcomplet Pournsymboles :
complexit´e temporelle enO(2n) complexit´e spatiale enO(n)
26 / 59 Intelligence artificielle N
Agents logiques
Equivalence logique
Deux ´enonc´es sontlogiquement ´equivalentssi et seulement s’ils sont vrais dans les mˆeme mod`eles :
α≡β⇔α|=β etβ|=α
(α∧β) ≡ (β∧α) commutativit´e de ∧ (α∨β) ≡ (β∨α) commutativit´e de ∨ ((α∧β)∧γ) ≡ (α∧(β∧γ)) associativit´e de ∧ ((α∨β)∨γ) ≡ (α∨(β∨γ)) associativit´e de ∨
¬(¬α) ≡ α´elimination de la double n´egation (α⇒β) ≡ (¬β⇒ ¬α) contraposition (α⇒β) ≡ (¬α∨β) ´elimination de l’implication
(α⇔β) ≡ ((α⇒β)∧(β⇒α)) ´elimination de l’´equivalence
¬(α∧β) ≡ (¬α∨ ¬β) De Morgan
¬(α∨β) ≡ (¬α∧ ¬β) De Morgan
(α∧(β∨γ)) ≡ ((α∧β)∨(α∧γ)) distributivit´e de ∧ par rapport `a ∨ (α∨(β∧γ)) ≡ ((α∨β)∧(α∨γ)) distributivit´e de ∨ par rapport `a ∧
27 / 59 Intelligence artificielle N
Agents logiques
Validit´ e et satisfiabilit´ e
Un ´enonc´e estvalides’il est vrai danstousles mod`eles. On dit aussi tautologie
Exemples : vrai;A∨ ¬A;A⇒A; (A∧(A⇒B))⇒B Th´eor`eme de la d´eduction:
KB|=αsi et seulement si (KB⇒α) est valide Un ´enonc´e estsatisfiables’il est vrai danscertainsmod`eles
Exemples : A∨B;C
Un ´enonc´e estinsatisfiables’il n’est vrai dansaucunmod`ele Exemple : A∧ ¬A
Satisfiabilit´e :
KB|=αsi et seulement si (KB∧ ¬α) est insatisfiable
28 / 59 Intelligence artificielle N
Agents logiques
Validit´ e et satisfiabilit´ e
Un ´enonc´e estvalides’il est vrai danstousles mod`eles. On dit aussi tautologie
Exemples : vrai;A∨ ¬A;A⇒A; (A∧(A⇒B))⇒B Th´eor`eme de la d´eduction:
KB|=αsi et seulement si (KB⇒α) est valide Un ´enonc´e estsatisfiables’il est vrai danscertainsmod`eles
Exemples : A∨B;C
Un ´enonc´e estinsatisfiables’il n’est vrai dansaucunmod`ele Exemple : A∧ ¬A
Satisfiabilit´e :
KB|=αsi et seulement si (KB∧ ¬α) est insatisfiable
28 / 59 Intelligence artificielle N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
29 / 59 Intelligence artificielle N
Agents logiques
M´ ethodes de preuve
Les m´ethodes de preuves sont de deux principaux types : Application des r`egles d’inf´erence
G´en´eration l´egitime (valide) de nouveaux ´enonc´es `a partir de ceux que l’on a d´ej`a
Preuve: s´equence d’applications des r`egles d’inf´erence N´ecessite la transformation des ´enonc´es enforme normale V´erification des mod`eles(Model checking)
Enum´eration de la table de v´erit´e (toujours exponentiel enn)
Am´elior´e par backtracking (Davis-Putnam-Logemann-Loveland (DPLL)) Recherche heuristique dans l’espace d’´etat (valide mais incomplet)
30 / 59 Intelligence artificielle N
Agents logiques
Sch´ emas de raisonnement en logique propositionnelle
Modus Ponens : α⇒β, α
β
Elimination de la conjonction : α∧β
α
Elimination de l’´equivalence : α⇔β
(α⇒β)∧(β⇒α) (α⇒β)∧(β⇒α)
α⇔β
31 / 59 Intelligence artificielle N
Agents logiques
Exemple
R1: ¬P1,1;R2: B1,1⇔(P1,2∨P2,1);R3 : B2,1⇔(P1,1∨P2,2∨P3,1);
R4: ¬B1,1;R5: B2,1
On veut prouver¬P1,2(pas de puits en [1,2]) Elimination de l’´equivalence`aR2 :
R6: (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1) Elimination de la conjonction`aR6 :
R7: (P1,2∨P2,1)⇒B1,1
Equivalence logique des contrapos´ees: R8: ¬B1,1⇒ ¬(P1,2∨P2,1)
Modus PonensavecR8 etR4: R9: ¬(P1,2∨P2,1)
R`egle de De Morgan: R10: ¬P1,2∧ ¬P2,1
32 / 59 Intelligence artificielle N
Agents logiques
Exemple
R1: ¬P1,1;R2: B1,1⇔(P1,2∨P2,1);R3 : B2,1⇔(P1,1∨P2,2∨P3,1);
R4: ¬B1,1;R5: B2,1
On veut prouver¬P1,2(pas de puits en [1,2]) Elimination de l’´equivalence`aR2 :
R6: (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1) Elimination de la conjonction`aR6 :
R7: (P1,2∨P2,1)⇒B1,1
Equivalence logique des contrapos´ees: R8: ¬B1,1⇒ ¬(P1,2∨P2,1)
Modus PonensavecR8 etR4: R9: ¬(P1,2∨P2,1)
R`egle de De Morgan: R10: ¬P1,2∧ ¬P2,1
32 / 59 Intelligence artificielle N
Agents logiques
Exemple
R1: ¬P1,1;R2: B1,1⇔(P1,2∨P2,1);R3 : B2,1⇔(P1,1∨P2,2∨P3,1);
R4: ¬B1,1;R5: B2,1
On veut prouver¬P1,2(pas de puits en [1,2]) Elimination de l’´equivalence`aR2 :
R6: (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1) Elimination de la conjonction`aR6 :
R7: (P1,2∨P2,1)⇒B1,1
Equivalence logique des contrapos´ees: R8: ¬B1,1⇒ ¬(P1,2∨P2,1)
Modus PonensavecR8 etR4: R9: ¬(P1,2∨P2,1)
R`egle de De Morgan: R10: ¬P1,2∧ ¬P2,1
32 / 59 Intelligence artificielle N
Agents logiques
Exemple
R1: ¬P1,1;R2: B1,1⇔(P1,2∨P2,1);R3 : B2,1⇔(P1,1∨P2,2∨P3,1);
R4: ¬B1,1;R5: B2,1
On veut prouver¬P1,2(pas de puits en [1,2]) Elimination de l’´equivalence`aR2 :
R6: (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1) Elimination de la conjonction`aR6 :
R7: (P1,2∨P2,1)⇒B1,1
Equivalence logique des contrapos´ees: R8: ¬B1,1⇒ ¬(P1,2∨P2,1)
Modus PonensavecR8 etR4: R9: ¬(P1,2∨P2,1)
R`egle de De Morgan: R10: ¬P1,2∧ ¬P2,1
32 / 59 Intelligence artificielle N
Agents logiques
Exemple
R1: ¬P1,1;R2: B1,1⇔(P1,2∨P2,1);R3 : B2,1⇔(P1,1∨P2,2∨P3,1);
R4: ¬B1,1;R5: B2,1
On veut prouver¬P1,2(pas de puits en [1,2]) Elimination de l’´equivalence`aR2 :
R6: (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1) Elimination de la conjonction`aR6 :
R7: (P1,2∨P2,1)⇒B1,1
Equivalence logique des contrapos´ees: R8: ¬B1,1⇒ ¬(P1,2∨P2,1)
Modus PonensavecR8 etR4: R9: ¬(P1,2∨P2,1)
R`egle de De Morgan: R10: ¬P1,2∧ ¬P2,1
32 / 59 Intelligence artificielle N
Agents logiques
Exemple
R1: ¬P1,1;R2: B1,1⇔(P1,2∨P2,1);R3 : B2,1⇔(P1,1∨P2,2∨P3,1);
R4: ¬B1,1;R5: B2,1
On veut prouver¬P1,2(pas de puits en [1,2]) Elimination de l’´equivalence`aR2 :
R6: (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1) Elimination de la conjonction`aR6 :
R7: (P1,2∨P2,1)⇒B1,1
Equivalence logique des contrapos´ees: R8: ¬B1,1⇒ ¬(P1,2∨P2,1)
Modus PonensavecR8 etR4: R9: ¬(P1,2∨P2,1)
R`egle de De Morgan: R10: ¬P1,2∧ ¬P2,1
32 / 59 Intelligence artificielle N
Agents logiques
R´ esolution : exemple
Pas de brise en [1,2]; on ajoute les r`egles suivantes dans la base de connaissance :
R11: ¬B1,2
R12: B1,2⇔(P1,1∨P2,2∨P1,3) Mˆeme processus que pour obtenirR10: R13: ¬P2,2
R14: ¬P1,3
Elimination de la double implication enR3 + Modus ponens avecR5: R15: P1,1∨P2,2∨P3,1
R`egle de r´esolution: ¬P2,2dansR13se r´esoud avecP2,2dansR15: R16: P1,1∨P3,1
¬P1,1dansR1 se r´esoud avecP1,1dansR16: R17: P3,1
33 / 59 Intelligence artificielle N
Agents logiques
R´ esolution
Forme normale conjonctive(CNF) :conjonctiondedisjonctionsde litt´eraux.
Une disjonction de litt´eraux est uneclause Exemple : (A∨ ¬B)∧(B∨ ¬C∨ ¬D)
R´esolution unitaire. Chaquel est un litt´eral,li et¬li sont deslitt´eraux compl´ementaires:
l1∨. . .∨li∨. . .∨lk, ¬li
l1∨. . .∨li−1∨li+1∨. . .∨lk
R´esolution. Chaquel est un litt´eral,mj=¬li :
l1∨. . .∨li∨. . .∨lk, m1∨. . .∨mj∨. . .∨mn
l1∨. . .∨li−1∨li+1∨. . .∨lk∨m1∨. . .∨mj−1∨mj+1∨. . .∨mn
La r´esolution est valide et compl`ete pour la logique propositionnelle
34 / 59 Intelligence artificielle N
Agents logiques
Transformation d’un ´ enonc´ e en CNF
B1,1⇔(P1,2∨P2,1)
1. Elimination de⇔: remplacement deα⇔βpar (α⇒β)∧(β⇒α) (B1,1⇒(P1,2∨P2,1))∧((P1,2∨P2,1)⇒B1,1)
2. Elimination de⇒: remplacement deα⇒βpar¬α∨β (¬B1,1∨P1,2∨P2,1)∧(¬(P1,2∨P2,1)∨B1,1)
3. D´eplacer¬“`a l’int´erieur” en utilisant les r`egles de Morgan et la double n´egation :
(¬B1,1∨P1,2∨P2,1)∧((¬P1,2∧ ¬P2,1)∨B1,1) 4. Appliquer la loi de distributivit´e sur∧et∨
(¬B1,1∨P1,2∨P2,1)∧(¬P1,2∨B1,1)∧(¬P2,1∨B1,1)
35 / 59 Intelligence artificielle N
Agents logiques
Algorithme de r´ esolution
D´emonstration par l’absurde : pour montrerKB|=α, on montre que KB∧ ¬αn’est pas satisfiable
Algorithme de r´esolution
fonctionPL-Resolution(KB,α)retournevraioufaux
clauses←ensemble de clauses dans la repr´esentation CNF deKB∧ ¬α nouveau ← {}
loop do
pour chaqueCi,Cj dansclauses faire resolvants←PL-Resoud(Ci,Cj)
siresolvantscontient la clause videalors retournervrai nouveau←nouveau∪resolvants
sinouveau⊆clausesalors retournerfaux clauses←clause∪nouveau
36 / 59 Intelligence artificielle N
Agents logiques
Clauses de Horn
Clauses de Horn: disjonction de litt´eraux dontun au maximum est positif
(¬L1,1∨ ¬Brise∨B1,1) est une clause de Horn (¬B1,1∨P1,2∨P2,1) n’est pas une clause de Horn
Toute clause de Horn peut s’´ecrire sous la forme d’une implication avec Pr´emisse = conjonction de litt´eraux positifs
Conclusion = litt´eral positif unique
(¬L1,1∨ ¬Brise∨B1,1) = ((L1,1∧Brise)⇒B1,1)
Clauses d´efinies: clauses de Horn ayantexactementun litt´eral positif Litt´eral positif =tˆete; litt´eraux n´egatifs =corpsde la clause
Fait= clause sans litt´eraux n´egatifs
37 / 59 Intelligence artificielle N
Agents logiques
Formes de Horn
Forme de Horn: BC =conjonctiondeclauses de Horn Modus Ponenspour les clauses de Horn :
α1, . . . , αn (α1∧. . .∧αn)⇒β β
Ce Modus Ponens peut ˆetre utilis´e pour lechaˆınage avantouchaˆınage arri`ere
Ces algorithmes sont tr`es naturels et sont r´ealis´es entemps lin´eaire
38 / 59 Intelligence artificielle N
Agents logiques
Chaˆınage avant
Id´ee : appliquer toutes les r`egles dont les pr´emisses sont satisfaits dans la base de connaissances
Ajouter les conclusions de ces r`egles dans la base de connaissances, jusqu’`a ce que la requˆete soit satisfaite
Le chaˆınage avant est valide et complet pour les bases de connaissances de Horn
39 / 59 Intelligence artificielle N
Agents logiques
Chaˆınage avant
Chaˆınage avant
fonctionPL-FC-Entails(KB,q)retournevraioufaux variables locales:
compteur table index´ee par clause, initialement le nombre de pr´emisses infer table, index´ee par symbole, chaque entr´ee initialement `afaux agendaliste de symboles, initialement symboles vrais dans KB tant queagendan’est pas videfaire
p←Pop(agenda)
sip=qalors retournervrai si noninfer[p]alors faire
infer[p]←vrai
pour chaqueclause de Hornc dans laquelle la pr´emissep apparait faire
compteur[c]←compteur[c]−1
sicompteur[c] = 0alors fairePush(Head[c],agenda) retournerfaux
40 / 59 Intelligence artificielle N
Agents logiques
Chaˆınage avant : exemple
41 / 59 Intelligence artificielle N
Agents logiques
Preuve de compl´ etude
La proc´edure de chaˆınage avant permet d’obtenir tout ´enonc´e atomique pouvant ˆetre d´eduit de KB
1. L’algorithme atteint unpoint fixeau terme duquel aucune nouvelle inf´erence n’est possible
2. L’´etat final peut ˆetre vu comme unmod`elemdans lequel tout symbole inf´er´e est mis `avrai, tous les autres `afaux
3. Toutes les clauses d´efinies dans laKBd’origine sont vraies dansm 4. Doncmest un mod`ele deKB
5. SiKB|=qest vrai,qest vrai danstousles mod`eles deKB, donc dansm
42 / 59 Intelligence artificielle N
Agents logiques
Chaˆınage arri` ere
Id´ee : Partir de la requˆete et rebrousser chemin V´erifier siqn’est pas v´erifi´ee dans la BC
Chercher dans la BC les implications ayantqpour conclusion, et essayer de prouver leurs pr´emisses
Eviter les boucles : v´erifier si le nouveau sous-but n’est pas d´ej`a dans la liste des buts `a ´etablir
Eviter de r´ep´eter le mˆeme travail : v´erifier si le nouveau sous-but a d´ej`a
´
et´e prouv´e vrai ou faux
43 / 59 Intelligence artificielle N
Agents logiques
Chaˆınage arri` ere
44 / 59 Intelligence artificielle N
Agents logiques
Chaˆınage avant vs chaˆınage arri` ere
Chaˆınage avant : raisonnement pilot´e par les donn´ees Conclusions `a partir de percepts entrants
Pas toujours de requˆete sp´ecifique en tˆete
Beaucoup de cons´equences d´eduites, toutes ne sont pas utiles ou n´ecessaires
Chaˆınage arri`ere : raisonnement pilot´e par le but R´epondre `a des questions sp´ecifiques
Se limite aux seuls faits pertinents
La complexit´e du chaˆınage arri`ere peut ˆetrebien inf´erieure`a une fonction lin´eaire `a la taille de la base de connaissances
45 / 59 Intelligence artificielle N
Agents logiques
Algorithmes efficaces d’inf´ erence propo- sitionnelle
Deux familles d’algorithmes efficaces pour l’inf´erence propositionnelle : Exploration parbacktracking
Algorithme DPLL (Davis, Putnam, Logemann, Loveland) Algorithmes de recherche locale incompl`ete
AlgorithmeWalkSAT
46 / 59 Intelligence artificielle N
Agents logiques
Algorithme DPLL
Cet algorithme d´etermine si un ´enonc´e logique en CNF est satisfiable Am´eliorations par rapport `a l’´enum´eration de la table de v´erit´e
Elagage
Une clause est vraie si l’un des litt´eraux est vrai Un ´enonc´e est faux si l’une des clauses est fausse Heuristique des symboles purs
Unsymbole purest un symbole qui apparait toujours avec le mˆeme “signe” dans toutes les clauses
(A∨ ¬B)∧(¬B∨ ¬C)∧(C∨A). AetBsont purs,Cest impur Instancier les litt´eraux des symboles purs `avrai
Heuristique de la clause unitaire
Clause unitaire: clause qui ne contient qu’un litt´eral Ce litt´eral doit ˆetrevrai
47 / 59 Intelligence artificielle N
Agents logiques
Algorithme DPLL
Algorithme DPLL
fonctionDPLL-Satisfiable?(s)retournevraioufaux entr´ees:s, un ´enonc´e propositionnel
C ←ensemble des clauses dans la repr´esentation CNF des S←liste des symboles propositionnels danss
retournerDPLL(C,S, [])
fonctionDPLL(C,S,modele)retournevraioufaux
sitoute clause deCest vraie dansmodelealors retournervrai siune clause deC est fausse dansmodelealors retournerfaux P,valeur←Find-Pure-Symbol(S,C,modele)
sinon nul(P)alors retournerDPLL(C,S\P, Extend(P,valeur,modele)) P,valeur←Find-Unit-Clause(C,modele)
sinon nul(P)alors retournerDPLL(C,S\P, Extend(P,valeur,modele)) P←First(S);reste←Rest(S)
retournerDPLL(C,reste, Extend(P,vrai,modele)) ouDPLL(C,reste, Extend(P,faux,modele))
48 / 59 Intelligence artificielle N
Agents logiques
Algorithme WalkSAT
Algorithme de recherche locale incompl`ete
Chaque it´eration : s´election d’une clause non satisfaite et un symbole `a
“basculer”
Choix du symbole `a basculer :
Fonction d’´evaluation : heuristique Min-Conflicts qui minimise le nombre de clauses non satisfaites
Etape de parcours al´eatoire qui s´electionne le symbole au hasard
49 / 59 Intelligence artificielle N
Agents logiques
Algorithme WalkSAT
Algorithme WalkSAT
fonctionWalkSAT(clauses,p,max flips)retourneun mod`ele satisfiable ouerreur entr´ees:clauses, un ensemble de clauses
pprobabilit´e de choisir le parcours al´eatoire
max flipsle nombre de “bascules” autoris´ees avant de renoncer
modele←affectation al´eatoire devrai/faux des symboles dansclauses pouri= 1`amax flips faire
simodelesatisfaitclausesalors retournermodele
clause←une clause s´electionn´ee au hasard parmi lesclauses fausses de modele
avec la probabilit´epbasculer dansmodelela valeur d’un symbole selec- tionn´e au hasard dansclause
sinonbasculer le symbole dansclausequi maximise le nombre de clauses satisfaites
retournererreur
50 / 59 Intelligence artificielle N
Agents logiques
Probl` emes de satisfiabilit´ e difficiles
Soit l’´enonc´e 3-CNF g´en´er´e al´eatoirement suivant :
(¬D∨ ¬B∨C)∧(B∨ ¬A∨ ¬C)∧(¬C∨ ¬B∨E)∧(E∨ ¬D∨B)∧(B∨E∨ ¬C) 16 des 32 affectations possibles sont des mod`eles de cet ´enonc´e
→ en moyenne 2 tentatives al´eatoires pour trouver un mod`ele
Probl`eme difficile : augmenter le nombre de clauses en laissant fixe le nombre de symboles
→ Probl`eme plus contraint
mnombre de clauses,nnombre de symboles
Probl`emes difficiles : ratio aux alentours de mn = 4.3 : point critique
51 / 59 Intelligence artificielle
N
Agents logiques
Probl` emes de satisfiabilit´ e difficiles
52 / 59 Intelligence artificielle
N
Agents logiques
Probl` emes de satisfiabilit´ e difficiles
Temps d’execution m´edian sur 100 ´enonc´es 3-CNF al´eatoiressatisfiables avec n=50
53 / 59 Intelligence artificielle
N
Agents logiques
Agents logiques
Agents fond´es sur les connaissances Le monde du Wumpus
Principe g´en´eraux de la logique Logique propositionnelle
Sch´emas de raisonnement en logique propositionnelle Agents bas´es sur la logique propositionnelle
Conclusion
54 / 59 Intelligence artificielle
N
Agents logiques
Agents bas´ es sur la logique proposition- nelle dans le monde du Wumpus
¬P1,1
¬W1,1
Bx,y ⇔(Px,y+1∨Px,y−1∨Px+1,y∨Px−1,y
Sx,y ⇔(Wx,y+1∨Wx,y−1∨Wx+1,y ∨Wx−1,y
W1,1∨W1,2∨. . .∨W4,4
¬W1,1∨ ¬W1,2
¬W1,1∨ ¬W1,3
. . .
⇒ 64 symboles propositionnels distincts; 155 ´enonc´es
55 / 59 Intelligence artificielle
N