Jump to content

Tuple

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

수학에서, 튜플(tuple)은 원소(elements)의 유한한 순서화된 목록 (수열)입니다. n-튜플(n-tuple)은, n은 비-음의 정수인, n 원소의 수열 (또는 순서화된 목록)입니다. 그것이 참조되는 것처럼, 오직 하나의 0-튜플, 빈 수열, 또는 빈 튜플이 있습니다. n-튜플은 순서쌍(ordered pair)의 구성을 사용하여 귀납적으로 정의(defined inductively)됩니다.

수학자들은 괄호 "" 안에 쉼표로 구분된 원소를 나열하여 튜플을 보통 작성합니다; 예를 들어 은 5-튜플을 나타냅니다. 때때로 "[ ]" 또는 꺾쇠 괄호 "< >"와 같은, 다른 기호가 원소를 둘러싸기 위해서 사용됩니다. 중괄호 "{ }"는 자바(Java) 및 비주얼 베이직과 같은 일부 프로그래밍 언어에서는 배열을 정의하는 것에만 오직 사용되지만, 집합(sets)에 대한 표준 표기법으로써, 수학적 표현에는 사용하지 않습니다. 용어 튜플(tuple)은, 벡터(vectors)와 같은, 다른 수학적 대상을 논의하는 것에 종종 발생할 수 있습니다.

컴퓨터 과학에서, 튜플은 여러 형태로 제공됩니다. Lisp와 같은, 동적으로 유형화된 언어(dynamically typed languages)에서는, 목록이 튜플로써 공통적으로 사용됩니다.[citation needed] 대부분의 형식화된 (functional programming languages)는 튜플을 곱 유형(product type)으로 직접적으로 구현하며,[1] 대수적 데이터 유형(algebraic data types), 패턴 일치(pattern matching) 및 소멸 할당과 밀접하게 연관됩니다.[2] 많은 프로그래밍 언어가, 레이블에 의해 접근하는 비-순서화된 원소를 특색을 이루는, 레코드 유형(record types)으로써 알려진, 튜플에 대한 대안을 제공합니다.[3] 몇 개의 프로그래밍 언어는, C 구조체(C structs)와 하스켈 레코드에서와 같은, 순서화된 튜플 곱 유형과 비-순서화된 레코드 유형을 단일 구조로 결합합니다. 관계형 데이터베이스(Relational database) 행(row) (레코드)을 튜플로써 공식적으로 식별할 수 있습니다.

튜플은 관계 대수(relational algebra)에서 역시 발생합니다; 자원 기술 프레임워크(Resource Description Framework, RDF)시맨틱 웹(semantic web)을 프로그래밍 할 때; 언어학(linguistics)에서;[4] 그리고 철학(philosophy)에서.[5]

Etymology

이 용어는 single, couple/double, triple, quadruple, quintuple, sextuple, septuple, octuple, ..., n‑튜플, ...과 같은 수열의 추상화로 기원되었으며, 여기서 접두사는 숫자-표시의 라틴어(Latin) 이름에서 가져옵니다. 고유한 0-튜플은 영 튜플 또는 빈 튜플이라고 합니다. 1-튜플은 싱글 (또는 싱글톤)이라고 하고, 2-튜플은 순서쌍 또는 커플이라고 하고, 3-튜플은 트리플 (또는 트리플렛)이라고 합니다. 숫자 n은 임의의 비-음의 정수(integer)일 수 있습니다. 예를 들어, 복소수(complex number)는 실수의 2-튜플, 쿼터니언(quaternion)은 4-튜플로, 옥토니언(octonion)은 8-튜플로, 세데니온(sedenion)은 16-튜플로 표현될 수 있습니다.

비록 이들 사용은 ‑uple을 접미사로 취급하지만, 원래 접미사는 "triple" (세-겹) 또는 "decuple" (열-겹)에서와 같이 ‑ple였습니다. 이것은 "duplex"에서와 같이 고전 및 후기 고대의 ‑plex("folded"을 의미)를 대체했던 그리스어(Greek) ‑πλοῦς와 관련된 중세 라틴어 plus ("more"를 의미)에서 유래합니다.[6][a]

Names for tuples of specific lengths

Tuple length, Name Alternative names
0 empty tuple null tuple / empty sequence / unit
1 monuple single / singleton / monad
2 couple double / ordered pair / two-ple / twin / dual / duad / dyad / twosome
3 triple treble / triplet / triad / ordered triple / threesome
4 quadruple quad / tetrad / quartet / quadruplet
5 quintuple pentuple / quint / pentad
6 sextuple hextuple / hexad
7 septuple heptuple / heptad
8 octuple octa / octet / octad / octuplet
9 nonuple nonad / ennead
10 decuple decad / decade (antiquated)
11 undecuple hendecuple / hendecad
12 duodecuple dozen / duodecad
13 tredecuple baker's dozen
14 quattuordecuple
15 quindecuple
16 sexdecuple
17 septendecuple
18 octodecuple
19 novemdecuple
20 vigintuple
21 unvigintuple
22 duovigintuple
23 trevigintuple
24 quattuorvigintuple
25 quinvigintuple
26 sexvigintuple
27 septenvigintuple
28 octovigintuple
29 novemvigintuple
30 trigintuple
31 untrigintuple
32 duotrigintuple
40 quadragintuple
41 unquadragintuple
50 quinquagintuple
60 sexagintuple
70 septuagintuple
80 octogintuple
90 nongentuple
100 centuple
1,000 milluple chiliad

에 대해, 위 테이블에서 튜플 이름은 "to multiply [the direct object] by "를 의미하는 동사로도 사용할 수 있음을 주목하십시오; 예를 들어 "to quintuple"는 "to multiply by 5"를 의미합니다. 만약 이면, 결합된 동사는 "to double"입니다. 역시 "to multiple by 3/2"를 의미하는 동사 "sesquiple"가 있습니다. 이론적으로, "monuple"도 이런 방법으로 사용될 수 있습니다.

Properties

둘의 n-튜플의 항등식에 대해 일반적인 규칙은 다음입니다:

if and only if .

따라서 튜플은 집합(set)으로부터 그것을 구별하는 속성을 가집니다:

  1. 튜플은 같은 원소를 여러 인스턴스를 포함할 수 있으므로, 따라서

튜플은 이지만; 집합은 입니다.

  1. 튜플 원소는 순서화되었습니다: 튜플은 이지만, 집합은 입니다.
  2. 튜플은 원소의 유한 개수를 가지고, 반면에 집합 또는 중복집합(multiset)은 원소의 무한 개수를 가질 수 있습니다.

Definitions

이전 섹션에서 설명된 속성을 튜플에 제공하는 그것의 여러 정의가 있습니다.

Tuples as functions

-튜플은 빈 함수(empty function)로 식별될 수 있습니다. 에 대해, -튜플 은 다음 (전사(surjective)) 함수(function)로 식별될 수 있습니다:

이때, 함수의 도메인(domain)은 다음이고

함수의 코도메인(codomain)은 다음이며,

다음에 의해 에 의해 정의됩니다:

즉, 는 다음에 의해 정의된 함수입니다:

이 경우에서 다음 상등은 반드시 유지됩니다:

.
Tuples as sets of ordered pairs

함수는 공통적으로 순서쌍의 특정 집합인 그래프(graphs)로 식별됩니다. 실제로, 많은 저자들이 그래프를 함수의 정의로 사용합니다. "함수"의 이 정의를 사용하여, 위의 함수 는 다음과 같이 정의될 수 있습니다:

Tuples as nested ordered pairs

집합 이론에서 튜플을 모델링하는 또 다른 방법은 중첩된 순서 쌍(ordered pair)입니다. 이 접근 방식은 순서 쌍의 개념이 이미 정의되어 있다고 가정합니다.

  1. 0-튜플 (즉, 빈 튜플)은 빈 집합 에 의해 표현됩니다.
  2. n > 0을 갖는 n-튜플은 그것의 첫 번째 엔트리와 (n − 1)-튜플의 순서 쌍으로 정의될 수 있습니다 ((n − 1)-튜플은 n > 1일 때 남아있는 엔트리를 구성합니다):

이 정의는 (n − 1)-튜플에 재귀적으로 적용될 수 있습니다:

따라서, 예를 들어:

이 정의의 변형은 나머지 끝에서 원소를 "벗기기" 시작합니다:

  1. 0-튜플은 빈 집합 입니다.
  2. n > 0에 대해:

이 정의는 재귀적으로 적용될 수 있습니다:

따라서, 예를 들어:

Tuples as nested sets

순서쌍에 대한 쿠라토프스키의 표현을 사용하여, 위의 두 번째 정의는 순수 집합 이론(set theory)의 관점에서 다시 공식화될 수 있습니다:

  1. 0-튜플 (즉, 빈 튜플)은 빈 집합 에 의해 표현됩니다;
  2. n-튜플 로 놓고, 라고 놓습니다. 그런-다음, 입니다. (오른쪽 화살표, 는 "와 인접됨"으로 읽힐 수 있습니다.)

이 공식화에서:

n-tuples of m-sets

이산 수학(discrete mathematics), 특히 조합론(combinatorics)과 유한 확률 이론(probability theory)에서, n-튜플은 다양한 세는 문제의 문맥에서 발생하고 길이 n의 순서화된 목록으로 보다 비공식적으로 처리됩니다.[7] 엔트리가 m 원소의 집합에서 오는 n-튜플은 반복을 갖는 배열, 다중집합의 순열, 및 일부 비-영어 문헌에서는 반복을 갖는 변형이라고도 합니다. m-집합의 n-튜플의 숫자는 mn입니다. 이것은 조합론적 곱의 규칙(rule of product)에서 따릅니다.[8] 만약 S카디널리티(cardinality) m의 유한 집합이면, 이 숫자는 n-겹 데카르트 거듭제곱(Cartesian power) S × S × ⋯ × S의 카디널리티입니다. 튜플은 이 곱 집합의 원소입니다.

Type theory

프로그래밍 언어에서 공통적으로 사용되는 유형 이론(type theory)에서, 튜플은 곱 유형(product type)을 가집니다; 이것은 길이뿐만 아니라 각 구성 요소의 기본 유형을 결정합니다. 공식적으로:

그리고 투영(projection)은 항 생성자입니다:

관계형 모델(relational model)에 사용된 레이블-지정된 원소를 갖는 튜플은 레코드 유형(record type)을 가집니다. 이들 유형은 모두 단순 유형화된 람다 계산법(simply typed lambda calculus)의 단순 확장으로 정의될 수 있습니다.[9]

유형 이론에서 튜플의 개념과 집합 이론에서 개념은 다음과 같은 방법으로 관련되어 있습니다: 만약 우리가 유형 이론의 자연스러운 모델(model)을 고려하고, 의미론적 해석을 나타내기 위해 스캇 대괄호를 사용하면, 모델은 다음을 만족하는 일부 집합 로 구성됩니다: (주목: 여기서 유형과 집합을 구별하기 위해 기울임꼴을 사용함)

그리고 기본 항의 해석은 다음입니다:

.

유형 이론의 n-튜플은 집합 이론의 n-튜플로 자연스러운 해석을 가집니다:[10]

단위 유형(unit type)은 의미론적 해석으로 0-튜플을 가집니다.

See also

Notes

  1. ^ Compare the etymology of ploidy, from the Greek for -fold.

References

  1. ^ https://wiki.haskell.org/Algebraic_data_type
  2. ^ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
  3. ^ http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order
  4. ^ "N‐tuple - Oxford Reference". oxfordreference.com. Retrieved 1 May 2015.
  5. ^ Blackburn, Simon (2016) [1994]. "ordered n-tuple". The Oxford Dictionary of Philosophy. Oxford quick reference (3 ed.). Oxford: Oxford University Press. p. 342. ISBN 9780198735304. Retrieved 2017-06-30. ordered n-tuple[:] A generalization of the notion of an [...] ordered pair to sequences of n objects.
  6. ^ OED, s.v. "triple", "quadruple", "quintuple", "decuple"
  7. ^ D'Angelo & West 2000, p. 9
  8. ^ D'Angelo & West 2000, p. 101
  9. ^ Pierce, Benjamin (2002). Types and Programming Languages. MIT Press. pp. 126–132. ISBN 0-262-16209-1.
  10. ^ Steve Awodey, From sets, to types, to categories, to sets, 2009, preprint

Sources

External links

  • The dictionary definition of tuple at Wiktionary