アリティ

論理学数学コンピュータサイエンスにおいてアリティ/ ˈ ær ɪ t i / )は、関数演算、または関係式が取る引数またはオペランドの数です。数学では、アリティはランクとも呼ばれますが、[1][2]この言葉には他にも多くの意味があります。論理学と哲学アディシティディグリーとも呼ばれます[3][4]言語学では、通常、価数[5]

一般に、特定の引数を持つ関数や演算子は、2進数16進数などのn進数ベースの数値体系の命名規則に従います。ラテン語の接頭辞は、-ary接尾辞と組み合わされます。例:

  • ヌル引数関数は引数を取りません。
    • 例:
  • 単項関数は1 つの引数を取ります。
    • 例:
  • バイナリ関数は2 つの引数を取ります。
    • 例:
  • 項関数は3 つの引数を取ります。
    • 例:
  • n関数はn 個の引数を取ります。
    • 例:

ヌラリー

定数は、ヌル演算と呼ばれる、引数 0 の演算の出力として扱うことができます

また、関数型プログラミング以外では、引数のない関数は意味を持ち、必ずしも定数ではない場合があります(副作用のため)。このような関数は、グローバル変数やシステム全体の状態(時間、空きメモリなど)といった隠れた入力を持つ場合があります。

単項

数学およびプログラミングにおける単項演算子の例としては、単項マイナスおよびプラス、C言語(論理言語ではない)の増分および減分演算子、そして数学における後続関数階乗逆数切り捨て天井小数部符号絶対値平方根(主平方根)、複素共役(「1」の複素数の単項だが、抽象度が低い2つの部分を持つ)、ノルム関数などが挙げられます。プログラミングにおいては、 2の補数アドレス参照論理否定演算子などが単項演算子の例です。

ラムダ計算および一部の関数型プログラミング言語(特にMLから派生したもの)のすべての関数は技術的には単項ですが、以下の n 項を参照してください。

クワインによれば、ラテン語の分配詞はsingulibiniterniなどであり、「unary」ではなく「singulary」という形容詞が正しい。[6] エイブラハム・ロビンソンもクワインの用法に従っている。[7]

哲学では、形容詞monadic は、「〜の姉妹である」などの2 項関係ではなく、「〜は正方形である」などの1 項関係を説明するために使用されることがあります。

バイナリ

プログラミングと数学で使われる演算子のほとんどは二項演算子です。プログラミングと数学の両方において、これらには乗算演算子、基数演算子、しばしば省略される指数演算子、対数演算子、加算演算子、除算演算子が含まれます。OR XORANDIMPなどの論理述語は、通常2つの異なるオペランドを持つ二項演算子として使用されます。CISCアーキテクチャでは 2つのソースオペランドを持ち(そして結果をそのうちの1つに格納する)、これが一般的です。

三元法

コンピュータプログラミング言語Cとそのさまざまな派生言語 ( C++C#JavaJuliaPerlなど)では、三項条件演算子 ?:が提供されています。最初のオペランド (条件) が評価され、それが真であれば式全体の結果は 2 番目のオペランドの値となり、それ以外の場合は 3 番目のオペランドの値となります。この演算子には、2 番目と 3 番目の引数のうち使用されていないものは評価しないという遅延評価戦略があります。 Agdaなどの一部の関数型プログラミング言語では、すべての関数に対してこのような評価戦略があり、結果として通常の関数として実装されます。 Haskellif...then...elseなど他のいくつかの言語でもこれを行うことはできますが、構文上、パフォーマンス上、または歴史的な理由から、代わりにキーワードを定義することを選択しています。

Python言語は三項条件式 があります。Elixirでは同等のものは になりますx if C else yif(C, do: x, else: y)

Forth言語は三項演算子 も含まれており*/、これは最初の2つの数値(1つのセル)を乗算し、3番目の数値で割り、中間結果は2つのセルの数値になります。これは、中間結果が1つのセルから溢れてしまう場合に使用されます。

Unix のdc 計算機には、 などの三項演算子がいくつかあります。|これらは、スタックから 3 つの値をポップし、任意の精度で効率的に計算します

多くの ( RISC )アセンブリ言語命令は 3 項 ( CISC で指定される 2 つのオペランドのみとは対照的 ) またはそれ以上の項であり、これは ( MOV ) レジスタAXに、レジスタBXCXの合計 (括弧内) である計算されたメモリ位置の内容をロードしますMOV %AX, (%BX, %CX)

n-ary

n個の実数算術平均はn項関数です。

同様に、n個の正の実数幾何平均はn項関数である。幾何平均の対数は、n個の引数の対数の算術平均である。

数学的な観点から見ると、n個の引数を持つ関数は、常に、ある積空間の元である単一の引数を持つ関数とみなすことができます。しかし、表記上は、例えば多重線型写像( n ≠ 1の場合、積空間上の線型写像ではない)のように、 n元関数として考える方が都合が良い場合があります

プログラミング言語でも同じことが言えます。複数の引数を取る関数は、常にタプルなどの複合型の単一の引数を取る関数として定義できます。また、高階関数を持つ言語ではカリー化によって定義できます。

可変アリティ

コンピュータサイエンスにおいて、可変個の引数を取る関数は可変引数と呼ばれます。論理学と哲学において、可変個の引数を取る述語や関係は、多段、アナディック、あるいは可変多項式と呼ばれます。[8]

用語

ラテン語由来の名称は、特定の数を表す際によく用いられ、主にnのグループに属する」という意味のラテン語の分配数に基づいていますが、中にはラテン語の基数序数に基づくものもあります。例えば、1-ary は、単数形となる分配法則singulīではなく、基数unusに基づいています。

nArity(ラテン語ベース)Adicity(ギリシャ語ベース)数学の例コンピュータサイエンスの例
0進数nullary(nūllusから)ニラディック定数引数のない関数、TrueFalse
1進法単項単項加法逆数論理否定演算子
2進数バイナリ二元的追加論理ORXORAND演算子
3進法三元三元論的ベクトルの三重積三項条件演算子
4進数第四紀四項
5進数五進法五分法
6進数六重奏六進法
7進数七十年週ごとの
8進数八十進法オグドアディック
9進数11項(別名:9項)六人称
10進数10進法(別名10進法)10進法
2進数以上多元性と多元性多項式
変化する可変個引数合計; 例: Σ可変個引数関数reduce

n法はn 個のオペランド (またはパラメータ)を持つことを意味しますが、「ポリアディック」の同義語としてよく使用されます。

これらの単語は、その数字に関連するものを説明するためによく使用されます (たとえば、アンデナリー チェスは11×11 のボードを持つチェスのバリエーションであり、1603 年の千年紀請願書など)。

関係(または述語)のアリティは、対応する直積における定義の次元です。(したがって、アリティnの関数は、アリティn + 1を関係として扱います。)

コンピュータプログラミングでは、演算子関数は構文上区別されることがよくあります。構文上の演算子は通常、1、2、または3個の引数を持ちます(三項演算子?:もよく使用されます)。関数の引数の数は様々ですが、数が多すぎると扱いにくくなる場合があります。一部のプログラミング言語では、可変個引数関数(構文的に可変個の引数を受け入れる関数)もサポートされています。

参照

参考文献

  1. ^ ヘイズウィンケル、ミシェル(2001)。数学百科事典、補遺 III。スプリンガー。 p. 3.ISBN 978-1-4020-0198-7
  2. ^ シェクター、エリック(1997年)『分析とその基礎ハンドブック』アカデミック・プレス、356頁。ISBN 978-0-12-622760-4
  3. ^ デトレフセン, マイケル; マッカーティ, デイヴィッド・チ​​ャールズ; ベーコン, ジョン・B. (1999). 『論理学 A to Z』 ラウトレッジ. p. 7. ISBN 978-0-415-21375-2
  4. ^ Cocchiarella, Nino B.; Freund, Max A. (2008). 様相論理:その構文と意味論への入門. オックスフォード大学出版局. p. 121. ISBN 978-0-19-536658-7
  5. ^ クリスタル、デイビッド (2008). 『言語学・音声学辞典(第6版)』ジョン・ワイリー・アンド・サンズ. p. 507. ISBN 978-1-405-15296-9
  6. ^ Quine, WVO (1940), Mathematical logic , Cambridge, Massachusetts: Harvard University Press, p. 13
  7. ^ ロビンソン、アブラハム(1966)、非標準分析、アムステルダム:北ホラント、p.19
  8. ^ オリバー、アレックス (2004). 「多段階述語」. Mind . 113 (452): 609–681 . doi :10.1093/mind/113.452.609.

無料でオンラインで入手可能なモノグラフ:

  • Burris, Stanley N., HP Sankappanavar, HP, 1981. A Course in Universal Algebra. Springer-Verlag. ISBN 3-540-90578-2特に22~24ページ。
「https://en.wikipedia.org/w/index.php?title=Arity&oldid=1281014024」から取得