Кортеж - Tuple

В математика, а кортеж конечный упорядоченный список (последовательность) элементы. An ппара это последовательность (или упорядоченный список) п элементы, где п неотрицательный целое число. Есть только один 0-кортеж, называемый пустой кортеж. An п-часть определяется индуктивно используя конструкцию упорядоченная пара.

Математики обычно пишут кортежи, перечисляя элементы в круглых скобках "( )"и разделенные запятыми; например, (2, 7, 4, 1, 7) обозначает 5-кортеж. Иногда для окружения элементов используются другие символы, например квадратные скобки «[]» или угловые скобки «⟨⟩». Фигурные скобки «{}» используются только при определении массивов в некоторых языках программирования, но не в математических выражениях, поскольку они являются стандартными обозначениями для наборы. Период, термин кортеж может часто возникать при обсуждении других математических объектов, таких как векторов.

В Информатика, кортежи бывают разных форм. Наиболее типизированный функциональное программирование языки реализуют кортежи напрямую как виды продукции,[1] тесно связан с алгебраические типы данных, сопоставление с образцом, и деструктуризация.[2] Многие языки программирования предлагают альтернативу кортежам, известную как типы записей, с неупорядоченными элементами, доступными по метке.[3] Несколько языков программирования объединяют упорядоченные типы кортежей и неупорядоченные типы записей в единую конструкцию, как в Структуры C и записи Haskell. Реляционные базы данных могут официально идентифицировать свои ряды (записи) как кортежи.

Кортежи также встречаются в реляционная алгебра; при программировании семантическая сеть с Структура описания ресурсов (RDF); в лингвистика;[4] И в философия.[5]

Этимология

Термин возник как абстракция последовательности: одиночный, пара / двойной, тройной, четверной, пятиместный, шестиместный, семикратный, восьмеричный, ..., п‑Tuple, ..., где префиксы берутся из латинский названия цифр. Уникальный 0-кортеж называется нулевым кортежем или пустым кортежем. Кортеж из 1 называется одиночным (или одноэлементным), кортеж из двух элементов называется упорядоченной парой или парой, а набор из трех элементов называется тройкой (или тройкой). Номер п может быть любым неотрицательным целое число. Например, комплексное число может быть представлен как набор из двух вещественных чисел, кватернион может быть представлен в виде 4-кратного кортежа, октонион можно представить в виде восьмерки, а седенион можно представить в виде 16-кратного кортежа.

Хотя эти способы лечения Двойник в качестве суффикса исходный суффикс был ‑Ple как «тройной» (тройной) или «десятичный» (десятикратный). Это происходит из средневековая латынь плюс (что означает "больше"), связанных с Греческий ‑Πλοῦς, пришедший на смену классическому и позднему античному Комплекс (что означает «сложенный»), как «дуплекс».[6][а]

Имена кортежей определенной длины

Длина кортежа, ИмяАльтернативные названия
0пустой кортежнулевой кортеж / пустая последовательность / единица
1монументОдин / одиночка / монада
2парадвойной / заказанная пара / двухплюсный / двойной / двойной / двойной
3тройнойтройка / тройка / тройка / упорядоченная тройка
4четырехместныйчетырехугольник / четырехугольник
5пятиместныйпятиместный / квинт / пентада
6шестеркашестерка
7семеросемеро
8восьмеркаокта / октет
9неполный
10девяносто
11необъятныйдевичник
12двенадцатиперстный
13Tredecuple
14четверка
15пятерка
16секс
17семерка
18восьмидесятилетний
19новый
20маршал
21однотипный
22двойник
23Trevigintuple
24четырехместный
25пятиместный
26секс
27семерка
28восьмиугольник
29ночь
30тройной
31беспричинный
40четырехместный
41одноквадратный
50пятерка
60секс
70семидесятилетний
80восьмидесятник
90многократный
100сотка
1,000миллиард

Характеристики

Общее правило идентичности двоих п-tuples есть

если и только если

Таким образом, кортеж имеет свойства, которые отличают его от кортежа. набор.

  1. Кортеж может содержать несколько экземпляров одного и того же элемента, поэтому
    кортеж ; но установить .
  2. Элементы кортежа упорядочены: кортеж , но установить .
  3. Кортеж состоит из конечного числа элементов, а набор или мультимножество может иметь бесконечное количество элементов.

Определения

Есть несколько определений кортежей, которые придают им свойства, описанные в предыдущем разделе.

Кортежи как функции

Если мы имеем дело с множествами, п-набор можно рассматривать как функция, F, домен которого является неявным набором индексов элементов кортежа, Икс, и чей домен, Y, - это набор элементов кортежа. Формально:

куда:

В несколько менее формальных обозначениях это говорит:

Используя это определение -наборы, то есть только один -часть, пустая функция.

Кортежи как вложенные упорядоченные пары

Другой способ моделирования кортежей в Теории множеств - вложенный заказанные пары. Этот подход предполагает, что понятие упорядоченной пары уже определено; таким образом, 2-кортеж

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором .
  2. An ппара, с п > 0, можно определить как упорядоченную пару из его первой записи и (п − 1)-tuple (который содержит оставшиеся записи, когда п > 1):

Это определение можно рекурсивно применить к (п − 1)-набор:

Так, например:

Вариант этого определения начинается с «отслаивания» элементов с другого конца:

  1. 0-кортеж - это пустой набор .
  2. За п > 0:

Это определение можно применить рекурсивно:

Так, например:

Кортежи как вложенные наборы

С помощью Представление Куратовского для упорядоченной пары, второе определение, приведенное выше, может быть переформулировано в терминах чистого теория множеств:

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором ;
  2. Позволять быть ппара , и разреши . Потом, . (Стрелка вправо, , можно прочитать как «примыкающий к».)

В этой формулировке:

п-наборы м-наборы

В дискретная математика, особенно комбинаторика и конечный теория вероятности, п-кортежи возникают в контексте различных задач подсчета и более неформально рассматриваются как упорядоченные списки длины п.[7] п-кортежи, записи которых происходят из набора м элементы также называются аранжировки с повторением, перестановки мультимножества а в некоторой неанглоязычной литературе вариации с повторением. Количество п-наборы м-сет мп. Это следует из комбинаторной правило продукта.[8] Если S конечный набор мощность м, это число является мощностью п-складывать Декартова степень S × S × ... S. Кортежи являются элементами этого набора продуктов.

Теория типов

В теория типов, обычно используется в языки программирования, кортеж имеет Тип продукта; это фиксирует не только длину, но и базовые типы каждого компонента. Формально:

и прогнозы конструкторы терминов:

Кортеж с помеченными элементами, используемый в реляционная модель имеет тип записи. Оба эти типа можно определить как простые расширения просто типизированное лямбда-исчисление.[9]

Понятия кортежа в теории типов и теории множеств связаны следующим образом: если мы рассмотрим естественные модель теории типов и используйте скобки Скотта для обозначения семантической интерпретации, тогда модель состоит из нескольких наборов (примечание: здесь используется курсив, который отличает наборы от типов), так что:

а толкование основных терминов таково:

.

В п-набор теории типов имеет естественную интерпретацию как п-набор теории множеств:[10]

В тип единицы имеет семантическую интерпретацию 0-кортежа.

Смотрите также

Примечания

  1. ^ Сравните этимологию плоидность, от греческого слова -fold.

Рекомендации

  1. ^ «Алгебраический тип данных - HaskellWiki». wiki.haskell.org.
  2. ^ «Деструктурирующее задание». Веб-документы MDN.
  3. ^ "Гарантирует ли JavaScript порядок собственности объекта?". Переполнение стека.
  4. ^ «N-кортеж». N-tuple - Оксфордский справочник. oxfordreference.com. Издательство Оксфордского университета. Январь 2007 г. ISBN  9780199202720. Получено 1 мая 2015.
  5. ^ Блэкберн, Саймон (1994). "упорядоченный набор". Оксфордский философский словарь. Краткий справочник Оксфорда (3-е изд.). Оксфорд: Oxford University Press (опубликовано в 2016 г.). п. 342. ISBN  9780198735304. Получено 2017-06-30. упорядоченный кортеж из n [:] Обобщение понятия упорядоченной пары [...] на последовательности из n объектов.
  6. ^ OED, s.v. «тройной», «четверной», «пятиместный», «десятичный»
  7. ^ Д'Анджело и Вест 2000, п. 9
  8. ^ Д'Анджело и Вест 2000, п. 101
  9. ^ Пирс, Бенджамин (2002). Типы и языки программирования. MIT Press. стр.126 –132. ISBN  0-262-16209-1.
  10. ^ Стив Аводи, От наборов до типов, категорий, наборов, 2009, препринт

Источники

внешняя ссылка

  • Словарное определение кортеж в Викисловарь