Arity

редактировать
Фиксированное количество аргументов или операндов, которые требуются функции или операции для определения отношения между ними

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

Содержание

  • 1 Терминология
  • 2 Примеры
    • 2.1 Нулевой
    • 2.2 Унарный
    • 2.3 Двоичный
    • 2.4 Тернар
    • 2.5 n-арный
    • 2.6 Различная арность
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

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

Латинские имена обычно используются для специфические арности, в основном основанные на латинских распределительных числах, означающих «в группе из n», хотя некоторые основаны на латинских кардинальных числах или порядковых числах. Например, 1-арное основано на кардинальном необычном, а не на распределительном сингули, которое привело бы к единственному числу.

x-aryArity (на латинском языке)Adicity (на греческом языке)Пример в математикеПример в информатике
0-aryNullary (от nūllus)NiladicA константа Функция без аргументов, True, False
1-арнаяУнарная МонадическаяАддитивная инверсия Логическая НЕ оператор
2-арныйдвоичный диадическийсложение ИЛИ, XOR, И
3-арныйтроичный ТриадаТройное произведение векторов Условный оператор
4-арныйЧетвертичныйТетрадическийКватернион
5-арныйПятеричныйПентадическийКвантиль
6-элементныйСениарныйШестнадцатеричный
7-элементныйСептенарныйГебдомадический
8-арныйОктонарийОгдоадический
9-арныйНовенарный (альтернативный нонарный)Эннеадический
10 -aryDenary (альтернативный decenary)Decadic
Более чем 2-арныйMultary и multiaryPolyadic
VaryingВариативСумма; например, ∑ {\ displaystyle \ sum}\ sum Variadic function, reduce

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

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

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

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

Примеры

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

  • Функция с нулевым значением не принимает аргументов.
    • Пример: f () = 2 {\ displaystyle f () = 2}{\ displaystyle f () = 2}
  • A унарная функция принимает один аргумент.
    • Пример: f (x) = 2 x {\ displaystyle f (x) = 2x}{\ displaystyle f (x) = 2x}
  • A двоичная функция принимает два аргумента.
    • Пример: f (x, y) = 2 x y {\ displaystyle f (x, y) = 2xy}{\ displaystyle f (x, y) = 2xy}
  • A тернарная функция принимает три аргумента.
    • Пример: f (x, y, z) = 2 x y z {\ displaystyle f (x, y, z) = 2xyz}{\ displaystyle f (x, y, z) = 2xyz}
  • n-арная функция принимает n аргументов.
    • Пример: f (x 1, x 2,…, xn) = 2 ∏ i = 1 nxi {\ displaystyle f (x_ {1}, x_ {2}, \ ldots, x_ { n}) = 2 \ prod _ {i = 1} ^ {n} \ displaystyle x_ {i}}{\ displaystyle f (x_ {1}, x_ {2}, \ ldots, x_ {n})) = 2 \ prod _ {я = 1} ^ {n} \ displaystyle x_ {i}}

Nullary

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

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

Унарный

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

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

Согласно Куайну, латинскими дистрибутивами являются singuli, bini, terni и т. Д., Термин «сингулярный» является правильным прилагательным, а не «унарный». Авраам Робинсон следует примеру Куайна.

Двоичный

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

Тернар

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

Язык компьютерного программирования C и его различные потомки (включая C ++, C#, Java, Julia, Perl и другие) предоставляет тернарный оператор ?: , также известный как условный оператор , принимающий три операнда. Оценивается первый операнд (условие), и если оно истинно, результатом всего выражения является значение второго операнда, в противном случае это значение третьего операнда. Язык Forth также содержит тернарный оператор, * /, который умножает первые два (одинарных) числа, деление на третье, с промежуточным результатом, представляющим собой двойной номер ячейки.. Это используется, когда промежуточный результат переполняет одну ячейку. В языке Python есть троичное условное выражение, x if C else y. В калькуляторе постоянного тока Unix есть несколько тернарных операторов, например |, которые извлекают три значения из стека и эффективно вычисляют xy mod z {\ textstyle x ^ {y} {\ bmod {z}}}{\ textstyle x ^ {y} {\ bmod {z}}} с произвольной точностью. Кроме того, многие инструкции (RISC ) языка ассемблера являются троичными (в отличие от только двух операндов, указанных в CISC); или выше, например MOV% AX, (% BX,% CX), который загружает (MOV) в регистр AX содержимое вычисленной ячейки памяти, которая представляет собой сумму (скобки) регистров BX и CX.

n-арный

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

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

переменной арности

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

См. Также

  • значок Математический портал
  • Философский портал

Ссылки

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

Посмотрите Приложение: английские arities and adicities в Wiktionary, бесплатном словарь.

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

Последняя правка сделана 2021-06-11 16:17:19
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте