Arity

Arity (/ˈÆrɪti/ (Hören)) ist die Anzahl von Argumente oder Operanden genommen von a Funktion, Betrieb oder Beziehung in Logik, Mathematik, und Informatik. In der Mathematik kann Arity auch benannt werden Rang,[1][2] Aber dieses Wort kann viele andere Bedeutungen in der Mathematik haben. In Logik und Philosophie, es heißt auch Adicity und Grad.[3][4] Im Linguistik, es wird normalerweise benannt Wertigkeit.[5]

Beispiele

Der Begriff "Arity" wird selten im täglichen Gebrauch eingesetzt. Zum Beispiel anstatt "die Arität der Arität der Zusatz Der Betrieb beträgt 2 "oder" Addition ist ein Betrieb von Arity 2 "Man sagt normalerweise" Addition ist ein binärer Betrieb ". Im Allgemeinen folgt die Benennung von Funktionen oder Operatoren mit einer bestimmten Arity einer Konvent n-basierend Ziffernsysteme wie zum Beispiel binär und hexadezimal. Man kombiniert a Latein Präfix mit dem ararigen Ende; zum Beispiel:

  • Eine nulläre Funktion nimmt keine Argumente an.
    • Beispiel:
  • A Unary -Funktion nimmt ein Argument.
    • Beispiel:
  • A Binärfunktion nimmt zwei Argumente.
    • Beispiel:
  • A ternäre Funktion nimmt drei Argumente.
    • Beispiel:
  • Ein n-ary -Funktion nimmt n Argumente.
    • Beispiel:

Nullary

Manchmal ist es nützlich, a zu berücksichtigen Konstante Ein Betrieb von Arity 0 zu sein, und nennen Sie es daher Nullary.

Auch in nichtFunktionelle Programmierung, eine Funktion ohne Argumente kann sinnvoll und nicht unbedingt konstant sein (aufgrund Nebenwirkungen). Oft haben solche Funktionen tatsächlich einige Versteckte Eingabe was sein könnte globale Variablen, einschließlich des gesamten Zustands des Systems (Zeit, freier Speicher, ...). Letztere sind wichtige Beispiele, die normalerweise auch in "rein" funktionalen Programmiersprachen existieren.

Einstellig

Beispiele von Unary Operatoren In der Mathematik und in der Programmierung gehören das Unary Minus und Plus, die Inkrement- und Decrement -Operatoren in C-Stilsprachen (nicht in logischen Sprachen) und die Nachfolger, Fakultät, gegenseitig, Boden, Decke, Bruchteil, Schild, absoluter Wert, Quadratwurzel (die Hauptquadratwurzel), Komplexes Konjugat (unärtlich von "One" komplexe Zahl, die jedoch zwei Teile auf einer niedrigeren Abstraktionsniveau hat) und Norm Funktionen in Mathematik. Das Zwei ergänzt, Adressreferenz und die logisch nicht Betreiber sind Beispiele für unarte Operatoren in Mathematik und Programmierung.

Alle Funktionen in Lambda -Kalkül und in einigen Funktionale Programmiersprachen (vor allem diejenigen, die von stammen Ml) sind technisch ungar, aber sehen N-Ary unter.

Entsprechend Quine, die lateinischen Verteiler sein singuli, bini, terni, Und so weiter ist der Begriff "Singulary" eher das richtige Adjektiv als "Unary".[6] Abraham Robinson folgt Quines Gebrauch.[7]

In der Philosophie das Adjektiv monadisch wird manchmal verwendet, um a zu beschreiben Ein-Ort-Beziehung wie "ist quadratisch" im Gegensatz zu a Zwei-Platz-Beziehung wie "ist die Schwester von".

Binär

Die meisten Operatoren, die in Programmierung und Mathematik auftreten binär bilden. Sowohl für Programmierung als auch für Mathematik umfassen dies die Multiplikationsbetreiber, der Radixoperator, der oft weggelassen Exponentiation Bediener, die Logarithmus Bediener, die Zusatz Operator und der Aufteilung Operator. Logische Prädikate wie z. ODER, Xor, UND, Imp werden typischerweise als binäre Operatoren mit zwei unterschiedlichen Operanden verwendet. Im CISC Architekturen, es ist üblich, zwei Quelloperanden zu haben (und in einem von ihnen führen).

Ternär

Die Computerprogrammiersprache C und seine verschiedenen Nachkommen (einschließlich C ++, C#, Java, Julia, Perlund andere) liefern die ternärer Operator ?:, auch bekannt als die Bedingender Bedienerdrei Operanden. Der erste Operand (der Zustand) wird bewertet, und wenn er wahr ist, ist das Ergebnis des gesamten Ausdrucks der Wert des zweiten Operanden, andernfalls ist es der Wert des dritten Operanden. Das Weiter Die Sprache enthält auch einen ternären Operator, */, die die ersten beiden (One-Zell-) Zahlen multipliziert, die sich durch das dritte teilen, wobei das Zwischenergebnis eine Doppelzellzahl ist. Dies wird verwendet, wenn das Zwischenergebnis eine einzelne Zelle überlaufen würde. Das Python Sprache hat einen ternären bedingten Ausdruck, x Wenn c sonst y. Die Unix DC -Taschenrechner hat mehrere ternäre Betreiber, wie z. |, die drei Werte aus dem Stapel stecken und effizient berechnen mit willkürliche Präzision. Zusätzlich viele (RISC) Montagesprache Anweisungen sind ternär (im Gegensatz zu nur zwei in CISC festgelegten Operanden); oder höher, wie z. MOV %AX, (%BX, %CX), die (MOV) in das Register lädt AXT Der Inhalt eines berechneten Speicherorts, der die Summe (Klammern) der Register ist BX und CX.

n-ary

Aus mathematischer Sicht, eine Funktion von n Argumente können immer als Funktion eines einzelnen Arguments betrachtet werden, das ein Element einiger ist Produktraum. Es kann jedoch zweckmäßig sein, dass die Notation berücksichtigt wird n-ary Funktionen wie zum Beispiel Multilineare Karten (die keine linearen Karten am Produktraum sind, wenn n ≠ 1).

Gleiches gilt für Programmiersprachen, bei denen Funktionen, die mehrere Argumente annehmen zusammengesetzter Typ so wie ein Tupel, oder in Sprachen mit Funktionen höherer Ordnung, durch Currying.

Variierende Arität

In der Informatik wird eine Funktion, die eine variable Anzahl von Argumenten akzeptiert, genannt variadisch. In Logik und Philosophie werden Prädikate oder Beziehungen, die eine variable Anzahl von Argumenten akzeptieren Multigrade, anadisch oder variabel polyadisch.[8]

Terminologie

Latinieren Namen werden üblicherweise für bestimmte Aritäten verwendet, hauptsächlich basierend auf Latein Verteilungszahlen Bedeutung "in Gruppe von n", obwohl einige auf Latein basieren Kardinalzahlen oder Ordnungszahlen. Zum Beispiel basiert 1-Ary auf Kardinal Unuseher als aus Verteiler singulī das würde dazu führen SINGULARY.

X-Ary Arity (lateinischer) Adicity (griechisch basiert) Beispiel in Mathematik Beispiel in Informatik
0-Ary Nullary (aus Nūllus) Niladic A Konstante Eine Funktion ohne Argumente, wahr, falsch
1-Ary Einstellig Monadisch Additive Inverse Logisch nicht Operator
2-Ary Binär Dyadisch Zusatz ODER, Xor, UND
3-Ary Ternär Triadic Dreifachprodukt von Vektoren Bedingender Bediener
4-Ary Quartär Tetradisch Quaternion
5-Ary Quiny Pentadic Quintil
6-Ary Senary Hexadisch
7-Ary September Hebdomadic
8-Ary Oktonar Ogdoadik
9-Ary Novenary (Alt. Nonary) Enneadic
10-Ary Denor (Alt. Täuschung) Dekadisch
Mehr als 2-Ary Multary und Mehrfach Polyadisch
Variieren Variadisch Summe; z.B., Variadische Funktion, reduzieren

n-Ary meint n Operanden (oder Parameter), wird jedoch häufig als Synonym für "polyadisch" verwendet.

Diese Wörter werden oft verwendet, um alles zu beschreiben, was mit dieser Zahl zusammenhängt (z. B. Unemary Chess ist a chess variant mit einem 11 × 11 -Brett oder der Milnary Petition von 1603).

Die Arität von a Beziehung (oder Prädikat) ist die Dimension der Domain in der entsprechenden kartesisches Produkt. (Eine Funktion von Arity n So hat Arity n+1 als Beziehung betrachtet.)

Im Computerprogrammierung, es gibt oft a syntaktisch Unterschied zwischen Betreiber und Funktionen; Syntaktische Operatoren haben normalerweise Arity 0, 1 oder 2 (die ternärer Operator ?: ist auch häufig). Funktionen variieren stark in der Anzahl der Argumente, obwohl große Zahlen unhandlich werden können. Einige Programmiersprachen bieten auch Unterstützung für Variadische Funktionen, d.h. Funktionen syntaktisch eine variable Anzahl von Argumenten akzeptieren.

Siehe auch

Verweise

  1. ^ HaMewinkel, Michiel (2001). Enzyklopädie der Mathematik, Ergänzung III.. Springer. p. 3. ISBN 978-1-4020-0198-7.
  2. ^ Schechter, Eric (1997). Handbuch der Analyse und der Grundlage. Akademische Presse. p. 356. ISBN 978-0-12-622760-4.
  3. ^ Detlefsen, Michael; McCarty, David Charles; Bacon, John B. (1999). Logik von a bis z. Routledge. p.7. ISBN 978-0-415-21375-2.
  4. ^ Cocchiarella, Nino B.; Freund, Max A. (2008). Modale Logik: Eine Einführung in seine Syntax und Semantik. Oxford University Press. p. 121. ISBN 978-0-19-536658-7.
  5. ^ Crystal, David (2008). Wörterbuch für Linguistik und Phonetik (6. Aufl.). John Wiley & Sons. p. 507. ISBN 978-1-405-15296-9.
  6. ^ Quine, W. V. O. (1940), Mathematische Logik, Cambridge, Massachusetts: Harvard University Press, p. 13
  7. ^ Robinson, Abraham (1966), Nicht standardmäßige Analyse, Amsterdam: North-Holland, p. 19
  8. ^ Oliver, Alex (2004). "Multigrade -Prädikate". Geist. 113 (452): 609–681. doi:10.1093/mind/113.452.609.

Externe Links

Eine Monographie kostenlos online verfügbar: