アリティ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

アリティ (arity) とは、関数演算(子) に対しそれらが取る引数 (オペランド) の個数を意味するのに、代数学論理学計算機科学などにおいて用いられる用語である。 項数のような訳語が当てられる場合もあるが、arity と英単語のまま用いられることも多い。 この用語は、ラテン語起源の英単語において単項の演算を unary (operation), 2 項を binary, 3 項を ternary, さらには一般に n 項を n-ary というように接尾辞 -ary をつけた形容詞で引数の個数を表すことから来ている。

[編集] 数学におけるアリティ

典型的には、関数 f定義域が、ある集合 Sn 項の直積である場合、f のアリティは n であると言われる。 また、ある集合 S 上の n関係 (n-ary relation) は、形式的に集合の n 項の直積 Sn部分集合、もしくは Sn を定義域とする特性関数として表され、これに対しても n をアリティと呼ぶ。

この概念は特に代数構造を抽象化して統一的に扱おうとする普遍代数 (en:universal algebra) において有用である。 例えばは、ある空でない集合 S 上に 2 項演算 (-)・(-) : S × SS と、定数である単位元 eS、および逆元を与える単項演算 (-)−1 : SS が与えられたものと見ることができる。 単位元は形式上 0 項の演算 e : 1 → S (ただし、1 = {*} は 1 点集合) と同一視できるので、群とは、集合 S に異なるアリティをもつ演算の集合 Ω = {e, (-)−1, ・} および演算が満たすべき等式の集合 E = {ex = x, xe = x, xx−1 = e, x−1x = e, (xy)・z = x・(yz)} が与えられたものだとみることができる。 同様にとは、非空の集合 S と、(特定の性質 E を備えた) 4 つの演算 Ω = {0, −, +, ・} の対だとみなすことができる。 これら 4 つの演算はすべて値域を S とするが、定義域のアリティは様々である。 演算からアリティを与える関数 ar: ΩN を考えるなら、環の場合 ar(0) = 0, ar(-) = 1, ar(+) = ar(・) = 2 のようになる。 このようにしてアリティの異なる演算の集合を通じて様々な代数構造を統一的に扱う道が開ける。

[編集] 計算機科学におけるアリティ

計算機科学では、種々のプログラミング言語において関数や手続き引数の数を指してアリティと呼び、特にこの概念は言語が可変個の引数を許すような仕組みを持つ場合に有用である。 逆に、関数が値としていくつかの要素からなるタプルを返すような場合、しばしばその要素数をコアリティ (co-arity) と呼ぶことがある。

また、関係データベースの理論である関係モデルでは、ある関係 (リレーション) に含まれる属性 (attribute) の数をその関係のアリティと呼んでいる。