480 likes | 626 Views
MATHÉMATIQUES DISCRÈTES Chapitre 6 (relations). François Meunier DMI. Relations. Des objets mathématiques qui spécifient et décrivent des relations entre des éléments d’un ensemble ou plusieurs ensembles.
E N D
MATHÉMATIQUES DISCRÈTES Chapitre 6 (relations) François Meunier DMI
Relations • Des objets mathématiques qui spécifient et décrivent des relations entre des éléments d’un ensemble ou plusieurs ensembles. • Une fonction f qui projette un ensemble A sur un ensemble B assigne exactement un élément de B à chaque élément de A. • Les relations n’ont pas de restriction. Un élément dans A peut être assigné à plus qu’un élément dans B. • Les relations sont des généralisations des fonctions; elles peuvent être utilisées pour exprimer une plus grande classe de relations entre ensembles.
Relations binaires • Avec A, B des ensembles. Les relations entre les éléments de ces deux ensembles sont représentés par une Relation binaire. • i.e. une relation binaire de A à B est un ensemble R où a R b dénote (a, b) ∈ R. a est en relation avec b par R. R A X B • Les éléments de A X B et R sont des paires ordonnées puisque le premier élément de l’ensemble vient de l’ensemble A et le second élément de l’ensemble B. • Posons A = {2, 3, 4}, et B ={4, 5}. Alors A X B ={(2, 4), (2, 5), (3, 4), (3, 5), (4, 4), (4, 5)}.
Relations VS graphes • Posons A = {2, 3, 4}, et B ={4, 5}. Alors A X B ={(2, 4), (2, 5), (3, 4), (3, 5), (4, 4), (4, 5)}. (2, 4) 2 (2, 5) (3, 4) 3 (3, 5) (4, 4) 4 (4, 5)
Relations binaires • Posons A = {2, 3, 4}, et B ={4, 5}. Alors A X B ={(2, 4), (2, 5), (3, 4), (3, 5), (4, 4), (4,5)}. • Autres relations de A à B: • i)Ø • ii) {(2, 4)} • iii) {(2, 4), (2, 5)} • iv) {(2, 4), (3, 4), (4, 4)} • v) {(2, 4), (3, 4), (4, 5)} • vi) A X B • Pour des ensembles finis A, B avec |A| = m et|B| = n, il existe 2mn relations de A à B, incluant la relation vide et la relation A X B elle-même.
Propriétés des Relations • La relation de A sur A i.e. A X A est une relation binaire sur A. • Cette relation est Réflexive, si chaque élément a de A est en relation avec lui-même. • R sur A est réflexive si ∀a((a, a) ∈ R) où A est l’univers du discours.
Propriétés des Relations • Posons A = {1, 2, 3, 4} • R1 et R2 sont des relations réflexives puisqu’elles contiennent toutes les paires de la forme (a, a). • R1 = {(1, 1), (1, 2), (1, 4), (2, 1), (2, 2), (3, 3), (4, 1), (4, 4)}. • R2 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)}.
Propriétés des Relations • La relation R sur A est symétrique si (a, b) ∈ R ⇒ (b, a) ∈ R, pour tout a, b ∈ A • Posons A={1, 2, 3} • R1 = {(1, 2), (2, 1), (1, 3), (3, 1)}. symétrique • R2= {(1, 1), (2, 2), (3, 3), (2, 3), (3, 2)}. réflexive et symétrique • R3= {(1, 1), (2, 3), (3, 3)}. Non réflexive et non symétrique.
Propriétés des Relations • Une relation R sur A est antisymétrique si (a, b)R et (b, a)R seulement quand a = b • Aussi exprimée par: a≠b, (a,b)R→ (b,a)R. • Une relation R sur A est asymétrique si (a, b)R implique que (b,a)R pour tout a, bA.
Antisymmétrie • Les termes symétrie et antisymétrie ne sont pas opposés, puisqu’une relation peut avoir les deux propriétés ou ne pas les avoir. • Une relation ne peut avoir ces deux propriétés si elle contient des paires de la forme (a, b) où a ≠ b. • Symétrie et Asymétrie, sont opposées.
Symétrie - Antisymétrie • A = {1, 2, 3, 4} R1 = {(1,1), (1, 2), (2, 1)} Symétrique R2 = {(1,1), (1, 2), (1, 4),(2, 1), (2, 2), (3, 3), (4, 1), (4, 4)} Symétrique R3 = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 4)} Antisymétrique R4 = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} Asymétrique
Transitivité • Une relation R est transitive ssi (pour tout a,b,c)(a,b)R (b,c)R→ (a,c)R. • Donc si a est “ enrelation avec ”b et b est “enrelation avec ”c, alors a est “enrelation avec ” c avec b jouant le rôle d’ “intermédiaire”. • Ex: A = {1, 2, 3, 4) R = {(2, 1), (3, 1), (3, 2), (4, 1), (4, 2), (4, 3)}
Combiner des Relations • Les relations sont des ensembles, et par conséquent, nous pouvons appliquer les opérations usuelles sur les ensemblessur ces relations. • Si nous avons deux relations R1 et R2, et chacune d’elle provient d’un ensemble A appliquée à un ensemble B, alors nous pouvons les combiner comme: R1 U R2, R1 ∩ R2, ou R1 – R2. • Dans chaque cas, le résultat donne une autre relation de A à B.
Combinaisons de Relations: Exemple • Posons A = {1, 2, 3} et B = {1, 2, 3, 4} R1 ={(1, 1),(2, 2),(3, 3)} R2 = {(1, 1),(1, 2),(1, 3),(1, 4)} R1∪ R2={(1, 1),(1, 2),(1, 3),(1, 4),(2, 2),(3, 3)} R1∩ R2={(1, 1)} R1– R2={(2, 2), (3, 3)} R2– R1={(1, 2),(1, 3),(1, 4)}
Combiner des Relations • Autre approche pour combiner des relations. • Définition: Posons R une relation entre A et B et S une relation entre B et C. La composition de R et S est une relation consistant de paires ordonnées (a, c), où aA, cC, et pour lequel un élément bB tel que (a, b)R et (b, c)S. LA composition de R et S est exprimée par SR. • Donc, si la relation R contient une paire (a, b) et la relation S contient une paire (b, c), alors SR contient une paire (a, c).
Combiner des Relations • Exemple: Posons D et S des relations sur A = {1, 2, 3, 4}. D = {(a, b) | b = 5 - a} “b égal (5 – a)” S = {(a, b) | a < b} “a est plus petit que b” D = {(1, 4), (2, 3), (3, 2), (4, 1)} S = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} SD = {(2, 4), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)} • D projette un élément a à l’élément (5 – a), ensuite S projette (5 – a) à tous les éléments que (5 – a), résultant à SD = {(a,b) | b>5 – a} ou SD = {(a,b) | a + b>5}.
Combiner des Relations • Définition: Posons R une relation sur A. • La puissance Rn, n = 1, 2, 3, …, est définie de façon inductive par: • R1 = R • Rn+1 = RnR • La composition multiples de R: • Rn = RR … R (n fois la relation R)
Combiner des Relations • Supposons: R définie sur N par: xRy ssi y = x2et S définie sur N par: xSy ssi y = x3 • Quelle est la relation composée SR ?
Combiner les Relations(visualisation) xRy ssi y = x 2 xSy ssi y = x 3 • Sont des fonctions (carré et cube) alors la composition SR est la fonction composition (mise à la 6ième puissance). xSRy ssi y = x 6 • Composer (combiner) les relations suivantes: 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 5 5
Combiner les Relations(visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 • Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4
Combiner les Relations(visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 • Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4
Combiner les Relations(visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 • Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4
Combiner les Relations(visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 • Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4
Combiner les Relations(visualisation) 1 1 1 2 2 2 3 3 3 4 4 5 • Établir les raccourcis possibles. Dans ce cas, tous les raccourcis passent par 1: 1 1 2 2 3 3 4
Exponentiation • Une relation R sur A peut être composée avec elle-même, donc exponentiable: DÉF: • Trouvons R 3 si R est donnée par: 1 1 2 2 3 3 4 4
Exponentiation RR 1 1 1 2 2 2 3 3 3 4 4 4
Exponentiation RR R 2 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
Exponentiation RR R 2 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 R 2R 1 1 1 2 2 2 3 3 3 4 4 4
Exponentiation RR R 2 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 R 2R R 3 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
Représentation par Graphe Orienté • Une autre façon de représenter une relation R sur A est avec un graphe orienté (GO) (“directed graph”). L’ensemble A est représenté par des noeuds (ou sommets) et quand une ralation aRb est créée, un lien orienté (ou flèche) ab est créé. Des loupes représentent aRa. • Représentons la relation R 3 par un GO.
Représentation par GO R 3 1 1 2 2 3 3 4 4
Représentation par GO R 3 1 1 2 2 3 3 4 4 2 1 3 4
Application: BD Relationnelle • Les BD Relationnelles permettent d’organiser la structure de larges BDs • Design plus simple • Fonctionnalités puissantes • Permet l’utilisation d’algorithmes de recherche efficients • Les BDs ne sont pas toutes relationnelles • Anciens systèmes de BD • XML – structure de données sous forme d’arborescence
Exemple 1 • Une BD relationnelle avec un schéma : …etc.
Exemple 2 • La table de l’addition mod 2:
Exemple 3 • Appariement entre des pigeons et des mangeoires où les pigeons peuvent partager les mangeoires: Crumb 1 Pigeon 1 Crumb 2 Pigeon 2 Crumb 3 Pigeon 3 Crumb 4 Crumb 5
Relations: Représentées comme des sous-ensembles de produits Cartésiens • Exemples: • BD {Names}×{Soaps}×{Colors}×{Jobs} • addition mod 2 {0,1}×{0,1}×{0,1} • Pigeon-Crumb {pigeons}×{crumbs} • Liens de descendances {people}×{people}
Relations: Représentées comme des sous-ensembles de produits Cartésiens • Quel est le sous-ensemble de l’addition mod 2 ? • Ce sous-ensemble est: { (0,0,0), (0,1,1), (1,0,1), (1,1,0) }
Opérations sur des BD • Plusieurs opérations découlant de la notion de relation sont utiles en BD, comme par exemples: • Jointure (join): une généralisation de l’intersection et du produit Cartésien. • Projection: restreindre le nombre de coordonnées.
Jointure (join) • La jointure de deux relations R, S est la combination de relations en reliant les derniers types (éléments, attributs) de R et les premiers types de S (supposant que ces types sont les mêmes). • Le résultat est une relation avec les types particuliers de S les types communs de S et R et les types particuliers de R.
Jointure (join) • Ex: Supposons R est l’addition mod 2 et S est la multiplication mod 2: R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } S = { (0,0,0), (0,1,0), (1,0,0), (1,1,1) } • Dans un cas 2-join nous joignons les éléments de R et S dont les 2 dernières coordonnées de R et les 2 premières de S sont égales, nous pouvons joindre ces coordonnées et garder les informations de R et S. Par exemple: (0,1,1) 2-join (0,1,1,1) (1,1,1)
Jointure (join) R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } S = { (0,0,0), (0,1,0), (1,0,0), (1,1,1) } • Avec la notation J2(R,S) pour la 2-join. J2(R,S) = { (0,0,0,0), (0,1,1,1), (1,0,1,0), (1,1,0,0) } • Pour des relations R,S, quelconque? • J0(R,S) => produit Cartésien • Jn(R,S) pour n le nombre de coordonnées de R et S => est l’intersection quand n est le nombre de coordonnées
Jointure (join) • Exemple de inner join en langage sql SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_dateFROM suppliers, ordersWHERE suppliers.supplier_id = orders.supplier_id; orders suppliers résultats
Jointure (join) • Exemple de outer join en langage sql SELECT suppliers.supplier_id, suppliers.supplier_name, orders.order_dateFROM suppliers, ordersWHERE suppliers.supplier_id = orders.supplier_id(+); orders suppliers résultats
Projection • La projection est une opération qui permet d’ignorer certaines coordonnées. • Considérons encore R: R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } • En projetant les 1ière et 3ième coordonnées, nous ignorons la 2ième coordonnée. nous générons un élément de la projection 1,3: 1,3 projection (0,1,1) (0,1)
Projection R = { (0,0,0), (0,1,1), (1,0,1), (1,1,0) } • Utilisation la notation P1,3(R) pour une projection 1,3. P1,3(R) = { (0,0), (0,1), (1,1),(1,0) }