A propos de requêtes possibilistes adressées à des bases de

Transcription

A propos de requêtes possibilistes adressées à des bases de
A propos de requêtes possibilistes adressées
à des bases de données possibilistes
Laurence Duval*  Olivier Pivert**
*IRISA/ENSAI
Campus de Ker Lann BP 37203
35170 Bruz Cedex France
[email protected]
**IRISA/ENSSAT
Technopole Anticipa BP 447
22305 Lannion Cedex, France
[email protected]
L'interrogation de bases de données contenant des informations imprécises soulève
différents problèmes, dont celui de la complexité. Dans ce papier, nous considérons un
nouveau type de requêtes, appelées requêtes possibilistes, de la forme : "dans quelle mesure
est-il possible que le n-uplet t appartienne à la réponse à la requête Q", où Q est une requête
usuelle pouvant faire intervenir des opérations de sélection et de jointure. Le cadre choisi
pour modéliser les données est celui des bases de données possibilistes, où une valeur
d'attribut mal connue est représentée par une distribution de possibilité. Nous décrivons une
méthode permettant d'évaluer de telles requêtes sans avoir à expliciter les mondes possibles
associés à la base considérée, le but étant d'éviter l'explosion combinatoire induite par
l'approche d'évaluation canonique.
RÉSUMÉ.
. Querying databases containing imprecise data raises different problems among
which that of complexity. In this paper, a new type of query is considered. These queries,
called possibilistic queries, are of the form: "to what extent is it possible that tuple t belongs
to the answer to query Q", where Q denotes a usual query that may involve selection and join
operations. The model used is the relational possibilistic database framework, where an illknown attribute value is represented as a possibility distribution. We describe a method
allowing to process such queries without making explicit the different worlds associated with
the database. The main objective of this approach is to avoid the combinatorial growth
induced by the canonical evaluation method.
ABSTRACT
: théorie des possibilités, données mal connues, requêtes possibilistes,
interprétation en mondes.
KEYWORDS : possibility theory, ill-known values, possibilistic queries, world-based
interpretation.
MOTS-CLÉS
1. Introduction
Dans différents domaines, on note un besoin croissant de systèmes d'information
capables de traiter des données mal connues. C'est notamment le cas des entrepôts
de données (data warehouses) pour lesquels la fusion d'informations provenant de
différentes sources peut induire de l'imprécision (notons qu'à l'heure actuelle, cette
dernière est traitée par des méthodes usuelles de nettoyage de données). La théorie
des possibilités [ZAD 78] propose un modèle ordinal de l'incertain dans lequel
l'imprécision est représentée au moyen d'une relation de préférence définissant un
ordre total sur les situations possibles. Cette approche est fortement liée aux
ensembles flous [ZAD 65] puisque l’idée est de contraindre les valeurs que peut
prendre une variable par un ensemble flou normalisé (i.e., où au moins un élément
appartient complètement à l’ensemble). Une distribution de possibilité est une
application π d’un domaine donné dans l’intervalle unité [0, 1] et π(a) donne le
degré de possibilité associé au fait que la valeur effective de la variable est a. La
condition de normalisation impose qu’au moins une valeur (a 0 ) soit complètement
possible, i.e., π (a 0 ) = 1. Ce formalisme est particulièrement adapté à l’expression
d’incertitudes subjectives décrites au moyen de termes linguistiques tels que grand,
jeune, plutôt petit, etc. Quand le domaine est fini, une distribution de possibilité est
notée : {π1 /a1 + … + πn /an } où ai est une valeur candidate et πi son degré de
possibilité. Dans le cadre des bases de données relationnelles, le modèle possibiliste
offre un cadre unifié pour représenter les valeurs précises et les valeurs imprécises
telles que les intervalles usuels ou flous et les valeurs nulles (voir [BOS 97] pour
plus de détails). Au delà de la représentation, un aspect important concerne la
manipulation de ce type de données, et des travaux fondateurs ont, dans les années
80, posé quelques bases, particulièrement pour les requêtes contenant seulement des
opérations simples, à savoir la sélection et la projection [PRA 84]. Ainsi, une
requête de sélection retourne une relation dans laquelle chaque n-uplet est affecté
d'une paire de degrés exprimant respectivement la possibilité et la nécessité
d'appartenance du n-uplet à la relation résultat.
Il est clair toutefois qu'un langage de requêtes restreint à la sélection et à la
projection n'est guère satisfaisant dans la mesure où il ne permet de manipuler
qu'une relation à la fois et n'a donc qu'un pouvoir d'expression très limité. La prise
en compte d'autres opérateurs pose de sérieux problèmes et il a été montré [IMI 84]
qu'il n'existait pas de modèle "simple" constituant un système de représentation fort
pour l'ensemble des opérateurs relationnels. En particulier, le modèle possibiliste
(tout comme le modèle OR-sets [LIP 81]) ne constitue pas un tel système de
représentation et le résultat d'une requête consiste donc en général en un ensemble
de mondes qu'il est impossible de représenter à l'aide d'une relation unique du
modèle. Cet état de fait a deux conséquences fâcheuses : d'une part, il est difficile à
un utilisateur d'interpréter une réponse composée d'un très grand nombre de tables,
d'autre part, le coût de l'évaluation est généralement prohibitif puisque la requête
doit être évaluée sur chacun des (très nombreux) mondes associés à la base de
donnée considérée.
Dans [BOS 01], un langage d'interrogation relationnel comportant des opérateurs
de sélection, projection et une jointure spécifique est proposé. L'intérêt de ce cadre
est qu'il se fonde sur des procédures d'évaluation où les mondes ne sont pas
explicitement manipulés et, par conséquent, on peut espérer atteindre une
complexité raisonnable. Dans le même esprit de faisabilité, l'idée développée dans
ce papier consiste à considérer des requêtes spécifiques, appelées "requêtes
possibilistes" − concept inspiré des propositions d'Abiteboul et al. [ABI 91] et
introduit, dans un cadre possibiliste, dans [BOS 02] −, pour lesquelles il n'est pas
non plus nécessaire d'expliciter les mondes. Une requête possibiliste diffère d'une
requête classique en ceci qu'elle fait référence à un n-uplet particulier. Plus
précisément, sa formulation générale est : "dans quelle mesure est-il possible que le
n-uplet t appartienne au résultat de la requête Q", où Q désigne une requête
relationnelle usuelle. Dans ce travail, nous nous restreignons aux requêtes Q
contenant seulement des sélections, des jointures et une projection finale. Nous
supposerons également qu'une relation n'est utilisée qu'une seule fois dans une
requête et que les distributions de possibilité utilisées sont finies. L'étude des
requêtes possibilistes constitue un travail original puisqu'à notre connaissance aucun
travail de recherche similaire n'a encore été entrepris.
Le papier est structuré de la façon suivante. En section 2, les requêtes
possibilistes sont présentées et des exemples illustrent l'explosion combinatoire
induite par la méthode d'évaluation "naïve" (i.e., la méthode canonique fondée sur
l'explicitation des mondes). Différents principes permettant d'améliorer cette
méthode sont donnés en section 3. Dans la section 4, une méthode d'évaluation
reposant sur un principe différent (appelée méthode "compacte") est présentée. Cette
nouvelle stratégie, qui ne nécessite pas de calculer explicitement les différents
mondes tire avantage des principes décrits dans la section précédente. Les opérations
impliquées dans le calcul compact (sélection, jointure et calcul du degré final) sont
détaillées en section 5 et illustrées dans l'exemple traité en section 6 . La section 7,
quant à elle, est consacrée aux conclusions ainsi qu'à la mise en évidence de
directions pour des travaux futurs.
2. Introduction aux requêtes possibilistes
Nous donnons tout d'abord le vocabulaire que nous utilisons dans ce papier, puis
nous illustrons à travers un exemple la relation entre une base de données
possibiliste et les mondes qui lui sont associés.
2.1. Vocabulaire et notations
Dans les prochaines sections, les notations suivantes sont utilisées. B représente
un base de données relationnelle usuelle et B, une base de données relationnelle
possibiliste. Rep(B) dénote l'ensemble des mondes (bases de données usuelles)
associés à B. Les opérations de projection sur une relation possibiliste, de sélection
sur une relation possibiliste et de jointure de relations possibilistes sont notées
respectivement πp , σp et ><p . Enfin, Qp désigne une requête possibiliste incluant la
requête usuelle Q.
Une relation possibiliste a la même structure qu'une relation usuelle. Elle diffère
uniquement d'une relation usuelle en ceci que la valeur d'un attribut peut être une
distribution de possibilité (i.e., un ensemble disjonctif de valeurs candidates
pondérées). Dans cet article, le fait de considérer des distributions de possibilité
finies se traduit par le caractère fini de l'ensemble des mondes associés à une base de
données possibiliste, chacun d'eux étant une base de données relationnelle usuelle à
laquelle est associé un degré de possibilité.
2.2. Exemple introductif
Exemple 1. Considérons une base de données militaire décrivant des images
d'avions prises par satellite. Cette base de données contient deux relations : Img(#i,
t_a, date, lieu) et Avn(t_a, lg, vt). La première décrit des images identifiées par un
numéro (#i), un type d'avion éventuellement mal connu (t_a) ainsi que le lieu et la
date où la photo a été prise. La seconde, quant à elle, contient les caractéristiques des
avions considérés : type (t_a), longueur (lg) et vitesse maximale (vt), informations
supposées ici précises. Considérons l'extension suivante de cette base de données
possibiliste B :
Img #i
i1
i3
t_a
a1
1/a3 + 0.3/a4
date
1/d3 + 0.7/d1
d1
lieu
l1
l2
Avn
t_a
a1
a2
a3
a4
lg
20
25
18
20
vt
1000
1200
800
1200
Dans ce contexte, un exemple de requête possibiliste est : "dans quelle mesure
est-il possible que le n-uplet <d1, 20> appartienne au résultat de la requête Q
donnant les paires (d, l) telles qu'il existe (au moins) une image prise à la date d et
représentant un avion de longueur l". La sémantique naturelle d'une telle requête
peut être exprimée en se référant aux mondes (plus ou moins possibles) associés à la
base B. A l'extension précédente de B correspondent quatre mondes M1, M2, M3,
M4, chacun d'eux contenant la relation Avn et l'une des relations suivantes :
Img1 #i
Π = 1 i1
i3
t_a
a1
a3
date
d3
d1
lieu
l1
l1
Img2 #i
Π = 0.7 i1
i3
t_a
a1
a3
date
d1
d1
lieu
l1
l1
Img3 #i
Π = 0.3 i1
i3
t_a
a1
a4
date
d1
d1
lieu
l1
l1
Img4 #i
Π = 0.3 i1
i3
t_a
a1
a4
date
d3
d1
lieu
l1
l1
où Π indique le degré de possibilité du monde considéré. On voit que seuls les
mondes M2 , M3 et M4 permettent de "générer" le n-uplet t et on en conclut qu'il est
possible au degré 0.7 que le n-uplet <d1, 20> appartienne au résultat de la requête
Q♦
Dans le but d'illustrer la complexité liée à l'évaluation des requêtes possibilistes
en passant par les mondes, nous considérerons dans la suite la base de données
possibiliste B' composée de la relation Avn précédente et de la relation possibiliste
Img' suivante :
Img'
#i
i1
i2
i3
i4
t_a
1/a2 + 0.5/a1
1/a3 + 0.8/a2 + 0.5/a4 + 0.2/a1
1/a3 + 0.3/a4
1/a4 + 0.2/a1
date
1/d3 + 0.7/d1
1/d2 + 0.2/ d 3
d1
1/d1 + 0.2/ d 3
lieu
1/l1 + 0.8/l2
1/l3 + 0.7/l4
l1
l2
Cette base de données contenant seulement 8 n-uplets, a exactement 1024
interprétations, ce qui illustre la nature combinatoire du problème et montre qu'il est
irréaliste d'évaluer une requête possibiliste Qp en appliquant la requête Q sur chacun
des mondes associés à la base considérée. Il est donc impératif de mettre en
évidence des méthodes d'évaluation efficaces.
Toutefois, si l'approche qui consiste à passer par les mondes n'est pas
satisfaisante du point de vue des calculs, elle reste la référence du point de vue
sémantique, i.e., elle permet de fonder la démonstration de la validité de toute autre
approche.
3. Principe de l'évaluation des requêtes possibilistes
Dans cette section, nous décrivons l'approche canonique d'évaluation consistant à
expliciter les mondes associés à la base de données possibiliste initiale B, et nous
exhibons quelques améliorations permettant de limiter le nombre des mondes
intervenant dans le calcul. Ces améliorations seront reprises en section 4 dans la
stratégie d'évaluation compacte que nous proposons.
3.1. Stratégie initiale naïve
Comme nous l'avons illustré dans la section précédente, une stratégie
d'évaluation naïve (et inefficace) consiste à : i) calculer tous les mondes possibles de
rep(B), ii) évaluer Q sur chacun de ces mondes, iii) rechercher le monde de
possibilité la plus élevée contenant le n-uplet t. L'algorithme d'évaluation
correspondant est le suivant :
µ ← 0;
pour tout B dans rep(B) faire
Res ← Q(B);
si σt (Res) ≠ ∅ alors µ ← max(Π(B), µ)
fin si
fin pour
où Π(B) représente le degré de possibilité associé au monde B. La condition de
sélection σt vise à sélectionner le n-uplet t et est définie de la façon suivante :
σt = {A 1 = t.A 1 et A 2 = t.A 2 … et A n = t.A n }
où A 1 , ..., A n désignent les attributs apparaissant dans t.
Comme nous l'avons illustré auparavant (voir le dernier exemple de la section
2.2), cette procédure n'est pas viable en général, à cause de l'explosion combinatoire
du nombre de mondes. Pour en améliorer l'efficacité, on peut chercher à réduire le
nombre de mondes à considérer. Cette approche, illustrée dans les deux soussections suivantes, a toutefois ses limites et nous verrons plus loin qu'il est
nécessaire d'envisager une philosophie d'évaluation différente si l'on veut pouvoir
obtenir des performances réalistes.
3.2. Suppression des attributs inutiles
La première amélioration consiste à supprimer de la base de données possibiliste
les attributs qui n'apparaissent pas dans Q, ce qui est d'autant plus intéressant que
ceux-ci prennent des valeurs imprécises. Notons B' la base de données possibiliste
obtenue de cette façon. La procédure d'évaluation devient :
µ ← 0;
pour tout B dans rep(B') faire
Res ← Q(B);
si σt (Res) ≠ ∅ alors
µ ← max(Π(B), µ)
fin si
fin pour
Exemple 2. Revenons sur l'exemple précédent, et supposons que nous voulions
évaluer le degré de possibilité d'appartenance du n-uplet <d1, 20> à la jointure des
tables Img' et Avn. Les attributs que l'on peut supprimer sont #i, lieu et vt. Par
conséquent, l'évaluation de la requête possibiliste entraîne le calcul des mondes
associés à la base de données composée des deux relations suivantes (les attributs
supprimés apparaissent en gris) :
Img'' #i
i1
i2
i3
i4
t_a
1/a2 + 0.5/a1
1/a3 + 0.8/a2 +
0.5/a4 + 0.2/a1
1/a3 + 0.3/a4
1/a4 + 0.2/a1
date
1/d3 + 0.7/d1
1/d2 + 0.2/ d 3
lieu
1/l1 + 0.8/l2
1/l3 + 0.7/l4
d1
1/d1 + 0.2/ d 3
l1
l2
Avn' t_a
a1
a2
a3
a4
lg
20
25
18
20
sp
1000
1200
800
1200
Dans ce cas, le nombre d'interprétations a été divisé par 4 (il est maintenant égal à
256), mais il reste cependant très élevé pour une base possibiliste initiale contenant 8
n-uplets, et l'on est encore loin d'une méthode d'évaluation "réaliste" en termes de
performances♦
3.3. Utilisation du n-uplet cible
Toujours dans le but d'améliorer le processus, un second traitement consiste à
supprimer des relations les n-uplets qui ne peuvent pas générer le n-uplet cible t.
Plus précisément, la technique consiste à éliminer les valeurs candidates (ce qui
entraine, dans certains cas, des disparitions de n-uplets) avant de calculer les
mondes. Pour ce faire, nous devons définir la sélection fondée sur un critère de la
forme " attribut = constante " dans le contexte des relations possibilistes.
L'idée est de filtrer les valeurs des attributs qui, dans Q, interviennent dans la
projection finale (i.e., ceux apparaissant dans le n-uplet cible). Pour chaque n-uplet u
d'une relation possibiliste r impliquée dans la requête, seules les valeurs d'attribut
apparaissant dans le n-uplet cible sont conservées. Si, pour un attribut A d'un n-uplet
u, aucune des valeurs candidates n'est égale à t.A, le n-uplet u est supprimé.
Formellement, une sélection du type " attribut = constante " sur une relation
possibiliste de schéma R(A, X) est définie de la façon suivante :
select(r, A = t.A) = {v = <π/t.A, u.X> | ∃ u, u ∈ r e t u.A = {… + π/t.A + …}}
(1).
On note σp t (B') l'opération : select(B', A1 = t.A 1 ) et ... et select(B', An = t.A n ) où
A 1 , ..., A n sont les attributs apparaissant dans le n-uplet cible t. Implicitement, σp t (B')
signifie que la sélection est exécutée sur toute relation r de B' contenant l'un au
moins des attributs Ai . L'algorithme correspondant est le suivant :
µ ← 0;
pour tout B dans rep(σp t (B')) faire
Res ← Q(B);
si Res ≠ ∅ alors µ ← max(Π(B), µ) fin si
fin pour
Exemple 3. Dans l'exemple précédent, ce traitement se traduit par la suppression de
toutes les valeurs de date (respectivement de longueur) différentes de d1 (resp. 20).
Image'''
t_a
1/a2 + 0.5/a1
1/a3 + 0.8/a2 +
0.5/a4 + 0.2/a1
1/a3 + 0.3/a4
1/a4 + 0.2/a1
date
0.7/d1
1/d2 + 0.2/ d 3
d1
d1
Avion''
t_a
a1
a2
a3
a4
lg
20
25
18
20
Ainsi, l'évaluation de la requête Q ne se fait plus que sur 8 mondes (au lieu de 256)♦
Toutes ces améliorations peuvent réduire de façon significative le nombre de
mondes qui doivent être calculés, mais elles ne permettent pas en général d'obtenir
une complexité raisonnable puisque la nature combinatoire du problème persiste.
Dans la section suivante, nous décrivons le principe général d'une stratégie évitant
d'expliciter les mondes.
4. Les quatre étapes de l'évaluation compacte d'une requête possibiliste
L'idée clé est de ne pas calculer tous les mondes possibles. En d'autres termes,
l'objectif est de procéder à un calcul compact, i.e., à une évaluation manipulant
seulement des relations possibilistes. La remarque suivante conforte la légitimité de
cette approche.
Rappelons que, si le modèle possibiliste n'est pas assez riche pour représenter la
réponse exacte à une requête relationnelle Q en général (en raison de la nécessité de
représenter des n-uplets "disjonctifs", i.e., qui ne peuvent pas coexister dans un
même monde), ce problème disparaît dans le contexte des requêtes possibilistes.
Une telle requête fait en effet référence à un seul n-uplet, et l'on n'a donc pas à se
préoccuper de la coexistence de n-uplets "incompatibles" dans les relations
intermédiaires manipulées – on ne cherche pas à représenter le résultat de Q. Cette
remarque sera exploitée dans la section 5 consacrée à la définition des opérateurs.
La stratégie d'évaluation que nous proposons reprend les améliorations décrites
en section 3 et comporte les quatre étapes suivantes :
1)
Suppression des attributs inutiles, i.e. ceux des relations possibilistes utilisées
dans Q mais qui n'apparaissent pas dans la requête Q (cf. 3.2) ;
2)
Propagation des valeurs des attributs du n-uplet cible apparaissant dans Q. Cette
étape se résume à introduire des sélections permettant de ne retenir que les nuplets susceptibles de contribuer à la génération du n-uplet cible (cf. 3.3).
3)
Evaluation compacte de Q, ce qui nécessite de définir les opérations appropriées
de sélection et de jointure (ces points, qui constituent le cœur de la contribution,
sont décrits en section 5).
4)
Calcul du degré de possibilité désiré à partir de la relation obtenue à l'étape 3.
La section suivante détaille chacune de ces étapes et fournit notamment la
définition des opérations de sélection et de jointure dans le cadre d'une évaluation
compacte.
5. Définition des opérations du calcul compact
Dans cette section, nous décrivons tout d'abord les requêtes pour lesquelles nous
avons pu définir une procédure d'évaluation compacte. Nous abordons ensuite les
problèmes posés par l'existence de dépendances entre attributs (ou, plus précisément,
entre valeurs candidates associées à plusieurs attributs) dans les résultats de sousrequêtes, puis nous détaillons les étapes 3 et 4 du processus décrit précédemment.
5.1. Requêtes acceptées
Même si l'évaluation de requêtes possibilistes pose moins de problèmes que celle
de requêtes classiques, elle n'est cependant pas triviale. Ceci nous amène à
restreindre la famille des requêtes possibilistes considérées dans ce papier. Les
restrictions concernent la requête relationnelle usuelle Q référencée dans la requête
possibiliste. Comme mentionné précédemment, nous choisissons de nous restreindre
aux requêtes ne faisant intervenir que des sélections et des jointures (opérations qui
constituent le cœur de nombreuses requêtes usuelles).
Une deuxième restriction a trait à l'impossibilité de manipuler plusieurs copies
d'une même relation (cas d'une auto-jointure, notamment). La raison en est qu'une
requête référençant plusieurs copies d'une même relation et mettant en jeu une
comparaison entre des attributs venant de ces copies génère des dépendances entre
valeurs candidates. Le problème des dépendances entre attributs est traité dans la
sous-section suivante et nous verrons que, dans la plupart des cas, il est possible de
le surmonter. Notre approche ne fournit toutefois pas de solution lorsque plusieurs
exempla ires d'une relation sont manipulés, et nous nous limitons donc dans la suite
aux requêtes ne présentant pas cette caractéristique.
5.2. Problèmes liés à des dépendances entre attributs
L'indépendance entre attributs est présumée dans une relation possibiliste dans le
sens où, pour un n-uplet donné, le choix d'une valeur d'attribut n'est pas conditionné
par un choix préalable fait pour un autre attribut du même n-uplet. En d'autres
termes, le modèle stipule implicitement que les distributions utilisées dans un même
n-uplet sont indépendantes puisque l’ensemble des interprétations est obtenu par
produit cartésien sur les valeurs candidates. Si elle est généralement acceptable au
niveau des relations initiales, cette hypothèse est toutefois mise en défaut lorsque
des opérations de sélection et de jointure sont appliquées. Il convient d'insister sur le
fait que les dépendances dont il est ici question ne sont pas des dépendances
fonctionnelles, mais des dépendances entre valeurs candidates dans le résultat d'une
(sous)-requête.
Un problème apparaît dans deux situations : i) lorsqu'une condition comporte une
disjonction de prédicats référençant plusieurs attributs (e.g., A > 4 ou B = 12) qui
sont utilisés dans des opérations ultérieures, ii) lorsqu'une condition fait intervenir
une comparaison d'attributs (e.g., A > B) qui sont utilisés dans des opérations
ultérieures. Dans ces deux cas, pour pouvoir traiter convenablement les opérations
subséquentes, il est nécessaire que toutes les combinaisons satisfaisantes des valeurs
d'attributs soient conservées avec leurs degrés.
Exemple 4. Considérons le schéma R(A, B, C) et une requête Q incluant la
condition "A > 100 ou B < 20", sous l'hypothèse que A et B sont référencés par
d'autres opérations de Q. Supposons que les valeurs de A pour un tuple u de r(R)
sont {1/90 + 0.7/80 + 0.2/120} et celles de B {1/30 + 0.5/10}. Le résultat correct de
cette opération est constitué des couples (1/90, 0.5/10), (0.7/80, 0.5/10), (0.2/120,
1/30), (0.2/ 120, 0.5/10) et l'on peut constater que ce résultat ne peut être représenté
avec des valeurs de A et de B indépendantes♦
Exemple 5. Considérons le schéma R(A, B, C) précédent et la condition (A > B)
relative à la relation r contenant le n-uplet v = <{1/2 + 0.7/4 + 0.5/9}, {1/2 + 0.3/8},
c>. Ici, trois paires de valeurs sont satisfaisantes : 0.7/<4, 2>, 0.5/<9, 2> et 0.3/<9,
8> mais elles ne sont pas représentables en termes de produit cartésien sur A et B♦
Dans le contexte des requêtes possibilistes, les dépendances entre attributs ne
constituent cependant pas un problème majeur dans la mesure où il est possible de
manipuler des relations contenant des n-uplets disjonctifs. Cette méthode est
légitime puisque : i) l'on recherche la meilleure alternative, i.e., la meilleure
représentation du n-uplet cible dans le résultat (le degré final est calculé au moyen
d'un maximum) et ii) les opérations autorisées dans Q (sélection et jointure)
n'imposent pas l'indépendance des n-uplets dans les relations intermédiaires (les
requêtes ne nécessitent aucun calcul de cardinalité, en particulier). Dans l'exemple 4,
la relation issue de la sélection comporterait donc les quatre n-uplets distincts
générés par u .
5.3. Sélection
Nous considérons deux types de conditions de sélection atomique : celles visant
à comparer une valeur d'attribut et une constante (type 1), et celles servant à
comparer deux attributs (type 2). Nous définissons dans un premier temps les
opérations correspondantes, puis nous traitons de la composition des conditions de
sélection.
5.3.1. Critère de la forme : Attribut θ valeur
On considère ici une condition de sélection du type "A θ v" (où A désigne un
attribut, v une constante et θ un comp arateur) appliquée à une relation r de schéma
R(A, X). Un n-uplet u de r génère un n-uplet dans la relation résultante si au moins
une valeur candidate ai dans u.A satisfait la condition (a i θ v). Le n-uplet résultant u'
a les mêmes valeurs que u pour tout attribut sauf pour A : u'.A contient uniquement
les candidats ai de u.A qui satisfont la condition (a i θ v). Cette opération de sélection
peut être définie de la façon suivante :
sel(r, A θ v) = {<restr(u.A, A θ v), u.X> | u ∈ r}
(2)
où restr(u.A, A θ v) = {πi /ai | ai ∈ u.A et πi = πu.A (a i ) et ai θ v}} (cette opération
restreint la distribution de possibilité u.A aux valeurs candidates qui satisfont la
condition).
Justification. Pour démontrer la validité de la démarche, il faut prouver que le
résultat que l'on obtient est la représentation compacte de l'union des tables
résultantes (mondes) que l'on aurait obtenues en appliquant la sélection sur chacun
des mondes de la relation initiale considérée. Soit r la relation possibiliste initiale.
Soit Res la réponse compacte obtenue en appliquant la formule (2) et soit E
l'ensemble des mondes de la réponse obtenus par la stratégie non compacte (i.e.,
fondée sur l'explicitation des mondes). Montrons tout d'abord que tout n-uplet t de
tout monde M0 de E peut être généré à partir d'un n-uplet de Res. Soit α le degré de
possibilité associé au monde M0. Le n-uplet t appartient à un monde de la réponse,
et vérifie donc t.A i θ v. Ceci implique que t existait dans le monde M de r (dont M0
est issu par sélection), lui aussi de degré α. M étant un monde de r, on en déduit qu'il
existait dans r un n-uplet t' tel que t'A i contenait la valeur t.A i affectée d'un degré β
supérieur ou égal à α. D'où l'on déduit − voir définition 2 − que le résultat compact
Res = sel(r, A θ v) contient un n-uplet t'' tel que t''.A i contient la valeur candidate
t.A i affectée du degré β.
Réciproquement, montrons que tout n-uplet "précis" généré à partir d'un n-uplet
de Res appartient à au moins un monde de la réponse. Soit s un n-uplet de Res. Par
construction (cf. définition 2), il existe un n-uplet s' appartenant à r tel que s'.A i
inclut s.A i . Un choix ai licite pour s.A i l'est aussi pour s'.Ai, et l'on peut donc
construire au moins un monde M contenant un n-uplet s'' généré à partir de s en
faisant le choix de ai pour l'attribut Ai . Le n-uplet s appartenant à Res, on a : ∀ai ∈
s.A i , ai θ v, et le n-uplet s'' appartiendra donc également au monde (i.e., dans ce cas,
à la relation) M' obtenu en appliquant la sélection au monde M, c'est-à-dire à l'un
des mondes de la réponse obtenue par un calcul non compact. Si l'on suppose que le
degré associé à ai dans s.Ai (et donc dans s'.A i ) est α, le degré du monde M (et donc
de M') sera, par construction, inférieur ou égal à α (le degré du monde est obtenu en
calculant le minimum des degrés associés aux valeurs candidates choisies pour
générer le monde). L'étape de calcul du degré final (cf. section 5.5) nous assure
quant à elle que le degré calculé pour le n-uplet cible est bien égal au degré maximal
des mondes de la réponse dans lequel ce n-uplet est présent.
5.3.2. Critère de la forme Attribut1 θ Attribut2
Dans le cas d'une condition du type "A θ B" sur une relation r dont le schéma est
R(A, B, X), un tuple u génère un n-uplet u' dans la réponse si au moins une valeur
candidate pour u.A est en relation θ avec au moins une valeur candidate pour u.B.
Comme il est mentionné en 5.2, un n-uplet u peut générer plusieurs n-uplets
disjonctifs de la relation résultante. Le principe consiste à générer un n-uplet u'i pour
chacune des valeurs candidates satisfaisantes ai de u.A : la valeur de u'i .A est ai avec
son degré, la valeur de u'i .B est la distribution u.B restreinte aux valeurs bj vérifiant
la condition ai θ b j . Le nombre de n-uplets générés par u est donc égal au nombre de
valeurs candidates de u.A qui sont en relation θ avec au moins une valeur candidate
de u.B (notons que nous aurions pu également considérer la solution symétrique
consistant à générer un n-uplet pour chaque valeur candidate de u.B). Plus
formellement, cette opération de sélection peut être définie de la façon suivante :
sel(r, A θ B) = {<{αi /ai }, restr(u.B, ai θ B), u.X> | ∃ u ∈ r tel que
u.A = {α1 /a1 + ... + αi /ai + ... + αn /an } et restr(u.B, ai θ B) ≠ ∅} (3).
Exemple 6. Considérons la relation suivante qui décrit des images satellite d'avions.
Chaque image est supposée représenter deux avions. Les types des avions sont
supposés mal connus du fait de l'imprécision inhérente au processus de
reconnaissance.
#image
1
2
avion1
{1/a1 + 1/a2 + 0.7/a3}
{0.2/a2 + 0.8/a3+ 0.2/a4}
avion2
{0.8/a2 + 0.2/a3}
{0.6/a1 + 0.1/a4}
Supposons que la sous-requête qui nous intéresse est la suivante : sel(r, avion1 ≠
avion2). Le résultat obtenu est représenté par la table suivante :
#image
1
1
1
2
2
2
avion1
{1/a1}
{1/a2 }
{0.7/a3}
{0.2/a2}
{0.8/a3}
{0.2/a4}
avion2
{0.8/a2 + 0.2/a3}
{0.2/a3}
{0.8/a2 }
{0.6/a1 + 0.1/a4}
{0.6/a1 + 0.1/a4}
{0.6/a1}
♦
La définition 3 peut être justifiée en suivant un raisonnement similaire à celui
détaillé en 5.3.1 pour les critères du type Ai θ v. Pour des raisons de place, cette
démonstration est omise ici, et nous ne détaillerons pas non plus les preuves
relatives aux opérateurs suivants, celles-ci reposant toutes sur le même type de
raisonnement (dans chaque cas, on peut montrer que la table obtenue par évaluation
compacte est une représentation compacte de l'union des mondes constituant la
réponse que l'on obtiendrait en utilisant la stratégie fondée sur l'explicitation des
mondes).
5.3.3. Critères disjonctifs
Considérons, à titre d'exemple de référence pour les critères de sélection
disjonctifs, la condition suivante : "(A θ v 1 ) ou (B θ v 2 )" appliquée à une relation r
de schéma R(A, B, X). Un n-uplet u de r satisfait (possiblement) la condition si au
moins une valeur candidate a de u.A satisfait (a θ v 1 ) ou si une valeur candidate b de
u.B vérifie (b θ v 2 ). Cette sélection appliquée à un n-uplet donné génère deux nuplets dans la réponse : le premier inclut toutes les valeurs candidates de u.A qui
satisfont la condition A θ v 1 associées à toutes les valeurs candidates de u.B, tandis
que le second est composé de toutes les valeurs candidates satisfaisantes qui ne sont
pas dans le n-uplet précédent, à savoir toutes les valeurs candidates u.B qui vérifient
la condition B θ v 2 avec toutes les valeurs candidates de u.A ne satisfaisant pas A θ
v 1 . Cette opération peut être formalisée de la façon suivante :
sel(r, (A θ v 1 ) or (B θ v 2 )) = {<restr(u.A, A θ v 1 ), u.B, u.X> | u ∈ r} ∪
{<restr(u.A, ¬(A θ v 1 )), restr(u.B, B θ v 2 ), u.X> | u ∈ r}
(4).
Les autres conditions de sélection disjonctives peuvent être traitées de façon
similaire.
5.3.4. Critères conjonctifs
En ce qui concerne les conditions de sélection conjonctives, elles peuvent
généralement être calculées en utilisant le modèle possibiliste "usuel", i.e., sans nuplets disjonctifs (un tuple donné génère au maximum un tuple). Cela n'est toutefois
pas possible dans des cas particuliers tels que "(A 1 θ1 A2 ) et (A 1 θ2 A 3 )", i.e., quand
un attribut donné est utilisé dans deux comparaisons d'attributs. Ce type de critère
induit en effet des dépendances entre attributs et il faut alors recourir à des n-uplets
disjonctifs comme dans le cas des conditions de sélection disjonctives (ce cas
particulier n'est pas détaillé ici faute de place).
5.4. Jointure
La définition de l'opération de jointure est similaire à celle de la sélection
impliquant une condition de type 2. Quand deux n-uplets peuvent être joints, on
conserve toutes les valeurs candidates qui s'apparient et l'on génère autant de nuplets que nécessaire. Plus formellement, si nous considérons les relations r et s dont
les schémas respectifs sont R(A, X) et S(B, Y) et la condition A θ B, l'opération de
jointure est définie de la façon suivante :
Join(r, s, Α θ Β) = {<{αi /ai }, restr(v.B, ai θ B), u.X, v.Y> | ∃ u ∈ r, ∃ v ∈ s tel que
u.A = {α1 /a1 + ... + αi /ai + ... + αn /an } et restr(v.B, ai θ B) ≠ ∅} (5).
5.5. Calcul du degré final
Le rôle de la quatrième et dernière étape est de traiter la projection finale
présente dans Q. Par construction, la projection donne naissance à un seul n-uplet,
i.e., le n-uplet cible t. La seule question réside dans la détermination du degré
associé à ce n-uplet, i.e., de la valeur que l'on doit, en réponse, fournir à l'utilisateur.
Soit la relation r' obtenue à la fin de l'étape 3. Le degré de possibilité associé à un nuplet de r' est le minimum (sur tous les attributs) du maximum des degrés liés aux
valeurs candidates (pour un attribut donné). Selon la sémantique de la projection
(basée sur un quantificateur existentiel), le degré final associé au n-uplet cible est
égal au maximum de ceux des n-uplets de r'.
Example 7. Supposons que, dans le contexte d'une requête possibiliste du type
"dans quelle mesure est-il possible que le couple (x, y) appartienne au résultat de la
requête Q", on obtienne à l'issue de l'étape 3 la table suivante :
A
{1/a1 + 1/a2 + 0.7/a3}
{0.8/a3}
X
x
x
B
{0.8/b2 + 0.2/b3}
{0.6/b1 + 0.1/b4}
Y
y
y
L'étape finale de calcul du degré associé au couple (x,y) fournit :
max(min(max(1, 1, 0.7), max(0.8, 0.2)), min(0.8, max(0.6, 0.1))) = 0.8♦
6. Exemple détaillé
Dans cette section, nous détaillons, au travers d'un exemple, les différentes
étapes de l'évaluation. Considérons les deux relations suivantes :
S #i
i1
i2
i3
i4
t_a
date
1/a2 + 0.5/a1 d 1
1/a3 + 0.8/a2 d 2
1/a3 + 0.7/a2 d 1
1/a4 + 0.2/a1
d1
lieu
1/l2 + 0.8/l1
1/l4 + 0.7/l1
l1
l2
L #i
k1
k2
k3
k4
t_a
date
1/a4 + 0.6/a2 d 3
1/a2 + 0.8/a4 d 1
1/a4 + 0.8/a2 d 1
1/a5 + 0.7/a3
d1
lieu
1/l1 + 0.7/l3
1/l1 + 0.5/l4
1/l2 + 0.6/l1
l1
Ces deux relations ont le même schéma que la relation Image de l'exemple 2.2. et
décrivent des collections d'images prises par deux satellites différents. Considérons
la requête possibiliste suivante : quel est le degré de possibilité associé à la valeur a2
dans le résultat de la requête : projt_a(select(join t.a = t.a(select(S, date = 'd 1 '), select(L,
date = 'd1')), lieu1 = lieu2). Autrement dit, on cherche dans quelle mesure il est
possible qu'un avion de type a2 ait été observé au même lieu à la date d1 par les
deux satellites à la fois".
La première étape supprime l'attribut #i dans S et dans L (tous les autres attributs
interviennent dans la requête). La seconde étape ne conserve, dans S et dans L, que
les n-uplets dont l'une des variantes pour t_a est a2 . Ceci conduit aux deux relations
suivantes :
S'
t_a
1/a2
0.8/a2
0.7/a2
date
d1
d2
d1
lieu
1/l2 + 0.8/l1
1/l4 + 0.7/l1
l1
L'
t_a
0.6/a2
1/a2
0.8/a2
date
d3
d1
d1
lieu
1/l1 + 0.7/l3
1/l1 + 0.5/l4
1/l2 + 0.6/l1
On peut ensuite effectuer les sélections (date = 'd 1 '), et les tables précédentes
donnent naissance à :
S''
t_a
1/a2
0.7/a2
date
d1
d1
lieu
1/l2 + 0.8/l1
l1
L''
t_a
1/a2
0.8/a2
date
d1
d1
lieu
1/l1 + 0.5/l4
1/l2 + 0.6/l1
Puis on procède au calcul de l'équi-jointure entre S'' et L'', basée sur l'attribut t_a, ce
qui produit la relation :
SL
t_a1
1/a2
1/a2
0.7/a2
0.7/a2
date1
d1
d1
d1
d1
lieu1
1/l2 + 0.8/l1
1/l2 + 0.8/l1
l1
l1
t_a2
1/a2
0.8/a2
1/a2
0.8/a2
date2
d1
d1
d1
d1
lieu2
1/l1 + 0.5/l4
1/l2 + 0.6/l1
1/l1 + 0.5/l4
1/l2 + 0.6/l1
On exécute ensuite la sélection lieu1 = lieu2 et l'on obtient la relation :
SL'
t_a1
1/a2
1/a2
1/a2
0.7/a2
0.7/a2
date1
d1
d1
d1
d1
d1
lieu1
0.8/l1
1/l2
0.8/l1
l1
l1
t_a2
1/a2
0.8/a2
0.8/a2
1/a2
0.8/a2
date2
d1
d1
d1
d1
d1
lieu2
1/l1
1/l2
0.6/l1
1/l1
0.6/l1
La dernière étape permet d'obtenir le degré final associé à la valeur cible (a 2 ) :
max(min(1, 0.8, 1, 1), min(1, 1, 0.8, 1), min(1, 0.8, 0.8, 0.6),
min(0.7, 1, 1), min(0.7, 0.8, 0.6)) = 0.8.
7. Conclusion
Cet article traite de l'interrogation de bases de données possibilistes, i.e., de bases
de données où certaines valeurs d'attributs peuvent être mal connues et représentées
par des distributions de possibilité). Plus précisément, un nouveau type de requêtes
(appelées requêtes possibilistes) a été étudié, dans la perspective d'éviter l'explosion
combinatoire induite par l'évaluation de requêtes classiques, ces dernières
nécessitant de calculer les mondes associés à la base de données considérée. La
forme générale d'une requête possibiliste est : "dans quelle mesure est-il possible
que le n-uplet t appartienne au résultat d'une requête usuelle Q". Une procédure
d'évaluation en quatre étapes a été décrite, dont l'intérêt majeur est qu'elle permet
d'effectuer le calcul dans le modèle compact initial, i.e., sans avoir à expliciter les
mondes. Dans l'état actuel, cette procédure permet de traiter uniquement les requêtes
relationnelles faisant intervenir des sélections et des jointures. Cette restriction
n'apparaît toutefois pas trop sévère dans la mesure où, en pratique, beaucoup de
requêtes s'appuient sur ces opérateurs. En outre, il ne semble pas irraisonnable de
penser que l'approche puisse s'étendre à d'autres opérateurs. Quoi qu'il en soit, la
présente contribution constitue une étape prometteuse du fait qu'elle apporte une
réponse au problème de la complexité.
Plusieurs axes de travail futur sont à considérer. D'une part, il conviendrait
d'étudier comment l'approche peut être élargie afin d'être en mesure de traiter un
plus large éventail de requêtes. En particulier, la prise en compte des opérateurs
ensemblistes constitue un thème de recherche intéressant. D'autre part, il serait utile
d'étudier de façon approfondie la complexité du processus d'évaluation. En
particulier, il conviendrait, pour une requête possibiliste donnée faisant intervenir
une requête usuelle Q, de comparer cette complexité à celle obtenue lorsque l'on
évalue Q sur une base de données classique. Enfin, afin d'asseoir la faisabilité d'une
telle approche, il est également nécessaire d'étudier certains aspects plus techniques
liés à l'implémentation, à commencer par la (ou les) façon(s) de mettre en oeuvre
une base de données possibiliste avec les outils de modélis ation qu'offrent les SGBD
commerciaux actuels.
Bibliographie
[ABI 91] ABITEBOUL S., KANELLAKIS P., GRAHNE G., « On the representation and querying of
sets of possible worlds », Theoretical Computer Science, vol. 78, 1991, p. 159-187.
[BOS 97] BOSC P., PRADE H., « An introduction to fuzzy set and possibility theory-based
approaches to the treatment of uncertainty and imprecision in data base management
systems », In: Uncertainty Management in Information Systems – From Needs to
Solutions, (Motro A. and Smets P. Eds.), Kluwer Academic Publishers, 1997, p. 285-324.
[BOS 01] BOSC P., LIÉTARD L., PIVERT O., « A function-based join for the manipulation of
possibilistic relations », Proc. of the 16th ACM Conference on Applied Computing
SAC'2001, Las Vegas, USA, 2001, p. 472-476.
[BOS 02] BOSC P., DUVAL L., PIVERT O., « About Possibilistic Queries Against Possibilistic
Databases », Proc. of the 17th ACM Symposium on Applied Computing SAC'2002, Madrid,
Spain, 2002, p. 807-811.
[IMI 84] IMIELINSKI T., LIPSKI W., « Incomplete information in relational databases »,
Journal of the ACM, vol. 31, 1984, p. 761-791.
[LIP 81] LIPSKI W., « On databases with incomplete information », Journal of the ACM, vol.
28, 1981, p. 41-70.
[PRA 84] PRADE H., TESTEMALE C., « Generalizing database relational algebra for the
treatment of incomplete/uncertain information and vague queries », Information Sciences,
vol. 34, 1984, p. 115-143.
[ZAD 65] Z ADEH L.A., « Fuzzy Sets », Information and Control, vol. 8, 1965, p. 338-353.
[ZAD 78] Z ADEH L.A., « Fuzzy sets as a basis for a theory of possibility », Fuzzy Sets and
Systems, vol. 1, 1978, p. 3-28.