Aritás

függvény, művelet vagy reláció argumentumainak vagy operandusainak száma

A logika, matematika és számítástudomány területén az aritás (arity) egy függvény vagy matematikai művelet esetén az elfogadott argumentumok vagy operandusok számát határozza meg. Egy reláció vagy predikátum aritásán a megfelelő Descartes-szorzat értelmezési tartományának dimenziója értendő. (Egy n aritású függvénynek ezért n+1 az aritása, ha relációként tekintünk rá.) Az „aritás” kifejezés az unáris, bináris, ternáris stb. szavakból származik. Az unáris függvényeket vagy predikátumokat „monadikus”-nak, a binárisakat „diadikus”-nak is nevezik.

A matematika egyes területein az aritást „rangnak” (rank) is hívják,[1][2] de ennek a szónak számos más matematikai jelentése is van. A logikában és a filozófiában az aritás adicitás (adicity) és fok (degree) névvel is illetik.[3][4] A nyelvészetben az aritást általában valenciának (kapcsolóérték) hívják.[5]

A számítógép-programozásban gyakran szintaktikai különbség van a műveletek (operátorok) és függvények között; az operátorok aritása jellemzően 0, 1 vagy 2 (a ?: ternáris művelet is gyakori). A függvények argumentumainak száma tág határok között változhat, bár a túl sok argumentum követhetetlenné teheti a kódot. Egyes programozási nyelvek támogatják az ún. „variadic”, változó argumentumszámú függvényeket is.

Példák szerkesztés

Az „aritás” kifejezést ritkán használjuk a mindennapokban. Például ahelyett, hogy azt mondanánk, „az összeadás művelet aritása 2”, vagy „az összeadás 2 aritású művelet”, gyakoribb azt mondani: „az összeadás bináris művelet”. Általában az adott aritású műveletek vagy függvények elnevezése az n-alapú számrendszerek elnevezésének rendszerét követi, mint pl. bináris és hexadecimális. A latin prefixumot a -áris (-ary) végződéssel kombináljuk, így:

  • A nulláris függvényeknek nincsenek argumentumaik.
  • Az unáris függvényeknek egy argumentumuk van (egyváltozós függvény).
  • A bináris függvényeknek két argumentumuk van (kétváltozós függvény).
  • A ternáris függvényeknek három argumentumuk van (háromváltozós függvény).
  • Az n-áris függvényeknek pedig n argumentumuk (n változós függvény).

Nulláris szerkesztés

Hasznos lehet az állandókat 0 aritású műveleteknek tekinteni, és így nullárisnak nevezni őket.

A nem funkcionális programozásban egy argumentumok nélküli függvénynek lehet értelme, és nem is feltétlenül jelent konstans visszatérési értéket, a különböző rejtett mellékhatások miatt. Gyakran az ilyen függvények valójában rendelkeznek nem explicit bemenettel, például globális változók formájában vagy a rendszer állapotát mint változót figyelembe véve (dátum, szabad memória stb.) Ez utóbbi jelenség még tisztán funkcionális programozási nyelvekben is előfordulhat.

Unáris szerkesztés

Az unáris műveletek közé tartozik matematikában és programozásban egyaránt az unáris összeadás és kivonás (+, −), a C programozási nyelvcsalád inkrementálás-dekrementálás műveletei, a faktoriális, reciprok, (alsó és felső) egészrész, törtrész, előjel, abszolút érték, komplex konjugált (bár ez egy komplex szám tekintetében unáris, aminek alacsonyabb szinten két része van), és normaképzés műveletei. További unáris műveletek a kettes komplemens képzése, a memóriahivatkozás és a negáció (logikai nem).

A lambda-kalkulus összes függvénye, és egyes funkcionális programozási nyelvek (főleg az ML leszármazottai) technikailag unáris, de lásd még az n-áris szakaszt.

Quine szerint a latin osztóesetek ragozása alapján – singuli, bini, terni stb. az unáris helyett a szinguláris a helyes kifejezés.[6] Abraham Robinson a Quine-féle használatot követi.[7]

Bináris szerkesztés

A programokban megtalálható legtöbb művelet kétváltozós. A programozás és az aritmetika területén ezek jellemzően a szorzás, összeadás, osztás műveletek. A logikai predikátumokat („OR” „XOR”, „AND”, „IMP” is tipikusan bináris műveletként használják. A CISC-architektúrákban gyakori hogy két forrás operandus van, és az eredmény ezek egyikében tárolódik.

Ternáris szerkesztés

A C, C++, C#, Java, Julia, Perl és ezek variánsai tartalmazzák a ?: ternáris műveletet, ami egy úgynevezett feltételes művelet, három paraméterrel. A Forth nyelv is tartalmaz ternáris műveletet, ez a */, ami összeszorozza az első két (egy szavas) számot és elosztja a harmadikkal, a köztes eredmény két szavas szám lenne, de a végeredmény nem az. A Python ternáris feltételes kifejezése, az x if C else y. A dc calculator számos ternáris művelettel rendelkezik, mint a |, ami három elemet elővesz a veremből és tetszőleges precizitással kiszámítja   értékét. Számos RISC assembly utasítás ternáris (szemben a két operandusú CISC utasításokkal) vagy még magasabb aritású; ternáris például a MOV %AX, (%BX,%CX), ami az AX regiszterbe betölti (MOV) annak a memóriacímnek a tartalmát, ami BX és CX regiszterek összegéből számolódik.

n-áris szerkesztés

Matematikai értelemben egy n-változós függvény tekinthető olyan egyváltozós függvénynek is, melynek egyetlen változója valamely szorzattér eleme. Sok esetben kézenfekvőbb mégis n-áris függvényekkel foglalkozni, mint például a multilineáris leképezések esetében (melyek nem lineáris leképezések a szorzattéren, ha n≠1).

Ugyanez elmondható a programozási nyelvekre is, egy sokváltozós függvény meghatározható egyváltozós függvényként is, melynek bemenete valamely összetett adattípus, mint pl. szám n-es, vagy magasabb rendű függvények (funktorok) esetében a currying technikával.

Változó aritás szerkesztés

A számítástudományban a változó argumentumszámot elfogadó függvényeket variadikusnak nevezik. A logikában és filozófiában a változó számú argumentumot elfogadó predikátumokat vagy relációkat multigrade-nek („többfokozatú”), anadikusnak (anadic) vagy változóan poliadikusnak (variably polyadic) nevezik.[8]

Más megnevezések szerkesztés

Az egyes specifikus aritások megnevezéseire általában latin eredetű neveket használnak, a latin osztó esetből, sorszámnévből vagy tőszámnévből képezve. A bináris és ternáris kifejezések terjedtek el széles körben a latin osztó esetből képzettek közül.

  • Nulláris: 0-áris (a nūllus-ból, mivel a zéró használata nem terjedt el az ókorban).
  • Unáris: 1-áris (az unus tőszámból, a disztributív szinguláris, singulī alak helyett).
  • Bináris: 2-áris.
  • Ternáris: 3-áris.
  • Kvaternáris: 4-áris.
  • Kvináris: 5-áris.
  • Szenáris: 6-áris.
  • Szeptenáris: 7-áris.
  • Oktonáris: 8-áris (esetleg oktáris).
  • Novenáris: 9-áris (esetleg nonáris).
  • Denáris: 10-áris (esetleg decenáris)
  • Poliadikus, multáris vagy multiáris: 2 vagy több operandus vagy paraméter.
  • n-áris: n operandus vagy paraméter, de gyakran a poliadikus szinonimájaként használják.

Egy alternatív nevezéktan a megfelelő görög gyököket használja fel; például niladikus (vagy medadikus), monadikus, diadikus, triadikus, poliadikus s.í.t. Ebben a nevezéktanban a latinból származtatott aritás megfelelője az adicitás vagy adinitás.

Ezek a kifejezések sokszor bármilyen, a számmal kapcsolatos fogalomra utalhatnak, például az undenáris sakk egy 11×11-es táblán játszott sakkváltozat.

Fordítás szerkesztés

  • Ez a szócikk részben vagy egészben az Arity című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Kapcsolódó szócikkek szerkesztés

Jegyzetek szerkesztés

  1. Michiel Hazewinkel. Encyclopaedia of Mathematics, Supplement III. Springer, 3. o. (2001). ISBN 978-1-4020-0198-7 
  2. Eric Schechter. Handbook of Analysis and Its Foundations. Academic Press, 356. o. (1997). ISBN 978-0-12-622760-4 
  3. Logic from A to Z. Routeledge, 7. o. (1999). ISBN 978-0-415-21375-2 
  4. Modal Logic: An Introduction to its Syntax and Semantics. Oxford University Press, 121. o. (2008). ISBN 978-0-19-536658-7 
  5. David Crystal. Dictionary of Linguistics and Phonetics, 6th, John Wiley & Sons, 507. o. (2008). ISBN 978-1-405-15296-9 
  6. Quine, W. V. O. (1940), Mathematical logic, Cambridge, MA: Harvard University Press, p. 13
  7. Robinson, Abraham (1966), "Non-standard Analysis", Amsterdam: North-Holland, p. 19
  8. (2004) „Multigrade Predicates”. Mind 113, 609–681. o. DOI:10.1093/mind/113.452.609.  

További információk szerkesztés

Online ingyenesen elérhető monográfia: