Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Circuits de provenance pour les arbres et les instances quasi-arborescentes
Antoine Amarilli1, Pierre Bourhis2, Pierre Senellart1,3
1Télécom ParisTech
2CNRS CRIStAL
3National University of Singapore
1er octobre 2015
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Problème général
Considérons une requête et uneinstance relationelle Souvent, évaluer la requête nesuffit pas:
→ On cherche de l’information quantitative
→ On cherche lelienentre lerésultatet l’entrée
→ Calculer la provenancede la requête !
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Problème général
Considérons une requête et uneinstance relationelle Souvent, évaluer la requête nesuffit pas:
→ On cherche de l’information quantitative
→ On cherche lelienentre lerésultatet l’entrée
→ Calculer la provenancede la requête !
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b b c d e e d f f
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b b c d e e d f f
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b Public b c Secret d e Confidentiel e d Confidentiel f f Secret défense
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible
Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b Public b c Secret d e Confidentiel e d Confidentiel f f Secret défense
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b Public b c Secret d e Confidentiel e d Confidentiel f f Secret défense
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b Public b c Secret d e Confidentiel e d Confidentiel f f Secret défense
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b Public b c Secret d e Confidentiel e d Confidentiel f f Secret défense Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 1 : sécurité pour une requête conjonctive
Considérons larequête conjonctive :∃xyz R(x,y)∧R(y,z) Considérons l’instance relationnellesuivante :
R a b Public b c Secret d e Confidentiel e d Confidentiel f f Secret défense
Résultat : vrai
Ajouter des annotations de sécurité:
Public, Confidentiel, Secret, Secret défense, Indisponible Quelle est l’accréditationnécessaire ?
→ Résultat : Confidentiel
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b
b c
d e
e d
f f
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 + 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b
b c
d e
e d
f f
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 + 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité
Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 + 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 + 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1
+ 1 + 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 +1
+ 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 +1
+ 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 + 1 +1
= 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 2 : sémantique multiensembliste
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b 1
b c 1
d e 1
e d 1
f f 1
Résultat : vrai
Ajoutons des annotations de multiplicité Combien de correspondancesde la requête ?
→ Résultat : 1 + 1 + 1 + 1 = 4
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b
b c
d e
e d
f f
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b
b c
d e
e d
f f
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R a b f1 b c f2 d e f3 e d f4 f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R a b f1 b c f2 d e f3 e d f4 f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R
a b f1
b c f2
d e f3 e d f4 f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)
∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R a b f1 b c f2
d e f3
e d f4
f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)
∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R a b f1 b c f2
d e f3
e d f4
f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)
∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R a b f1 b c f2 d e f3 e d f4
f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 3 : faits incertains
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
R a b f1 b c f2 d e f3 e d f4 f f f5
Résultat : vrai
Voyons les faits commeincertains, mettons-leur des annotations atomiques
Pour quelles sous-instances la requête est-elle vérifiée ?
→ Résultat : (f1∧f2)∨(f3∧f4)∨f5
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3 e d f4 f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3 e d f4 f f f5
→ Résultat :
(f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R
a b f1
b c f2 d e f3 e d f4 f f f5
→ Résultat :
(f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R
a b f1
b c f2 d e f3 e d f4 f f f5
→ Résultat : (f1⊗f2)
⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2
d e f3
e d f4 f f f5
→ Résultat : (f1⊗f2)
⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2
d e f3
e d f4 f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)
⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3
e d f4
f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)
⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3
e d f4
f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)
⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3 e d f4
f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)
⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3 e d f4
f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple 4 : le semi-anneau universel N [X]
Considérons à nouveau :∃xyz R(x,y)∧R(y,z).
Mettons desannotations atomiques X=f1, . . . ,fn auxfaits Le semi-anneau le plus général :N[X], les polynômes enX
R a b f1 b c f2 d e f3 e d f4 f f f5
→ Résultat : (f1⊗f2)⊕(f3⊗f4)⊕(f4⊗f3)⊕(f5⊗f5)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Spécialisation et homomorphismes
Ces exempless’exprimentpar des semi-anneaux commutatifs : semi-anneau desécurité (K,min,max,Public,Indisponible) semi-anneau desmultiplicités(N,+,×,0,1)
semi-anneaubooléen(PosBool[X],∨,∧,f,t) semi-anneauuniversel(N[X],+,×,0,1)
N[X]est le semi-anneauuniversel:
La provenance pourN[X]sespécialise vers toutK[X] Parcommutation avec les homomorphismes, les annotations atomiques deXpeuvent êtreremplacéespar leur valeur dansK
→ Calculer la provenance N[X]englobe toutes les tâches
→ Pour des requêtes conjonctives, c’est faisable entemps polynomial en l’instance d’entrée
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Spécialisation et homomorphismes
Ces exempless’exprimentpar des semi-anneaux commutatifs : semi-anneau desécurité (K,min,max,Public,Indisponible) semi-anneau desmultiplicités(N,+,×,0,1)
semi-anneaubooléen(PosBool[X],∨,∧,f,t) semi-anneauuniversel(N[X],+,×,0,1) N[X]est le semi-anneauuniversel:
La provenance pourN[X]sespécialise vers toutK[X]
Parcommutation avec les homomorphismes, les annotations atomiques deXpeuvent êtreremplacéespar leur valeur dansK
→ Calculer la provenance N[X]englobe toutes les tâches
→ Pour des requêtes conjonctives, c’est faisable entemps polynomial en l’instance d’entrée
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Spécialisation et homomorphismes
Ces exempless’exprimentpar des semi-anneaux commutatifs : semi-anneau desécurité (K,min,max,Public,Indisponible) semi-anneau desmultiplicités(N,+,×,0,1)
semi-anneaubooléen(PosBool[X],∨,∧,f,t) semi-anneauuniversel(N[X],+,×,0,1) N[X]est le semi-anneauuniversel:
La provenance pourN[X]sespécialise vers toutK[X]
Parcommutation avec les homomorphismes, les annotations atomiques deXpeuvent êtreremplacéespar leur valeur dansK
→ Calculer la provenance N[X]englobe toutes les tâches
→ Pour des requêtes conjonctives, c’est faisable entemps polynomial en l’instance d’entrée
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Provenance et probabilités
Évaluation probabilistede requêtes :
Requêteconjonctivefixée q:∃xyz R(x,y)∧R(y,z) Instance d’entréeTID:
R a b 0,6 b c 0,9
→ La probabilité deqest0,6×0,9
→ C’est laprobabilitéde la provenancePosBool[X]
→ #P-dur en les données (≈NP-dur pour le comptage)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Provenance et probabilités
Évaluation probabilistede requêtes :
Requêteconjonctivefixée q:∃xyz R(x,y)∧R(y,z) Instance d’entréeTID:
R a b 0,6 b c 0,9
→ La probabilité deqest0,6×0,9
→ C’est laprobabilitéde la provenancePosBool[X]
→ #P-dur en les données (≈NP-dur pour le comptage)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Provenance et probabilités
Évaluation probabilistede requêtes :
Requêteconjonctivefixée q:∃xyz R(x,y)∧R(y,z) Instance d’entréeTID:
R a b 0,6 b c 0,9
→ La probabilité deqest0,6×0,9
→ C’est laprobabilitéde la provenancePosBool[X]
→ #P-dur en les données (≈NP-dur pour le comptage)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Provenance et probabilités
Évaluation probabilistede requêtes :
Requêteconjonctivefixée q:∃xyz R(x,y)∧R(y,z) Instance d’entréeTID:
R a b 0,6 b c 0,9
→ La probabilité deqest0,6×0,9
→ C’est laprobabilitéde la provenancePosBool[X]
→ #P-dur en les données (≈NP-dur pour le comptage)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres et instances quasi-arborescentes
Idées : les instances d’entrée doivent êtrequasi-arborescentes Décomposition en arbred’une instance : couvrir tous les faits
Largeur d’arbre: largeur minimale d’une décomposition (nombre maximal de sommets énumérés simultanément)
Lesarbressont de largeur1 Lescyclessont de largeur2
Lesk-cliqueset lesk-grillessont de largeurk−1
Quasi-arborescent:largeur d’arbrebornée par uneconstante
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres et instances quasi-arborescentes
Idées : les instances d’entrée doivent êtrequasi-arborescentes Décomposition en arbred’une instance : couvrir tous les faits Largeur d’arbre: largeur minimale d’une décomposition (nombre maximal de sommets énumérés simultanément)
Lesarbressont de largeur1 Lescyclessont de largeur2
Lesk-cliqueset lesk-grillessont de largeurk−1
Quasi-arborescent:largeur d’arbrebornée par uneconstante
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres et instances quasi-arborescentes
Idées : les instances d’entrée doivent êtrequasi-arborescentes Décomposition en arbred’une instance : couvrir tous les faits Largeur d’arbre: largeur minimale d’une décomposition (nombre maximal de sommets énumérés simultanément)
Lesarbressont de largeur1 Lescyclessont de largeur2
Lesk-cliqueset lesk-grillessont de largeurk−1
Quasi-arborescent:largeur d’arbrebornée par uneconstante
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres et instances quasi-arborescentes
Idées : les instances d’entrée doivent êtrequasi-arborescentes Décomposition en arbred’une instance : couvrir tous les faits Largeur d’arbre: largeur minimale d’une décomposition (nombre maximal de sommets énumérés simultanément)
Lesarbressont de largeur1 Lescyclessont de largeur2
Lesk-cliqueset lesk-grillessont de largeurk−1
Quasi-arborescent:largeur d’arbrebornée par uneconstante
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Énoncé du problème
De nombreuses tâches sont tractables en les données sur les instances quasi-arborescentes:
L’évaluation de requêtes MSOestlinéaire[Courcelle, 1990]
Lecomptage de résultatsaussi [Arnborg et al., 1991]
L’évaluation probabiliste estlinéairepour les arbres [Cohen et al., 2009]
(MSO= premier ordre + quantification sur les ensembles ; couvre l’algèbre relationelle, Datalog monadique, etc.)
→ Peut-ondéfinir la provenance dans ce contexte ?
→ Peut-on la calculerefficacement ?
→ Peut-ongénéraliserces résultats ?
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Énoncé du problème
De nombreuses tâches sont tractables en les données sur les instances quasi-arborescentes:
L’évaluation de requêtes MSOestlinéaire[Courcelle, 1990]
Lecomptage de résultatsaussi [Arnborg et al., 1991]
L’évaluation probabiliste estlinéairepour les arbres [Cohen et al., 2009]
(MSO= premier ordre + quantification sur les ensembles ; couvre l’algèbre relationelle, Datalog monadique, etc.)
→ Peut-ondéfinir la provenance dans ce contexte ?
→ Peut-on la calculerefficacement ?
→ Peut-ongénéraliserces résultats ?
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Énoncé du problème
De nombreuses tâches sont tractables en les données sur les instances quasi-arborescentes:
L’évaluation de requêtes MSOestlinéaire[Courcelle, 1990]
Lecomptage de résultatsaussi [Arnborg et al., 1991]
L’évaluation probabiliste estlinéairepour les arbres [Cohen et al., 2009]
(MSO= premier ordre + quantification sur les ensembles ; couvre l’algèbre relationelle, Datalog monadique, etc.)
→ Peut-ondéfinir la provenance dans ce contexte ?
→ Peut-on la calculerefficacement ?
→ Peut-ongénéraliserces résultats ?
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Énoncé du problème
De nombreuses tâches sont tractables en les données sur les instances quasi-arborescentes:
L’évaluation de requêtes MSOestlinéaire[Courcelle, 1990]
Lecomptage de résultatsaussi [Arnborg et al., 1991]
L’évaluation probabiliste estlinéairepour les arbres [Cohen et al., 2009]
(MSO= premier ordre + quantification sur les ensembles ; couvre l’algèbre relationelle, Datalog monadique, etc.)
→ Peut-ondéfinir la provenance dans ce contexte ?
→ Peut-on la calculerefficacement ?
→ Peut-ongénéraliserces résultats ?
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Table des matières
1 Introduction
2 ProvenanceBool[X]
3 ProvenanceN[X]
4 Conclusion
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Idée générale
Provenance Bool[X]sur arbres / instances quasi-arborescentes Le monde des arbres :
Requête :MSO sur les arbres
Le monde des instances quasi-arborescentes: Requête :MSO sur l’instance
→ Réductible aux arbres[Courcelle, 1990]
→ Pour commencer : provenance Bool[X], requêtes sur lesarbres
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Idée générale
Provenance Bool[X]sur arbres / instances quasi-arborescentes Le monde des arbres :
Requête :MSO sur les arbres
Le monde des instances quasi-arborescentes: Requête :MSO sur l’instance
→ Réductible aux arbres[Courcelle, 1990]
→ Pour commencer : provenance Bool[X], requêtes sur lesarbres
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres incertains
1
5
7 6
2
4 3
Une valuationd’un arbre dit s’il faut garderoueffacer la couleur des nœuds Requête d’exemple :
« Y a-t-il un nœud vert et un rouge ? » Valuation : {2,3,7}
La requête est vraie
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres incertains
1
5
7 6
2
4 3
Une valuationd’un arbre dit s’il faut garderoueffacer la couleur des nœuds Requête d’exemple :
« Y a-t-il un nœud vert et un rouge ? » Valuation : {2}
La requête est fausse
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Arbres incertains
1
5
7 6
2
4 3
Une valuationd’un arbre dit s’il faut garderoueffacer la couleur des nœuds Requête d’exemple :
« Y a-t-il un nœud vert et un rouge ? » Valuation : {2,7}
La requête est vraie
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Formules et circuits de provenance
1
5
7 6
2
4 3
Quelles valuations satisfont la requête q?
→ Formule de provenance deq sur un arbre incertain T:
Formule booléenneϕ en lesvariablesx2,x3,x7
→ ν(T)satisfaitqssiν(ϕ)estvraie Circuit de provenance deq surT [Deutch et al., 2014]
Circuit booléenC
avec desportes d’entréeg2,g3,g7
→ ν(T)satisfaitqssiν(C)estvraie
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Formules et circuits de provenance
1
5
7 6
2
4 3
Quelles valuations satisfont la requête q?
→ Formule de provenance deq sur un arbre incertain T:
Formule booléenneϕ en lesvariablesx2,x3,x7
→ ν(T)satisfaitqssiν(ϕ)estvraie
Circuit de provenance deq surT [Deutch et al., 2014]
Circuit booléenC
avec desportes d’entréeg2,g3,g7
→ ν(T)satisfaitqssiν(C)estvraie
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Formules et circuits de provenance
1
5
7 6
2
4 3
Quelles valuations satisfont la requête q?
→ Formule de provenance deq sur un arbre incertain T:
Formule booléenneϕ en lesvariablesx2,x3,x7
→ ν(T)satisfaitqssiν(ϕ)estvraie Circuit de provenance deq surT [Deutch et al., 2014]
Circuit booléenC
avec desportes d’entréeg2,g3,g7
→ ν(T)satisfaitqssiν(C)estvraie
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple
1
5
7 6
2
4 3
Y a-t-il un nœud vertet unrouge?
Formule de provenance : (x2∨x3)∧x7
Circuit de provenance :
∧
∨ g7
g2 g3
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple
1
5
7 6
2
4 3
Y a-t-il un nœud vertet unrouge? Formule de provenance : (x2∨x3)∧x7
Circuit de provenance :
∧
∨ g7
g2 g3
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Exemple
1
5
7 6
2
4 3
Y a-t-il un nœud vertet unrouge? Formule de provenance : (x2∨x3)∧x7
Circuit de provenance :
∧
∨ g7
g2 g3
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Notre résultat principal sur les arbres
Théorème
Pour touterequête MSO q fixée, pour toutarbreT donné en entrée,
on peut construire un circuit de provenanceBool[X]de q sur T entemps linéaireen T.
→ Étapes clés :
Faire deq un automate d’arbres[Thatcher and Wright, 1968] Matérialiser ses transitions possiblessur T
Corollaire
Si les nœuds ont desprobabilitésd’être gardés indépendamment, on peut calculer laprobabilité de la requêteen temps linéaire.
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Notre résultat principal sur les arbres
Théorème
Pour touterequête MSO q fixée, pour toutarbreT donné en entrée,
on peut construire un circuit de provenanceBool[X]de q sur T entemps linéaireen T.
→ Étapes clés :
Faire deq un automate d’arbres[Thatcher and Wright, 1968]
Matérialiser ses transitions possiblessur T
Corollaire
Si les nœuds ont desprobabilitésd’être gardés indépendamment, on peut calculer laprobabilité de la requêteen temps linéaire.
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Notre résultat principal sur les arbres
Théorème
Pour touterequête MSO q fixée, pour toutarbreT donné en entrée,
on peut construire un circuit de provenanceBool[X]de q sur T entemps linéaireen T.
→ Étapes clés :
Faire deq un automate d’arbres[Thatcher and Wright, 1968]
Matérialiser ses transitions possiblessur T Corollaire
Si les nœuds ont desprobabilitésd’être gardés indépendamment, on peut calculer laprobabilité de la requêteen temps linéaire.
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Instances quasi-arborescentes
Encodage en arbre : un arbre E sur un alphabet fini qui représente une instance quasi-arborescente I Requête MSO sur I→requête MSO sur E
Instance incertaine : chaque fait peut être présent ou absent
→ Chaque I′ ⊆Iest une valuationdeE R
a b b c b d
R(a1,a2)
R(a2,a3) R(a2,a3)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Instances quasi-arborescentes
Encodage en arbre : un arbre E sur un alphabet fini qui représente une instance quasi-arborescente I Requête MSO sur I→requête MSO sur E
Instance incertaine : chaque fait peut être présent ou absent
→ Chaque I′ ⊆Iest unevaluation deE R
a b b c b d
R(a1,a2)
R(a2,a3) R(a2,a3)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Instances quasi-arborescentes
Encodage en arbre : un arbre E sur un alphabet fini qui représente une instance quasi-arborescente I Requête MSO sur I→requête MSO sur E
Instance incertaine : chaque fait peut être présent ou absent
→ Chaque I′ ⊆Iest unevaluation deE R
a b b c b d
R(a1,a2)
R(a2,a3) R(a2,a3)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Instances quasi-arborescentes
Encodage en arbre : un arbre E sur un alphabet fini qui représente une instance quasi-arborescente I Requête MSO sur I→requête MSO sur E
Instance incertaine : chaque fait peut être présent ou absent
→ Chaque I′ ⊆Iest unevaluation deE R
a b b c b d
R(a1,a2)
R(a2,a3) R(a2,a3)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Instances quasi-arborescentes
Encodage en arbre : un arbre E sur un alphabet fini qui représente une instance quasi-arborescente I Requête MSO sur I→requête MSO sur E
Instance incertaine : chaque fait peut être présent ou absent
→ Chaque I′ ⊆Iest unevaluation deE R
a b b c b d
R(a1,a2)
R(a2,a3) R(a2,a3)
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Résultat et conséquences
Théorème
Pour touterequête MSO q fixée et k∈N,
pour touteinstance d’entrée I de largeur d’arbre≤k, on peut construire entemps linéaire
un circuit de provenanceBool[X]de q sur I.
Corollaire
Les requêtes MSO ont une complexitélinéaire en données sur les instances TID quasi-arborescentes.
Corollaire
Le comptage pour MSO a une complexitélinéaire (déjà connu).
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Résultat et conséquences
Théorème
Pour touterequête MSO q fixée et k∈N,
pour touteinstance d’entrée I de largeur d’arbre≤k, on peut construire entemps linéaire
un circuit de provenanceBool[X]de q sur I.
Corollaire
Les requêtes MSO ont une complexitélinéaire en données sur les instances TID quasi-arborescentes.
Corollaire
Le comptage pour MSO a une complexitélinéaire (déjà connu).
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Résultat et conséquences
Théorème
Pour touterequête MSO q fixée et k∈N,
pour touteinstance d’entrée I de largeur d’arbre≤k, on peut construire entemps linéaire
un circuit de provenanceBool[X]de q sur I.
Corollaire
Les requêtes MSO ont une complexitélinéaire en données sur les instances TID quasi-arborescentes.
Corollaire
Le comptage pour MSO a une complexitélinéaire (déjà connu).
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Table des matières
1 Introduction
2 ProvenanceBool[X]
3 ProvenanceN[X]
4 Conclusion
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Premier problème : requêtes non-monotones
On veut généraliserdeBool[X]àN[X]
Les semi-anneaux gèrent mal la négation [Amsterdamer et al., 2011]
Notre construction utilise des portesNOT
→ q est monotonesi I|=q implique I′ |=q pour toutI′⊇I
→ Les circuits de provenance pour les requêtes monotones peuvent être monotones
Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion
Premier problème : requêtes non-monotones
On veut généraliserdeBool[X]àN[X]
Les semi-anneaux gèrent mal la négation [Amsterdamer et al., 2011]
Notre construction utilise des portesNOT
→ q est monotonesi I|=q implique I′ |=q pour toutI′ ⊇I
→ Les circuits de provenance pour les requêtes monotones peuvent être monotones