ASP (Answer Set Programming avec quantificateurs

Transcription

ASP (Answer Set Programming avec quantificateurs
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
∃ASP (Answer Set Programming avec
quantificateurs existentiels)
F. Garreau
JIAF 12 décembre 2013
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 1/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Sommaire
1
Introduction (problématique)
2
Règles existentielles + ASP
3
Réécriture ∃ASP → ASP
4
Conclusion
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 2/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Introduction (problématique)
1
Introduction (problématique)
2
Règles existentielles + ASP
3
Réécriture ∃ASP → ASP
4
Conclusion
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 3/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Problématique
Coder une ontologie en DL-LiteR dans ASP
Exemple de cas qui pose problème
A v ∃R
Règle ASP : ∃X, R(X,Y)←A(Y)
Example
homme v ∃parent
à coder en ∃X, parent(X,Y)←homme(Y)
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 4/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Règles existentielles
Les règles existentielles permettent de coder les DL légères
Exemple
A v ∃R
Règle existentielle : ∃X, R(X,Y)←A(Y)
Il manque la non-monotonie
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 5/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
DL-Lite
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 6/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
RE
DL-Lite
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 7/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
RE
ASP
DL-Lite
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 8/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
non-monotonie
RE
∃
ASP
DL-Lite
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 9/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
∃ASP
non-monotonie
RE
∃
ASP
DL-Lite
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 10/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Règles existentielles + ASP
1
Introduction (problématique)
2
Règles existentielles + ASP
3
Réécriture ∃ASP → ASP
4
Conclusion
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 11/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Definition (Règle)
Une règle ∃ASP est une règle de la forme :
−
H ← B+ , not B−
1 , ..., not Bn .
−
avec H, B+ , et B−
1 ,...,Bn des ensembles d’atomes
on appelle :
H la tête
B+ le corps positif
−
not B−
1 ,...,not Bn le corps négatif
Un fait est un ensemble d’atomes
Example
R = parent(X,Y), homme(X) ← homme(Y).
F = {homme(titi),homme(toto),parent(titi,toto)}
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 12/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Caractéristiques d’une ∃-règle
R = a(X,Y), b(X) ← c(Y), not(a(Y,Z), b(Z))
Variables universelles
Variables existentielles
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 13/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Caractéristiques d’une ∃-règle
R = a(X,Y), b(X) ← c(Y), not(a(Y,Z), b(Z))
Variables universelles
Variables existentielles
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 14/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Caractéristiques d’une ∃-règle
R = a(X,Y), b(X) ← c(Y), not(a(Y,Z), b(Z))
Variables universelles
Variables existentielles
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 15/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Definition (Justification)
Soit F un fait, V un vocabulaire et I = (∆,.I ) une interprétation de V.
Une justification π de F dans I est une application de terms(F) → ∆ telle
que :
Si c ∈ C, π(c) = cI
Si p(t1 , ..., tk ) ∈ F, (π(t1 ), ..., π(tk )) ∈ pI
Example
R = parent(X,Y) ← homme(Y).
I = {homme(titi),homme(toto),parent(titi,toto)}
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 16/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Definition
−
Soit I une interprétation et R = H ← B+ , not B−
1 , ..., not Bn . une règle
∃ASP
Un support de R dans I est une justification de B+ dans I
Un support de R dans I est dit vérifié s’il s’étend à une justification
de H dans I
Un support est bloqué par I si ce support s’étend à une justification
d’un B−
i dans I
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 17/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Example
R = parent(X,Y) ← homme(Y).
I = {homme(titi),homme(toto),parent(titi,toto)}
Il existe 2 supports de I dans R
π(Y) = titi
π(Y) = toto qui est vérifié
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 18/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Definition (Modèle)
Une interprétation I est un modèle d’une règle R sur V ssi tous les
supports non bloqués de R sont vérifiés. I est un modèle d’un programme
P ssi I est modèle de tous les faits et règles du programme
Example
Soit P le programme composé de :
R = pere(X,Y) ← homme(Y).
F = {homme(toto)}
Soit 3 interprétations :
I = {homme(toto)} n’est pas modèle
I’ = {homme(toto),pere(x0 ,toto)} modèle
I” = {homme(toto),pere(x0 ,toto),homme(titi)} modèle
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 19/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Definition (∃-Answer Set)
Soit P le programme composé de :
R = pere(X,Y) ← homme(Y).
F = {homme(toto)}
I0 = π(F) = {homme(toto)}
I1 = {homme(toto),pere(x0 ,toto)}
Soit :
I’ = {homme(toto),pere(x0 ,toto)} = I1 ∃-Answer Set
I” = {homme(toto),pere(x0 ,toto),homme(titi)} 6= I1 Simple modèle
Propriété
Soit P un programme ∃ASP safe (donc un programme ASP) et I une
interprétation, I est un ∃-Answer Set de P ssi I est un Answer Set de P
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 20/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Réécriture
1
Introduction (problématique)
2
Règles existentielles + ASP
3
Réécriture ∃ASP → ASP
4
Conclusion
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 21/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Définition de la normalisation
Normalisation ⇒ Pour traiter les variables existentielles dans un corps
négatif et avoir un seul atome dans chaque corps négatif
H1 , . . . , Hn ← B1 , . . . , Bm , not(N11 , . . . , Nu11 ), . . . , not(N1s , . . . , Nuss ) est
normalisée en l’ensemble de règles
H1 , . . . , Hn ← B1 , . . . , Bm , not N1 , . . . , not Ns
N1 ← N11 , . . . , Nu11
...
Ns ← N1s , . . . , Nuss
avec Nk nouvel atome p(X1 , . . . , Xv ) avec p nouveau symbole de prédicat
et X1 , . . . , Xv dans V∀ (r )(N1k , . . . , Nukk )
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 22/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Exemple de la normalisation
Example
traitement(X,aspirine) ←
migraine(X), not(atteint(X,Y), maladie-sang(Y)).
est normalisée en
traitement(X,aspirine) ← migraine(X), not atteint-maladie-sang(X).
atteint-maladie-sang(X) ← atteint(X,Y), maladie-sang(Y).
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 23/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Définition de la skolémisation
Skolémisation ⇒ Pour traiter les variables existentielles en tête
Example
pere(X,Y),homme(X) ← homme(Y).
est skolémisée en
pere(f(Y),Y),homme(f(Y)) ← homme(Y).
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 24/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Définition de l’expansion
Expansion ⇒ Pour obtenir un seul atome en tête de règle
T1 , . . . , Tn ← B1 , . . . , Bm , not N1 , . . . , not Ns est expansée en l’ensemble
de règles
T1 ← B1 , . . . , Bm , not N1 , . . . , not Ns
...
Tn ← B1 , . . . , Bm , not N1 , . . . , not Ns
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 25/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Exemple de l’expansion
Example
pere(X,Y),homme(X) ← homme(Y).
est expansée en :
pere(f(Y)),Y) ← homme(Y).
homme(f(Y)) ← homme(Y).
Un programme ∃ASP normalisé, skolémisé et expansé est un programme
ASP standard
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 26/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Conclusion
1
Introduction (problématique)
2
Règles existentielles + ASP
3
Réécriture ∃ASP → ASP
4
Conclusion
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 27/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Comparaison
2 façons d’appréhender l’extension ∃ASP
Règles existentielles + non-monotonie
Réécriture ASP avec ∃ → ASP
Même problème :
Indécidable
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 28/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Conclusion
Example
Programme P :
R = pere(X,Y),homme(X)←homme(Y).
F = {homme(titi)}
∃-Answer Set infini :
I = {homme(titi),pere(x0 ,titi),homme(x0 ),pere(x1 ,x0 ),homme(x1 ),...}
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 29/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Conclusion
But : Identifier des classes décidables
En règles existentielles :
3 classes décidables
couvrant les DL légères
Peut-on retrouver ces 3 classes en ∃ASP ?
De nouvelles classes ?
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 30/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
Conclusion
Merci!
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 31/32
Sommaire
Introduction (problématique)
Règles existentielles + ASP
Réécriture ∃ASP → ASP
Conclusion
J-F. Baget, M. Leclère, M-L. Mugnier, and E. Salvat.
On rules with existential variables: Walking the decidability line.
AIJ, 2011.
C. Lefèvre and P. Nicolas.
A first order forward chaining approach for answer set computing.
LPNMR, 2009.
R. Reiter.
A logic for default reasoning.
Artificial Intelligence, 1980.
M. Gelfond and V. Lifschitz.
The stable model semantics for logic programming.
International Conference on Logic Programming, 1988.
M. Gelfond and V. Lifschitz.
Classical negation in logic programs and disjunctive databases.
New Generation Computing, 1991.
Fabien Garreau
∃ASP (Answer Set Programming avec quantificateurs existentiels) 32/32

Documents pareils