アリティ

アリティ（）とは、代数学、論理学、計算機科学などにおいて、関数や算法（演算）が取る引数（オペランド）の個数を意味する用語である。複合語としては、「変数」（例えば、二変数函数、多変数函数）や単に「項」（二項演算、多項関係など）あるいはまた（不定元の数という意味で）「(-)元」（例えば、二元連立一次方程式）という訳語が当てられてきた概念にあたる。アリティそのものに関しては項数のような訳語が当てられる場合もあれば、アリティあるいは arity とカタカナ・英単語のまま用いられることも多い。

数学におけるアリティ
典型的には、関数 f の定義域が、ある集合 S の n 項の直積である場合、f のアリティは n であると言われる。 また、ある集合 S 上の n-項関係 (n-ary relation) は、形式的に集合の n 項の直積 Sn の部分集合、もしくは Sn を定義域とする特性関数として表され、これに対しても 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 と、(特定の性質 E を備えた) 4 つの演算 Ω = {0, −, +, ・} の対だとみなすことができる。 これら 4 つの演算はすべて値域を S とするが、定義域のアリティは様々である。 演算からアリティを与える関数 ar: Ω → N を考えるなら、環の場合 ar(0) = 0, ar(-) = 1, ar(+) = ar(・) = 2 のようになる。 このようにしてアリティの異なる演算の集合を通じて様々な代数構造を統一的に扱う道が開ける。

計算機科学におけるアリティ
計算機科学において、プログラミング言語で用いる、function(関数)やprocedure(プロシージャー/手続き)が入力としてとる引数の、その「個数を表す概念」をアリティという。この概念は、特に「言語が可変個の引数を許すような仕組みを持つ場合」に有用である。 一方、関数からの出力として返る値が、タプルなどによりいくつかの要素からなるような値を返すような場合、その要素数をコアリティ (co-arity) と呼ぶことがある。

データベース分野でのアリティは、関係データベースにおける、その理論としての関係モデルの文脈で使われる。「ある関係（リレーション） に含まれる属性 (attribute) の数」という意味で「その関係のアリティ」と表現する。

語源 
アリティの語は、ラテン語由来の英単語で単項を unary、二項を binary、三項を ternary のように接尾辞 -ary を付けて呼んだことに由来し、独立させたこの接尾辞に名詞語尾 -ity を付けて成立した。元となった各項数の呼称には以下のようなバリエーションがある。

  -  引数のない関数、メソッド。無項演算と呼ばれることがある。nullary, niladic, medadic
 単項 - 引数を1つとる関数、メソッド。unary, monadic
 二項 - 引数を2つとる関数、メソッド。binary, dyadic
 三項 - 引数を3つとる関数、メソッド。ternary, triadic
 多項 - 2つ以上の引数をとる関数、メソッド。大抵の場合引数は有限項数だが、一般には無限変数の場合を扱いうる表現。multiary, multary, polyadic、無限変数の場合 infinitary
 n-項 - 引数を（有限の） 個（しかしここでいう  は単なるプレースホルダであり、別の文字に取り換えうる）とる関数、メソッド。多項演算の同義語として扱われることも多いがふつう無限変数の場合までさすことはない。また、 は（任意の値を指定し得るけれども）確定の値を持つのであり、可変長とは異なる。n-ary, finitary
 可変長引数 - プログラミングにおける概念で、引数の個数が指定されていないもの。variable arity, variadic

関連項目 
 演算子
 結合価
 順序組
 : 各構造が持つ演算および関係とそのアリティの組をすべて指定するもの。普遍代数学における代数系の「型」など。

脚注・出典

外部リンク 
 
 

  / 
 

代数学
プログラミング言語の構文
データベース
データモデリング
数学に関する記事