Tuple
En mathématiques , un tuple ou upla est une liste ordonnée finie (séquence) d'éléments. Un n-uplet est une séquence (ou une liste ordonnée) de n éléments, où n est un entier non négatif. Il n'y a qu'un seul tuple 0, appelé tuple vide. Un n-uplet est défini inductivement en construisant une paire ordonnée.
Les mathématiciens écrivent souvent des tuples en listant les éléments entre parenthèses "()" et séparés par des virgules ; par exemple, (2, 7, 4, 1, 7) désigne un tuple de 5. D'autres symboles sont parfois utilisés pour entourer des éléments, tels que les crochets "[]" ou les crochets "⟨⟩". Les accolades "{}" sont utilisées pour spécifier des tableaux dans certains langages de programmation, mais pas dans les expressions mathématiques, car elles sont la notation standard pour les ensembles. Le terme tuple peut apparaître souvent lorsque l'on parle d'autres objets mathématiques, tels que les vecteurs.
En informatique, les tuples se présentent sous de nombreuses formes. La plupart des langages de programmation fonctionnels typés implémentent les tuples directement en tant que types de produits, étroitement associés aux types de données algébriques, à la correspondance de modèles et à l'affectation de déstructuration. De nombreux langages de programmation offrent une alternative aux tuples, appelés types d'enregistrement, qui ont des éléments non ordonnés accessibles par balise. Certains langages de programmation combinent des types de produits de tuple ordonnés et des types d'enregistrements non ordonnés dans une seule construction, comme dans les structures C et les enregistrements Haskell. Les bases de données relationnelles peuvent identifier formellement leurs lignes (enregistrements) en tant que tuples.
Les tuples se produisent également en algèbre relationnelle ; en programmant le web sémantique avec le Resource Description Framework (RDF) ; en linguistique; et en philosophie.
Origine du concept
Le terme tuple a été généré simplement à partir d'une généralisation de la séquence suivante : duple , triple , quadruple , quintuple , ... n-tuple . Un tuple de longueur n est généralement décrit comme un n - tuple . Un 2-uplet, par exemple, est appelé une paire ou un duple ; un 3-uplet un triplet ou un triplet (en Amérique latine , le triple ou la triade est également utilisé ). Le préfixe n peut être par généralisation tout entier positif ; on peut, par exemple, nommer un quaternion en représentant un 4-uplet, et continuer à générer des noms successivement, comme un otuple , mais de nombreux mathématiciens préfèrent la dénomination rapide et facile d'écrire un "8-uplet" même s'il se prononce comme " octuple".
Bien qu'il s'agisse d'un terme couramment utilisé en mathématiques et en programmation, [ 1 ] le mot "tuple" ne figure pas dans le dictionnaire de l'Académie royale espagnole, ni en tant que suffixe ni en tant que terme indépendant. [ 2 ]
Définitions formelles
Les principales propriétés qui distinguent un tuple de, disons, un set , sont que dans un tel tuple :
- Un objet peut contenir en interne (par agrégation) d'autres objets.
- Les objets sont nécessairement représentés dans un ordre donné.
Notez que la première caractéristique se distingue de ce qu'on appelle un multiset et la seconde de ce qu'on appelle un ensemble ordonné . Cela peut être formalisé en donnant la règle d'identité suivante pour deux n -uplets :
Une autre façon de formaliser les tuples est par association bijective entre la définition d'un tuple et une construction plus primitive en théorie des ensembles comme les paires ordonnées . Par exemple, un n -uplet (avec n > 2) peut être défini comme une paire ordonnée de sa première entrée et ( n −1)-uplet contenant le reste des entrées, tel que :
En utilisant la définition théorique des ensembles la plus courante pour une paire ordonnée et en laissant l'ensemble vide représenter le tuple vide, un résultat correct peut être obtenu en utilisant une définition inductive :
- Le 0-tuple (c'est-à-dire le tuple vide) est représenté par .
- Si x est un n -uplet alors c'est un ( n + 1)-uplet.
En utilisant cette définition, le 3-uplet pourrait être :
Il y a ici une similitude importante avec la façon dont les objets sont décrits dans certains langages informatiques, tels que Lisp , où une paire ordonnée est généralement utilisée, et cette abstraction est utilisée pour itérer à travers tous les éléments de la structure n - tuple, à Ceci procède comme suit:
- Un symbole spécial, tel que NIL représente une liste vide
- Si X est une liste et A est une valeur arbitraire, alors la paire ( A , X ) représente une liste avec la tête (c'est-à-dire le premier élément) A et la queue (c'est-à-dire le reste de la structure) X .
Utilise
Informatique
En informatique, un tuple peut avoir deux significations différentes. Généralement dans les langages de programmation fonctionnels et autres langages de programmation , un tuple est un objet qui peut contenir des données ou plusieurs objets, semblable à un tuple défini mathématiquement. Un objet de ce type est également appelé enregistrement .
Une définition plus formelle du paragraphe précédent serait : Ensemble d'éléments de différents types qui sont stockés consécutivement en mémoire.
Dans certains langages et en particulier dans la théorie des bases de données , un tuple est défini comme une fonction finie qui mappe (associe de manière unique) des noms à certaines valeurs. Son but est le même que celui défini en mathématiques.
Un petit exemple peut illustrer cela :
- (joueur : "Luis", score : 25)
Dans ce cas, il s'agit d'une fonction qui mappe le champ "joueur" sur la chaîne "Luis" et le champ "score" sur l'entier 25. Il convient de noter que l'ordre des composants n'est pas pertinent, de cette manière le même tuple peut être réécrit comme suit : ( score : 25, joueur : "Louis" ). Dans un modèle relationnel tel que défini dans les tuples, une proposition simple est généralement représentée, dans ce cas il y a un joueur qui s'appelle "Luis" et qui a un score de 25.
Dans les langages de programmation, les tuples sont souvent utilisés pour former des structures de données. Par exemple, ce qui suit pourrait être une définition d'une structure de données pour une liste chaînée :
- ( valeur : 16, nœud-précédent : 1174782, nœud-suivant : 1174791 )
Langages de balisage
Les tuples sont souvent utilisés dans la définition de certains éléments dans les langages de balisage , tels que XML . En particulier, c'est une partie très importante de la conception des taxonomies dans le langage XBRL pour décrire les rapports financiers.
Calcul relationnel
Les tuples trouvent une place dans l'étude théorique des bases de données, en particulier dans le domaine du calcul relationnel , car ils fournissent une notation de base pour formuler la définition de la relation en termes de relations de base de données. Dans le calcul relationnel, le calcul orienté tuple est utilisé, par opposition au calcul orienté domaine. Il est le plus souvent utilisé dans la définition de haut niveau des définitions de paires attribut - valeur .
Voir aussi
Références
- ^ "Tuples" (html) . Université Technique Federico Santa Maria . Archivé de l'original le 27 août 2012 . Récupéré le 6 juillet 2022 . « Un tuple est une séquence de valeurs groupées. Un tuple sert à regrouper, comme s'il s'agissait d'une valeur unique, plusieurs valeurs qui, de par leur nature, doivent aller de pair. »
- ↑ ASALE, RAE-. «Dictionnaire de la langue espagnole | Édition du tricentenaire» . «Dictionnaire de la langue espagnole» - Édition du tricentenaire . Consulté le 25 avril 2020 .