アリティ

提供: miniwiki
2017/8/12/ (土) 00:42時点における1.115.5.108 (トーク)による版 (外部リンク: +2(+2))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

アリティ (arity) とは、代数学論理学計算機科学などにおいて、関数算法(演算) が取る引数オペランド)の個数を意味する用語である。 項数のような訳語が当てられる場合もあるが、arityと英単語のまま用いられることも多い。 複合語としてならば、「変数」(例えば二変数函数多変数函数)や単に「項」(二項演算多項関係など)あるいはまた(不定元の数という意味で)「(n-)元」(例えば二元連立一次方程式)などはアリティに言及する訳語として存外よく用いられるものである。(しかし同じ語でも、例えば数列多項式などに用いられる「項」や「項数」はアリティではなく "term" に関する言及である。)

数学におけるアリティ

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

この概念は特に代数構造を抽象化して統一的に扱おうとする普遍代数学において有用である。 例えばは、ある空でない集合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) の数をその関係のアリティと呼んでいる。

呼称のバリエーション

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

関連項目



外部リンク

|CitationClass=citation }}