Tupla
Unhatupla,enmatemáticas,é unhasecuenciafinitaordenada de obxectos, isto é, unhalistacun número limitado de obxectos (unha secuenciainfinitadenomínase en matemática unhafamilia).
As tuplas empréganse para describir obxectos matemáticos que teñen estrutura, é dicir, que poden descompoñerse nun certo número de compoñentes. Por exemplo, ungrafo dirixidopódese definir como unha tupla de (V,E), ondeVé o conxunto de nodos eEé osubconxuntodeV×Vque denota os vértices dografo.
Orixe do concepto
[editar|editar a fonte]O termotuplaxerouse sinxelamente por unha xeneralización da secuencia seguinte:dupla,tripla,cuádrupla,quíntupla,...n-tupla.Unha tupla de lonxitudendescríbese xeralmente como unhan-tupla.Unha 2-tupla, por exemplo, denomínase unparoudupla;unha 3-tupla, unhatriplaoutripleta.O prefixonpode ser por xeneralización calquera número enteiro positivo; pódese por exemplo denominar uncuaterniónmediante a representación dunha 4-tupla, e continuar xerando nomes sucesivamente, tales como unhaóctupla,pero moitos matemáticos prefiren a denominación rápida e sinxela de escribir "8-tupla", incluso de pronunciarse como "óctupla".
Definicións formais
[editar|editar a fonte]As principais propiedades que distinguen unha tupla de, por exemplo, unconxunto,é que:
- Un obxecto pode conter internamente (por agregación) outros obxectos.
- Os obxectos aparecen obrigatoriamente representados nunha orde dada.
Cómpre notar que a primeira das características distingue dunconxunto ordenadoe a segunda do que se denomina unmulticonxunto.Isto pódese formalizar dando a seguinte regra de identidade para dúasn-tuplas:
- (a1,a2,...,an) = (b1,b2,...,bn) si e só sia1=b1,a2=b2e así sucesivamente.
Outra forma de formalizar tuplas é medianteasociación bixectivaentre a definición dunha tupla e unha construción máis primitiva nateoría de conxuntostal e comopares ordenados.Por exemplo, unhan-tupla (conn> 2) pódese definir como unpar ordenadoda súa primeira entrada e (n−1)-tupla que conteña o resto das entradas, de tal forma que:
- (a1,a2,...,an) = (a1,(a2,...,an))
Empregando a definición máis corrente dentro da teoría de conxuntos para unpar ordenadoe deixando que o conxunto baleiro represente a tupla baleira, pódese obter un resultado correcto empregando unha definiciónindutiva:
- A 0-tupla (por exemplo a tupla baleira) represéntase por ∅
- Sexé unhan-tupla entón {{a}, {a,x}} é unha (n+ 1)-tupla.
Empregando esta definición, a 3-tupla (1,2,2) podería ser:
- (1,(2,(2,()))) = (1,(2, {{2}, {2, ∅}} )) = (1, {{2}, {2, {{2}, {2, ∅}}}} ) = {{1}, {1, {{2}, {2, {{2}, {2, ∅}}}}}}
Existe unha similitude importante aquí coa forma en que se describen obxectos nalgunhas linguaxes informáticas, tales comoLispnas que xeralmente se emprega un par ordenado, e emprégase esta abstracción para iterar todos os elementos da estrutura dan-tupla; para iso procédese da seguinte forma:
- Un símbolo especial, tal e comoNILrepresenta a unha lista baleira
- SeXé unha lista eAé un valor arbitrario, entón o par (A,X) representa unha lista cocabezallo(é dicir, o primeiro elemento)Ae acola(é dicir, o resto da estrutura)X.
Usos
[editar|editar a fonte]Uso nas ciencias de computación
[editar|editar a fonte]Nasciencias da computaciónunha tupla pode ter dous significados distintos. Xeralmente nas linguaxes deprogramación funcionale noutraslinguaxes de programación,unha tupla é un obxecto que ben pode ter datos ou diversos obxectos, de forma similar a unha tupla definida matematicamente. Un obxecto deste tipo coñécese tamén comorecord.
Unha definición máis formal do anterior parágrafo sería: conxunto de elementos de distinto tipo que se gardan de forma consecutiva en memoria.
Nalgunhas linguaxes e especialmente na teoría debases de datos,unha tupla defínese como unha función finita quemapea(asocia univocamente) os nomes con algúns valores. O seu propósito é o mesmo que se definiu nas matemáticas.
Un pequeno exemplo pode ilustrar isto:
- ( xogador: "Luís", puntuación: 25 )
Neste caso trátase dunha función que mapea o campo "xogador" coa cadea "Luís" e o campo "puntuación" ao número enteiro 25. Débese notar que a orde dos compoñentes non é relevante, e desta forma a mesma tupla pode ser re-escrita como: ( puntuación: 25, xogador: "Luís" ). Nun modelo relacional tal e como se define nas tuplas, adoita representar unha proposición simple, neste caso existe un xogador co nome "Luís" e que posúe unha puntuación de 25.
Nas linguaxes de programación as tuplas adoitan usarse para formaren estruturas de datos. Por exemplo, o seguinte podería ser unha definición dunha estrutura de datos para unhalista enlazada:
- ( value: 16, previous-node: 1174782, next-node: 1174791 )
Linguaxes de marcado
[editar|editar a fonte]Adoitan empregarse as tuplas na definición de certos elementos naslinguaxes de marcado,tales comoXML.En particular, é moi importante en parte do deseño detaxonomíasna linguaxeXBRLpara describir informes financeiros.
Cálculo relacional
[editar|editar a fonte]As tuplas teñen cabida no estudo teórico dasbases de datos,sobre todo no campo docálculo relacional,xa que proporcionan unha notación básica para formular a definición da relación en termos das relacións da base de datos. No cálculo relacional emprégase un cálculo orientado a tuplas, fronte ao orientado a dominio.
Emprégase frecuentemente na definición a gran nivel das definicións dos pares atributo-valor.
Véxase tamén
[editar|editar a fonte]Bibliografía
[editar|editar a fonte]- Bourbaki, Nicolas (2006):Eléments de mathématique. Première partie: Les strurures fondamentales de l’analyse. Livre I. Théorie des ensembles.Berlin: SpringerISBN 3-540-34034-3.
- Devlin, Keith (1993):The Joy of Sets.Springer Verlag, 2ª ed.ISBN 0-387-94094-4
- Takeuti, G. & Zaring W. M. (1971):Introduction to Axiomatic Set Theory.Springer Verlag.ISBN 978-0-387-90024-7
- Tourlakis, George J. (2003):Lectures in Logic and Set Theory. Volume 2: Set theory.Cambridge University Press.ISBN 978-0-521-75374-6