맨위로가기

항수 (수학)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

항수(arity)는 수학과 컴퓨터 과학에서 사용되는 개념으로, 함수 또는 관계가 받아들이는 인수의 개수를 의미한다. 함수 f의 정의역이 n개의 집합의 곱으로 표현될 때, f의 항수는 n이 된다. 이러한 개념은 보편 대수학에서 대수 구조를 추상화하는 데 유용하게 사용되며, 특히 군, 환 등 다양한 대수 구조를 아리티가 다른 연산의 집합으로 통일적으로 다루는 데 기여한다. 항수는 0항, 단항, 이항, 삼항, n항 등으로 분류되며, 컴퓨터 과학에서는 함수가 받는 입력 인수의 개수를 나타내는 데 사용된다. 가변 인수 함수처럼 가변적인 개수의 인수를 받는 경우도 있다.

더 읽어볼만한 페이지

  • 보편대수학 - 구조 (논리학)
    수학적 논리에서 구조는 논의 영역, 시그니처, 해석 함수로 구성된 삼중항으로, 특정 시그니처를 가지며 일차 논리 언어의 공식과 항을 통해 수학적 개념을 형식적으로 표현하고 분석하는 데 사용된다.
  • 추상대수학 - 직교
    직교는 수학에서 수직으로 만나는 기하학적 개념에서 시작하여 내적 공간의 벡터 내적이 0이거나 가군과 쌍대 가군의 원소가 특정 조건을 만족할 때 성립하며, 직교 집합, 직교 기저, 직교 여공간 등의 구조를 정의하고 푸리에 급수, 상대성이론, 양자역학 등 다양한 분야에서 활용될 뿐 아니라 컴퓨터 과학, 통계학, 법률, 예술 등에서도 독립적인 요소나 개념을 나타내는 데 사용된다.
  • 추상대수학 - 코시 열
    코시 열은 무한수열에서 항들이 뒤로 갈수록 서로 가까워지는 수열로, 수렴열은 항상 코시 열이지만 그 역은 성립하지 않을 수 있으며, 실수의 완비성 정의 및 무한급수 수렴성 판정에 중요한 역할을 하는 개념이다.
항수 (수학)
수학적 속성
정의함수가 필요로 하는 인수 또는 피연산자의 수
다른 이름자리수
유형별 항수
0항 함수 (널아리 함수)인수가 없는 함수, 상수
1항 함수 (모날아리 함수, 유항 함수)인수가 1개인 함수
2항 함수 (바이아리 함수)인수가 2개인 함수
3항 함수 (터나리아리 함수)인수가 3개인 함수
n항 함수인수가 n개인 함수 (n은 음이 아닌 정수)
컴퓨터 과학에서의 항수
함수함수가 받는 인수의 개수
연산자연산자가 받는 피연산자의 개수
프로그래밍 언어함수 또는 연산자의 항수는 해당 함수 또는 연산자를 호출할 때 제공해야 하는 인수의 개수

2. 수학에서의 항수

수학에서 함수의 항수는 정의역의 원소 개수를 나타낸다. 함수 ''f''의 정의역이 어떤 집합 ''S''의 ''n''항의 직적인 경우, ''f''의 아리티(arity)는 ''n''이라고 한다. ''n''항 관계는 집합 ''S''''n''의 부분 집합 또는 ''S''''n''을 정의역으로 하는 특성 함수로 표시되며, 이때 ''n''을 아리티라고 부른다.

이 개념은 대수 구조를 추상화하여 통일적으로 다루는 보편 대수학에서 유용하다. 예를 들어 은 집합 ''S'' 상에 2항 연산 (-)・(-) : ''S'' × ''S'' → ''S''와 항등원 ''e'' ∈ ''S'', 역원을 주는 단항 연산 (-)−1 : ''S'' → ''S''가 주어진 것으로 볼 수 있다. 항등원은 0항 연산 ''e'' : 1 → ''S'' (1 = {*}는 1점 집합)과 동일시할 수 있으므로, 군은 집합 ''S''에 서로 다른 아리티를 갖는 연산 집합 ''Ω'' = {''e'', (-)−1, ・} 및 연산이 만족해야 할 등식 집합 ''E'' = {''e''・''x'' = ''x'', ''x''・''e'' = ''x'', ''x''・''x''−1 = ''e'', ''x''−1・''x'' = ''e'', (''x''・''y'')・''z'' = ''x''・(''y''・''z'')}가 주어진 것으로 볼 수 있다.

은 공집합이 아닌 집합 ''S''와 4개의 연산 ''Ω'' = {0, −, +, ・}의 쌍으로, 이 연산들은 모두 치역을 ''S''로 하지만 정의역의 아리티는 다양하다. 아리티를 주는 함수 ar: ''Ω'' → '''N'''에서 환의 경우 ar(0) = 0, ar(-) = 1, ar(+) = ar(・) = 2가 된다. 이처럼 아리티가 다른 연산 집합을 통해 다양한 대수 구조를 통일적으로 다룰 수 있다.

2. 1. 예시


  • 0항 함수(무항 함수)는 아무 독립변수를 취하지 않는다.
  • * 예: f()=2
  • 단항 함수는 하나의 독립변수를 취한다.
  • * 예: f(x)=2x
  • 이항 함수는 두 개의 독립변수를 취한다.
  • * 예: f(x,y)=2xy
  • 삼항 함수는 세 개의 독립변수를 취한다.
  • * 예: f(x,y,z)=2xyz
  • ''n''항 함수는 ''n'' 개의 독립변수를 취한다.
  • * 예: f(x_1, x_2, \ldots, x_n)=2\prod_{i=1}^n \displaystyle x_i

2. 2. Nullary (0항)

상수는 0항 연산, 즉 ''nullary 연산''의 결과로 취급될 수 있다. 함수형 프로그래밍 외에도, 인수가 없는 함수는 부작용으로 인해 의미를 가질 수 있으며, 반드시 상수일 필요는 없다. 이러한 함수는 전역 변수나 시스템의 전체 상태(시간, 사용 가능한 메모리 등)와 같은 몇 가지 ''숨겨진 입력''을 가질 수 있다.

2. 3. Unary (단항)

수학 및 프로그래밍에서 단항 연산자의 예로는 단항 마이너스, 단항 플러스, C 스타일 언어의 증가 및 감소 연산자(논리 언어에서는 아님), 후속자, 팩토리얼, 역수, 바닥, 천장, 소수 부분, 부호, 절댓값, 제곱근(주요 제곱근), 켤레 복소수(추상화 수준이 낮은 두 부분으로 구성된 "하나"의 복소수에 대한 단항 연산), 및 수학의 노름 함수가 있다.[6] 프로그래밍에서 2의 보수, 주소 참조, 논리 NOT 연산자는 단항 연산자의 예이다.

람다 대수와 일부 함수형 프로그래밍 언어(특히 ML에서 파생된 언어)의 모든 함수는 기술적으로 단항 연산자이지만, n-ary를 참조.

콰인에 따르면, 라틴어 분배사 ''singuli'', ''bini'', ''terni'' 등에서 "단항" 대신 "singulary"가 올바른 형용사이다.[6] 아브라함 로빈슨은 콰인의 용법을 따른다.[7]

2. 4. Binary (이항)

프로그래밍과 수학에서 마주치는 대부분의 연산자는 이항 연산 형태이다. 프로그래밍과 수학에서 이는 곱셈 연산자, 기수 연산자, 종종 생략되는 지수 연산, 로그 연산자, 덧셈 연산자, 그리고 나눗셈 연산자를 포함한다. OR, XOR, AND와 같은 논리 술어는 일반적으로 두 개의 별개의 피연산자를 가진 이항 연산자로 사용된다.[13][14] CISC 아키텍처에서는 두 개의 소스 피연산자를 가지고 (결과를 그중 하나에 저장하는) 것이 일반적이다.

2. 5. Ternary (삼항)

CC++, C#, Java, Julia, Perl 등 다양한 파생 언어는 삼항 조건 연산자 `?:`를 제공한다. 이 연산자는 첫 번째 피연산자(조건)를 평가하여 참이면 전체 표현식의 결과는 두 번째 피연산자의 값이 되고, 그렇지 않으면 세 번째 피연산자의 값이 된다.[13][14]

파이썬에는 삼항 조건 표현식 `x if C else y`가 있다. 엘릭서에서는 `if(C, do: x, else: y)`와 같은 표현을 사용한다.

포스 언어의 `*/` 연산자는 처음 두 숫자를 곱한 다음 세 번째 숫자로 나누며, 중간 결과가 단일 셀을 오버플로할 때 사용된다.

유닉스 dc 계산기에는 `|`와 같은 여러 삼항 연산자가 있는데, 이는 스택에서 세 개의 값을 꺼내 x^y \bmod z를 임의 정밀도로 효율적으로 계산한다.

많은 축소 명령어 집합 컴퓨터 어셈블리 언어 명령어는 삼항 연산 형태를 가진다. 예를 들어, `MOV %AX, (%BX, %CX)`는 레지스터 AX에 레지스터 BX와 CX의 합으로 계산된 메모리 위치의 내용을 로드한다.

2. 6. ''n''-ary (n항)

''n''항 함수는 ''n''개의 독립변수를 취하는 함수이다. 예를 들어, ''n''개의 실수에 대한 산술 평균은 다음과 같이 ''n''항 함수로 나타낼 수 있다.[13]

:\bar{x}=\frac{1}{n}\left (\sum_{i=1}^n{x_i}\right) = \frac{x_1+x_2+\dots+x_n}{n}

마찬가지로, ''n''개의 양의 실수에 대한 기하 평균 역시 ''n''항 함수이다.[13]

:\left(\prod_{i=1}^n a_i\right)^\frac{1}{n} = \ \sqrt[n]{a_1 a_2 \cdots a_n} .

수학적 관점에서, ''n''개의 인수를 갖는 함수는 어떤 곱 공간의 요소인 단일 인수의 함수로 간주될 수 있다. 그러나 다중 선형 맵(n ≠ 1인 경우 곱 공간에 대한 선형 맵이 아님)과 같이 표기법에 편리할 수 있다.[13]

프로그래밍 언어에서도 여러 인수를 받는 함수를 튜플 등의 객체 합성의 단일 인수를 받거나, 고차 함수가 있는 언어에서는 커링을 통해 정의할 수 있다.[13]

2. 7. Varying arity (가변 항수)

컴퓨터 과학에서 가변 개수의 인수를 받는 함수는 ''가변 인수'' 함수라고 불린다. 논리학 및 철학에서는 가변 개수의 인수를 받는 술어 또는 관계를 ''다등급'' 또는 가변 다항 관계라고 부른다.[8]

3. 컴퓨터 과학에서의 항수

컴퓨터 과학에서 프로그래밍 언어의 함수나 프로시저가 입력으로 받는 인수의 개수를 '''애리티'''라고 한다.[13][14]

3. 1. 가변 인수 함수

컴퓨터 과학에서, 가변 개수의 인수를 받는 함수는 ''가변 인수'' 함수라고 불린다.[8]

3. 2. 코애리티 (Co-arity)

계산 과학에서 프로그래밍 언어의 함수가 '''출력'''으로 반환하는 값이 튜플 등 여러 요소로 구성된 경우, 그 요소의 수를 '''코애리티'''(co-arity)라고 부른다.[13][14]

4. 데이터베이스에서의 항수

관계형 데이터베이스의 관계 모델에서, 관계(릴레이션)에 포함된 속성의 수를 의미한다.[13][14]

5. 용어

라틴어 기반 이름은 특정 항수에 일반적으로 사용되며, 주로 "n개의 그룹"을 의미하는 라틴어 분배수를 기반으로 하지만 일부는 라틴어 기수 또는 서수를 기반으로 한다. 예를 들어, 1항 연산은 분배수 ''singulī''에서 파생되어 ''singulary''가 되는 대신 기수 ''unus''를 기반으로 한다.

n항 연산항수 (라틴어 기반)adicity (그리스어 기반)수학 예시컴퓨터 과학 예시
0항 연산nullary (nūllus에서 유래)niladic상수인수가 없는 함수, 참, 거짓
1항 연산단항monadic덧셈 역원논리 NOT 연산자
2항 연산이항dyadic덧셈논리 OR, XOR, AND 연산자
3항 연산삼항triadic벡터의 삼중곱조건 연산자
4항 연산사항tetradic
5항 연산오항pentadic
6항 연산육항hexadic
7항 연산칠항hebdomadic
8항 연산팔항ogdoadic
9항 연산구항 (대안: nonary)enneadic
10항 연산십항 (대안: decenary)decadic
2항 연산 이상다항 및 다중항polyadic
가변variadic합; 예를 들어, Σ가변 인수 함수, reduce



''n''-''ary''는 ''n''개의 피연산자(또는 매개변수)를 갖는다는 의미이지만, 종종 "polyadic"의 동의어로 사용된다.

이 단어들은 종종 해당 숫자와 관련된 모든 것을 설명하는 데 사용된다 (예: undenary 체스는 11×11 보드가 있는 체스 변형 또는 1603년의 Millenary Petition 등).

아리티(Arity)라는 단어는 라틴어에서 유래된 영어 단어에서 비롯되었으며, 단항을 unary, 이항을 binary, 삼항을 ternary와 같이 접미사 -ary를 붙여 불렀던 것에서 유래하여, 독립시킨 이 접미사에 명사 어미 -ity를 붙여 성립되었다. 원래 각 항수의 호칭에는 다음과 같은 변형이 있다.[1]


  • 영항: nullary영어, niladic영어, medadic영어
  • 단항: unary영어, monadic영어
  • 이항: binary영어, dyadic영어
  • 삼항: ternary영어, triadic영어
  • 다항: multiary영어, multary영어, polyadic영어, 무한 변수의 경우 infinitary영어
  • '''n-항''': n-ary영어, finitary영어
  • 가변 인자: variable arity영어, variadic영어

참조

[1] 서적 Encyclopaedia of Mathematics, Supplement III https://books.google[...] Springer
[2] 서적 Handbook of Analysis and Its Foundations https://books.google[...] Academic Press
[3] 서적 Logic from A to Z https://archive.org/[...] Routledge
[4] 서적 Modal Logic: An Introduction to its Syntax and Semantics https://books.google[...] Oxford University Press
[5] 서적 Dictionary of Linguistics and Phonetics John Wiley & Sons
[6] 간행물 Mathematical logic Harvard University Press
[7] 간행물 Non-standard Analysis North-Holland
[8] 학술지 Multigrade Predicates
[9] 웹사이트 A Course in Universal Algebra https://www.math.uwa[...] 2023-07-13
[10] 문서 しかし、同じ語でも、例えば[[数列]]や[[多項式]]などに用いられる「項」や「項数」は、アリティではなく term に関する言及である。
[11] 웹사이트 「代数学入門」入門としての普遍代数学 https://www.kurims.k[...] 2023-07-13
[12] 웹사이트 計算数学 1 http://ac-net.org/tj[...] 2023-07-13
[13] 웹사이트 関数のアリティ (arity) http://jats-ug.metas[...] 2023-07-15
[14] 웹사이트 Method クラス https://docs.ruby-la[...] 2023-07-13



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com