REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE
|
|
|
- Robin Labelle
- il y a 10 ans
- Total affichages :
Transcription
1 REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Université Mouloud Mammeri de Tizi-ouzou Faculté de Génie Electrique et Informatique Département d Informatique MEMOIRE Pour obtenir le diplôme de MAGISTER Option : Systèmes Informatiques Présenté et soutenu publiquement par Mr. RAHMANI Rabah Découverte d associations sémantiques dans les bases de données relationnelles par des méthodes de Data Mining JURY : Proposé et dirigé par Mr. DJOUADI Yassine-Mansour Maître de Conférences Mr. RASSOUL Idir Maître de conférences Classe A, UMMTO Président Mr. DJOUADI Yassine-Mansour Maître de conférences Classe A, UMMTO Rapporteur Mme. AMIROUCHE Fatiha Maître de conférences Classe B, UMMTO Examinatrice Mr. SADI Bachir Maître de conférences Classe A, UMMTO Examinateur 1
2 Table des matières Introduction... 4 Chapitre 1 Introduction à l extraction de connaissances Introduction Processus général du KDD Les tâches du Data-Mining Les outils du Data-Mining Conclusion Chapitre 2 Le modèle relationnel Les concepts du modèle Algèbre relationnelle Conclusion Chapitre 3 Découverte de règles d associations et de dépendances fonctionnelles Introduction Découverte de règles d association basées sur les fréquents Découverte de dépendances fonctionnelles Conclusion Chapitre 4 Découverte de dépendances multivaluées Introduction Définition et propriétés des dmvs Stratégies de découverte de dmv Conclusion Chapitre 5 Proposition d une méthode découverte de dépendances multivaluées Introduction
3 5.2 Présentation de la méthode Enumération des dmvs candidates Description de la proposition Conclusion Conclusion Bibliographie
4 Introduction L apparition du modèle relationnel de données, (Codd, 1970), a constitué une avancée méthodologique décisive pour les informaticiens dans leur métier de conception et de réalisation d applications, à tel point qu il est pratiquement le seul à être utilisé de nos jours. Ce modèle fournit, pour la première fois, grâce à ses fondements mathématiques solides, la possibilité de dissocier nettement et de façon sûre leur effort de représentation des données de celui d écriture des programmes de traitements car il offre simultanément le moyen de représentation des données, la relation, et le moyen de leur manipulation, l algèbre relationnelle, assurant ainsi ce qui était recherché à l époque: l indépendance entre données et traitements. Dès lors, l effort de représentation des données constitua la part prépondérante dans la construction d une base de données et la recherche s orienta alors vers l enrichissement du modèle de représentation, lui exigeant d être de plus en plus fidèle à la réalité représentée ; en quelque sorte d être plus «sémantique». C est ainsi que les années 1970 et 1980 virent la proposition de plusieurs modèles sémantiques (Codd, 1979) (Hammer, 1978) (Peckham, 1988) (Smith, 1977) etc. Dans ce mémoire on s intéressera au premier niveau de sémantique, capté à travers les contraintes entre les valeurs des attributs, donnant naissance à la notion de dépendances entre données. CODD, lui-même, énonça les premières associations sémantiques de son modèle en établissant les dépendances fonctionnelles et la notion de normalisation de relations (Codd, 1972). D autres dépendances furent ensuite proposées : dépendances multivaluées dépendances de jointure, etc. (Fagin, 1977) (Fagin, 1979). Typiquement, la construction d une base de données commence par l élaboration de son schéma conceptuel. Cette activité, intuitive au départ, puis plus ou moins formalisée dans ses étapes suivantes, consiste à déduire de la réalité à modéliser des attributs à regrouper sous forme de relations. Ce regroupement est effectué en se fondant sur certaines propriétés générales concernant les valeurs des attributs ; ce sont les énoncés de dépendance (fonctionnelle, multivaluée, de jointure, etc.). Les données factuelles sont alors progressivement ajoutées, modifiées ou supprimées dans la base de données répondant à ce schéma par le biais d un système de gestion de bases de données. La qualité et la durée de vie d une base de données obtenue grâce à cette démarche sont tributaires, non seulement de la sagacité de son concepteur mais aussi de l évolution de la réalité qui est difficile à maîtriser. Le concepteur a-t-il oublié une dépendance? A-t-il utilisé une dépendance démentie par la réalité des données? C est lorsque l on constate des anomalies d insertion, de mise à jour, de suppression, que l on est amené à se poser ces questions. Un moyen d y répondre est de «fouiller» dans les données factuelles de la base de données afin de découvrir ces dépendances. C est pour cela que ce travail entre dans le cadre général de ce qui est désigné par «découverte de connaissances dans les données». L intitulé de ce domaine suggère, qu à partir de données de plus en plus nombreuses et faciles d accès, on peut extraire quelques «pépites» précieuses que sont les connaissances. 4
5 Plus précisément, la découverte de connaissances dans les données, est maintenant un domaine bien établi et délimité ; il possède ses propres méthodes et fait appel à des outils bien précis. Aussi, notre travail concerne la découverte de dépendances multivaluées entre attributs d une relation déjà enregistrée. Outre cette introduction et une conclusion, ce mémoire comporte cinq chapitres. Le premier est une introduction au processus de découverte de connaissances dans les données avec sa définition et ses différentes étapes. Dans le deuxième chapitre on décrira le modèle relationnel de données en mettant l accent sur les dépendances fonctionnelles. Le chapitre trois introduit quelques méthodes de découverte de dépendances fonctionnelles et de règles d association. Le chapitre quatre donne le détail sur les dépendances multivaluées et sur deux méthodes de leur découverte. Enfin le chapitre cinq concerne notre contribution à la découverte de dépendances multivaluées par la présentation de notre algorithme 5
6 Chapitre 1 : Introduction à l extraction de connaissances Chapitre 1 Introduction à l extraction de connaissances Sommaire 1.1 Introduction Processus général du KDD Les tâches du Data-Mining Classification Règles d association Segmentation Recherche de séquences Les outils du Data-Mining Les réseaux de neurones Les séries temporelles Réseaux bayésiens Arbres de décision Conclusion
7 Chapitre 1 : Introduction à l extraction de connaissances 1.1 Introduction A l origine, Data-Mining était un terme utilisé par les statisticiens pour désigner l usage abusif des données dans le but de tirer des conclusions qui s avéraient souvent invalides. Les statisticiens savent qu en présence de nombreuses conclusions certaines d entre elles sont vraies pour des raisons purement statistiques. Un exemple fameux (Ullman, 2000). Dans les années 1950, à l université de Duke 1, David Rhine parapsychologue, a testé des étudiants pour isoler ceux d entre eux doués de perception extra-sensorielle en leur faisant deviner la couleur de 10 cartes. Il trouva, qu environ 1/1000 d entre eux ont deviné la couleur de la totalité de ces cartes. Au lieu de réaliser que ce résultat est tout à fait prévisible de façon purement aléatoire, il en conclut que ces étudiants avaient le don de perception extrasensorielle. Quand, plus tard, il les testera de nouveau pour la même expérience, il trouva qu ils ne firent pas mieux que la moyenne des étudiants. Il en conclut que le fait d apprendre aux gens qu ils avaient le don de perception extrasensorielle leur faisait perdre ce don! Une définition du Data- Mining (Ullman, 2000) C est la découverte de résumés utiles de données. Une autre définition (Pasquier, 1999) C est la phase de recherche de connaissances dans le processus plus général de découverte de connaissances dans les données ( KDD : Knowledge Discovery in Data). Ce qui nous mène à cette définition du KDD (Pasquier, 1999) Processus non trivial, semi-automatique, composé de plusieurs étapes allant de la préparation des données jusqu à l interprétation des résultats en passant par la découverte proprement dite, le Data-Mining. 1.2 Processus général du KDD Dans (HB-DM, 2005) on décrit le processus de découverte de connaissances comme un processus interactif et itératif comportant 9 étapes (figure 1). Ce processus est itératif globalement et au niveau de chaque étape. La première étape consiste à fixer les objectifs de la découverte selon la connaissance que l on a du domaine, la dernière est l obtention puis l implémentation des connaissances. découvertes. 1 Durham, Caroline du nord, USA. 7
8 Chapitre 1 : Introduction à l extraction de connaissances 4 5,6,7 Transformation. Data mining. 8 Evaluation et interprétation. 9 connaissances découvertes. Visualisation et intégration. 3 2 Sélection et addition. Prétraitement et nettoyage des données. Datamining actif Données pré-traitées Données transformées Modèle Données Données sélectionnées 1 Domaine et objectif Figure1. Processus général de KDD 1. Fixation des objectifs selon la compréhension du domaine. Les connaissances à découvrir sont plus ou moins indiquées par l utilisateur. Les personnes en charge de ce processus (parmi eux des informaticiens) doivent dès cette étape prendre des décisions en fonction de leur compréhension de ces objectifs du domaine de départ. Ces décisions concernent, entre autre, les transformations à apporter aux données, les nouvelles représentations à adopter en fonction du but poursuivi et les algorithmes à utiliser. 8
9 Chapitre 1 : Introduction à l extraction de connaissances En fonction de l évolution dans cette étape il peut même y avoir une révision de l un des choix préalablement pris. Ayant compris les objectifs de la découverte, le pré-traitement des données peut commencer. C est l objet des 3 étapes suivantes. 2. Création des données concernées par la découverte. Dans cette étape on effectue l inventaire de toutes les données dont on dispose. En fonction des objectifs de la découverte on peut juger utile de rajouter d autres données sous forme d attributs. La création de cet ensemble de données initial est crucial pour la suite du processus puisque c est de lui que dépendent les connaissances à découvrir. C est pour cela qu il s effectue aussi de façon interactive et itérative. 3. Pré-traitement et nettoyage des données. Cette étape s occupe de la fiabilité des données créées durant l étape précédente. Cette fiabilité peut être remise en cause par les valeurs inconnues, les valeurs aberrantes et les valeurs bruitées. Assurer la fiabilité de ces données est une tâche non triviale puisqu elle peut faire appel à des méthodes de prédiction de paramètres, des méthodes de détection de valeurs aberrantes etc. 4.Transformation des données Cette étape prépare les données pour le Data-Mining en transformant les données de l étape précédente de façon à ce que cette tâche se fasse avec des complexités raisonnables. Cette transformation concerne essentiellement deux aspects : - réduction de dimension et extraction de résumés de données, - discrétisation des attributs numériques et transformations fonctionnelles. Cette étape peut être cruciale pour la totalité du projet de découverte de connaissances; et les transformations à effectuer sur les données sont souvent spécifiques au domaine considéré. Ainsi, en médecine on s intéresse plus souvent aux rapports entre les résultats d analyse qu aux résultats pris isolément. Dans l analyse des achats d une ménagère le nom du préposé à la caisse est de peu d intérêt, etc. Cependant, même si une bonne transformation n a pas été effectuée, on s en apercevra plus tard en observant les résultats obtenus ; lesquels seront une indication sur la transformation à effectuer. Ayant achevé les 4 étapes précédentes, les 4 étapes suivantes vont effectuer la partie Data-Mining proprement dite. L intérêt sera porté sur l aspect algorithmique à employer pour chaque projet. 9
10 Chapitre 1 : Introduction à l extraction de connaissances 5.Choix de la tâche appropriée de Data-Mining Les objectifs qui ont guidé tout le processus depuis les premières étapes sont maintenant en mesure de nous indiquer la tâche de Data-Mining à entreprendre. Ces objectifs peuvent se classer en 2 groupes généraux : la prédiction et la classification. La prédiction est souvent appelée tâche supervisée et la classification tâche non supervisée. Les deux sont basées sur un modèle qui utilise des exemplaires de données test pour leur élaboration et supposent que ce modèle reste valide pour d autres exemplaires de données réelles. 6.Choix de l algorithme de Data-Mining. Parmi plusieurs algorithmes, lesquels choisir pour accomplir nôtre tâche? A ce stade le choix est guidé par le degré de précision recherché par rapport à la facilité d interprétation des connaissances extraites. Si l on recherche la précision ; alors les réseaux de neurones sont recommandés ; si l on désire plus de clarté, alors on opte pour les arbres de décision. Etc. 7.Mise en œuvre de l algorithme. Finalement, l algorithme de Data-Mining est implémenté en utilisant un ou plusieurs langages de programmation. On peut être amené à faire des réglages sur les paramètres de l algorithme en le faisant tourner plusieurs fois, jusqu à l obtention des résultats désirés. 8.Evaluation. A ce stade on évalue les résultats obtenus (et acceptés) par l algorithme. On les interprète à la lumière des objectifs fixés durant la première étape. On peut ainsi reconsidérer les premières étapes pour voir leurs effets sur l algorithme (par exemple en ajoutant des éléments à l étape 4 et en recommençant à partir de là). Les connaissances obtenues sont finalement documentées pour utilisation à l étape 9. 9.Utilisation des connaissances découvertes. Les connaissances découvertes sont jugées pertinentes et utiles. Elles deviennent actives en ce sens qu elles seront injectées dans le système pour voir leurs effets. C est par exemple le cas quand on redéfinit le schéma d une base de données relationnelle après découverte de dépendances. 10
11 Chapitre 1 : Introduction à l extraction de connaissances 1.3 Les tâches du Data-Mining. La méthodologie de fouille dans les données est plus ou moins établie à l heure actuelle ; elle est caractérisée par les tâches de Data Mining dont on peut citer Classification. Etant donné un ensemble prédéfini de classes d objets, affecter un objet à une classe, selon une certaine mesure de proximité est le rôle de la classification. Les techniques de classification commencent par définir un plan d expérience ou un ensemble de données d apprentissage sur lequel on applique les méthodes de classification. Puis, pour mesurer leur pouvoir de classement correct, on applique les mêmes méthodes sur un jeu d essai ( testing set ) Règles d association. Une règle d association est un énoncé du type 60% des clients qui achètent du lait achètent aussi du pain. Le domaine d application classique des règles d association concerne l analyse du panier de la ménagère par les grandes surfaces de distribution. Ces règles leur permettent de réorganiser la disposition de leurs produits dans les rayons, d offrir des promotions en fonction des habitudes d achat découvertes, etc. L assise formelle des règles d association est donnée dans le papier fondateur de Agrawal et Srikant qui exhibe l algorithme A-priori (Agrawal, 1994) pour la découverte de ces règles. Deux étapes sont nécessaires pour cette découverte. 1. découverte des fréquents, 2. affichage des règles d association. Les règles d association seront considérées plus en détail dans le chapitre suivant Segmentation ( Clustering ) La segmentation a pour but de découvrir dans les données des groupes, non identifiés à l avance, ayant les mêmes caractéristiques ; ce sont les clusters Recherche de séquences Une séquence est une liaison entre événements sur une certaine période de temps. Ces séquences sont par exemple du type «celui qui achète un téléviseur achètera une caméra numérique d ici 2 ans». Ceci permet d anticiper l arrivée d événements. 11
12 Chapitre 1 : Introduction à l extraction de connaissances 1.4 Les outils du Data-Mining Sous ce vocable sont regroupées les méthodes mathématiques et algorithmiques permettant d effectuer les tâches de Data Mining. On peut citer Les réseaux de neurones Les réseaux de neurones sont des modèles de calcul tendant à imiter le fonctionnement, tel que compris par les biologistes, des neurones animales et spécialement humaines. Initialement, le représentant du neurone humain était appelé perceptron, dont le modèle de calcul est le suivant. x d f y d sortie = f( w i x i ) i=1 x 1 Figure 1.1. Fonctionnement d un neurone Un réseau de neurones est constitué de plusieurs perceptrons interconnectés de différentes façons. On distingue. 1. le réseau de neurones multicouches ou multilayer perceptron les neurones de ce type de réseau sont regroupés en couches dont, une d entrée, une de sortie et une ou plusieurs intermédiaires (fig1.2). Dans la figure 1.2 le réseau à 3 couches, où tous les neurones de 2 couches adjacentes sont connectés, les sorties sont reliées aux entrées par y = f 2 (w 2 f 1 (w 1 x)). 12
13 Chapitre 1 : Introduction à l extraction de connaissances Sortie(Y) Couche de sortie Couche intermédiaire Entrées(X) Figure 1.2. Réseau multicouche Couche d entrée 2. Réseau de Hopfield. C est un réseau à une seule couche avec interconnectivité complète (figure 1.3). 1 W 21 W 31 W 12 W 13 W W 32 Figure 1.3. Réseau de Hopfield à 3 neurones. Un réseau de Hopfield est caractérisé par son fonctionnement en fonction du temps selon les équations. n-1 u i (t) = w ij x j (t) + v i. j=1 j i x i (t+1) = sign(u i (t)). avec sign(x) = 1 si x 0-1 sinon. u i (t) est l état du neurone du neurone i à l instant t x i (t) est la sortie du neurone i. v i est le seuil du neurone i. 13
14 Chapitre 1 : Introduction à l extraction de connaissances A chaque instant un tel réseau est caractérisé globalement par son énergie définie par. E(t) = ½ U(t) T WU(t) V(t). U et V sont des vecteurs et W la matrice des poids des connections. A T dénote la transposée de la matrice A. Il a été montré que cette énergie décroît, en fonction du temps jusqu à atteindre un point fixe. Les états des différents neurones dans cet équilibre sont interprétés comme des mémoires associatives (adressables par le contenu). Il existe d autre structures de réseau de neurones que nous ne présentons pas. Le lecteur intéressé peut se rapporter à (HB-DM, 2005) Les séries temporelles. Les séries temporelles représentent la mesure de certaines caractéristiques en fonction du temps. Les statisticiens ont établi ce concept et ses propriétés depuis plus d un siècle (HB-DM, 2005); mais leurs techniques s avèrent insuffisantes pour les énormes quantités de données des séries temporelles réelles. En tant qu outil de Data-Mining les grandes séries temporelles sont traitées selon plusieurs aspects. Elles sont d abord représentées de telle sorte à ce que l on puisse définir une mesure de similarité entre séries. Puis on les manipule pour plusieurs utilisations. - Indexation : trouver les séries temporelles les plus similaires. - Clustering : trouver des groupes de séries temporelles similaires à partir des données brutes sans fixer les groupes au préalable. - Classification : étant données des classes prédéfinies, affecter une série temporelle à une classe. - Prédiction : étant donnée une série temporelle discrète de n points, prédire la valeur de la caractéristique au temps n+1. - Résumé : étant donnée une série temporelle Q comportant n points de données, avec n extrêmement grand ; créer une approximation de Q de dimension beaucoup plus petite. - Détection d anomalie : étant donnée une série temporelle Q supposée normale et une autre série R non analysée, trouver toutes les sections de R qui contiennent des anomalies par comparaison avec Q. 14
15 Chapitre 1 : Introduction à l extraction de connaissances - Segmentation : partition d une série temporelle Q de n points en K segments ( K << n ) qui définissent Q proche de Q Réseaux bayésiens. Les réseaux bayésiens sont fondés sur le concept de probabilité conditionnelle, entre événements aléatoires, du révérend Thomas Bayes qui a posé l expression suivante. P(A B) P(B) = P(A B) = P(B A) P(A). Dans laquelle A et B sont des événements aléatoires. P(A B) (P(B A)) se lit probabilité de A sachant B (probabilité de B sachant A). P(A B) est la probabilité de l occurrence simultanée de A et de B. De cette expression il vient et P(A B) = P(B A) P(A) P(B) P(B A) = P(A B) P(B) P(A). Un réseau bayésien se compose de 2 éléments. - Un graphe orienté acyclique. - Une distribution de probabilité. Les sommets du graphe représentent des variables aléatoires et les arcs représentent des probabilités conditionnelles indiquant des dépendances directes entre variables. Dans un réseau bayésien, le but est d identifier le meilleur réseau de dépendances. La construction d un réseau bayésien s appuie sur un en ensemble de données d apprentissage décrites par des valeurs prises par des attributs considérées comme des variables aléatoires. Des connaissances a-priori sur le domaine permettent de valider ces dépendances stochastiques sur la base des données d apprentissage. 15
16 Chapitre 1 : Introduction à l extraction de connaissances Ad_mal Nbvoit Genre Ad_fem Origine Chambr Région Logis Enfants Durée Poss Age Etat Figure 1.4. Exemple de réseau bayésien. La figure 1.4 ci-dessus montre un réseau bayésien construit à partir de données recensées entre Avril 1996 et Mars 1997 par le British Office of National Statistics de Grande Bretagne et concerne une enquête menée sur la vie des ménages. Ces statistiques sont résumées dans treize variables dont la description est donnée ci-dessous. Variable Description Valeurs Région Région de naissance du chef de famille Angleterre, Ecosse, Pays de Galle Ad_fem Nombre d adultes femmes dans la famille 0, 1, 2 Ad_mal Nombre d adultes hommes dans la famille 0, 1, 2 Enfants Nombre d enfants 0, 1, 2, 3, 4 Age Age du chef de famille 17-36, 36-50, 50-66, Genre Genre du chef de famille M, F Logis Type de logement Chambre, Appartement, Maison, Autre Chambr Nombre de chambres à coucher 1, 2, 3, 4 Nbvoit Nombre de voitures du ménage 1, 2, 3, 4 Poss Mode de possession du logis Location, Propriété, Secteur social Durée Durée de résidence (en mois) 0-3, 3-9, 9-19, 19 Origin Origine ethnique du chef de famille Caucasien, Chinois, Noir, Indien, Autre Etat Etat d activité du chef de famille Actif, Inactif, Retraité 16
17 Chapitre 1 : Introduction à l extraction de connaissances Arbres de décision. Les arbres de décision sont essentiellement utilisés pour effectuer des tâches de classification. Un arbre de décision se compose d une racine, de nœuds internes et de feuilles. Les feuilles sont les supports de décision. Les nœuds internes partitionnent les individus, décrits par les données, en deux ou plusieurs groupes. Utiliser un arbre de décision consiste à placer un nouvel individu dans une feuille. Idéalement un arbre de décision possède des feuilles pures, ce qui signifie qu il n y a pas d ambiguïté dans le choix de la feuille qui recevra le nouvel individu. Mais l obtention d un tel arbre est tributaire du choix de la variable de partitionnement à partir des données d apprentissage. Intuitivement une variable à peu de valeurs constitue une bonne variable de partitionnement et on peut considérer l arbre de décision comme une classification à partir des données. Des techniques plus formelles permettent de mesurer la variabilité des données comme par exemple l entropie. Figure 1.5. Exemple d arbre de décision pour l octroi de prêt 17
18 Chapitre 1 : Introduction à l extraction de connaissances 1.5 Conclusion Nous venons de présenter tâches principales du Data Mining ainsi que les principaux outils utilisés pour les effectuer. Il faut noter qu à l heure actuelle le choix de l outil par rapport a une tâche donnée dépend fortement du domaine considéré. L un des défis du Data Mining est de rendre systématique ce choix. 18
19 Chapitre 2 : Le modèle relationnel Chapitre 2 Le modèle relationnel Sommaire 2.1 Les concepts du modèle Introduction Définition formelle des relations Dépendances fonctionnelles Définition de la dépendance fonctionnelle Implication logique de dépendances fonctionnelles Algèbre relationnelle sélection Projection La jointure Conclusion
20 Chapitre 2 : Le modèle relationnel Le modèle relationnel est un modèle de données fondé sur la notion mathématique de relation entre ensembles. Il a été proposé, en 1970 par E.F. Codd (Codd, 1970), et a constitué le modèle qui a concrétisé l idée qui existait à cette époque de rendre définitivement indépendants les traitements et les données ; ce qui n était pas le cas avec les modèles en usage alors, à savoir les modèles à pointeurs : hiérarchique et réseau. 2.1Les concepts du modèle Introduction Dans le modèle relationnel, les données sont représentées sous forme de tables dont les lignes ont la même sémantique ; chacune d elles est censée décrire un objet ou une association du monde réel. Considérons un exemple pour fixer les idées : la gestion des examens dans un département d université. Un examen a un ordre dans l année ( EMD1,EMD2, ). Il concerne une année d étude dont on connaît le nombre d étudiants qui seront tous des candidats potentiels à l examen. L examen a lieu dans un endroit (amphi, salle, laboratoire, ) dont on connaît le nombre de places. Il se déroule à une date et heure données et possède une durée. De plus, des enseignants sont affectés dans tous les endroits d examination pour en assurer le bon déroulement. Il est inutile, pour le sujet qui nous concerne, de s attarder sur une quelconque méthode de conception d un modèle de données pour cette réalité. Supposons pour les besoins de notre propos que nous ne percevons que la relation universelle et qu une seule table est utilisée (table 2.1). AN EF MD EX DT HR DR EN PL SR 3AI 117 Syst1 EMD1 20/02/09 8h30 1h30 Amphi 90 Ali 3AI 117 Syst1 EMD1 20/02/09 8h30 1h30 Amphi 90 Omar 3AI 117 Syst1 EMD1 20/02/09 8h30 1h30 salle1 30 Zina 4AI 80 Comp EMD1 21/02/09 10h30 2h00 Amphi 90 Said Table 2.1 AN : Année d étude EF : Effectif de l année d étude MD : Module examiné EX : Ordre de l examen dans l année DT : Date de l examen HR : Heure de l examen. DR : Durée de l examen EN : Endroit de l examen PL : Nombre de places de l endroit SR : Nom de l enseignant surveillant. 20
21 Chapitre 2 : Le modèle relationnel Définition formelle des relations. Soient D 1, D 2,, D m des ensembles, au sens classique, finis ou dénombrables, appelés domaines. Soient A 1, A 2,, A n d autres ensembles prenant leurs valeurs Dans les domaines Di et distingués ainsi parce que A i et A j (i j) peuvent prendre leurs valeurs dans le même domaine D k. Définition du schéma de relation Toute famille R = A l A d d éléments, distincts, des ensembles A i constitue un schéma de relation. Les Ai sont appelés attributs de la relation. On convient de dénoter par une lettre de la fin de l alphabet (X,Y ) une famille d attributs et on note R(X,Y) un schéma de relation et par une lettre du début de l alphabet ( A, B, ) un attribut élémentaire. Définition de la relation. Une relation r de schéma R est un sous-ensemble du produit cartésien des attributs de R. Les éléments de r sont appelés tuples. Quand une relation est représentée sous forme de table, les lignes constituent les tuples et les colonnes les attributs de la relation. Remarque : Dans une application informatique utilisant une base de données relationnelle, la relation constitue l interface utilisateur. Celui-ci agit sur cette base en ajoutant, supprimant et modifiant des tuples. Mais l aspect le plus intéressant d une base de données à plusieurs relations est son interrogation afin d y chercher une information. Cette interrogation est effectuée à l aide d un langage basé sur l algèbre relationnelle dont nous donnons plus loin les opérateurs principaux Dépendances fonctionnelles. Si on observe la relation de la table 2.1 on constate, par exemple, que les deux premiers tuples sont identiques, à la valeur d un attribut près (SR), et eux -mêmes identiques au troisième, aux valeurs de trois attributs près. Ainsi, pour ajouter un nouveau surveillant à la relation, on doit rajouter toutes les autres informations concernant l examen et qui ont déjà été mémorisées lors de l ajout d un surveillant antérieurement. D autre part, si pour une raison ou une autre on décide de supprimer un tuple concernant un examen qui est le seul à se dérouler dans un certain endroit, on perd du même coup le nombre de places de cet endroit. Ce genre de situations indésirables est appelé anomalies de manipulation de données. Le concept de dépendances entre valeurs de données est né de la volonté d éliminer ces anomalies. Le premier type de dépendance à être établi est la dépendance fonctionnelle. 21
22 Chapitre 2 : Le modèle relationnel Définition de la dépendance fonctionnelle. Etant données 2 familles X et Y, distinctes, d un ensembles d attributs R, on dit que la dépendance fonctionnelle, notée X Y, est vérifiée si, et seulement si, dans une relation de schéma R(,X,,Y, ), lorsque 2 tuples ont la même valeur en X, ils ont aussi la même valeur en Y. Il faut signaler que l énoncé de dépendance fonctionnelle concerne 2 familles d attributs quelles que soient leurs valeurs, prises dans leurs domaines respectifs. En ce sens c est une vérité générale vérifiée par toute relation qui contient ces 2 familles d attributs dans son schéma. On dit aussi que les dépendances fonctionnelles sont un type de contraintes sémantiques inhérentes à la compréhension que nous avons de la réalité modélisée. Dans la réalité concernant le déroulement d un examen, modélisée par la relation dont une partie est visible dans la table 2.1 on peut abstraire les dépendances suivantes (parmi d autres). AN EF AN MD EX DT HR AN MD EX DR EN PL SR DT HR EN EN DT HR EX MD AN Avant de voir l utilité de ces dépendances fonctionnelles dans la correction des anomalies citées ci-dessus, rappelons la notion de décomposition de relation. Etant donnée une relation r de schéma R = A 1 A 2 A n, une décomposition de r en m relations est la donnée des relations r 1, r 2,, r m tel que chacune des ri est de schéma R i = A i1 A ik et R i R. Les A il et A jp ne sont pas forcément disjoints. En termes d algèbre relationnelle r i est la projection de r sur R i. Cette décomposition est dite sans perte d information (ou simplement sans perte) si la jointure des r i est égale à r. Evidemment dans la réalité, seules les décompositions sans perte sont recherchées. Une dépendance fonctionnelle X Y dans une relation r de schéma R = XYZ fournit une condition suffisante pour décomposer r en r1 de schéma R1 = XY et r2 de schéma R2 = XZ sans perte (Nicolas, 1979). Les 6 dépendances fonctionnelles de notre exemple permettent une décomposition en 6 relations dont on donne pour chacune un échantillon. On voit aisément que cette décomposition remédie aux anomalies citées. En particulier, même si un endroit n est pas utilisé, sa capacité en nombre de places est mémorisée; c est le cas de la salle2. 22
23 Chapitre 2 : Le modèle relationnel AN MD EX DT HR AN MD EX DR 3 AI Syst EMD1 22/02/09 8h30 3AI Syst EMD1 1h30 4AI Comp EMD1 21/02/09 10h30 4AI Comp EMD1 2h00 r 1 r 2 EN PL SR DT HR EN Amphi 90 Ali 20/02/09 8h30 Amphi Salle1 30 Omar 21/02/09 10h30 Amphi Salle2 40 Zina 20/02/09 8h30 Amphi Said 20/02/09 8h30 Salle1 r 3 r 5 AN EF EN DT HR EX MD AN r 4 3AI 117 Amphi 20/02/09 8h30 EMD1 Syst 3AI 4AI 80 Amphi 21/02/09 10h30 EMD1 Comp 4AI Salle1 20/02/09 8h30 EMD1 Syst 3AI r 6 Table 3.2. Relations obtenues par décomposition Implication logique de dépendances fonctionnelles (Ullman, 1983). Des dépendances fonctionnelles peuvent être logiquement impliquées par d autres. Par exemple, si nous avons perçu les deux dépendances fonctionnelles A B et B C, on peut tout de suite en déduire la dépendance fonctionnelle A C. Pour preuve, considérons deux tuples, t et u ; s ils ont la même valeur selon A et des valeurs différentes selon B alors la dépendance fonctionnelle A B n est pas valide. D un autre coté, s ils ont la même valeur selon B et des valeurs différentes selon C, ce serait la dépendance fonctionnelle B C qui ne serait pas valide. En conséquence, si l on est sûr que A B et B C sont valides, alors il en est sûrement de même pour A C. Un certain nombre d axiomes pour l implication de dépendances fonctionnelles a été établi par Armstrong (Armstrong, 1974). Une dépendance fonctionnelle qui ne peut pas être déduite d autres est dite minimale. Un certain nombre de propriétés de schémas de relations vis-à-vis des dépendances fonctionnelles qu ils renferment ont été définies, ce sont les formes normales. Les plus significatives d entre elles sont la «troisième forme normale» et la «forme normale de Boyce-Codd» qui garantissent que la plupart des anomalies de manipulation sont évitées. 2.2Algèbre relationnelle Parmi les nombreux opérateurs de l algèbre relationnelle, nous allons en présenter 3, la sélection, la projection et la jointure. Le lecteur intéressé par les autres opérateurs peut se référer à (Maïer, 1985) 23
24 Chapitre 2 : Le modèle relationnel Nous considérons des schémas R = A 1 A 2 An et S = B 1 B 2 B m sur lesquels sont construites de relations r, s, etc Sélection. Quand on applique l opérateur de sélection à une relation r(r) on obtient une autre relation s (R) sous-ensemble de r. L opérateur de sélection, noté σ, effectue la sélection selon la notation suivante. σ A=a ( r ) = s = { t r t ( A ) = a}. Exemple. Considérons la relation r 6 précédente. La relation r 6 donnée par σ EN = Amphi ( r 6 ) = r 6 est la suivante EN DT HR EX MD AN Amphi 20/02/09 8h30 EMD1 Syst 3AI Amphi 21/02/09 10h30 EMD1 Comp 4AI On voit que cet opérateur permet de restituer les examens qui se déroulent dans un endroit particulier ; ici l amphi. Plus généralement, puisque s est un sous-ensemble de r, l opérateur de sélection permet de choisir le critère selon lequel est défini ce sous-ensemble. On peut de plus appliquer l opérateur de sélection selon plusieurs attributs de la façon suivante. σ A1=a1,A2=a2,...,Ak=ak ( r ) Projection. La projection s applique aussi à une relation r pour obtenir une autre relation, s, qui n est pas un sous-ensemble de r en général. La relation s est construite à l aide d un sous-ensemble d attributs de r et elle est notée comme suit. Π X( r ). Où X est un sous-ensemble de R. Exemple. Π {EN,DT,HR} ( r 6 ) = r 6 donnée ci-dessous. EN DT HR Amphi 20/02/09 8h30 Amphi 21/02/09 10h30 Salle1 20/02/09 8h30 r 6 24
25 Chapitre 2 : Le modèle relationnel Ici, on observe que l opération de projection permet d obtenir l occupation de tous les endroits d examination. On peut combiner l opérateur de projection avec l opérateur de sélection. Par exemple si seule l occupation de l amphi nous intéresse on écrirait. Π {EN=Amphi,DT,HR} ( r 6 ) = r 6 donnée ci- dessous. EN DT HR Amphi 20/02/09 8h30 Amphi 21/02/09 10h30 r La jointure. Alors que les opérations de sélection et de projection s appliquent à une seule relation, et de ce fait sont appelées opérations unaires, la jointure s applique à 2 relations. Si, pour éliminer les anomalies de manipulation de données, on éclate la relation universelle en plusieurs relations, on perd en revanche la correspondance entre attributs ainsi éparpillés. C est le rôle de l opération de jointure d effectuer ce regroupement. La jointure d une relation r (R) avec une relation s ( S ) est une relation q (T ), avec T = RS, telle que pour tout tuple t de q il existe un tuple t r de r et un tuple t s de S tels que t r = t ( R ) et t s = t ( S ). Puisque R S est un sous-ensemble aussi bien de R que de S, il s ensuit que t r ( R S ) = t s (R S ). Par conséquent chaque tuple de q est la combinaison d un tuple de r et d un tuple de s ayant la même valeur selon R S. L opération de jointure est notée. q = r s. Si R S = Ø alors r s est le produit cartésien de r par s. Exemple. Considérons les relations r 4 et r 6 précédentes. La relation r 4 r 6 = r 4 r 6 est la suivante. EN DT HR EX MD AN EF Amphi 20/02/09 8h30 EMD1 Syst 3AI 117 Amphi 21/02/09 10h30 EMD1 Comp 4AI 80 Salle1 20/02/09 8h30 EMD1 Syst 3AI 117 r 4 r 6 25
26 Chapitre 2 : Le modèle relationnel Si nous effectuons maintenant une autre jointure entre r 3 et r 4 r 6 nous obtenons la relation r 3 r 4 r 6 suivante. EN DT HR EX MD AN EF PL Amphi 20/02/09 8h30 EMD1 Syst 3AI Amphi 21/02/09 10h30 EMD1 Comp 4AI Salle1 20/02/09 8h30 EMD1 Syst 3AI r 3 r 4 r 6. L idée derrière ces 2 jointures est d obtenir une relation qui regroupe l effectif d une année pour un module donné avec le nombre de places des différents endroits qui accueillent l examen correspondant. On pourra ainsi vérifier si le nombre de places cumulées des différents endroits d examination est suffisant pour contenir l effectif des années par module. Par exemple, l amphi est suffisant (90) pour contenir l effectif des 4AI (80) pour l EMD1 de compilation. Le cumul des places de l amphi (90) et de celles de la salle1 ( 30) est suffisant (120) pour contenir l effectif des 3AI (117) pour l examen de système. 2.3 Conclusion Nous espérons avoir illustré, à travers ce court exemple, la capacité de représentation et de manipulation de données du modèle relationnel. Nous avons mis l accent sur la simplicité intuitive de l appréhension de la réalité à travers ce modèle puis nous avons donné un aperçu de ses aspects plus formels comme la notion de dépendance fonctionnelle et la notion induite de décomposition de relations permettant d éviter les anomalies de manipulation de données. Enfin nous avons abordé les opérateurs les plus importants de l algèbre relationnelle en insistant sur leur capacité à reconstruire notre représentation intuitive de départ. 26
27 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles Chapitre 3 Découverte de règles d associations et de dépendances fonctionnelles. Sommaire 3.1 Introduction Découverte de règles d association basées sur les fréquents Position du problème Les fréquents Les fréquents maximaux Les fréquents fermés Découverte de dépendances fonctionnelles Introduction Tane Dep-miner Critique de dep-miner Conclusion
28 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles 3.1. Introduction. Une règle d association est une règle du type 70 % de clients qui achètent du lait achètent aussi du pain. C est donc, à l origine, une association entre articles du panier de la ménagère des grandes surfaces de distribution qui mémorisent toutes les transactions de caisse. Les techniques d extraction de règles d association possèdent 2 étapes dissymétriques dans leur complexité. a. recherche d ensembles ayant une certaine fréquence dans la table des transactions. b. Exhibition des règles d association. L étape a étant, de loin la plus complexe, une multitude de travaux lui a été consacré à partir de l article fondateur (Agrawal, 1994) où le premier algorithme de découverte de fréquents a été introduit, l algorithme A-priori. Depuis, la notion de fréquent a été étudiée plus en profondeur pour donner les fréquent fermés (Zaki, 2002), (Pasquier, 1999) et les fréquents maximaux (Kedem, 1998). Dans ce chapitre nous introduisons aussi la découverte de dépendances fonctionnelles dans une base de données relationnelle. Les dépendances fonctionnelles s apparentent quelque peu aux règles d association mais leurs techniques de découverte diffèrent fondamentalement comme on le verra Découverte de règles d association basées sur les fréquents Position du problème. Tel que posé par (Agrawal, 1994) le problème est le suivant. Soit I = { i 1, i 2,, i m } un ensemble de littéraux appelés articles ou items. Soit D un ensemble de transactions tel que chaque T de D est un sous-ensemble de I. On dira qu une transaction T contient X, un sous-ensemble de I, si X T. Une règle d association est une implication de la forme X => Y où X I, Y I et X Y = Ø. Si s% des transactions de D contiennent X U Y, on dira que cette règle a le support s. Considérons maintenant les seules transactions de D qui contiennent X. Si c% d entre elles contiennent aussi Y, on dira que cette règle a la confiance c. Si supp() et conf() désignent le support et la confiance, respectivement, ces 2 paramètres se formulent comme suit. supp( X => Y ) = i { T i D et X T i et Y T i } / j { T j D } = s. conf( X => Y ) = supp ( X => Y )/ supp ( X ) = s / supp ( X ) = c. Les règles d association extraites de l ensemble des transactions D sont celles choisies par l utilisateur qui fixe 2 seuils minimum, minsup pour le support et minconf pour la confiance. Ensuite seules sont extraites les règles dont le support est supérieur ou égal à minsup et la confiance supérieure ou égale à minconf. 28
29 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles On peut maintenant préciser les 2 étapes du processus de découverte de règles d association. 1. Découvrir les ensembles d items, appelés itemsets, de support supérieur ou égal à minsup. 2. Utiliser ces itemsets pour extraire les règles d association. On peut d ores et déjà expliciter l étape 2, c'est-à-dire la façon dont les règles sont trouvées. Soit un des ensembles découverts à l étape1. Pour chacun des sous-ensembles a, non vide, de on exhibera la règle a => ( - a ) si le rapport supp( ) / supp ( a ) est au moins égal à minconf. Dans la suite nous explicitons l étape 1 selon le type d itemsets que l on veut découvrir Les fréquents. Dans (Agrawal, 1994) les ensembles extraits à l étape1 étaient appelés large itemsets, nom qui a été changé en frequent itemsets dans leur papier suivant (Agrawal, 1996). C est ce dernier, adopté par la communauté des Data-Miners, que nous utilisons. La cardinalité des fréquents dont on peut extraire des règles d association étant au minimum de 2 et au maximum de I, l algorithme A-priori les découvre progressivement des plus petits aux plus grands (algorithme A-priori ). 1. L 1 = { frequent 1-itemsets } /* trouvés dans la base des transactions */ 2. for ( k = 2 ; L k-1 Ø ; k++ ) do begin 3. C k = apriori-gen( L k-1 ); /* nouveaux candidats */ 4. forall transaction t D do begin 5. C t = subset ( C k, t ); /* candidats existent dans les transactions */ 6. forall candidate c C t 7. c.count++ ; 8. end ; 9. L k = { c C k c.count >= minsup }; 10. end; 11. Answer = k L k ; Algorithme A-priori. Dans cet algorithme un itemset de cardinalité i est dénoté i-itemset. L algorithme commence par lire la base des transactions à la recherche des 1-itemsets fréquents, puis construit progressivement les i-itemsets fréquents, i 2, grâce à la fonction apriori-gen qui fait la jointure de 2 (i-1)-itemsets fréquents qui ne diffèrent que par un seul item, en vérifiant que cet i-itemset existe bien dans les transactions, grâce à la fonction subset(). Cette façon de procéder est basée sur les intuitions, démontrées dans (Pasquier, 2000), suivantes. - Tous les sous-ensembles d un itemset fréquent sont eux-mêmes fréquents. 29
30 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles - Tous les sur-ensembles d un itemset non fréquent sont non fréquents. On peut considérer que l algorithme A-priori va rechercher le premier i-itemset non fréquent, en parcourant tous ses sous-ensembles fréquents, puis s arrête Les fréquents maximaux. Y a-t-il un moyen de trouver rapidement cet i-itemset non fréquent sans considérer ces sous-ensembles? Cette idée est à la base des fréquents maximaux (Kedem, 1998) qui sont caractérisés par leur recherche dans les transactions en combinant, sous forme de co-routines, une recherche ascendante, pour les itemsets de plus en plus grands, et une recherche descendante, pour les itemsets de plus en plus petits. Le principe de leur recherche est le suivant. Si, par le biais de la recherche descendante, un itemset a été classé fréquent, il est inutile de poursuivre la recherche vers ses sous-ensembles dont on est sûr qu ils sont fréquents. D un autre côté, si par le biais de la recherche ascendante, un itemset a été classé non fréquent, il est inutile de poursuivre la recherche vers ses sur-ensembles dont on est sûr qu ils sont non fréquents Les fréquents fermés. Toujours dans leur tentative de réduire l espace de recherche des fréquents, certains travaux (Pasquier, 1999) (Zaki, 2002) (Agrawal, 1996)ont introduit la notion de fermé (donc de fermé fréquent). Ceci est effectué en considérant, simultanément, l ensemble des items et l ensemble des transactions. Cette idée a été entrevue sans être explicitée par (Agrawal, 1996) dans leur nouvel algorithme A-prioriTid, mais les résultats fondés sont dans (Pasquier, 1999). Le fondement théorique de la caractérisation des fermés est le suivant. Si l on met en correspondance, grâce à une fonction f, l ensemble des items avec l ensemble des transactions où ils apparaissent. Puis on met en correspondance, grâce à une fonction h, l ensemble des transactions avec l ensemble des items qu elles contiennent, on arrive à caractériser les fermés comme étant les éléments identiques obtenus par (fog) et (gof) (Pasquier, 1999). L ensemble des fermés, munis de la relation d inclusion forment un treillis de Galois. Un résultat important de (Pasquier, 1999) dit que l ensemble des fréquents maximaux est identique à l ensemble des fréquents maximaux fermés. 30
31 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles 3.3 Découverte de dépendances fonctionnelles Introduction. Parmi les diverses méthodes (Flach, 2000) (Lopes, 2000), (Huhtala, 1998) de découverte de dépendances fonctionnelles, nous en décrivons 2 qui utilisent le partitionnement de le relation r en classes d équivalence, selon les valeurs des attributs de r. Soit X = X 1 X 2 X n un sous-ensemble d attributs de R. Deux tuples, t et u, sont dits équivalents par rapport à X si i on a t [ X i ] = u [ X i ]. L ensemble des classes d équivalences par rapport à X est une partition de r selon X ; elle est notée Π X. Exemple. Soit la relation r de schéma R = ABCDE suivante (Lopes, 2000). No de tuple A B C D E b a i i g b a 12 Les partitions selon chacun des attributs sont. Π A = { {1,2},{3},{4},{5},{6},{7} }. Π B = { {1,6},{2,7},{3,4},{5} }. Π C = { {1},{2},{3},{4,5},{6},{7} } Π D = { {1,6},{2,7},{3,4},{5} }. Π E = { {1,6},{2,7},{3,4,5} } Tane. (Huhtala, 1998) Tane exploite la propriété de raffinement entre partitions pour inférer des dépendances fonctionnelles. 31
32 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles Une partition Π raffine une partition Π si chaque classe d équivalence de Π est un sousensemble d une classe d équivalence de Π. Les dépendances fonctionnelles sont découvertes grâce aux deux lemmes suivants. Lemme1. X -> A est valide dans r si et seulement si Π X raffine Π A. Lemme2. X -> A est valide dans r si et seulement si Π X = Π AUX Dep-miner. (Lopes, 2000) Dep-miner utilise la notion d ensemble en accord défini pour 2 tuples t et u différents, comme étant l ensemble des attributs pour lesquels t et u ont les mêmes valeurs. Un ensemble en accord est noté ag (t,u ) = { A R / t [ A ] = u [ A ] } Pour une relation r, on définit aussi un ensemble en accord comme étant Ag ( r ) = { ag ( t, u ) / t,u r, t u }. Avant de voir l utilité de l ensemble en accord pour une relation, signalons que son calcul utilise les classes d équivalence telle que l on vient de les voir. On introduit d abord la notion de partition élaguée, qui est une partition sans singleton. Pour l exemple ci-dessus les partitions élaguées sont. Π e A = { {1,2}. Π e B = { {1,6},{2,7},{3,4} } Π e C = {{4,5} } Π e D = { {1,6},{2,7},{3,4} } Π e E = { {1,6},{2,7},{3,4,5} }. La réunion des partition élaguée donne r e, en général différente de r. On définit ensuite les classes d équivalence maximales comme étant MC = Max ( ) { c Π e A / Π e A r e } Pour notre exemple MC = {{1,2},{1,6},{2,7},{3,4,5} }. Les ensembles en accord de la relation r sont reliés aux classes d équivalences 32
33 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles maximales, c, par le Lemme1 r étant une relation, on a ag ( r ) = U c MC ag ( c ). Une autre notion est définie vis-à-vis des dépendances fonctionnelles. Il s agit des ensembles maximaux. Un ensemble maximal est un ensemble d attributs, X, qui ne détermine pas un certain attribut, A, mais dont tout sur-ensemble strict le détermine dans une relation r. Il est noté et défini comme max ( dep( r ), A ) = { X R / r X -> A et Y R, X Y, r = Y-> A}. On note aussi, pour toute la relation MAX ( dep ( r ) ) = U A R max ( dep(r), A). Les ensembles maximaux sont reliés aux ensembles en accord par le Lemme 2 Max(dep(r),A) = Max { X ag(r) / A X }. Pour découvrir les parties gauches des dépendances fonctionnelles dont la partie droite est A, l idée de (Lopes, 2000) est de trouver des sur ensembles minimaux de max(dep ( r ), A ). Pour cela il construit d abord ce qu il appelle le complément des ensembles maximaux, noté cmax ( dep ( r ), A ). Par définition, la réunion d un élément de max ( dep ( r ), A) avec son homologue de cmax(dep( r ), A) donne un Y tel que Y -> A, mais comment être sûr qu il n existe pas de Y tel que Y Y et Y -> A de telle sorte à assurer que les dépendances obtenues sont minimales? Pour ce faire (Lopes, 2000) s appuie sur un résultat de (Mannila, 1994a) et (Mannila, 1994b) qui, établissant que les éléments de cmax(dep ( r ), A) forment un hypergraphe simple (Berge, 1976), montrent que les parties gauches minimales sont les transversaux minimaux de cet hypergraphe Critique de dep-miner et de Tane L ensemble des partitions élaguées peut être vide; dans ce cas l algorithme depminer est indéterminé. Cette situation correspond au cas où tous les tuples sont différents selon tous les attributs, comme sur l exemple ci-dessous. No tuple A B C
34 Chapitre 3 : Découverte de règles d association et de dépendances fonctionnelles Pour cet exemple Π A = Π B = Π C = { {1},{2},{3} } et Π e A = Π e B = Π e C = Ø. A notre connaissance, il n y a rien qui indique que ce cas est impossible en pratique ou qu il est d une quelconque rareté. Il est donc nécessaire de le prévoir. D un autre coté nous avons téléchargé tout l environnement d utilisation de Tane, sous UNIX (Linux), à partir de En soumettant plusieurs fois le même exemple à ce programme nous avons eu des messages d erreurs différents à chaque test alors qu il fonctionne normalement pour d autres cas. Signalons que ce cas indique que toutes les dépendances fonctionnelles entre 2 attributs quelconques sont vérifiées. 3.4 Conclusion Une étude synthétique et structurelle de la découverte de règles d association basée sur les fréquents fermés se trouve dans (Ben Yahia, 2006). Les algorithmes de découverte de règles d association et les algorithmes de découverte de dépendances fonctionnelles ont été découverts indépendamment les uns des autres. Cependant un effort de généralisation (Mannila, 1997) les a mis dans le même cadre théorique. 34
35 Chapitre 4 : Découverte de dépendances multivaluées Chapitre 4 Découverte de dépendances multivaluées. Sommaire 4.1 Introduction Rappels sur les ensembles ordonnés Notion de dépendance multivaluée Définition et propriétés des dmvs Définition (Maïer, 1985) Propriétés des dépendances multivaluées Utilité des dépendances multivaluées Stratégies de découverte de dmv Introduction Stratégie de découverte de Flach et Savnik (Flach, 2000) Stratégie de découverte de Yan et Fu (Men Hin Yan, 2001) Conclusion
36 Chapitre 4 : Découverte de dépendances multivaluées 4.1 Introduction Rappels sur les ensembles ordonnés. Nous avons jugé utile de rappeler quelques définitions concernant les ensembles ordonnés, et les treillis parce que ces notions sont utilisées dans une des méthodes de découverte de dépendances multivaluées. Ces définitions sont extraites de (Pasquier, 2000). Ensembles ordonnés Soit E un ensemble. Un ordre ou ordre partiel sur l ensemble E est une relation binaire sur les éléments de E telle que pour tous x,y,z de E nous avons les propriétés suivantes : 1. Réflexivité : x x, 2. Antisymétrie : x y et y x x=y, 3. Transitivité : x y et y z x z. Un ensemble ordonné. E muni d une relation binaire d ordre, noté ( E, ), est appelé ensemble Relation de couverture Soit ( E, ) un ensemble ordonné et x,y de E. La relation de couverture entre les éléments de E, notée, est définie par : x y si et seulement si x y et il n existe pas d élément z de E tel que x z y pour z x et z y. Si x y, nous disons que y couvre x ou bien que y est un successeur immédiat de x. Join et Meet Soit un sous-ensemble S E de l ensemble (E, ). Un élément u de E est un majorant, ou upper-bound, de S si pour tout élément s de S nous avons s u. L ensemble des majorants de S est noté UB(S). De façon duale, un élément v de E est un minorant, ou lowerbound, de S si pour tout élément s de S nous avons v s. L ensemble des minorants de S est noté LB(S). UB(S) = { u S s S, s u } LB(S) = { v S s S, v s } Le plus petit majorant d un ensemble S, s il existe, est le plus petit élément de l ensemble UB(S) des majorants de S. Cet élément est noté Join(S). Le plus grand des minorants d un ensemble S, s il existe, est le plus grand élément de l ensemble LB(S) des minorants de S. Cet élément est noté Meet(S). Join(S) = Min (UB(S)) Meet(S) = Max (LB(S)) Treillis Un ensemble ordonné (E, ) non vide est un treillis si pour tout couple d éléments x et y de E l ensemble {x, y} de E possède un plus petit majorant noté Join({x, y}) et un plus grand minorant noté Meet({x, y}). L ensemble ordonné ( E, ) est un treillis complet si pour tout sous-ensemble S E les éléments Join(S) et Meet(S) existent. 36
37 Chapitre 4 : Découverte de dépendances multivaluées Notion de dépendance multivaluée La dépendance fonctionnelle X Y où X et Y sont des ensembles d attributs est interprétée comme suit : à une certaine valeur de X correspond toujours la même valeur de Y. Mais qu en est-il de l énoncé : à une certaine valeur de X correspondent toujours les mêmes valeurs de Y? Ceci constituerait une sorte de généralisation de la dépendance fonctionnelle que l on avait appelée dépendance multivaluée. Assurons nous d abord que la réalité à modéliser nous offre à observer une telle situation. Pour cela exhibons un exemple (Date, 1986) pris dans la modélisation d une réalité concernant les enseignements dans une université. Limitons nous à modéliser ces enseignements à l aide de 3 attributs, le cours (C), l enseignant (E) et le livre de référence (L). En considérant, pour des besoins de clarté, une relation non normalisée, on pourrait avoir la relation de l exemple 4.1. C E L Physique Prof Ali Mécanique rationnelle Prof Omar Math Prof Ali Traité de trigonométrie Exemple 4.1 relation non normalisée Cette même relation, normalisée, apparaît dans l exemple 4.2 C E L Physique Prof Ali Mécanique rationnelle Physique Prof Omar Mécanique rationnelle Math Prof Ali Traité de trigonométrie Exemple 4.2 relation normalisée On peut remarquer qu il y a autant de tuples ayant la même valeur de l attribut C qu il y a de valeurs différentes de l attribut E ; la valeur ( unique ) de l attribut L étant répétée autant de fois. Avant de passer à la définition formelle de la dépendance multivaluée ( dmv ), prenons un autre exemple (Maïer, 1985) pour illustrer que dire : «à une valeur d attribut 37
38 Chapitre 4 : Découverte de dépendances multivaluées correspondent toujours les mêmes valeurs d un autre attribut» n est pas suffisant pour caractériser complètement la notion de dmv. Considérons la relation de l exemple 4.3 Vol Jour Avion 106 Lundi Jeudi Lundi Jeudi Mercredi Mercredi 727 Exemple 4.3. Il est clair que cette relation prend en compte le fait qu à un vol correspondent toujours les mêmes jours de la semaine. Décomposons cette relation en 2 de ses projections comme sur l exemple 4.4. Vol Jour Vol Avion 106 Lundi Jeudi Mercredi Exemple 4.4 Si nous faisons la jointure des 2 relations de l exemple 4.4, nous obtenons la relation de l exemple 4.3. Considérons maintenant la relation de l exemple 4.5. Vol Jour Avion 106 Lundi Jeudi Jeudi Mercredi Mercredi 727 Exemple 4.5. La relation de l exemple 4.5 a les mêmes projections que la relation de l exemple 4.3. Et pourtant leur jointure ne donne pas la relation d origine. Cet aspect est essentiel dans la caractérisation, donc la définition, d une dmv. 38
39 Chapitre 4 : Découverte de dépendances multivaluées 4.2Définition et propriétés des dmvs Définition (Maïer, 1985) Soit R un schéma d une relation r. X, Y et Z des sous-ensembles de R tels que Z = R- XY 1. On dit que r satisfait la dmv, notée X ->-> Y, si, et seulement si, pour n importe quels 2 tuples t 1 et t 2 de r tels que t 1 [X] = t 2 [X], il existe un tuple t 3 tel que, t 3 [X] = t 1 [X] et t 3 [Y ] = t 1 [Y] et t 3 [Z] = t 2 [Z]. Ceci suffit à la définition, mais en remarquant le rôle symétrique joué par t 1 et t 2, on infère qu il existe aussi un tuple t 4 tel que t 4 [X] = t 2 [X] et t 4 [Y] = t 2 [Y] et t 4 [Z] = t 1 [Z]. Proposition : Si une relation r( R ) satisfait la dmv X ->-> Y et si Z = R- XY alors r satisfait aussi la dmv X ->-> Z. Preuve : Il suffit de remarquer que si Z = R - XY alors Y = R - XZ d une part et le rôle symétrique joué par t 3 et t 4 dans la définition d autre part. Cette proposition met en exergue une différence fondamentale entre la caractérisation d une dépendance fonctionnelle et celle d une dépendance multivaluée. Constater une dépendance fonctionnelle X Y nécessite l observation des valeurs de X et Y seuls ; par contre décréter qu une dépendance multivaluée X ->-> Y est vérifiée nécessite l observation de tous les autres attributs du schéma, à savoir X, Y et Z = R XY Propriétés des dmvs. De la définition de la dmv sont inférées un certain nombre de propriétés, appelées axiomes dans (Maïer, 1985), que nous citons. Soit r une relation de schéma R et W, X, Y, Z des sous-ensembles de R. M1. Réflexivité. r satisfait toujours X ->-> X. 1 Dans un premier temps (Maïer, 1985) exigeait que tous ces sous-ensembles soient disjoints, avant de remarquer que cette condition était superflue. 39
40 Chapitre 4 : Découverte de dépendances multivaluées M2. Augmentation. Si r satisfait X ->-> Y alors r satisfait XZ ->-> Y. M3. Additivité. Si r satisfait X ->-> Y et X ->-> Z alors r satisfait X ->-> YZ. M4. Projectivité. Si r satisfait X ->-> Y et X ->-> Z alors r satisfait X ->-> Y Z et X ->-> Y-Z. M5. Transitivité. Si r satisfait X ->-> Y et Y ->->Z alors r satisfait X ->-> Z Y. M6. Pseudo-transitivité. Si r satisfait X ->-> Y et YW ->-> Z alors r satisfait XW ->-> Z YW. M7. Complémentation. Si r satisfait X ->-> Y et si Z = R XY alors r satisfait X ->-> Z. Cet axiome est déjà démontré dans la proposition. De l axiome M1 et de la proposition on infère X ->-> R X. Introduisons maintenant un théorème qui indique qu une dmv nécessite tous les attributs pour être caractérisée. Théorème (démontré dans (Maïer, 1985) ) Soit r une relation de schéma R = XYZ, r 1 et r 2 2 relations obtenues en projetant r sur R 1 = XY et R 2 = XZ respectivement. La relation r satisfait la dmv X ->-> Y si, et seulement si, elle coïncide avec la jointure de r 1 et r 2. Ce théorème, bien que fournissant une méthode constructive pour la découverte de dmv, n est pas utilisé en pratique en raison de son coût prohibitif. Il y a une autre méthode constructive ne nécessitant ni projection ni jointure et qui résulte d un corollaire au théorème ci-dessus. Corollaire. Soit c, c 1, c 2 le nombre de tuples de r, r 1, r 2, respectivement, qui ont tous la même valeur X = x. La dmv X ->-> Y est verifiée dans r si, et seulement si, on a c = c 1 *c 2. 40
41 Chapitre 4 : Découverte de dépendances multivaluées C est cette propriété qui est utilisée dans l algorithme de découverte de (Men Hin Yan, 2001). Considérons enfin les cas particuliers suivants. Ø étant l ensemble vide, on convient (Maïer, 1985) que pour tout tuple t, t( Ø ) = λ, une même valeur. Citons les résultats suivants. a. la dmv X ->-> Ø (donc X ->-> R ) est vérifiée par toute relation. b. la dmv Ø ->-> Y est vérifiée par une relation r de schéma R = YZ si r coïncide avec le produit cartésien de la projection de r sur Y avec la projection de r sur Z. Les axiomes et les propriétés que nous venons de citer sont utilisés ( en partie ) par les stratégies de découverte de dmv que nous présentons maintenant Utilité des dépendances multivaluées. L absence du tuple Vol Jour Avion dans la relation de l exemple 4.5 est la raison 106 Lundi 1011 pour laquelle la jointure des deux relations de l exemple 4.4 ne donne pas cette relation. C est la présence de ce tuple, comme dans l exemple 4.3., qui permet de déclarer que la dépendance multivaluée Vol ->-> Jour (donc Vol ->-> Avion) est vérifiée par cette relation, autorisant ainsi sa décomposition sans perte en les deux relations de l exemple 4.4. De façon générale, pour une relation r, de schéma R=XYZ, la présence de la dépendance multivaluée X ->-> Y (donc X ->-> Z) est une condition nécessaire et suffisante pour la décomposer sans perte en deux de ses projections : π XY(r) et π XZ(r) (Nicolas, 1979). La prise en compte des dépendances multivaluées en même temps que les dépendances fonctionnelles permet définir une quatrième forme normale pour les schémas de relations. 4.3Stratégies de découverte de dmv Introduction. La découverte de dmvs, quelle que soit la stratégie utilisée, est une tâche de Data- Mining ; elle part de l ensemble des données présentes dans les relations prises en considération. De la réalité ainsi représentée, on s interdit de considérer son processus de modélisation ni d abstraire une quelconque propriété générale. On peut même, à la limite, ignorer le sens de la réalité représentée. 41
42 Chapitre 4 : Découverte de dépendances multivaluées En ce sens, on parle, à l instar des auteurs anglo-saxons de reverse engineering ; expression qui suggère une sorte de modélisation à l envers, c'est-à-dire une fois les données acquises. La seule réalité est dans les données enregistrées. Le problème de découverte de dmvs peut donc se poser comme suit. On dispose d une relation r de schéma R et on se propose de découvrir toutes les dmvs vérifiées par r. Le principe général de la découverte de dmvs comporte 2 étapes principales. I. Choisir une dmv candidate. II. Tester cette dmv vis-à-vis de la relation r. La première étape énumère les parties gauches ( X ) et les parties droites ( Y ) de dmvs X - >-> Y. Toutes les parties gauches et parties droites possibles sont des sous-ensemble de R et sont listés dans leur treillis d inclusion (exemple 4.6). Ø A B C D AB AC AD BC BD CD ABC ABD ACD BCD ABCD Exemple 4.6. Treillis d inclusion des sous-ensembles de R = ABCD. Le nombre d éléments de ce treillis est de 2 R. Si on considère qu un de ces éléments peut être aussi bien partie gauche que partie droite de dmv, le nombre de dmvs possibles est de 2 2 R. Les propriétés de dmvs indiquent que toutes les dmvs possibles ne sont pas forcément testées vis-à-vis de la relation r. Les différentes stratégies de découverte exploitent ce fait pour réduire le nombre de dmvs à tester, puisque c est ce test qui est le plus coûteux en temps. Elles utilisent le même principe ; une fois qu une certaine dmv est testée elle servira de fait pour inférer d autres dmvs éventuelles. Dans la suite nous présentons deux stratégies de découverte de dmvs Stratégie de découverte de Flach et Savnik (Flach, 2000). Pour inférer des dmvs valides dans r (R ), Flach et Savnik se suffisent de 2 axiomes, à savoir, Augmentation : ( X ->-> Y ) ^ ( Z R ) = XZ ->-> Y. Additivité : ( X ->-> Y, X ->-> Z ) = X ->-> YZ. 42
43 Chapitre 4 : Découverte de dépendances multivaluées Bases de dépendances multivaluées F étant un ensemble de dmvs sur un schéma R, pour un sous-ensemble X de R la base de dépendances multivaluées est définie comme G (X) = {Y Y R ^ F = X ->-> Y}. C est l ensemble des parties droites de toutes les dmvs valides ayant X comme partie gauche. On montre dans (Maïer, 1985) qu il existe une base minimale, unique, notée mdsb( G( X )) pour minimal disjoint set basis. Cette base est minimale au sens qu il n existe pas de G mdsb( G ) Les sentences. Nous gardons le terme anglais, sentence, défini comme suit. Une sentence, S, est l expression : S = ( X, G( X )). Une sentence est donc le regroupement, pour une dmv, de sa partie gauche et de (toutes ou partie) de ses parties droites. Le treillis des sentences. Pour un G( X ) donné, l existence d un unique mdsb(g( X )) suggère la structure algébrique de treillis à l ensemble des sentences. Cette structure est établie dans (Flach, 2000) par la définition d une relation d ordre entre sentences et explicitée comme suit. raffinement : G( X ) raffine G ( X ) si chaque élément de G ( X ) est la réunion d éléments de G( X ). ordre partiel entre sentences. Une sentence S = ( X,G( X )) est plus générale qu une sentence S = ( Y,G( Y )) si les deux conditions suivantes sont réunies : - X Y et - G( X )\ Y raffine G( Y ). Avec G( X )\ Y = { Z i X i G( X ) ^ ( Z i = X i Y )}. Exemple. S 1 = (A, {B, C, D, EFG}) est plus générale que S 2 = (ADF, {BC, EG}). 43
44 Chapitre 4 : Découverte de dépendances multivaluées On note S 1 S 2 pour S 1 plus générale que S 2. La notion inverse est: S 2 plus spécifique que S 1. Il est aisé de remarquer que l ordre est partiel en observant deux sentences S 1 =(X,G( X)) et S 2 = (Y,G(Y)) dans lesquels ni X Y ni Y X, ces 2 sentences ne sont donc pas comparables. Mais même si X Y ou Y X ces 2 sentences peuvent aussi ne pas être comparables. Pour le constater, il suffit d exhiber un exemple. Prenons S 1 = (A, {B, CDE}) et S 2 = (AB, {CD, E}). Même si A AB, {B, CDE}\ AB ne raffine pas {CD, E}. Mais il existe S tel que S S 1 et S S 2 en prenant S = (A, {B, CD, E}). S est appelée borne supérieure de S 1 et S 2. Vis-à-vis du treillis il existe une plus petite borne supérieure (least upper bound : lub) et une plus grande borne inférieure ( greatest lower bound : glb). A partir d une sentence S=(X,{X 1,,X n }) nous obtenons les sentences plus spécifiques que S suivantes : S 1 = (XX i,{x 1,,X i-1,x i+1,,x n }) par augmentation et S 2 = (X, {X 1,, X i-1, X i+1,, X j-1,x j+1,, X i X j,, X n }) par additivité. Telles qu elles sont définies les sentences donnent lieu aux propriétés suivantes. Propriété 1. Si S 1 S 2 et si S 1 est vraie dans r(r) alors S 2 aussi est vraie dans r(r). Propriété 2. Si S 1 S 2 et si S 2 est fausse dans r(r) alors S 1 aussi est fausse dans r(r). Une sentence étant vraie dans r(r) si toutes les dmvs qu elle contient sont valides dans r(r) et fausse sinon. Dans l ensemble des sentences, les plus générales qui sont vraies en constituent la bordure positive notée Β + et les plus spécifiques qui sont fausses, la bordure négative notée B -. Maintenant que cette théorie est posée, comment l utiliser pour découvrir des dmvs valides dans une relation? Plus précisément, comment choisir les sentences en exploitant leur structure de treillis, puis comment tester leur validité ou leur non validité dans la relation? Les algorithmes du paragraphe suivant répondent à ces questions Algorithmes. Les propriétés du treillis des sentences permettent la construction de la bordure B + qui est, rappelons le, le but de la découverte de dmvs dans une relation. Ainsi, le premier algorithme introduit par (Flach, 2000) est l algorithme de test de la relation entre 2 sentences (algorithme 1 ). Nous reproduisons les algorithmes dans leur écriture en anglais. Input : sentences S 1 = ( X, { X 1,, X n }) and S 2 = ( Y, { Y 1,, Y m }) Output : true if S 1 S 2, false otherwise. Method: 1. begin 2. if ( X Y ) then 44
45 Chapitre 4 : Découverte de dépendances multivaluées 3. Z = Y X ; D = Ø ; 4. foreach ( X i in DEP ( X )) do 5. add (X i Z ) to D ; 6. od ; 7. if ( refines ( D, DEP( X ))) then 8. return true and exit; 9. fi 10. fi 11. return false; 12. end; Algorithme 1. test de la relation La réponse par true de cet algorithme permet de tirer les conclusions suivantes. Si S 1 est vraie alors S 2 l est aussi. Si S 2 est fausse alors S 1 l est aussi. Ce qui signifie qu il est suffisant de tester une seule des sentences. La réponse par false ne permet de tirer aucune conclusion. Dans (Flach, 2000) on propose 2 algorithmes pour le test des sentences. L un s appuyant sur leur validité et appelé Top-Down algorithm et l autre sur leur fausseté et appelé Bottom-up algoritm. Input : A relation r defined over a schema R. Output: A set of more general sentences valid in r(r). Method: 1. begin 2. B + = Ø; 3. H = { Ø, R }; 4. while ( H not empty ) do 5. pick S from H; 6. if ( S is true in r ) do 7. add S to B + ; 8. else 9. H s = { all immediate specializations of S }; 10. H = H U H s ; 11. fi; 12. od; 13. end; Algorithm 2. Top-down algorithm. Cet algorithme donne les sentences valides les plus générales. Notons toutefois que le test de validité ( ligne 6 ) n est pas précisé dans (Flach, 2000). Il reste que c est le test le plus coûteux en temps. 45
46 Chapitre 4 : Découverte de dépendances multivaluées Input : A relation r defined over a schema R. Output: The negative cover B - of a set of sentences which are false in r. Method: 1. begin 2. B - = Ø; 3. foreach ( t 1,t 2 r ) do 4. X = { A A R ^t 1 [ A ] = t 2 [ A ]}; Y = R X; 5. foreach ( Z Y ) do 6. if ( not exist t 3^t 4 ( t 3, t 4 r) ^ (t 1 [ X ] = t 3 [ X ] ^ t 1 [ X ] = t 4 [ X ]) => 7. ( t 3 [ Y ]= t 1 [ Y ] ^ t 3 [ Y Z ] = t 2 [ Y Z ] ) ^ 8. ( t 4 [ Y ] = t 2 [ Y ] ^ t 4 [ Y Z ] = t 1 [ Y Z ])) then 9. S = ( X, { Z, Y Z }) ; 10. if ( S is not covered by B - ) then 11. add S to B - ; 12. remove all generalizations of S from B - ; 13. fi ; 14. fi ; 15. od, 16. od; 17. end; Algorithme 3. Construction de la bordure négative. La bordure négative construite par l algorithme3 sera utilisée par l algorithme Bottom-up. Input: A relation r defined over a schema R. Output: Positive border B + of the sentences over R. Method: 1. begin 2. compute B - using algorithm3; 3. B + = {( Ø, R )}; 4. foreach ( S n B - ) do 5. foreach ( S p B + contradicted by S n ) do 6. delete S p from B + ; 7. foreach ( S p which is the closest specialization 8. of S p not contradicted by S n ) do 9. if ( S p not covered by B + ) then 10. add S p to B + ; 11. fi; 12. od; 13. od; 14. od; 15. end; Algorithme 4. Bottom-up algorithm. 46
47 Chapitre 4 : Découverte de dépendances multivaluées Cet algorithme est basé sur le fait que si une sentence n est pas fausse, elle est vraie. Disposant de la bordure négative B -, il construit B + par élimination des sentences fausses couvertes ( au sens du treillis des sentences ) par B -. L implémentation de ces algorithmes nécessite une représentation efficace des bordures de sentences. Dans (Flach, 2000) on représente les sentences dans une structure de données appelée arbre dmv( mvd tree ). Définition. Etant donné un schéma de relation R et un ensemble S de sentences, l arbre mvd de S est un arbre défini comme suit. Pour chaque sentence ( X, DB ) S, il existe un chemin vers le nœud A ; ce chemin contient tous les attributs de X et A correspond au dernier attribut de X. Un label G de chaque nœud A contient une sentence qui est soit la plus petite borne supérieure, soit la plus grande borne inférieure de toute les sentences représentées par le sousarbre de racine A. Un label E de chaque nœud A un ensemble de bases de dépendances DB i de sentences (X, DB i ), tel que le chemin correspondant à X se termine au nœud A. L arbre des dmvs est utilisé soit pour représenter la bordure positive, soit la bordure négative d un ensemble de sentences. Il y a 2 façons d ajouter une sentence à un arbre dmv, soit en exploitant la structure de treillis, soit après test vis-à-vis de la relation r. L exploitation de la structure de treillis lors de l ajout d une sentence S = (X, DB) consiste à modifier le label G concerné par cette sentence en le remplaçant soit par le lub soit par le glb entre sa valeur actuelle et celle de S c'est-à-dire DB. De cette façon, chaque label G des nœuds A sur le chemin correspondant à X contient une sentence qui borne (soit par lub soit par glb ) toutes les sentences représentées par le sous - arbre dont la racine est A. Les nœuds intermédiaires aboutissant au dernier attribut A de X ont leur label E vide ; seul le label E de A contient DB. Si la sentence S n est comparable à aucune sentence de l arbre alors on est obligé de la tester vis à vis de la relation r. Racine G = (Ø,{ A, B, C, D, E}) E = {} A B D G= ( A, {B, CDE}) G = (B, {AD, C, E}) G=(DE, {AB,C}) E = { B, CDE} E= {} E= {} B D E E G = ( AB,{CD,E}) G=(BD,{A,C,E}) G=(BE, {AD, C}) G=(DE, {AB,C}) E={CD, E} E={A, C, E} E={AD, C} E={AB, C} 47
48 Chapitre 4 : Découverte de dépendances multivaluées Figure 4.1. Exemple d arbre mvd. Les dmvs candidates ne sont testées vis-à-vis de la relation r que si on échoue à trouver une sentence plus générale (ou plus spécifique) que la sentence qui les contient dans l arbre mvd correspondant. Après ce test elles seront placées dans cet arbre. Dans la figure 4.1, l arbre mvd contient les sentences suivantes, sur R = ABCDE, (AB,{CD,E}), (A,{B,CDE}), (BD,{A,C,E}), (BE,{AD,C}), (DE,{AB,C}). Dans (Flach, 2000) les sentences sur R sont énumérées systématiquement en commençant par la sentence la plus générale au sens de la relation. L algorithme d énumération ( algorithme 5 ) requiert une autre représentation des sentences ; une sentence S = ( X, { X 1,, X n }) est représentée par S = ( X, X 1,, X n ) dans laquelle les X j ne sont rien d autre que les X i cités dans l ordre alphabétique ; et X = { ØX }où Ø est l ensemble vide considéré comme étant le premier attribut dans cet ordre. Input : A sentence S = ( X 0,, X i,, X n ). Output: Sentences that are more specific than S. Method: 1. procedure enum( sentence S ): 2. begin 3. i = S.marker ; 4. foreach ( j [ i.. ( n-1)]) do 5. foreach ( k [ (j+1).. n]) do 6. if ( last (X j ) < first ( X k )) then 7. Y = X j U X k ; 8. S = ( X 0,, X j-1, Y, X j+1, ); 9. output ( S ); 10. enum ( S ); 11. fi; 12. od; 13. od; 14. end; Algorithme 5. Enumération des sentences. Dans cet algorithme la fonction first (X) ( resp. last (X )) donne le premier (resp. le dernier) attribut du sous-ensemble X d attributs. Les 2 boucles foreach indiquent une énumération en largeur ; l appel récursif indique une énumération en profondeur. 48
49 Chapitre 4 : Découverte de dépendances multivaluées Remarque. Nous nous permettons de signaler une petite erreur de détail contenue dans l écriture de cet algorithme dans l article (Flach, 2000) dans lequel la ligne 4 est écrite comme suit. 4 foreach ( j [ i.. n ]) do or si l on considère la ligne 5 5 foreach ( k [ (j + 1 ).. n ] do on s aperçoit que lorsque j=n alors k commence par n+1. Comme il n y a aucun X n+1 cela constitue une erreur que nous avons corrigée Stratégie de découverte de Yan et Fu (Men Hin Yan, 2001) Introduction. Cette stratégie se base sur ce qui a été déjà fait pour la découverte de dépendances fonctionnelles. Elle part de la partition de la relation r en classes d équivalence selon les valeurs des attributs comme cela a été déjà vu au chapitre 3. Les dmv ne sont pas regroupées en partie gauche et partie droite pour construire, comme dans (Flach, 2000) quelque chose d explicite et représentable dans une structure de données sur la base des axiomes concernant les dmvs. Les propriétés dérivées de ces axiomes sont plutôt diluées à l intérieur de l algorithme de découverte pour réduire le nombre de dmvs dont il faut tester la validité. Les dmvs candidates sont extraites du treillis d inclusion des attributs de R comme nous le décrivons dans le paragraphe suivant Méthode de découverte. Etant donnée une relation r de schéma R = XYZ avec Z = R X Y, X j une classe d équivalence de la partition π X X j sa taille en nombre de tuples, Θ (Y, X j ) le nombre de valeurs différentes de l attribut Y dans les tuples de X j. La méthode de découverte est basée sur le lemme suivant. Lemme. La dépendance multivaluée X ->-> Y est vérifiée dans la relation r de schéma R si, et seulement si, pour chaque classe d équivalence de π X, le nombre de valeurs différentes de Y, Θ ( Y, X j ), multiplié par le nombre de valeurs différentes de Z, Θ ( Z, X j ), est égal à X j. Autrement dit. Θ ( Y, X j ) x Θ ( Z, X j ) = X j. 49
50 Chapitre 4 : Découverte de dépendances multivaluées Enumération des dmvs. Les dmvs à tester sont énumérées selon un double parcours, l un pour la partie gauche, l autre pour la partie droite. Ceci est effectué à l aide de 2 boucles imbriquées. La boucle la plus interne concerne la partie gauche et débute par un attribut élémentaire pour être augmenté progressivement d un attribut. La boucle externe ( la plus lente ) fonctionne selon même principe mais pour la partie droite. Comme nous l avons déjà vu ce double parcours génère 2 2 R dmvs possibles. Ce nombre est réduit en utilisant les propriétés des dmvs, découlant des axiomes, aussi bien pour la partie gauche que pour la partie droite de la dmv. Ces propriétés sont exprimées sous forme de règles appelées règles d élagage Règle d élagage pour la partie gauche. Règle1. Une fois la dmv X ->-> Y validée, il n est plu besoin de tester la validité des dmvs ayant pour partie droite Y et pour partie gauche un sur-ensemble de X. Cette règle est la conséquence directe de l axiome d augmentation Règle d élagage pour la partie droite. Règle 2. Une dmv X ->-> Z n est pas testée si la dmv X ->-> Y, avec Z = R X Y, l a déjà été. Ceci est la conséquence directe de l axiome de complémentation. dmv Règles d élagage utilisant les propriétés mixtes dépendance fonctionnelle et Les trois règles ci-dessous sont la conséquence de l axiome de réplication (voir Chapitre 5). Règle 3. Il est inutile de tester la validité d une dmv dont la partie gauche a été identifiée comme clé ou sur-ensemble de clé. Règle 4. Si l une des dépendances fonctionnelles X Y ou X Z, avec Z = R X Y, a été validée, il est inutile de la dmv X ->-> Y ou la dmv X ->-> Z. Règle 5. La vérification de la dmv candidate X ->-> Y n est pas nécessaire si Z = R X Y et Y est clé et π X π XZ. 50
51 Chapitre 4 : Découverte de dépendances multivaluées 4.4 Conclusion Nous venons de présenter deux méthodes de découverte de dépendances multivaluées. La première n utilise que les axiomes propres à ce genre de dépendances, la deuxième y ajoute, quoique que de façon non explicite et non systématique l axiome de réplication Dans le chapitre suivant, nous proposons notre propre algorithme de découverte en empruntant ce qu il y a de mieux dans ces deux méthodes. 51
52 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées Chapitre 5 Proposition d une méthode découverte de dépendances multivaluées Sommaire 5.2 Présentation de la méthode Enumération des dmvs candidates Principe Propriétés générales Description de la proposition Principe Données utilisées Algorithme Déroulement de l algorithme sur un exemple Conclusion
53 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées 5.1 Introduction Le coût du test d une dépendance multivaluée, X ->-> Y, peut s avérer prohibitif car il utilise les partitions π X, π Y et π R-XY qui peuvent être très grandes. Une méthode de découverte qui puisse éviter le plus possible ce test est donc à rechercher. C est dans cet esprit que nous avons construit notre propre méthode en évitant dès que possible le traitement sur les données de la relation. Pour ce faire, nous avons d abord supposé que les dépendances fonctionnelles aient été découvertes au préalable pour bénéficier de l axiome suivant, appelé réplication dans (Maïer, 1985). Axiome de réplication. Si une relation r de schéma R satisfait la dépendance fonctionnelle X -> Y alors elle satisfait la dépendance multivaluée X ->-> Y (donc X ->-> (R-XY)). Pour découvrir les df nous privilégions les algorithmes qui utilisent les partitions de r (Men Hin Yan, 2001) (Lopes, 2000) (Huhtala, 1998) puisque nous les utiliserons aussi pour découvrir les dmvs. Pour découvrir les dmv nous utilisons les deux méthodes présentées au chapitre précédent. 5.2 Présentation de la méthode Notre méthode de découverte aspire à réduire, autant qu il nous semble possible, le nombre de tests de validité des dmv directement sur les données de la relation. Nous avons vu au chapitre 4 comment les axiomes concernant les dmv permettent d inférer la validité de dmv connaissant la validité d autres. Nous avons vu aussi comment la notion de sentence sous-tend un treillis dont la relation d ordre partiel résume tous ces axiomes. Nous utilisons donc la relation d ordre,, et le résultat suivant de : Théorème 1. (Flach, 2000) Soient S 1 et S 2 deux sentences telles que S 1 S 2. On a, 1. Si S 1 est vraie alors S 2 est vraie, 2. Si S 2 est fausse alors S 1 est fausse Nous gardons donc la caractérisation des dmvs par les sentences ainsi que l utilisation des arbres de dmvs pour supporter la structure de treillis de ces sentences. Par contre nous n utiliserons pas l énumération des «sentences» de (Flach, 2000) pour lister les dmvs candidates. Nous adoptons la méthode de (Men Hin Yan, 2001) qui utilise les cardinalités des partitions pour tester la validité d une dmv candidate. Nous utilisons deux arbres de dmvs. L un pour représenter les «sentences» valides dans r, l autre les «sentences» non vérifiées dans r. 53
54 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées L arbre de dmv contenant les sentences auparavant comme suit. Une df X -> Y valides sera initialisé par des dfs découvertes sera convertie en la sentence S = ( X, { Y, (R ( XY )}) Qui sera insérée dans l arbre dmv des sentences valides. Le fait que les dfs découvertes soient minimales (cf. chapitre 2, 2.1.5) nous garantit que n importe quelles 2 sentences en résultant ne sont pas ordonnées selon la relation d ordre du treillis des sentences ; l insertion de ces sentences initiales se fait donc systématiquement. 5.3 Enumération des dmvs candidates Principe. Pour énumérer les dmvs candidates, nous partons du treillis d inclusion de l ensemble des attributs élémentaires de R. Nous exploitons les propriétés des dmvs dans l utilisation de ce treillis Pour illustrer notre idée, considérons un exemple. Soit un schéma R = ABCDE. Le treillis d inclusion est indiqué dans la figure ABCDE 4 ABCD ABCE ABDE ACDE BCDE 3 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 AB AC AD AE BC BD BE CD CE DE 1 A B C D E 0 Ø Fig Treillis d inclusion des attributs ABCDE. Les éléments de ce treillis sont regroupés en 6 niveaux numérotés de 0 à 5. Ces niveaux serviront à fixer l ordre du choix des parties gauches et droites des dmvs candidates. Le numéro de chaque niveau est égal à la cardinalité des éléments du treillis d'inclusion placés dans ce niveau. Puisque la dmv X ->-> Ø est toujours vérifiée, les éléments de niveaux 4 et 5 n ont pas à être pris ni comme partie gauche ni d une dmv candidate. Pour la même raison, l élément de niveau 5 n a pas à être pris comme partie droite. Ceci résulte du fait que si la somme des cardinalités de la partie gauche et de la partie droite de la dmv est supérieure à 4 cette dmv est triviale. On en conclut que les éléments de niveau 3 54
55 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées ne peuvent simultanément servir de partie gauche et de partie droite, ainsi que leur combinaison avec les éléments de niveau 2. A partir de ces observations nous indiquons les propriétés générales Propriétés générales. Etant donné un schéma R = A 1 A 2 A n ainsi que le treillis d inclusion des A i dans lequel on distingue n + 1 niveaux numérotés de 0 à n. Propriété 1. Une dmv dont la somme des cardinalités des parties gauche et droite est supérieure à n 1 n est pas prise comme candidate au test de validité. Propriété 2. Le treillis des sentences construit à partir de ce treillis d inclusion est tel que, pour une sentence S = (X, {Y}); on peut toujours trouver p sentences S i = (X i, {Y i }) telles que S 1 S 2 S S p à condition que X 1 X 2 X p. Cette propriété suggère que les parties droites de dmv, dont la partie gauche est X avec X = m ; doivent être recherchées en profondeur d abord dans le parcours du treillis d inclusion pour «profiter» au mieux de la relation d ordre induite et éviter au maximum le test de la dépendance. Ainsi, pour le test de validité, les parties droites de cette dmv doivent être recherchées dans les niveaux du treillis d inclusion tel que m n m 2. Propriété 3.cas particuliers. lemme a) Soit t le nombre total de tuples de la relation r de schéma R = A 1 A 2 A n ; et π Ai le nombre de valeurs différentes selon l attribut A i, dans r. Si i, i {1,2,,n} on a : π Ai * π R-Ai = t (1). alors toutes les dépendances multivaluées sont vérifiées dans r. Il est donc inutile de les énumérer par l algorithme. b) toutes les dmv sont trivialement vérifiées par une relation à 2 attributs. preuve a) L expression (1) implique la validité de la dmv Ø ->-> A i qui correspond à la sentence vraie (Ø, {A i, (R -A i )}). Si (1) est vraie pour tout i {1,,n} alors la sentence S=(Ø,{A 1,,A n }) est vraie, assurant ainsi la validité de toutes les dmv A i ->-> A j pour tout i {1,,n}et pour tout j {1,,n}. 55
56 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées b) Nous savons que la dmv X ->-> Ø (donc X ->-> (R-X)) est vérifiée pour tout schéma R. En particulier si R=A 1 A 2 la dmv A i ->-> Ø étant toujours vérifiée il en est de même pour A i ->-> A j ; i étant égal à 1 ou 2, j étant égal à 2 ou Description de la proposition Principe. Notre algorithme se base sur les remarques et propriétés citées précédemment. Ainsi, il suppose que les dépendances fonctionnelles éventuelles, vérifiées par la relation r, ont déjà été trouvées. De plus cette relation est représentée par ses partitions selon les attributs élémentaires de R. Il emprunte à (Flach, 2000) la notion de «sentences» pour regrouper les parties gauches et droites des dmv et utiliser la relation d ordre du treillis induit. Ces «sentences sont représentées dans 2 arbres de dmv ; l un représentant les «sentences» valides, l autre les «sentences» fausses. En nous appuyant sur la propriété 2 et la propriété des «sentences» qui dit qu une sentence fausse falsifie toutes celles qui lui plus générales et qu une «sentence» vraie valide toutes celles qui lui sont plus spécifiques, notre algorithme teste alternativement les «sentences» en partant des plus spécifiques pour leur fausseté et des plus générales pour leur vérité. Les «sentences» les plus spécifiques sont insérées dans l arbre des dmvs fausses si elle sont fausses et dans l arbre des dmvs vraies si elle sont vraies. Les sentences les plus générales ne seront pas insérées dans l arbre des dmvs fausses si elles sont fausses ; par contre si elles sont vraies elles seront insérées dans l arbre des dmvs vraies Données utilisées. Données concernant la relation r. Le schéma R = A 1 A n. Les partitions П X X R de r. Le nombre de tuples de r. Les dépendances fonctionnelles minimales vérifiées par r. Données nécessaires à l algorithme. B + : l arbre dmv des «sentences» vraies : B - : l arbre dmv des «sentences» fausses niveau_partiegauche_s, niveau_partiegauche_g : numéros du niveau dans le treillis d inclusion, où sont prises les parties gauches des dmv candidates aussi bien pour les sentences spécifiques que pour les sentences générales. 56
57 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées rang_s, rang_g : numéros de la partie gauche dans les niveaux respectivement pour les sentences spécifiques et les sentences générales. partie_droite : élément du treillis d inclusion servant de partie droite à une dmv candidate Algorithme TrDmv Entrée : A 1,,A n les attributs de r Les partitions П X de r. t r le nombre de tuples de r. DF l ensemble des dépendances fonctionnelles vérifiées par r. Sortie : DMV l ensemble des dmv vérifiées par r. Méthode : 1. begin 2. if ( ( n == 2 ) or ( i, i {1,,n}, П Ai * П R-Ai = = t r )) then 3. DMV = «toutes les dmv sont vérifiées» ; // cas particuliers du lemme 4. else 5. begin // cas général où l on effectue le test des dmv 6. D = Ø ; B - = Ø ; niveau_partie_gauche_s = n-2 ; niveau_partie_gauche_g = 0 ; 7. rang_s = 0 ; rang_g = 0 ; Initialiser B + avec DF; 8. repeat 9. begin 10. if (niveau partie gauche_s niveau partie gauche_g) then 11. // pour ne pas le faire 2 fois en cas de parité de n. 12. begin //boucle de test des sentences spécifiques 13. partie gauche_s = choix ( rang_s, niveau partie gauche_s) ; 14. for all ( partie_droite, partie_gauche_s ) // les parties droites possibles sont choisies en profondeur sur tous les niveaux du treillis d inclusion. 15. test_s_dmv (partie_gauche_s,partie_droite) ; 16. end; 17. rang_s++; 18. if ( fin ( rang_s, niveau_partie_gauche_s)) then 19. begin 20. niveau_partie_gauche_s --; 21. rang_s = 0 ; 22. end ; 23. end ; //boucle de test des sentences générales 24. partie gauche_g = choix ( rang_g, niveau partie gauche_g) ; 25. for all ( partie_droite, partie_gauche_g ) 26. test_g_dmv (partie_gauche_s,partie_droite) ; 57
58 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées 27. end; 28. rang_g++; 29. if ( fin ( rang_g, niveau_partie_gauche_g)) then 29 begin 30. niveau_partie_gauche_g ++; 31. rang_g = 0 ; 32. end ; 33. end ; 34. until (niveau_partie_gauche_s < niveau_partie_gauche_g ) ; 35. DMV = B + ; 36. end. Algorithme 5.1 Algorithme TrDmv Les procédures test_s_dmv et test_g_dmv réalisent le test effectif de dmv incluse dans les sentences spécifiques pour la première et dans les sentences générales pour la deuxième. procedure test_s_dmv (partie_gauche, partie_droite) ; 1. begin 2. S = sentence ( partie_gauche, partie_droite) ; 3. if ( ( not subsume_g ( B +, S)) and ( not subsume_s ( B -, S))) then 4. if vérifiée (S) then 5. rajouter S à B + ; 6. else 7. rajouter S à B - ; 8. fi 9. fi 10 end. procedure test_g_dmv (partie_gauche, partie_droite) ; 1.begin 2. S = sentence ( partie_gauche, partie_droite) ; 3. if ( ( not subsume_g ( B +, S)) and ( not subsume_s ( B -, S))) then 4. if vérifiée ( S ) then 5. rajouter S à B + ; 6. fi 7. fi 8. end Algorithme 5.2 Procédures de test de dmv 58
59 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées Nous donnons ci-dessous le rôle des fonctions utilisées. - sentence ( partie_gauche,partie_droite) renvoie la sentence S = ( partie_gauche,{partie_droite, R-partie_droite)}) - subsume_g ( B +,S) renvoie vrai si il existe S dans B + tel que S S faux sinon - subsume_s ( B -,S) renvoie vrai si il existe S dans B - tel que S S faux sinon - choix ( rang_x, niveau partie gauche_x) x étant soit s, soit g, renvoie la partie gauche de la dmv candidate située dans le niveau partie gauche_x à la place rang_x - vérifiée ( S ) renvoie vrai si la dmv contenue dans S est valide dans la relation r. faux sinon. Théorème 2 : l algorithme TrDmv, appliqué à une relation r de schéma R, est valide et complet. La validité signifie que si X ->-> Y a été mise dans B + par l algorithme alors elle est vérifiée par la relation r, et la complétude signifie que si X ->-> Y est vérifiée par la relation r, alors elle sera insérée dans B + par l algorithme. Preuve : Validité. Deux types de dmv sont insérées dans B +. Celles qui résultent de l axiome de réplication et celles qui sont téstées directement ou résultent du théorème1. Dans les deux cas ces dmv sont vérifiées par la relation r. Complétude. En raison du (double) parcours exhaustif du treillis d inclusion, aussi bien pour la partie gauche que pour la partie droite, effectué par l algorithme, la dmv X ->-> Y sera nécessairement considérée par l algorithme. Elle donne lieu à la sentence S=(X, {Y, (R-XY)}) qui sera considérée uniquement selon 3 possibilités : a. il existe S 1 dans B + tel que S 1 S, b. il existe S 2 dans B - tel que S S 2, c. aucun des 2 cas précédents ne se présente. Considérons d abord le cas b. B - étant initialement vide, le seul moyen d y insérer S 2 est le test sur la relation ou l application du théorème1 concluant, dans les deux cas, à sa fausseté. L application de nouveau du théorème1 empêche l insertion de S dans B -. Pour le cas a., dire qu il existe S 1 S c est dire que S 1 a, soit été testée directement sur la relation r (ce qui démontre le cas c.), soit découle de l application du théorème1, laquelle valide aussi S. 59
60 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées Déroulement de l algorithme sur un exemple. L exemple est pris de (Men Hin Yan, 2001) et la relation prise est décrite ci-dessous. No.tuple A B C D Table 5.1. Exemple de relation. La seule dépendance fonctionnelle vérifiée par cette relation est B A. Nous en tirons la sentence S = (B, {A, CD}) que nous enregistrons dans l arbre B + lequel sera comme suit. B G = ( B, { A, CD}). E = { A, CD }. Figure 5.1. Arbre B + initial Nous estimons nécessaire de reproduire le treillis d inclusion pour R = ABCD avec ses 5 niveaux numérotés de 0 0 Ø 1.. A B C D 2.. AB AC AD BC BD CD 3. ABC ABD ACD BCD 4. ABCD Figure5.2. Treillis d inclusion avec numérotation des niveaux 60
61 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées De plus, les parties gauches (et droites) des dmvs ont au plus 3 attributs; par conséquent seules les partitions à 1, 2 ou à 3 attributs sont nécessaires. Les voici ; avec, pour les partitions à un attribut, le nombre de leurs classes d equivalence. π A = { { 1,2,3,4,5,6 }, { 7,8 } } = { α A 1, α A 2 } π A = 2 π B = { { 1,4,5}, {2,3,6}, {7,8} } = { α B 1, α B 2, α B 3 } π B = 3 π C = { {1,3,5,6,8}, {2,4,7} } = { α C 1, α C 2 } π C = 2 π D = { {1,6,7}, {2,4,8}, {3,5} } = { α D 1, α D 2, α D 3 } π D = 3 π AB = { {1,4,5}, {2,3,6}, {7,8} } = { α AB 1, α AB 2, α AB 3 } π AC = { {1,3,5,6} {2,4}, {7}, {8} } = { α AC 1, α AC 2, α AC 3, α AC 4 } π AD = { {1,6} {2,4} {3,5}, {7}, {8} } = { α AD 1, α AD 2, α AD 3, αad 4, αad 5 } π BC = { {1,5}, {3,6}, {2}, {4}, {7}, {8} } = { α BC 1, α BC 2, α BC 3, αbc 4, αbc 5, αbc 6 } π BD = { {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8} } = { α BD 1, α BD 2, α BD 3, α BD 4, α BD 5, α BD 6, α BD 7, α BD 8 } π CD = { {1,6}, {2,4}, {3,5}, {6}, {7}, {8} } = { α CD 1, α CD 2, α CD 3, α CD 4, α CD 5, α CD 6 } π ABC = { {1, 5}, {2}, {3, 6}, {4}, {7}, {8} } π ABD = { {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8} } π ACD = { {1, 6}, {2, 4}, {3, 5}, {7}, {8} } π BCD = { {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8} } Le nombre d attributs n= 4, étant supérieur à 2 et (par exemple) П A * П BCD, 16, étant différent de t r, 8, il s ensuit que nous ne sommes pas dans l un des 2 cas particuliers où toutes les dmvs sont valides. Nous devons donc effectuer la recherche des dmvs en «entrant» dans le corps de l algorithme. Nous entrons donc dans la grande boucle de l algorithme qui contient elle-même 2 boucles en cascade après avoir initialisé les niveaux où doivent être prises les parties gauches des dmv, à savoir, niveau partie gauche_s = 4-2 = 2, pour les sentences spécifiques, et niveau partie gauche _g = 0, pour les sentences générales. Nous rappelons que la notation θ(x, α Y i ) représente le nombre de valeurs différentes selon les attributs X dans la partition α Y i, selon les attributs Y, de la relation. Première boucle : sentences spécifiques. 61
62 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées Nous listons maintenant les dmvs qui correspondent aux sentences spécifiques ; ce qui est effectué dans la première des 2 boucles internes. AB ->-> C qui correspond à la sentence S = (AB, {C, D}). Puisque B - est vide, S n y est pas subsumée. B + contient S = (B, {A, CD}) qui ne se compare pas à S. Nous devons donc tester la sentence S. α AB 1 = 3 θ(c, α AB 1 ) = 2 et θ(d, α AB 1 ) = 3 et leur produit est 6, différent de 3. On peut donc conclure que AB ->-> C n est pas vérifiée dans r et mettre la sentence S dans B -. dmv suivante. AC ->-> B qui correspond à la sentence S = (AC, {B, D}). On la confronte à B - qui contient S = (AB, {C, D}) qui ne lui est pas comparable. On la confronte ensuite à B + qui contient S = (B, {A, CD}) qui ne lui est pas comparable non plus. Nous sommes donc obligés de la tester. α AC 1 = 4. θ( B, α AC 1 ) = 2 ; θ( D, α AC 1 ) = 2 et leur produit est 4 cardinalité de α AC 1. α AC 2 = 2. θ( B, α AC 2 ) = 2 ; θ( D, α AC 2 ) = 1 et leur produit est 2 cardinalité de α AC 2. Les 2 classes d équivalences suivantes étant des singletons, la formule est trivialement vérifiée. On en conclut que AC ->-> B est vérifiée et on rajoute la sentence (AC, {B, D}) dans B + dont la nouvelle forme apparait dans la figure 5.3. A B G = (B,{A,CD} E = {A,CD} C G = (AC,{B,D}) E = {B,D} dmv suivante. Figure 5.3. Nouvel arbre B +. AD ->-> B qui correspond à la sentence S = (AD, {B, C}). On la confronte à B - qui contient (AB, {C, D}) et qui ne lui est pas comparable. 62
63 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées On la confronte ensuite à B + qui contient (B, {A, CD}) et (AC, {B, D}) auxquelles elle n est pas comparable ; on est donc obligés de la tester. α AD 1 = 2 θ( B, α AD 1 ) = 2 ; θ( C, α AD 1 ) = 1 et leur produit est 2, cardinalité de α AD 1. α AD 2 = 2 θ( B, α AD 2 ) = 2 ; θ( C, α AD 2 ) = 1 et leur produit est 2, cardinalité de α AD 1. α AD 3 = 2 θ( B, α AD 3 ) = 2 ; θ( C, α AD 3 ) = 1 et leur produit est 2, cardinalité de α AD 1. Les 2 classes d équivalences suivantes étant des singletons, la formule est trivialement vérifiée. On en conclut que AD ->-> B est vérifiée et on rajoute la sentence (AD, {B, C}) dans B + dont la nouvelle forme apparait dans la figure 5.4. A B G = (B,{A,CD} E = {A,CD} D C G = (AC,{B,D}) G = (AD,{B,C}) E = {B,D} E = {B,C} Figure 5.4. Nouvelle forme de l arbre B +. dmv suivante. BC ->-> A qui correspond à la sentence S = (BC, {A, D}). On la confronte à B - qui contient (AB, {C, D}) et qui ne lui est pas comparable. On la confronte ensuite à B + qui contient (B, {A, CD}) et (AC, {B, D}). On constate qu elle est vraie puisque subsumée par (B, {A, CD}), c'est-à-dire que l on a (B, {A, CD}) S Il est donc inutile, ni de la tester ni de la rajouter à B +. dmv suivante. BD ->-> A qui correspond à la sentence S = (BD, {A, C}). On la confronte à B - qui contient (AB, {C, D}) et qui ne lui est pas comparable. On la confronte ensuite à B + qui contient (B, {A, CD}) et (AC, {B, D}). 63
64 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées On constate qu elle est vraie puisque subsumée par (B, {A, CD}), c'est-à-dire que l on a (B, {A, CD}) S Il est donc inutile, ni de la tester ni de la rajouter à B +. dmv suivante. CD ->-> A qui correspond à la sentence S = (CD, {A, B}). On la confronte à B - qui contient (AB, {C, D}) et qui ne lui est pas comparable. On la confronte ensuite à B + qui contient (B, {A, CD}) et (AC, {B, D}) et les 2 ne lui sont pas comparables. On est donc obligé de la tester. α CD 1 = 2 θ(a, α CD 1 ) = 1 ; θ(b, α CD 1 ) = 2 et leur produit est 2, cardinalité de α CD 1. α CD 2 = 2. θ(a, α CD 2 ) = 1 ; θ(b, α CD 2 ) = 2 et leur produit est 2, cardinalité de α CD 2. α CD 3 = 2. θ(a, α CD 3 ) = 1 ; θ(b, α CD 3 ) = 2 et leur produit est 2, cardinalité de α CD 3. Il est inutile de considérer les classes d équivalences suivantes ; ce sont des singletons pour lesquels la formule est donc trivialement vérifiée. On en conclut que CD ->-> A est vérifiée et on ajoute S = (CD, {A, B}) à B + dont la nouvelle forme apparait dans la figure 5.5. A B G = (B,{A,CD}) C E = {A,CD} D G = (AD,{B,C}) C G = (AC,{B,D}) D G = (CD,{A,B}) E = {B,C} E = {B,D} E = {A,B} Figure 5.5. Nouvelle forme de l arbre B +. Deuxième boucle : sentences générales. Nous listons maintenant les dmvs qui correspondent aux sentences générales; ce qui est effectué dans la deuxième des 2 boucles internes. 64
65 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées Quand la partie gauche d une dmv est vide la cardinalité de la partition π Ø est égale à toute la relation r et la formule de test de cette dmv devient, étant donné Ø ->-> X, à laquelle correspond la sentence (Ø, {X, (R X)}): π X * π R-X = t r. Le lecteur peut vérifier qu aucune de ces dmvs n est vérifiée. Cependant les variables sont modifiées : niveau_partie_gauche_s est diminuée de 1 et devient égale à 1, et niveau_partie_gauche_g est augmentée de 1 et devient aussi égale à 1. Cette égalité de valeurs empêche le passage de nouveau dans la boucle concernant les sentences spécifiques et l algorithme effectue un dernier passage dans la boucle des sentences générales où les parties gauches dmvs sont de cardinalité 1. Nous les énumérons ci-dessous. A ->-> B qui correspond à la sentence S = (A, {B, CD}). On la confronte aux sentences plus spécifiques de B - à savoir (AB, {C, D}) avec laquelle elle n est pas comparable. On la confronte aux sentences plus générales de B +. il n y en a pas. On est donc obligés de la tester. α A 1 = 6. θ(b, α A 1 ) = 2 ; θ(cd, α A 1 ) = 3 et leur produit est 6. α A 2 = 2. θ(b, α A 2 ) = 1 ; θ(cd, α A 2 ) = 2 et leur produit est 2. On en conclut que A ->-> B est vérifiée et on insère la sentence (A, {B, CD}) dans B + en y supprimant les sentences qui lui sont plus spécifiques comme sur la figure 5.6. A G = (A,{B,CD}) B G = (B,{A,CD}) C E= {B,CD} E = {A,CD} D G = (AD,{B,C}) D G = (CD,{A,B}) E = {B,C} E = {A,B} Figure 5.6. Nouvelle forme de l arbre B +. dmv suivante. A ->-> C qui correspond à la sentence S = (A, {C, BD}). 65
66 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées On la confronte à la sentence (AB, {C, D}) de B - et on constate que S (AB, {C, D}). On en conclut que S est fausse sans la mettre dans B -. dmv suivante. A ->-> D qui correspond à la sentence S = (A, {D, BC}). Ici aussi, en la confrontant à B -, on constate que S (AB, {C, D}). On en conclut que S est fausse sans la mettre dans B -. On passe à la dmv suivante. B ->-> A qui correspond à la sentence S = (B, {A, CD}). On la confronte à B - et on constate qu elle n est pas comparable à (AB, {C, D}). On la confronte à B + et on s aperçoit qu elle y existe déjà. dmv suivante. B ->-> C qui correspond à la sentence S = (B, {C, AD}). On la confronte à B - et on constate que S (AB, {C, D}). On en conclut que S est fausse sans la mettre dans B -. dmv suivante. B ->-> D qui correspond à la sentence S = (B, {D, AC}). On la confronte à B - et on constate que S (AB, {C, D}). On en conclut que S est fausse sans la mettre dans B -. dmv suivante. C ->-> A qui correspond à la sentence S = (C, {A, BD}). On la confronte à B - et on constate que S n est pas comparable à (AB, {C, D}). On la confronte à B + qui contient (B, {A, CD}) et (AC, {B,D}) qui ne lui sont pas comparables. On est donc obligé de la tester. α C 1 = 5 θ(a, α C 1 ) = 2 et θ(bd, α C 1 ) = 3 et leur produit est 6, différent de 5. 66
67 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées α C 1 = 3 θ(a, α C 2 ) = 2 et θ(bd, α C 2 ) = 3 et leur produit est 6, différent de 3. On en conclut que S est fausse et on la rajoute à B - qui contient maintenant (AB, {C, D}) et (C, {A, BD}). dmv suivante. C ->-> B qui correspond à la sentence S = (C, {B, AD}). On la confronte à B - et on constate que S n est comparable ni à (AB, {C, D}) ni à (C, {A, BD}). On la confronte à B + qui contient (B, {A, CD}) et (AC, {B, D}). On constate que la première sentence ne lui est pas comparable et la seconde lui est plus spécifique. On est donc obligé de la tester. α C 1 = 5 θ(b, α C 1 ) = 3 et θ(ad, α C 1 ) = 3 et leur produit est 9, différent de 5. On en conclut qu elle est fausse et on la rajoute à B - qui contient maintenant (AB, {C, D}), (C, {A, BD}) et (C, {B, AD}). dmv suivante. C ->-> D qui correspond à la sentence S = (C, {D, AB}). On la confronte à B - et on constate que S n est pas comparable à (AB, {C, D}) et (C, {A, BD}) et (C, {B, AD}). On la confronte à B + qui contient (B, {A, CD}) et (AC, {B, D}). On constate que la première sentence ne lui est pas comparable et la seconde lui est plus spécifique. On est donc obligé de la tester. α C 1 = 5 θ(d, α C 1 ) = 3 et θ(ab, α C 1 ) = 3 et leur produit est 9, différent de 5. On en conclut qu elle est fausse et on la rajoute à B - qui contient maintenant (AB, {C, D}), (C, {A, BD}), (C, {B, AD}) et (C, {D, AB}). dmv suivante. D ->-> A qui correspond à la sentence S = (D, {A, BC}). On la confronte à B - et on constate que S n est pas comparable à aucune des sentences qui s y trouvent. On la confronte à B + qui contient (B, {A, CD}) et (AC, {B, D}) auxquelles S n est pas comparable. 67
68 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées On est donc obligé de la tester. α D 1 = 3 θ(a, α D 1 ) = 2 et θ(bc, α D 1 ) = 3 et leur produit est 6, différent de 3. On en conclut qu elle est fausse et on la rajoute à B - qui contient maintenant (AB, {C, D}), (C, {A, BD}), (C, {B, AD}), (C, {D, AB}) et (D, {A, BC}). dmv suivante. D ->-> B qui correspond à la sentence S = (D, {B, AC}). On la confronte à B - et on constate que S n est comparable à aucune des sentences qui s y trouvent. On la confronte à B + qui contient (B, {A, CD}) et (AC, {B, D}) auxquelles S n est pas comparable. On est donc obligé de la tester. α D 1 = 3 θ(b, α D 1 ) = 3 et θ(ac, α D 1 ) = 2 et leur produit est 6, différent de 3. On en conclut qu elle est fausse et on la rajoute à B - qui contient maintenant (AB, {C, D}), (C, {A, BD}), (C, {B, AD}), (C, {D, AB}), (D, {A, BC}) et (D, {B, AC}). dmv suivante (la dernière). D ->-> C qui correspond à la sentence S = (D, {C, AB}). On la confronte à B - et on constate que S n est comparable à aucune des sentences qui s y trouvent. On la confronte à B + qui contient (B, {A, CD}) et (AC, {B, D}) auxquel les S n est pas comparable. On est donc obligé de la tester. α D 1 = 3 θ(c, α D 1 ) = 2 et θ(ab, α D 1 ) = 3 et leur produit est 6, différent de 3. On en conclut qu elle est fausse et on la rajoute à B - qui contient maintenant (AB, {C, D}), (C, {A, BD}), (C, {B, AD}), (C, {D, AB}), (D, {A, BC}), (D, {B, AC}) et (D, {C, AB}). Les dépendances multivaluées découvertes dans cet exemple sont résumées figure
69 Chapitre 5 : Proposition d une méthode de découverte de dépendances multivaluées 5.5 Conclusion. Nous avons présenté notre méthode de découverte de dépendances multivaluées en nous appuyant sur le treillis des sentences de (Flach, 2000). Notre première contribution a été de considérer que les dépendances fonctionnelles aient été découvertes au préalable pour bénéficier de l axiome de réplication. Ceci n est pas contraignant à notre sens car il nous semble peu réaliste de ne pas découvrir systématiquement les dépendances fonctionnelles dans une base de données relationnelle. Notre deuxième contribution a été le double parcours, en profondeur d abord, du treillis d inclusion des attributs lors de l énumération des dmv candidates, afin de bénéficier dès que possible de la relation d ordre du treillis des sentences. Enfin nous avons distingué deux cas particuliers qui évitent le déroulement de l algorithme. 69
70 Conclusion Conclusion La fouille de données ou Data Mining, comme nous l avons entrevu dans ce mémoire, tend à suppléer l absence ou l imperfection des modèles déterministes de la réalité. C est pour cela que ce domaine a été initialement l apanage des statisticiens qui, eux, utilisent des modèles stochastiques. Si la classification et la prédiction ont longtemps constitué les tâches privilégiées du Data Mining, nous assistons de nos jours à l émergence de la tâche de génération d ensembles, élément par élément. Ainsi la découverte de dépendances dans une base de données relationnelle est un problème de génération. L utilisation de ces dépendances pour la construction du schéma est cruciale car elle évite les anomalies de manipulation des données de la base. Nous avons signalé comment le Data Mining était utilisé pour découvrir ces dépendances dans les données enregistrées au fil du temps dans la base en remarquant qu il était impossible dans la pratique de les découvrir toutes lors de la conception du schéma. La littérature offre nombre de méthodes de découverte de ce genre de dépendances et nous en avons étudié quatre avec un degré de détail assez poussé ; deux concernent la découverte de dépendances fonctionnelles et deux la découverte de dépendances multivaluées. Nous avons remarqué que ces méthodes de découverte de dépendances fonctionnelles étaient prises en défaut par un cas particulier réel et réaliste et signalé comment y remédier. De plus, nous inspirant des méthodes de découverte des dépendances multivaluées, nous avons synthétisé leurs aspects les plus intéressants pour proposer notre propre méthode. Nous pouvons considérer les perspectives de ce travail sous deux aspects qui nous semblent importants. D une part, nous estimons opportun d approfondir certains points intrinsèques à ce mémoire. Nous pensons notamment à implémenter notre méthode pour l utiliser sur des benchmarks disponibles. Bien que nous ayons illustré que notre méthode est intuitivement de moindre complexité que celles étudiées (Flach, 2000) (Men Hin Yan, 2001), nous estimons que nous devons confirmer cette intuition par l établissement de sa complexité théorique. Par rapport aux méthodes que nous avons rencontrées pour la découverte de dépendances fonctionnelles, nous avons mis en évidence des cas réels et réalistes qui mettent en défaut les algorithmes Dep-Miner et Tane. Bien que ce soit fait dans ce mémoire, nous pensons communiquer plus explicitement à la communauté ces cas de défauts et les solutions adoptées. Enfin nous jugeons intéressant de généraliser les résultats obtenus dans ce mémoire aux bases de données avec valeurs manquantes ou incertaines. Nous signalons que ce type de bases de données est très fréquemment rencontré. 70
71 Bibliographie Bibliographie Agrawal, R., Srikant, R Fast Algorithms for Mining Association Rules. Santiago Chile : Proceedings of the 20th VLDB Conference, Mining Generalized Association Rules. Zurich, Switzerland : Proceedings of the 21st VLDB Conference, Armstrong, W.,W Dependency structures of data base relationships. : Proc IFIP Congress,pp , North Holland, Amsterdam, Ben Yahia, S., Hamrouni, T. Mephu Nguifo, E Frequent Closed Itemset Based Algorithms: A Thorough Structural and Analytical Survey. SIGKDD Explorations 8(1)., Berge, C Graphs and hypergraphs. North-Holland Mathematical Library 6, American Elsevier 2d. rev. edition, Codd, E., F A Relational Model of Data for Large Shared Data Banks. Communications of the ACM. 1970, Vol. 13, Extending the Database Relational Model to Capture More Meaning. ACM TODS v.4, n.4, p , Dec. 1979, Further Normalization of Database Relational Model. Rustin, R., ed. Prentice Hall, Date, C., J An Introduction To Database Systems. Addison-Wesley, Fourth edition, Fagin, R A Complete Axiomatization for Functional and Multivalued Dependencies in Database Relations. Toronto : Proc. ACM SIGMOD, D.C.P. Smith editor,
72 Bibliographie Multivalued Dependencies and a new normal form for reletional databases. ACM- TODS. 1977, Vol. 2, 3 (sept. 1977) Normal Forms and Relational Database Operators. Proc. of the ACM-SIGMOD 79 conf. Boston, Mass Flach, P., A, Savnik, I Discovery of Multivalued Dependencies from Relations. Freiburg : Tecnical Report. UMI Order Number: report00135, Albert-Ludwigs University, Flach, P., A., Savnik, I Bottom-up Induction of Functional Dependencies from Relations. Proc. AAAI'93 Workshop on Knowledge Discovery In Database. G. Piatseky- Shapiro ed., Database Dependency Discovery: a Machine Learning Approach. AI Communications 12(3), Hammer, M., McLeod, D The Semantic Data Model: a Modelling Mechanism for Database Applications. Austin, Texas. : Proc. of the 1978 ACM SIGMOD Conf. on Management of Data, May 31-June HB-DM Data Mining and Knowledge Discovery Handbook. Springer Science + Business Media, Inc., Huhtala, Y., Kärkkäinen, J., Porkka, P., Toivonen, H Efficient Discovery of Functional and Approximate Dependencies using Partitions. Orlando, Florida : 4th International Conference on Data Mining (ICDE'98), Jian Pei Jiawei, Han Runying Mao. CLOSET: An efficient Algorithm for Mining Frequent Closed Itemsets. Kedem, Z., Dao-Lin Pincer-Search : An Efficient Algorithm for Discovering the Maximum Frequent Set. Valencia, Spain : 6th International Conference on Extending Database Technology, Lopes, S., Petit, J-M., Lakehal, L Dep-Miner: un algorithme d'extraction des dépendances fonctionnelles. Techniques et sciences informatiques. Vol. 19, No. 10/2000, Maïer, D The Theory of Relational Databases. Copyright David Maïer Used with permission. 72
73 Bibliographie Mannila, H., Räihä, K.-J. 1994a. The design of relational databases,. Addison- Wesley 1994a. Mannila, H., Räihä,K.-J. 1994b. Algorithms for infering functional dependancies from relations. Data and Knowledge Engineering, vol. 12, no. 1, p , 1994b. Mannila, H., Toivonen, H Levelwise Search and Boarders of Theories in Knowledge Discovery. Data Mining and Knowledge Discovery. 1, , Men Hin Yan, Ada Wai Thee Fu Algorithm for Discovering Multivalued Dependencies. Atlanta, Georgia, USA : CIKM'01, Nicolas, J,-M Contributions à l'étude théorique des bases de données. Apports de la logique mathématique. Toulouse France : Thèse de Doctorat ès-sciences. Université Paul Sabatier, Pasquier, N Data Mining: Algorithmes d'extraction et de Réduction des Règles d'association dans les Bases de Données. Université de Clermont-Ferrand II. : Thèse de Doctorat d'université., Pasquier, N., Bastide, Y., Taouil, R., Lakehal, L Efficient Mining of Association Rules using Closed Itemsets Lattices. Information Systems. 1999, Vol. 24, 1, pp Peckham, J., Maryanski, F Semantic Data Models. ACM Computing Surveys, v.20, n.3, p , Sept. 1988, Smith, J., M., Smith, D., C., P Database Abstractions: Aggregation and Generalization. ACM TODS, v.2, n.2, p , June 1977, Ullman, J., D Principles of Database Systems. Computer Science Press, 2nd edition., Zaki, M., J., Hsiao, C-J CHARM : An Efficient Algorithm for Closed Association Rule Mining. Arlington, USA : Proceedings of the 2nd SIAM International Conference On Data Mining,
Introduction au Data-Mining
Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme
La classification automatique de données quantitatives
La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
LOGO. Module «Big Data» Extraction de Connaissances à partir de Données. Claudia MARINICA MCF, ETIS UCP/ENSEA/CNRS Claudia.Marinica@u-cergy.
Module «Big Data» Extraction de Connaissances à partir de Données Claudia MARINICA MCF, ETIS UCP/ENSEA/CNRS [email protected] 14 Janvier 2015 Pourquoi l extraction de connaissances à partir de
Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI
1 Déroulement d un projet en DATA MINING, préparation et analyse des données Walid AYADI 2 Les étapes d un projet Choix du sujet - Définition des objectifs Inventaire des données existantes Collecte, nettoyage
données en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar [email protected]
Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar [email protected] Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines
Introduction au datamining
Introduction au datamining Patrick Naïm janvier 2005 Définition Définition Historique Mot utilisé au départ par les statisticiens Le mot indiquait une utilisation intensive des données conduisant à des
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
République Algérienne Démocratique et Populaire
République Algérienne Démocratique et Populaire وزارة التعليم العالي والبحث العلمي Ministère de l Enseignement Supérieur et de la Recherche Scientifique UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE d ORAN
Entrepôt de données 1. Introduction
Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de
INF6304 Interfaces Intelligentes
INF6304 Interfaces Intelligentes filtres collaboratifs 1/42 INF6304 Interfaces Intelligentes Systèmes de recommandations, Approches filtres collaboratifs Michel C. Desmarais Génie informatique et génie
Chapitre VIII. Les bases de données. Orientées Objet. Motivation
Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet
Etude d Algorithmes Parallèles de Data Mining
REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR, DE LA TECHNOLOGIE ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE DE TUNIS ELMANAR FACULTE DES SCIENCES DE TUNIS DEPARTEMENT DES SCIENCES DE L INFORMATIQUE
Les algorithmes de fouille de données
Février 2005 Les algorithmes de fouille de données DATAMINING Techniques appliquées à la vente, aux services client, interdictions. Cycle C Informatique Remerciements Je remercie les personnes, les universités
et les Systèmes Multidimensionnels
Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées
Analyse de grandes bases de données en santé
.. Analyse de grandes bases de données en santé Alain Duhamel Michaël Genin Mohamed Lemdani EA 2694 / CERIM Master 2 Recherche Biologie et Santé Journée Thématique Fouille de Données Plan. 1 Problématique.
Data Mining. Vincent Augusto 2012-2013. École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.
des des Data Mining Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2012-2013 1/65 des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 2/65 des des Définition générale Le
THOT - Extraction de données et de schémas d un SGBD
THOT - Extraction de données et de schémas d un SGBD Pierre-Jean DOUSSET (France), Benoît ALBAREIL (France) [email protected], [email protected] Mots clefs : Fouille d information, base de données, système
Cours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
Information utiles. [email protected]. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring
Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring Année académique 2006-2007 Professeurs : Marco Saerens Adresse : Université catholique de Louvain Information Systems
Bases de Données. Plan
Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle
Pourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Qu est-ce qu une probabilité?
Chapitre 1 Qu est-ce qu une probabilité? 1 Modéliser une expérience dont on ne peut prédire le résultat 1.1 Ensemble fondamental d une expérience aléatoire Une expérience aléatoire est une expérience dont
Introduction au Data-Mining
Introduction au Data-Mining Gilles Gasso, Stéphane Canu INSA Rouen -Département ASI Laboratoire LITIS 8 septembre 205. Ce cours est librement inspiré du cours DM de Alain Rakotomamonjy Gilles Gasso, Stéphane
1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies
INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH
Rappel sur les bases de données
Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant
Bases de données. Chapitre 1. Introduction
Références : Bases de données Pierre Wolper Email : [email protected] URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,
Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique
Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55
Les indices à surplus constant
Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté
INTRODUCTION AU DATA MINING
INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre
Le langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
Calculer avec Sage. Revision : 417 du 1 er juillet 2010
Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Chapitre 2. Eléments pour comprendre un énoncé
Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Algorithmes d'apprentissage
Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt
Application de K-means à la définition du nombre de VM optimal dans un cloud
Application de K-means à la définition du nombre de VM optimal dans un cloud EGC 2012 : Atelier Fouille de données complexes : complexité liée aux données multiples et massives (31 janvier - 3 février
CONCEPTION Support de cours n 3 DE BASES DE DONNEES
CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...
L apprentissage automatique
L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer
Calculs de probabilités
Calculs de probabilités Mathématiques Générales B Université de Genève Sylvain Sardy 13 mars 2008 1. Définitions et notations 1 L origine des probabilités est l analyse de jeux de hasard, tels que pile
Chapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU
Odile VERBAERE UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU Résumé : Cet article présente une réflexion sur une activité de construction de tableau, y compris
Intégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction
Temps forts départementaux Le calcul au cycle 2 Technique opératoire La soustraction Calcul au cycle 2 La soustraction fait partie du champ opératoire additif D un point de vue strictement mathématique,
Modèles et simulations informatiques des problèmes de coopération entre agents
Modèles et simulations informatiques des problèmes de coopération entre agents Bruno Beaufils LIFL Axe CIM Équipe SMAC Laboratoire d'informatique Plan 1. Motivations 2. Dilemme itéré du prisonnier 3. Simulations
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement
Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Formula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Big Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique
SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des
Raisonnement probabiliste
Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens Inférence exacte Inférence approximative 1 2 Contexte
Rapport de stage d initiation
Ministère de l enseignement supérieur et de la recherche scientifique Direction Générale des Études Technologiques Institut Supérieur des Etudes Technologiques de SILIANA Département Technologies de l
Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Laboratoire 4 Développement d un système intelligent
DÉPARTEMENT DE GÉNIE LOGICIEL ET DES TI LOG770 - SYSTÈMES INTELLIGENTS ÉTÉ 2012 Laboratoire 4 Développement d un système intelligent 1 Introduction Ce quatrième et dernier laboratoire porte sur le développement
Guide du/de la candidat/e pour l élaboration du dossier ciblé
Guide du/de la candidat/e pour l élaboration du dossier ciblé en vue de l obtention du titre de "Conseiller ère diplômé e en orientation professionnelle, universitaire et de carrière" par la validation
Principe de symétrisation pour la construction d un test adaptatif
Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, [email protected] 2 Université
Programmation linéaire
Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine
Introduction à la B.I. Avec SQL Server 2008
Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline 2 Introduction à la B.I. avec SQL Server 2008 Sommaire 1 Présentation de la B.I. et SQL Server 2008... 3 1.1 Présentation rapide
Définitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Chap. 3: Le modèle de données entité-association (E.A.)
Chap. 3: Le modèle de données entité-association (E.A.) En anglais: Entity-Relationship (ER) Origines: C.Bachman (1969), P.Chen (1976). Modèle de données > décrire la réalité perçue à travers les données
Coup de Projecteur sur les Réseaux de Neurones
Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche
INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES
INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information
Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
Écriture de journal. (Virement de dépense)
Écriture de journal (Virement de dépense) SERVICE DES FINANCES Équipe de formation PeopleSoft version 8.9 Août 2014 TABLES DES MATIERES AVERTISSEMENT... 3 INTRODUCTION... 4 RAISONS JUSTIFIANT LA CRÉATION
UML (Diagramme de classes) Unified Modeling Language
UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association
Chapitre 1 Cinématique du point matériel
Chapitre 1 Cinématique du point matériel 7 1.1. Introduction 1.1.1. Domaine d étude Le programme de mécanique de math sup se limite à l étude de la mécanique classique. Sont exclus : la relativité et la
Probabilités. C. Charignon. I Cours 3
Probabilités C. Charignon Table des matières I Cours 3 1 Dénombrements 3 1.1 Cardinal.................................................. 3 1.1.1 Définition............................................. 3
INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES
INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et
Le produit semi-direct
Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.
Des données à la connaissance client. A la découverte de la plateforme de connaissance client knowlbox
Des données à la connaissance client A la découverte de la plateforme de connaissance client knowlbox Livre blanc mai 2013 A l heure du Big Data, les entreprises s interrogent davantage sur leurs données.
LA CONDUITE D UNE MISSION D AUDIT INTERNE
1 LA CONDUITE D UNE MISSION D AUDIT INTERNE Toute mission d Audit est réalisée en trois étapes essentielles: 1 ère étape : La préparation de la mission 2 ème étape : La réalisation de la mission 3 ème
Big Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de
LE MODELE CONCEPTUEL DE DONNEES
LE MODELE CONCEPTUEL DE DONNEES Principe : A partir d'un cahier des charges, concevoir de manière visuelle les différents liens qui existent entre les différentes données. Les différentes étapes de réalisation.
Chapitre 5 LE MODELE ENTITE - ASSOCIATION
Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Méthodes d évolution de modèle produit dans les systèmes du type PLM
Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par
APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE
SûretéGlobale.Org La Guitonnière 49770 La Meignanne Téléphone : +33 241 777 886 Télécopie : +33 241 200 987 Portable : +33 6 83 01 01 80 Adresse de messagerie : [email protected] APPORT DES
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur
Améliorer les performances du site par l'utilisation de techniques de Web Mining
Améliorer les performances du site par l'utilisation de techniques de Web Mining CLUB SAS 2001 17/18 octobre 2001 Stéfan Galissie LINCOLN [email protected] [email protected] 2001 Sommaire
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Christophe CANDILLIER Cours de DataMining mars 2004 Page 1
Christophe CANDILLIER Cours de DataMining mars 2004 age 1 1. Introduction 2. rocessus du DataMining 3. Analyse des données en DataMining 4. Analyse en Ligne OLA 5. Logiciels 6. Bibliographie Christophe
Format de l avis d efficience
AVIS D EFFICIENCE Format de l avis d efficience Juillet 2013 Commission évaluation économique et de santé publique Ce document est téléchargeable sur www.has-sante.fr Haute Autorité de santé Service documentation
Dossier I Découverte de Base d Open Office
ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines
Bases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Image d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
LIVRE BLANC Décembre 2014
PARSING MATCHING EQUALITY SEARCH LIVRE BLANC Décembre 2014 Introduction L analyse des tendances du marché de l emploi correspond à l évidence à une nécessité, surtout en période de tension comme depuis
Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Annexe 6. Notions d ordonnancement.
Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. [email protected] Résumé Ce document
Chapitre 0 Introduction à la cinématique
Chapitre 0 Introduction à la cinématique Plan Vitesse, accélération Coordonnées polaires Exercices corrigés Vitesse, Accélération La cinématique est l étude du mouvement Elle suppose donc l existence à
