Tupla

concepto matemático
Esta es unaversión antiguade esta página, editada a las01:45 27 mar 2022porSibenis(discusión·contribs.).La dirección URL es unenlace permanentea esta versión, que puede ser diferente de laversión actual.

Enmatemáticas,unatuplaes una lista (secuencia) ordenada finita de elementos. Una n-tupla es una secuencia (o lista ordenada) de n elementos, donde n es un número entero no negativo. Sólo hay una tupla 0, denominada tupla vacía. Una n-tupla se define inductivamente mediante la construcción de un par ordenado.

Los matemáticos suelen escribir tuplas enumerando los elementos entreparéntesis"()" y separados por comas; por ejemplo, (2, 7, 4, 1, 7) denota una tupla de 5. A veces se utilizan otros símbolos para rodear los elementos, como corchetes "[]" o corchetes angulares "⟨⟩". Las llaves "{}" se utilizan para especificar matrices en algunos lenguajes de programación, pero no en expresiones matemáticas, ya que son la notación estándar para conjuntos. El término tupla puede aparecer a menudo cuando se habla de otros objetos matemáticos, como los vectores.

En informática, las tuplas se presentan de muchas formas. La mayoría de los lenguajes de programación funcional tipificados implementan tuplas directamente como tipos de productos, estrechamente asociados con tipos de datos algebraicos, coincidencia de patrones y asignación de desestructuración. Muchos lenguajes de programación ofrecen una alternativa a las tuplas, conocidas como tipos de registro, que presentan elementos desordenados a los que se accede por etiqueta. Algunos lenguajes de programación combinan tipos de productos de tuplas ordenadas y tipos de registros desordenados en una única construcción, como en las estructuras C y los registros Haskell. Las bases de datos relacionales pueden identificar formalmente sus filas (registros) como tuplas.

Las tuplas también ocurren en el álgebra relacional; al programar la web semántica con Resource Description Framework (RDF); en lingüística; y en filosofía.

Origen del concepto

El términotuplase generó sencillamente de una generalización de la secuencia siguiente:dupla,tripla,cuádrupla,quíntupla,...n-tupla.Una tupla de longitudnse describe generalmente como unan-tupla.Una 2-tupla, por ejemplo, se denomina unparodupla;una 3-tupla unatriplaotripleta(en Hispanoamérica también se usaternaotriada). El prefijonpuede ser por generalización cualquier número entero positivo; se puede, por ejemplo, denominar uncuaterniónmediante la representación de una 4-tupla, y continuar generando nombres sucesivamente, tales como unaoctupla,pero muchos matemáticos prefieren la denominación rápida y sencilla de escribir una "8-tupla" incluso si se pronunciara como "octupla".

Aunque es un término utilizado habitualmente dentro de la matemática y la programación, la palabra «tupla» no está en el diccionario de la Real Academia Española, ni como sufijo ni como término independiente.[1]

Definiciones formales

Las principales propiedades que distinguen una tupla de, por ejemplo, unconjunto,son que en dicha tupla:

  1. Un objeto puede contener internamente (por agregación) a otros objetos.
  2. Los objetos aparecen obligatoriamente representados en un orden dado.

Es de notar que la primera de las características distingue de lo que se denomina unmulticonjuntoy la segunda de los que se denomina unconjunto ordenado.Esto se puede formalizar dando la siguiente regla de identidad para dosn-tuplas:

Otra forma de formalizar tuplas es medianteasociación biyectivaentre la definición de una tupla y una construcción más primitiva en lateoría de conjuntostal y comopares ordenados.Por ejemplo, unan-tupla (conn> 2) se puede definir como unpar ordenadode su primera entrada y (n−1)-tupla que contenga el resto de las entradas, de tal forma que:

Empleando la definición más corriente dentro de la teoría de conjuntos para unpar ordenadoy dejando que el conjunto vacío represente la tupla vacía, se puede obtener un resultado correcto empleando una definición porinductiva:

  1. La 0-tupla (por ejemplo la tupla vacía) se representa por.
  2. Sixes unan-tupla entonceses una (n+ 1)-tupla.

Empleando esta definición, la 3-tuplapodría ser:

Existe una similitud importante aquí con la forma en que se describen objetos en algunos lenguajes informáticos, tales comoLispen los que generalmente se emplea un par ordenado, y se emplea esta abstracción para iterar todos los elementos de la estructura deln-tupla, para ello se procede de la siguiente forma:

  1. Un símbolo especial, tal y comoNILrepresenta a una lista vacía
  2. SiXes una lista yAes un valor arbitrario, entonces el par (A,X) representa una lista con lacabecera(es decir el primer elemento)Ay lacola(es decir el resto de la estructura)X.

Usos

Ciencias de la computación

En lasciencias de la computaciónunatuplapuede tener dos significados distintos. Generalmente en los lenguajes deprogramación funcionaly en otroslenguajes de programación,una tupla es un objeto que bien puede tener datos o diversos objetos, de forma similar a una tupla definida matemáticamente. Un objeto de este tipo es conocido también comoregistro(orecorden inglés).

Una definición más formal del anterior párrafo sería: Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria.

En algunos lenguajes y especialmente en la teoría debases de datos,una tupla se define como una función finita quemapea(asocia unívocamente) los nombres con algunos valores. Su propósito es el mismo que se definió en las matemáticas.

Un pequeño ejemplo puede ilustrar esto:

( jugador: "Luis", puntuación: 25 )

En este caso se trata de una función que mapea el campo "jugador" con la cadena "Luis" y el campo "puntuación" al número entero 25. Es de notar que el orden de los componentes no es relevante, de esta forma la misma tupla puede ser reescrita como: ( puntuación: 25, jugador: "Luis" ). En un modelo relacional tal y como se define en las tuplas, se suele representar una proposición simple, en este caso existe un jugador con el nombre "Luis" y que posee una puntuación de 25.

En los lenguajes de programación las tuplas se suelen usar para formar estructuras de datos. Por ejemplo, lo siguiente podría ser una definición de una estructura de datos para unalista enlazada:

( value: 16, previous-node: 1174782, next-node: 1174791 )

Lenguajes de marcado

Se suele emplear lastuplasen la definición de ciertos elementos en loslenguajes de marcado,tales comoXML.En particular forma parte muy importante en parte del diseño deTaxonomíasen el lenguajeXBRLpara describir informes financieros.

Cálculo relacional

Las tuplas encuentran cabida en el estudio teórico de lasbases de datossobre todo en el campo delcálculo relacionalya que proporcionan una notación básica para formular la definición de la relación en términos de las relaciones de la base de datos. En el cálculo relacional se emplea el cálculo orientado a tuplas, frente al orientado a dominio. Se emplea muy a menudo en la definición a gran nivel de las definiciones de los paresatributo-valor.

Véase también

Referencias

  1. ASALE, RAE-.«Diccionario de la lengua española | Edición del Tricentenario».«Diccionario de la lengua española» - Edición del Tricentenario.Consultado el 25 de abril de 2020.