Tupla

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 23:27 12 oct 2015 por Jarould (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

En matemáticas, una tupla, es una lista ordenada de elementos. Una n-tupla es una secuencia (o lista ordenada) de n elementos, siendo n un número natural (entero no-negativo). La única 0-tupla es la secuencia vacía. Una n-tupla se define inductivamente desde la construcción de un par ordenado. Las tuplas suelen anotarse listando sus elementos entre paréntesis "", separados por comas. Por ejemplo, denota una 5-tupla. En ocasiones, se usan otros delimitadores. Como los corchetes "" o las angulares "". Las tuplas suelen emplearse para describir otros objetos matemáticos, como los vectores. Esto es, una lista con un número limitado de objetos (una secuencia infinita se denomina en matemática como una familia, aunque hay autores que consideran el término tupla para denominar no solo listas finitas). Las tuplas se emplean para describir objetos matemáticos que tienen estructura, es decir que son capaces de ser descompuestos en un cierto número de componentes. Por ejemplo, un grafo dirigido se puede definir como una tupla de (V, E) donde V es el conjunto de nodos y E es el subconjunto de V × V que denota las aristas del grafo.

Origen del concepto

El término tupla se generó sencillamente de una generalización de la secuencia siguiente: dupla, tripla, cuádrupla, quíntupla, ... n-tupla. Una tupla de longitud n se describe generalmente como una n-tupla. Una 2-tupla, por ejemplo, se denomina un par o dupla; una 3-tupla una tripla o tripleta (en Latinoamérica también se usa terna o triada). El prefijo n puede ser por generalización cualquier número entero positivo; se puede por ejemplo denominar un cuaternión mediante la representación de una 4-tupla, y continuar generando nombres sucesivamente, tales como una octupla, pero muchos matemáticos prefieren la denominación rápida y sencilla de escribir una "8-tupla" incluso si se pronunciara como "octupla".

Definiciones formales

Las principales propiedades que distinguen a una tupla de, por ejemplo un conjunto, son que:

  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 un conjunto ordenado y la segunda de los que se denomina un multiconjunto. Esto se pude formalizar dando la siguiente regla de identidad para dos n-tuplas:

Otra forma de formalizar tuplas es mediante asociación biyectiva entre la definición de una tupla y una construcción más primitiva en la teoría de conjuntos tal y como pares ordenados. Por ejemplo, una n-tupla (con n> 2) se puede definir como un par ordenado de 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 un par ordenado y dejando que el conjunto vacío represente la tupla vacía, se puede obtener un resultado correcto empleando una definición por inductiva:

  1. La 0-tupla (por ejemplo la tupla vacía) se representa por .
  2. Si x es una n-tupla entonces es una (n + 1)-tupla.

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

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

  1. Un símbolo especial, tal y como NIL representa a una lista vacía
  2. Si X es una lista y A es un valor arbitrario, entonces el par (A, X) respresenta una lista con la cabecera (es decir el primer elemento) A y la cola (es decir el resto de la estructura) X.

Usos

Ciencias de la computación

En las ciencias de la computación una tupla puede tener dos significados distintos. Generalmente en los lenguajes de programación funcional y en otros lenguajes 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 como registro (o record en 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 de bases de datos, una tupla se define como una función finita que mapea (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 re-escrita 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 una lista enlazada:

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

Lenguajes de marcado

Se suele emplear las tuplas en la definición de ciertos elementos en los lenguajes de marcado, tales como XML. En particular forma parte muy importante en parte del diseño de Taxonomías en el lenguaje XBRL para describir informes financieros.

Cálculo relacional

Las tuplas encuentran cabida en el estudio teórico de las bases de datos sobre todo en el campo del cálculo relacional ya 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 pares atributo-valor.

Véase también

Referencias