• Aucun résultat trouvé

1 octobre2015 AntoineAmarilli ,PierreBourhis ,PierreSenellart Circuitsdeprovenancepourlesarbresetlesinstancesquasi-arborescentes

N/A
N/A
Protected

Academic year: 2022

Partager "1 octobre2015 AntoineAmarilli ,PierreBourhis ,PierreSenellart Circuitsdeprovenancepourlesarbresetlesinstancesquasi-arborescentes"

Copied!
130
0
0

Texte intégral

(1)

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

(2)

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 !

(3)

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 !

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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)

(31)

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)

(32)

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)

(33)

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)

(34)

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)

(35)

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)

(36)

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)

(37)

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)

(38)

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)

(39)

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)

(40)

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)

(41)

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

(42)

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

(43)

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

(44)

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)

(45)

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)

(46)

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)

(47)

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)

(48)

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 largeurk1

Quasi-arborescent:largeur d’arbrebornée par uneconstante

(49)

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 largeurk1

Quasi-arborescent:largeur d’arbrebornée par uneconstante

(50)

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 largeurk1

Quasi-arborescent:largeur d’arbrebornée par uneconstante

(51)

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 largeurk1

Quasi-arborescent:largeur d’arbrebornée par uneconstante

(52)

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 ?

(53)

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 ?

(54)

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 ?

(55)

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 ?

(56)

Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion

Table des matières

1 Introduction

2 ProvenanceBool[X]

3 ProvenanceN[X]

4 Conclusion

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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

(65)

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

(66)

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

(67)

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

(68)

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.

(69)

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.

(70)

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.

(71)

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)

(72)

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)

(73)

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)

(74)

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)

(75)

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)

(76)

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).

(77)

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).

(78)

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).

(79)

Introduction ProvenanceBool[X] ProvenanceN[X] Conclusion

Table des matières

1 Introduction

2 ProvenanceBool[X]

3 ProvenanceN[X]

4 Conclusion

(80)

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

(81)

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

Références