Aridad

Compartir Imprimir Citar
Número de argumentos requeridos por una función

Aridad () es el número de argumentos u operandos tomados por una función, operación o relación en lógica, matemáticas e informática. En matemáticas, la aridad también puede llamarse rango, pero esta palabra puede tener muchos otros significados en matemáticas. En lógica y filosofía, también se le llama adicidad y grado. En lingüística, suele denominarse valencia.

Ejemplos

El término "aridad" rara vez se emplea en el uso diario. Por ejemplo, en lugar de decir "la aridad de la operación de suma es 2" o "la suma es una operación de aridad 2" normalmente se dice "la suma es una operación binaria". En general, la denominación de funciones u operadores con una aridad determinada sigue una convención similar a la utilizada para los sistemas numéricos basados en n, como el binario y el hexadecimal. Uno combina un prefijo latino con la terminación -ario; por ejemplo:

Nulo

A veces es útil considerar una constante como una operación de aridad 0 y, por lo tanto, llamarla nullary.

Además, en la programación no funcional, una función sin argumentos puede ser significativa y no necesariamente constante (debido a efectos secundarios). A menudo, tales funciones tienen de hecho alguna entrada oculta que podría ser variables globales, incluido el estado completo del sistema (tiempo, memoria libre,...). Estos últimos son ejemplos importantes que suelen existir también en "puramente" Lenguajes de programación funcionales.

Unario

Ejemplos de operadores unarios en matemáticas y en programación incluyen el menos y más unario, los operadores de incremento y decremento en lenguajes de estilo C (no en lenguajes lógicos) y el sucesor, factorial, recíproco, piso, techo, parte fraccionaria, signo, valor absoluto, raíz cuadrada (la raíz cuadrada principal), conjugado complejo (unario de 'uno' número complejo, que sin embargo tiene dos partes en un nivel más bajo de abstracción) y funciones normativas en matemáticas. El complemento a dos, la referencia de dirección y los operadores lógicos NOT son ejemplos de operadores unarios en matemáticas y programación.

Todas las funciones en el cálculo lambda y en algunos lenguajes de programación funcional (especialmente los que descienden de ML) son técnicamente unarios, pero vea n-ario a continuación.

Según Quine, siendo los distributivos latinos singuli, bini, terni, y así sucesivamente, el término "singulary" es el adjetivo correcto, en lugar de "unary." Abraham Robinson sigue el uso de Quine.

En filosofía, el adjetivo monádico se usa a veces para describir una relación de un lugar como 'tiene forma cuadrada' a diferencia de una relación de dos lugares como 'es la hermana de'.

Binario

La mayoría de los operadores que se encuentran en la programación y las matemáticas son de forma binaria. Tanto para la programación como para las matemáticas, estos incluyen el operador de multiplicación, el operador de raíz, el operador de exponenciación que a menudo se omite, el operador logarítmico, el operador de suma y el operador de división. Los predicados lógicos como OR, XOR, AND, IMP se utilizan normalmente como operadores binarios con dos operandos distintos. En las arquitecturas CISC, es común tener dos operandos fuente (y almacenar el resultado en uno de ellos).

Ternario

El lenguaje de programación informática C y sus diversos descendientes (incluidos C++, C#, Java, Julia, Perl y otros) proporcionan el operador condicional ternario ?:. Se evalúa el primer operando (la condición), y si es verdadero, el resultado de toda la expresión es el valor del segundo operando, de lo contrario es el valor del tercer operando. El lenguaje Python tiene una expresión condicional ternaria, x si C else y.

El lenguaje Forth también contiene un operador ternario, */, que multiplica los dos primeros números (de una celda), dividiéndolos por el tercero, y el resultado intermedio es un número de celda doble. Esto se usa cuando el resultado intermedio desbordaría una sola celda.

La calculadora Unix dc tiene varios operadores ternarios, como |, que va a publicar tres valores de la pila y eficientemente compute xSí.modz{fnK} con precisión arbitraria.

Muchas instrucciones en lenguaje ensamblador (RISC) son ternarias (a diferencia de solo dos operandos especificados en CISC); o superior, como MOV %AX, (%BX, %CX), que cargará (MOV) en el registro AX el contenido de una ubicación de memoria calculada que es la suma (paréntesis) de los registros BX y CX.

N-aria

Desde un punto de vista matemático, una función de n argumentos siempre se puede considerar como una función de un solo argumento que es un elemento de algún espacio de producto. Sin embargo, puede ser conveniente para la notación considerar funciones n-arias, como por ejemplo mapas multilineales (que no son mapas lineales en el espacio del producto, si n ≠ 1).

Lo mismo ocurre con los lenguajes de programación, donde las funciones que toman varios argumentos siempre se pueden definir como funciones que toman un solo argumento de algún tipo compuesto, como una tupla, o en lenguajes con funciones de orden superior, mediante curry.

Aridad variable

En informática, una función que acepta un número variable de argumentos se llama variádica. En lógica y filosofía, los predicados o relaciones que aceptan un número variable de argumentos se denominan multigrado, anádico o variablemente poliádico.

Terminología

Los nombres latinos se usan comúnmente para aridades específicas, principalmente basados en números distributivos latinos que significan "en grupo de n", aunque algunos se basan en números cardinales u ordinales latinos.. Por ejemplo, 1-ario se basa en el cardinal unus, en lugar del distributivo singulī que resultaría en singulary.

x-aryArity (Latin based)Adicidad (con base griega)Ejemplo en matemáticasEjemplo en la ciencia informática
0-aryNullary (de nūllus)NiladicUna constanteUna función sin argumentos, Verdadero, Falso
1-aryUnaryMonadicInverso aditivoOperador lógico NO
2-arybinarioDyadicAdiciónO, XOR, Y
3-aryTernarioTriadicTriple producto de vectoresOperador condicional
4-aryCuaternarioTetradicQuaternion
5-aryQuinaryPentadicQuintil
6-arySenaryHexadic
7-arySeptenarioHebdomadic
8-aryOctonarioOgdoadic
9-aryNovenario (Alt. notario)Enneadic
10-aryDenario (Alt. decenario)Decadic
Más de 2 diariosMultary y multianualPolyadic
VaryingVariadicSum; por ejemplo, .. {textstyle sum }Función variable, reducir

n-ary significa n operandos (o parámetros), pero a menudo se usa como sinónimo de "poliádico".

Estas palabras se usan a menudo para describir cualquier cosa relacionada con ese número (por ejemplo, el ajedrez undenario es una variante del ajedrez con un tablero de 11×11, o la Petición Milenaria de 1603).

La aridad de una relación (o predicado) es la dimensión del dominio en el producto cartesiano correspondiente. (Una función de aridad n por lo tanto tiene aridad n+1 considerada como una relación).

En la programación de computadoras, a menudo hay una distinción sintáctica entre operadores y funciones; los operadores sintácticos suelen tener aridad 0, 1 o 2 (el operador ternario ?: también es común). Las funciones varían ampliamente en el número de argumentos, aunque los números grandes pueden volverse difíciles de manejar. Algunos lenguajes de programación también ofrecen soporte para funciones variádicas, es decir, funciones que aceptan sintácticamente un número variable de argumentos.