ACASA - Université Pierre et Marie CURIE 1
L I P 6 C N R S
Raisonnement non monotone
Module IAMSI Intelligence Artificielle et Manipulation
Symbolique de l’Information Cours 5
ACASA - Université Pierre et Marie CURIE 2
L I P 6 C N R S
Raisonnement non monotone
Non monotonie et raisonnement Logique des défauts
Hypothèse du monde clos Circonscription
« Answer Set Programming »
ACASA - Université Pierre et Marie CURIE 3
L I P 6 C N R S
Fonction non monotone
• Un fonction f est monotone ssi ∀(x, y) [ x>y⇒ f(x) > f(y)]
ACASA - Université Pierre et Marie CURIE 4
L I P 6 C N R S
Systèmes formels: démonstration Système formel:
§ Axiomes § Règles d’inférences
Preuve: une preuve d’un théorème A est une séquence finie de formules F0 , F1, …Fn telles que
u Fn = A u ∀i∈[0,n] Fi est
soit un axiome, soit obtenu par application d’une règle d’inférence sur un ensemble de formules Fj telles que j < i
Intrinsèquement monotone: si on accroît le nombre d’axiomes, on accroit aussi le nombre de théorèmes.
ACASA - Université Pierre et Marie CURIE 6
L I P 6 C N R S
Les missionnaires et les cannibalesTrois missionnaires et trois cannibales se trouvent
sur les rives d’un fleuve en pleine Amazonie. La barque ne supporte pas plus de deux passagers, et le nombre de missionnaires doit partout et toujours être supérieur ou au moins égal à celui des cannibales pour éviter les drames... Comment faire pour que tous traversent, sans perte d’aucune sorte ?
ACASA - Université Pierre et Marie CURIE 7
L I P 6 C N R S
Besoin de non monotonie: questions techniques
• Bases de données – valeurs nulles
• Clauses de Horn – un seul littéral positif dans les clauses. – « P :- N1, N2, ...Nq »
– Négation par échec – pas de négation en conclusion
• CLIPS: négation – dans les prémisses – négation par échec – dans les conclusions, « retract »: maintien de la cohérence
ACASA - Université Pierre et Marie CURIE 8
L I P 6 C N R S
Retrait des faits
R1: A => B R2: B et C => D R3: C et D => E
BF= {A, C}
BF= {A, B, C, D} BF= {A, B, C}
BF= {A, B, C, D, E} R4: E => ¬A
ACASA - Université Pierre et Marie CURIE 9
L I P 6 C N R S
Réseau de justifications Système de maintien de la vérité (TMS)
A C
B
D
E
R1
R2
R3
ACASA - Université Pierre et Marie CURIE 10
L I P 6 C N R S
Incohérences – exemple
∀x oiseau(x) ⇒ vol(x) ∀x autruche(x) ⇒ ¬vol(x) ∀x pingouin(x) ⇒ ¬vol(x) ∀x autruche(x) ⇒ oiseau(x) ∀x pingouin(x) ⇒ oiseau(x) oiseau(Samuel) pingouin(Philémon) autruche(Jeanne)
vole(Samuel) ¬vole(Philémon) ¬vole(Jeanne)
ACASA - Université Pierre et Marie CURIE 11
L I P 6 C N R S
CWA – “Closed World Assumption” Négation par échec
Principe: si on ne peut pas prouver P alors on ajoute ¬P — ou not P (négation PROLOG) —
• Ce qui n’est pas explicitement vrai et faux: Si R(a1, …, ai) ∈ W Alors R(a1, …, ai) est vrai
Sinon R(a1, …, ai) est faux • Opposée à “Open World Assumption”: l’absence de
connaissance n’implique pas la fausseté
Ecrivains Livre D. Lecourt Encyclopédie des sciences E. Klein Encyclopédie des sciences M. Serres Trésor des sciences E. Klein Paysage des sciences
ACASA - Université Pierre et Marie CURIE 12
L I P 6 C N R S
Incohérences – exemple
∀x oiseau(x) ⇒ vol(x) ∀x autruche(x) ⇒ ¬vol(x) ∀x pingouin(x) ⇒ ¬vol(x) ∀x autruche(x) ⇒ oiseau(x) ∀x pingouin(x) ⇒ oiseau(x) oiseau(Samuel) pingouin(Philémon) autruche(Jeanne)
vole(Samuel) ¬vole(Philémon) ¬vole(Jeanne)
ACASA - Université Pierre et Marie CURIE 13
L I P 6 C N R S
Incohérences – Résolution
non_vol(x) ∨ vol(x)
¬autruche(x) ∨ non_vol(x)
¬pingouin(x) ∨ non_vol(x)
¬autruche(x) ∨ oiseau(x)
¬pingouin(x) ∨ oiseau(x)
oiseau(Samuel)
pingouin(Philémon)
autruche(Jeanne)
Résolution oiseau(Philémon) oiseau(Jeanne) non_vol(Philémon) non_vol(Jeanne)
ACASA - Université Pierre et Marie CURIE 14
L I P 6 C N R S
Supposition du monde fermé • Si f est un littéral positif qui n’est pas impliqué par
K (autrement dit tel que ¬[K╞ f])alors K├ ¬f
non_vol(x) ∨ vol(x) ¬autruche(x) ∨ non_vol(x)
¬pingouin(x) ∨ non_vol(x)
¬autruche(x) ∨ oiseau(x) ¬pingouin(x) ∨ oiseau(x)
oiseau(Samuel) pingouin(Philémon)
autruche(Jeanne)
Résolution oiseau(Philémon) oiseau(Jeanne) non_vol(Philémon) non_vol(Jeanne)
¬vol(Philémon) ¬vol(Jeanne) ¬pingouin(Samuel) ¬autruche(Samuel) ¬pingouin(Jeanne) ¬autruche(Philémon) 2 modèles possibles: ¬non_vol(Samuel) vol(Samuel) ou ¬vol(Samuel) non_vol(Samuel)
ACASA - Université Pierre et Marie CURIE 15
L I P 6 C N R S
Formalisation de la CWA • Ajouter la négation de ce qui n’est pas impliqué
{français(Anatole) ∨ roumain(Gabriel)}
• Qu’en va-t-il de français(Anatole) et de roumain(Gabriel)?
• Il ne sont pas impliqués… En effet, la négation de l’un ou de l’autre de ces littéraux ne conduit pas à dériver la clause vide par application de la résolution
• En appliquent la CWA, on doit donc ajouter: ¬français(Anatole)et ¬roumain(Gabriel).
• Mais, le résultat à savoir: {français(Anatole) ∨ roumain(Gabriel), ¬français(Anatole), ¬roumain(Gabriel)}est incohérent…
ACASA - Université Pierre et Marie CURIE 16
L I P 6 C N R S
Formalisation de la CWA (suite)
• Propriété: la CWA n’introduit pas d’incohérences sur la base de connaissance K si l’intersection de tous les modèles de Herbrand K est aussi un modèle de K
• En logique des propositions, cette condition est équivalente à avoir un modèle minimal unique.
• Autres formalisations: K ∧{¬f|f∈F}
• Différentes définitions de F ont été proposées: – CWA: f est un littéral positif qui n’est pas impliqué par K (autrement
dit tel que ¬[K╞ f]) – GCWA (generalized): f est un littéral positif tel que, pour chaque
clause positive c si K ╞ c est faux alors K╞ c∨f est faux aussi – ECCWA (extended GCWA): comme GCWA, mais si f est une
conjonction de littéraux positifs
ACASA - Université Pierre et Marie CURIE 17
L I P 6 C N R S
Raisonnements erronés et logique des défauts
La logique des défauts
• Logique non-monotone [Reiter, 80]
• Règle de défaut : A : B1, B2,… Bn / C
• Peu d’américains sont socialistes : américain(x) : ¬socialiste(x)
¬socialiste(x)
pré-requis justifications conclusion
ACASA - Université Pierre et Marie CURIE 18
L I P 6 C N R S
Logique des défauts un défaut est une expression du type A : B1, B2,… Bn / C
• Interprétation: Si A est reconnu être vrai Si B1, B2, … et Bn sont cohérents avec les autres assertions
Alors conclure C
• Exemples: criminal(X) ∧ foreigner(X): expel(X) / expel(X)
politicalRefugee(X) ⇒ ¬expel(X) politician(X) ∧ introducedAbroad(X): ¬diplomat(X)
/ traitor(X)
oiseau(X) : vole(X) / vole(X) pingouin(X) / oiseau(X)
pingouin(X) / ¬ vole(X)
ACASA - Université Pierre et Marie CURIE 19
L I P 6 C N R S
Logique des défauts • Sémantique:
Une théorie de défauts est une paire (Δ, W) où – Δ est un ensemble de défauts inclus dans l’ensemble Γ – W est un ensemble de propositions de L
• Extension d’une théorie de défauts (Δ, W): – Points fixes de la fonction Γ(Δ, W)
– Etant donné un ensemble E de formules propositionnelles, Γ(Δ, W) (E) est définie comme suit: c’est le plus petit ensemble de formules telles que v Γ(Δ, W) (E) contient E v Pour tout défaut δ de Δ du type: p(d):j(d)/c(d)
si p(d)∈Γ(Δ, W) (E) et si ¬j(d)∩E=∅ (autrement dit si E n’est pas contradictoire avec j(d)) alors c(d)∈Γ(Δ, W) (E)
v Γ(Δ, W) (E) est déductivement clos
ACASA - Université Pierre et Marie CURIE 20
L I P 6 C N R S
Incohérences – défauts oiseau(x) : vol(x) / vol(x) autruche(x) / ¬vol(x) pingouin(x) / ¬vol(x) autruche(x) / oiseau(x) pingouin(x) / oiseau(x) oiseau(Samuel) pingouin(Philémon) autruche(Jeanne)
oiseau(Philémon) oiseau(Jeanne) vol(Samuel) ¬vol(Philémon) ¬vol(Jeanne)
ACASA - Université Pierre et Marie CURIE 21
L I P 6 C N R S
Nixon est-il pacifiste?
quakers(Nixon) républicain(Nixon) δ1:républicain(x) : ¬pacifiste(x) / ¬pacifiste(x) δ2:quakers(x) : pacifiste(x) / pacifiste(x)
Nixon
pacifiste(Nixon)
républicain quakers
2 modèles: δ1∈Δ ¬pacifiste(x)∈W δ2∈Δ pacifiste(x)∈W
ACASA - Université Pierre et Marie CURIE 22
L I P 6 C N R S
Circonscription – John McCarthy 1980
• Idée: construire les modèles les plus « petits »
• Circ(T) = {M| M╞ T et ¬∃N tel que N╞ T et N⊆M}
• Exemple: la formule T = a ∧ ( b ∨ c) admet trois modèles:
1. a, b et c sont vraies 2. a et b sont vraies, c est fausse 3. a et c sont vraies, b est fausse.
• Le premier modèle n’est pas minimal • Les modèles 2 et 3 sont incomparables
ACASA - Université Pierre et Marie CURIE 23
L I P 6 C N R S
Circonscription – John McCarthy 1980
• Idée: circonscrire l’extension d’un ou de plusieurs prédicats dans une théorie logique du premier ordre
• Méthode: utilisation d’axiomes du second ordre
Prédicat p
ACASA - Université Pierre et Marie CURIE 24
L I P 6 C N R S
Circonscription – John McCarthy 1980
• Circ(A; p) = A(p) ∧ ¬∃P (A(P) ⋀ P < p) où P < p signifie que l’extension de P est un sous-
ensemble de l’extension de p
Exemple: théorie T: sur_table(a) ∧ sur_table(b) Circ(T; sur_table) est équivalent à ∀X.sur_table(X) ⇔ (X = a) ∨ (X = b)
Prédicat p a b
ACASA - Université Pierre et Marie CURIE 25
L I P 6 C N R S
ASP – Answer Set Programming
• Answer Sets (ensembles réponses): « modèles stables »
• ASP: Programmation déclarative fondée sur la sémantique des « modèles stables » de la programmation logique
• But des « modèles stables »: définir une sémantique claire pour les programmes logiques avec une négation par échec
• Origine: Gelfond & Lifschitz 1988
ACASA - Université Pierre et Marie CURIE 26
L I P 6 C N R S
ASP – Answer Set Programming Un programme Π est un ensemble d’expression ρ
Où • les sont des littéraux (atomes ou négation d’atomes) • Le « not » est une négation par échec Signification intuitive: pour toute interprétation de
Herbrand qui rend vraie sans satisfaire on peut dériver
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
iL
{ }mkk LLL ,,..., 21 ++
{ }nm LL ...,,1+{ }kLLL ...,, 10
.
ACASA - Université Pierre et Marie CURIE 27
L I P 6 C N R S
ASP - exemple vole(X) ← oiseau(X), not non_vole(X) non_vole(X) ← autruche(X) oiseau(X) ← autruche(X) oiseau(anatole) ← autruche(jeanne) ← S = {vole(anatole), oiseau(anatole), oiseau(jeanne),
non_vole(jeanne), autruche(jeanne)} est un “answer set” en français « ensemble réponse »
ACASA - Université Pierre et Marie CURIE 28
L I P 6 C N R S
ASP – exemple 2
p ← a a ← not b b ← not a S1 = {a, p} est un “answer set” S2 = {b} est un “answer set”
ACASA - Université Pierre et Marie CURIE 29
L I P 6 C N R S
ASP – exemple 3
¬pacifiste(X) ← republicain(X), not pacifiste(X). pacifiste(X) ← quakers(X), not ¬pacifiste(X). republicain(nixon). quakers(nixon).
« Ensembles réponses »
S1 = {republicain(nixon), quakers(nixon), pacifiste(nixon)} S2 = {republicain(nixon), quakers(nixon), ¬pacifiste(nixon)}
Nixon
pacifiste(Nixon)
républicain quakers
ACASA - Université Pierre et Marie CURIE 30
L I P 6 C N R S
AnsProlog: implémentations
AnsProlog-not : sans négation par échec
AnsProlog ⊥ : avec ⊥ dans la tête
AnsProlog ¬,⊥ : avec ¬et ⊥ dans la tête
AnsProlog or,⊥ : avec or et ⊥ dans la tête
AnsProlog or, ¬,⊥ : correspond à AnsProlog*
…
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
ACASA - Université Pierre et Marie CURIE 32
L I P 6 C N R S
Exemple de programme logique normal – AnsProlog
• Programmes logiques généraux – programmes logiques normaux – AnsProlog : Ensembles Π de règles ρ dont les Li sont des atomes telles que k = 0.
vole(X) ← oiseau(X), not ab(X). ab(X) ← pingouin(X). oiseau(X) ← pingouin(X). oiseau(albert). pingouin(alphonse).
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
ACASA - Université Pierre et Marie CURIE 33
L I P 6 C N R S
Exemple de programme logique défini AnsProlog-not
• Programmes définis ou programmes logiques de Horn – AnsProlog-not:
Ensembles Π de règles ρ dont les Li sont des atomes avec k = 0 et m = n
anc(X, Y) ← parent(X, Y).
anc(X, Y) ← parent(X, Z), anc(Z, Y).
parent(idoménée, deucalion).
parent(deucalion, minos).
parent(minos, europe).
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
ACASA - Université Pierre et Marie CURIE 34
L I P 6 C N R S
Exemple de programme logique étendu – AnsProlog¬
• Programmes logiques étendus – AnsProlog¬ :
Ensembles Π de règles ρ telles que k = 0
vole(X)← oiseau(X), not ¬vole(X).
¬vole(X) ← pingouin(X).
oiseau(albert).
oiseau(alphonse).
pingouin(alphonse).
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
ACASA - Université Pierre et Marie CURIE 35
L I P 6 C N R S
Exemple de programme logique disjonctif normal –
AnsPrologor
• Programmes logiques disjonctifs normaux – AnsPrologor:
Ensembles Π de règles ρ dont les Li sont des atomes et m = n
oiseau(X) or reptile(X) ← pond_oeufs(X).
pond_oeufs(georges).
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
ACASA - Université Pierre et Marie CURIE 36
L I P 6 C N R S
AnsProlog* - AnsProlog or, ¬,⊥
Syntaxe: PROLOG d’Edimbourg L0|L1|... |Lk :- Lk+1, ..., Lm, not Lm+1, ..., not Ln.
Les Lk sont des littéraux, c’est-à-dire des atomes Ak ou des négations d’atomes -Ak
nmmkkk LnotLnotLLLLorLorL ...,,,,...,...: 12110 +++←ρ
p ← a. a ← not b. b ← not a.
p :- a. a :- not b. b :- not a.
ACASA - Université Pierre et Marie CURIE 37
L I P 6 C N R S
AnsProlog* - AnsProlog or, ¬,⊥
oiseau(X):- autruche(X). oiseau(X):- canari(X). oiseau(X):- pingouin(X). vole(X) :- oiseau(X), not non_vole(X). non_vole(X) :- autruche(X). non_vole(X) :- pingouin(X). autruche(jeanne). canari(romain). oiseau(alphonse). pingouin(albert).
ACASA - Université Pierre et Marie CURIE 38
L I P 6 C N R S
AnsProlog* - AnsProlog or, ¬,⊥
Exemple traité avec CWA – suite oiseau(X):-autruche(X). oiseau(X):- pingouin(X). -vole(X) :- autruche(X). -vole(X) :- pingouin(X). vole(X) :- oiseau(X), not -vole(X). autruche(jeanne). oiseau(samuel). pingouin(philemon).
ACASA - Université Pierre et Marie CURIE 39
L I P 6 C N R S
AnsProlog*: programmation exemple 2
p ← a a ← not b b ← not a p:-a. a:-not b. b:-not a.
ACASA - Université Pierre et Marie CURIE 40
L I P 6 C N R S
ASP – exemple 3 programmation AnsProlog*
¬pacifiste(X) ← republicain(X), not pacifiste(X). pacifiste(X) ← quakers(X), not ¬pacifiste(X). republicain(nixon). quakers(nixon). pacifiste(X) :- quakers(X), not -pacifiste(X). -pacifiste(X) :- republicain(X), not pacifiste(X). quakers(nixon). republicain(nixon).
ACASA - Université Pierre et Marie CURIE 41
L I P 6 C N R S
Applications de AnsProlog*
• Bases de données déductives • Contraintes • Planification • Modélisation du raisonnement • Représentation des connaissances • Preuve de programme ou de spécifications • …