Arity - Arity

Arity (/ˈærɪтя/ (Об этом звукеСлушать)) - количество аргументы или операнды взято функция или операция в логика, математика, и Информатика. В математике арность также можно назвать ранг,[1][2] но это слово может иметь много других значений в математике. В логике и философии его еще называют привязанность и степень.[3][4] В лингвистика, его обычно называют валентность.[5]

Терминология

Латиница имена обычно используются для определенных артиклей, в основном основанные на латинском распределительные номера что означает "в группе п", хотя некоторые из них основаны на латыни Количественные числительные или порядковые номера. Например, 1-арная основана на кардинальном необычный, а не из дистрибутива Singulī это приведет к особенный.

х-арныйArity (на основе латыни)Адичити (на греческом)Пример по математикеПример в информатике
0-арныйНулевой (от нуллус)НиладскийА постоянныйФункция без аргументов, True, False
1-арныйУнарныйМонадическийПротивоположное числоЛогическое НЕ оператор
2-арныйДвоичныйДиадическийДополнениеИЛИ, XOR, И
3-арныйТроичныйТриадическийТройное произведение векторовУсловный оператор
4-арныйЧетвертичныйТетрадичКватернион
5-летнийПятеричныйПентадическийКвантиль
6-арныйSenaryШестнадцатеричный
7-арныйСемеричныйГебдомадический
8-арныйOctonaryОгдоадический
9-арныйНовенарий (альт. ненарный)Эннеадический
10-летнийDenary (альт. порядочный)Десятичный
Более 2-х аровМультикарный и множественныйПолиадический
РазличныйВариадическийСумма; например., Вариадическая функция, уменьшить

п-арый означает п операнды (или параметры), но часто используется как синоним слова «полиадический».

Эти слова часто используются для описания всего, что связано с этим числом (например, унитарные шахматы это шахматный вариант с доской 11 × 11, или Милленарная петиция 1603 г.).

Арность связь (или предикат ) - размерность домен в соответствующем Декартово произведение. (Функция арности п таким образом имеет арность п+1 рассматривается как отношение.)

В компьютерное программирование, часто бывает синтаксический различие между операторы и функции; синтаксические операторы обычно имеют арность 0, 1 или 2 ( тернарный оператор ?: тоже обычное дело). Функции сильно различаются по количеству аргументов, хотя большое количество может стать громоздким. Некоторые языки программирования также предлагают поддержку вариативные функции, т.е. функции, синтаксически принимающие переменное количество аргументов.

Примеры

Термин «арность» редко используется в повседневной жизни. Например, вместо того, чтобы говорить «арность дополнение операция - 2 "или" сложение - это операция с арностью 2 "обычно говорят, что" сложение - это бинарная операция ". В общем, именование функций или операторов с заданной арностью следует соглашению, аналогичному тому, которое используется для п-на основании системы счисления такие как двоичный и шестнадцатеричный. Один сочетает в себе латинский префикс с окончанием -ary; Например:

  • Функция с нулевым значением не принимает аргументов.
    • Пример:
  • А унарная функция принимает один аргумент.
    • Пример:
  • А двоичная функция принимает два аргумента.
    • Пример:
  • А троичная функция принимает три аргумента.
    • Пример:
  • An п-арная функция принимает п аргументы.
    • Пример:

Нулевой

Иногда полезно рассмотреть постоянный быть операцией арности 0, и поэтому называть ее нулевой.

Кроме того, в не-функциональное программирование, функция без аргументов может быть значимой и не обязательно постоянной (из-за побочные эффекты ). Часто такие функции действительно имеют некоторые скрытый ввод который может быть глобальные переменные, включая все состояние системы (время, свободная память,…). Последние являются важными примерами, которые обычно также существуют в «чисто» функциональных языках программирования.

Унарный

Примеры унарные операторы в математике и программировании включают унарные минус и плюс, операторы инкремента и декремента в C -стилей (не в логических языках), а преемник, факториал, взаимный, этаж, потолок, дробная часть, знак, абсолютная величина, квадратный корень (главный квадратный корень), комплексно сопряженный (унарный комплексного числа «один», которое, однако, состоит из двух частей на более низком уровне абстракции), и норма функции в математике. В два дополнения, адресная ссылка и логическое НЕ Операторы являются примерами унарных операторов в математике и программировании.

Все функции в лямбда-исчисление и в некоторых функциональные языки программирования (особенно потомки ML ) технически унарны, но см. н-арный ниже.

Согласно с Куайн, латинские дистрибутивы сингули, бини, терни, и так далее, термин «единичный» является правильным прилагательным, а не «унарный».[6] Авраам Робинсон следует за использованием Куайна.[7]

Двоичный

Большинство операторов, встречающихся в программировании и математике, относятся к двоичный форма. Как для программирования, так и для математики это может быть оператор умножения, оператор системы счисления, часто опускаемый возведение в степень оператор, логарифм оператор, оператор сложения, оператор деления. Логические предикаты, такие как ИЛИ, XOR, И, IMP обычно используются как бинарные операторы с двумя разными операндами. В CISC В архитектурах обычно используется два исходных операнда (и сохраняется результат в одном из них).

Троичный

Общие тернарные операции помимо общих функций в математике - это сумматорный и производство хотя может подразумеваться и другая n-арная операция.

Язык компьютерного программирования C и его различных потомков (включая C ++, C #, Ява, Юля, Perl, и др.) обеспечивает тернарный оператор ?:, также известный как условный оператор, принимая три операнда. Оценивается первый операнд (условие), и если оно истинно, результатом всего выражения является значение второго операнда, в противном случае это значение третьего операнда. В Четвертый язык также содержит тернарный оператор, */, который умножает первые два (состоящие из одной ячейки) числа и делит на третье, при этом промежуточный результат представляет собой двойной номер ячейки. Это используется, когда промежуточный результат переполняет одну ячейку. В Python язык имеет тернарное условное выражение, x, если C иначе y. Unix калькулятор постоянного тока имеет несколько тернарных операторов, таких как |, который извлечет три значения из стека и эффективно вычислит с участием произвольная точность. Кроме того, многие (RISC ) язык ассемблера инструкции являются троичными (в отличие от только двух операндов, указанных в CISC); или выше, например MOV % AX, (% BX, % CX), который загрузит (MOV) в регистр ТОПОР содержимое вычисляемой ячейки памяти, которая представляет собой сумму (скобки) регистров BX и CX.

п-ари

С математической точки зрения функция п аргументы всегда можно рассматривать как функцию одного аргумента, который является элементом некоторого пространство продукта. Однако в обозначениях может быть удобно рассматривать п-арные функции, например многолинейные карты (которые не являются линейными отображениями в пространстве продукта, если п ≠ 1).

То же самое верно и для языков программирования, где функции, принимающие несколько аргументов, всегда могут быть определены как функции, принимающие один аргумент некоторого составной тип например, кортеж, или на языках с функции высшего порядка, от карри.

Различная арность

В информатике функция, принимающая переменное количество аргументов, называется вариативный. В логике и философии предикаты или отношения, принимающие переменное количество аргументов, называются всесезонный, анадический или в различной степени полиадический.[8]

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

использованная литература

  1. ^ Хазевинкель, Михиэль (2001). Энциклопедия математики, Приложение III. Springer. п. 3. ISBN  978-1-4020-0198-7.
  2. ^ Шехтер, Эрик (1997). Справочник по анализу и его основам. Академическая пресса. п. 356. ISBN  978-0-12-622760-4.
  3. ^ Детлефсен, Майкл; Маккарти, Дэвид Чарльз; Бэкон, Джон Б. (1999). Логика от А до Я. Рутледж. п.7. ISBN  978-0-415-21375-2.
  4. ^ Cocchiarella, Nino B .; Фройнд, Макс А. (2008). Модальная логика: введение в ее синтаксис и семантику. Издательство Оксфордского университета. п. 121. ISBN  978-0-19-536658-7.
  5. ^ Кристалл, Дэвид (2008). Словарь по лингвистике и фонетике (6-е изд.). Джон Вили и сыновья. п. 507. ISBN  978-1-405-15296-9.
  6. ^ Куайн, В. В. О. (1940), Математическая логика, Кембридж, Массачусетс: Издательство Гарвардского университета, стр. 13
  7. ^ Робинсон, Авраам (1966), Нестандартный анализ, Амстердам: Северная Голландия, стр. 19
  8. ^ Оливер, Алекс (2004). «Всесезонный прогноз». Разум. 113 (452): 609–681. Дои:10.1093 / mind / 113.452.609.

внешние ссылки

Монография доступна бесплатно в Интернете: