Ir al contenido

Diferencia entre revisiones de «Tupla»

De Wikipedia, la enciclopedia libre
Contenido eliminadoContenido añadido
mSin resumen de edición
Etiqueta:Reversión manual
Función de sugerencias de enlaces: 3 enlaces añadidos.
(No se muestran 14 ediciones intermedias de 10 usuarios)
Línea 1: Línea 1:
En [[matemáticas]], una '''tupla o upla '''es una lista (secuencia) ordenada y finita de elementos.
{{PA|referencias adicionales|estilo|estructura|enmarañado|matemáticas|informática|t=20200425092529}}
En [[matemáticas]], si ''n'' es un [[número natural]], entonces una '''n-upla''', también llamada '''n-tupla''', es una [[Secuencia (matemáticas)|secuencia]] o lista ordenada [[Conjunto finito|finita]] de '''''n''''' objetos, y estos elementos se dice que son sus componentes. Si llamamos <math>a1</math> al primero de estos componentes, <math>a2</math> al segundo y así sucesivamente hasta <math>n</math> la n-ésima, se designa a la n-tupla correspondiente con la notación <math>(a1, a2,..., an)</math>. La única 0-tupla es la secuencia vacía. Una n-tupla se define inductivamente desde la construcción de un [[par ordenado]].<ref>{{Cita libro|título=Matemáticas para el análisis económico|url=https://books.google.com.ar/books?id=XlpLXmLrt20C&pg=PA304#v=onepage&q&f=false|editorial=Pearson Educación|fecha=1996|fechaacceso=25 de abril de 2020|isbn=978-0-13-240615-4|idioma=es|nombre=Knut|apellidos=Sydsaeter|nombre2=Peter|apellidos2=Hammond}}</ref><ref>{{Cita libro|título=Álgebra y geometría lineal|url=https://books.google.com.ar/books?id=WarMTHijc3IC&pg=PA49&lpg=PA49|editorial=Reverte|fecha=2007|fechaacceso=25 de abril de 2020|isbn=978-84-291-5038-4|idioma=es|nombre=Andrés|apellidos=Raya|nombre2=Rafael|apellidos2=Rubio}}</ref>


* Una ''n''-tupla es una secuencia (o lista ordenada) de ''n'' elementos, donde ''n'' es un [[Número natural|número entero no negativo]].
Las tuplas suelen anotarse listando sus elementos entre paréntesis «<math>(\text{ })</math>», separados por comas. Por ejemplo, <math>(2, 7, 4, 1, 7)</math> denota una 5-tupla. A veces se usan otros delimitadores diferentes a los paréntesis, como los corchetes «<math>[\text{ }]</math>» o los paréntesis angulares «<math>\langle \text{ } \rangle</math>». Se desestima el uso de las llaves «<math>\{ \text{ } \}</math>» en este sentido porque son la notación estándar de los [[Conjunto|conjuntos]].


* Una ''n''-tupla se define [[Definición recursiva|inductivamente]] mediante la construcción de un [[par ordenado]].
Las tuplas suelen emplearse para describir otros objetos matemáticos, como los [[vector|vectores]]. Esto es, una [[Lista (estructura de datos)|lista]] con un número limitado de objetos; una secuencia ''infinita'' se denomina en matemática como una [[Familia de conjuntos|familia]], aunque hay autores que consideran el término n-tupla para denominar no solo listas finitas.
* Sólo hay una tupla 0, denominada tupla vacía.


Los matemáticos suelen escribir tuplas enumerando los elementos entre [[paréntesis]] "()" y separados por [[Coma (puntuación)|comas]]; por ejemplo, (2, 7, 4, 1, 7) denota una tupla de 5.
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 <math>(V, E)</math>, donde <math>V</math> es el conjunto de [[Nodo_(informática)|nodo]]s y <math>E</math> es el [[subconjunto]] de <math>V \times V</math> que denota las [[aristas]] del [[grafo]].

A veces se utilizan otros símbolos para rodear los elementos, como [[Corchete|corchetes]] "[]" o [[Corchete angular|corchetes angulares]] "⟨⟩". Las [[Llave (signo gráfico)|llaves]] "{}" se utilizan para especificar [[Vector (informática)|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 [[Vector|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 [[Tipo de dato|tipos de datos]] algebraicos, coincidencia de patrones y asignación de des-estructuració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 (lenguaje de programación)|C]] y los registros [[Haskell]].

Las bases de datos relacionales pueden identificar formalmente sus [[Registro (base de datos)|filas (registros)]] como tuplas.

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


== Origen del concepto ==
== 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 Hispanoamé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".
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 Hispanoamérica también se usa ''terna'' o ''tríada'').
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".


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.<ref>{{Citaweb|url=https://dle.rae.es/|título=Diccionariodelalenguaespañola{{!}}Edicióndel Tricentenario|fechaacceso=25 de abril de 2020|apellido=ASALE|nombre=RAE-|sitioweb=«Diccionario de la lengua española» - Edición del Tricentenario|idioma=es}}</ref>
Aunque es un término utilizado habitualmente dentro de la matemática y la programación,<refname="TuplasUSMChile ">{{Citaweb
| url = http://progra.usm.cl/apunte/materia/tuplas.html
| título = Tuplas
| fechaacceso = 6 de julio de 2022
| sitioweb = [[Universidad Técnica Federico Santa María]]
| cita = Una tupla es una secuencia de valores agrupados. Una tupla sirve para agrupar, como si fueran un único valor, varios valores que, por su naturaleza, deben ir juntos.
| formato = html
| urlarchivo = https://web.archive.org/web/20120827010233/http://progra.usm.cl/apunte/materia/tuplas.html
| fechaarchivo = 27 de agosto de 2012
}} </ref> la palabra «tupla» no está en el diccionario de la Real Academia Española, ni como sufijo ni como término independiente.<ref>{{Cita web|url=https://dle.rae.es/|título=Diccionario de la lengua española {{!}} Edición del Tricentenario|fechaacceso=25 de abril de 2020|apellido=ASALE|nombre=RAE-|sitioweb=«Diccionario de la lengua española» - Edición del Tricentenario|idioma=es}}</ref>


== Definiciones formales ==
== Definiciones formales ==
Línea 26: Línea 55:
:<math>(a_1, a_2, \ldots, a_n) = (a_1, (a_2, (\ldots, (a_n))))</math>
:<math>(a_1, a_2, \ldots, a_n) = (a_1, (a_2, (\ldots, (a_n))))</math>


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 [[Inducción matemática|inductiva]]:
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 [[Inducción matemática|inductiva]]:
# La 0-tupla (por ejemplo la tupla vacía) se representa por <math>\varnothing</math>.
# La 0-tupla (por ejemplo la tupla vacía) se representa por <math>\varnothing</math>.
# Si ''x'' es una ''n''-tupla entonces <math>\,\{\{a\}, \{a, x\}\}</math> es una (''n'' + 1)-tupla.
# Si ''x'' es una ''n''-tupla entonces <math>\,\{\{a\}, \{a, x\}\}</math> es una (''n'' + 1)-tupla.
Línea 38: Línea 67:
Existe una similitud importante aquí con la forma en que se describen objetos en algunos lenguajes informáticos, tales como [[lenguaje de programación Lisp|Lisp]] en los que generalmente se emplea un par ordenado, y se emplea esta abstracción para iterar todos los elementos de la estructura del ''n''-tupla, para ello se procede de la siguiente forma:
Existe una similitud importante aquí con la forma en que se describen objetos en algunos lenguajes informáticos, tales como [[lenguaje de programación Lisp|Lisp]] en los que generalmente se emplea un par ordenado, y se emplea esta abstracción para iterar todos los elementos de la estructura del ''n''-tupla, para ello se procede de la siguiente forma:
# Un símbolo especial, tal y como ''NIL'' representa a una lista vacía
# Un símbolo especial, tal y como ''NIL'' representa a una lista vacía
# Si ''X'' es una lista y ''A'' es un valor arbitrario, entonces el par (''A'', ''X'')respresentauna lista con la ''cabecera'' (es decir el primer elemento) ''A'' y la ''cola'' (es decir el resto de la estructura) ''X''.
# Si ''X'' es una lista y ''A'' es un valor arbitrario, entonces el par (''A'', ''X'')representauna lista con la ''cabecera'' (es decir el primer elemento) ''A'' y la ''cola'' (es decir el resto de la estructura) ''X''.


== Usos ==
== Usos ==
=== Ciencias de la computación ===
=== 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 [[lenguaje de programación|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).
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 [[lenguaje de programación|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.

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


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.<blockquote>Un pequeño ejemplo puede ilustrar esto:
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.


*( jugador: "Luis", puntuación: 25 )
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.


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.
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 serre-escritacomo:( 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.
Es de notar que el orden de los componentes no es relevante, de esta forma la misma tupla puede serreescritacomo:


* ( puntuación: 25, jugador: "Luis" ).
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 (estructura de datos)|lista enlazada]]:
</blockquote>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 (estructura de datos)|lista enlazada]]:<blockquote>( value: 16, previous-node: 1174782, next-node: 1174791 )</blockquote>
:( value: 16, previous-node: 1174782, next-node: 1174791 )


=== Lenguajes de marcado ===
=== Lenguajes de marcado ===
Línea 77: Línea 108:
[[Categoría:Bases de datos]]
[[Categoría:Bases de datos]]
[[Categoría:Sistemas de coordenadas]]
[[Categoría:Sistemas de coordenadas]]
[[Categoría:Notación matemática]]

Revisión actual - 03:40 8 mar 2024

Enmatemáticas,unatupla o uplaes una lista (secuencia) ordenada y finita de elementos.

Los matemáticos suelen escribir tuplas enumerando los elementos entreparéntesis"()" y separados porcomas;por ejemplo, (2, 7, 4, 1, 7) denota una tupla de 5.

A veces se utilizan otros símbolos para rodear los elementos, comocorchetes"[]" ocorchetes angulares"⟨⟩". Lasllaves"{}" se utilizan para especificarmatricesen 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 losvectores.

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 contipos de datosalgebraicos, coincidencia de patrones y asignación de des-estructuració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 estructurasCy los registrosHaskell.

Las bases de datos relacionales pueden identificar formalmente susfilas (registros)como tuplas.

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

Origen del concepto[editar]

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 usaternaotríada).

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,[1]​ la palabra «tupla» no está en el diccionario de la Real Academia Española, ni como sufijo ni como término independiente.[2]

Definiciones formales[editar]

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 elconjunto vacíorepresente 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[editar]

Ciencias de la computación[editar]

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.

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 unaestructura de datospara unalista enlazada:

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

Lenguajes de marcado[editar]

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[editar]

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[editar]

Referencias[editar]

  1. «Tuplas»(html).Universidad Técnica Federico Santa María.Archivado desdeel originalel 27 de agosto de 2012.Consultado el 6 de julio de 2022.«Una tupla es una secuencia de valores agrupados. Una tupla sirve para agrupar, como si fueran un único valor, varios valores que, por su naturaleza, deben ir juntos.»
  2. 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.