Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Примеры [ править ]

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

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

Nullary [ править ]

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

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

Унарный [ править ]

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

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

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

В философии прилагательное монадическое иногда используется для описания одноместного отношения, такого как «имеет квадратную форму», в отличие от двухместного отношения, такого как «является сестрой».

Двоичный [ править ]

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

Ternary [ править ]

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

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

n -ary [ править ]

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

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

Различная арность [ править ]

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

Терминология [ править ]

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

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

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

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

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

См. Также [ править ]

  • Логика родственников
  • Бинарное отношение
  • Тернарное отношение
  • Теория отношений
  • Подпись (логика)
  • Параметр
  • p -адическое число
  • Мощность
  • Валентность
  • n- мерный код
  • n -арная группа

Ссылки [ править ]

  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. ^ Куайн, WVO (1940), Математическая логика , Кембридж, Массачусетс: Издательство Гарвардского университета, стр. 13
  7. ^ Робинсон, Абрахам (1966), Нестандартный анализ , Амстердам: Северная Голландия, стр. 19
  8. Оливер, Алекс (2004). «Всесезонный прогноз». Разум . 113 (452): 609–681. DOI : 10,1093 / ум / 113.452.609 .

Внешние ссылки [ править ]

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

  • Беррис, Стэнли Н., и HP Sankappanavar, HP, 1981. Курс универсальной алгебры. Springer-Verlag. ISBN 3-540-90578-2 . Особенно стр. 22–24.