Articulo de referencia

Aridad

En lógica , matemáticas e informática , aridad ( / ˈ ær ɪ t i / ⓘ ) es el número de argumentos u operandos que toma una función , operación o relación . En matemáticas, la arida...

En lógica , matemáticas e informática , aridad ( / ˈ ær ɪ t i / ) es el número deargumentosuoperandosque toma unafunción,operaciónorelación. En matemáticas, la aridad también puede llamarse rango, [ 1 ] [ 2 ] pero esta palabra puede tener muchos otros significados. En lógica yfilosofía, la aridad también puede llamarseadicidadygrado. [ 3 ] [ 4 ] Enlingüística, generalmente se denominavalencia. [ 5 ]

Ejemplos

En general, las funciones u operadores con una aridad determinada siguen las convenciones de nomenclatura de los sistemas numéricos basados ​​en n , como el binario y el hexadecimal . Se combina un prefijo latino con el sufijo -ario. Por ejemplo:

  • Una función nula no toma argumentos.
    • Ejemplo:F()=2{\displaystyle f()=2}
  • Una función unaria toma un argumento.
    • Ejemplo:F(incógnita)=2incógnita{\displaystyle f(x)=2x}
  • Una función binaria toma dos argumentos.
    • Ejemplo:F(incógnita,y)=2incógnitay{\displaystyle f(x,y)=2xy}
  • Una función ternaria requiere tres argumentos.
    • Ejemplo:F(incógnita,y,z)=2incógnitayz{\displaystyle f(x,y,z)=2xyz}
  • Una función n -aria toma n argumentos.
    • Ejemplo:F(incógnita1,incógnita2,,incógnitanorte)=2i=1norteincógnitai{\textstyle f(x_{1},x_{2},\ldots ,x_{n})=2\prod _{i=1}^{n}x_{i}}

Nulo

Una constante puede ser tratada como el resultado de una operación de aridad 0, llamada operación nula .

Además, fuera de la programación funcional , una función sin argumentos puede tener sentido y no necesariamente ser constante (debido a efectos secundarios ). Dichas funciones pueden tener alguna entrada oculta , como variables globales o el estado completo del sistema (tiempo, memoria libre, etc.).

Unario

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

Todas las funciones en el cálculo lambda y en algunos lenguajes de programación funcional (especialmente aquellos que descienden de ML ) son técnicamente unarias, pero véase n-arias más abajo.

Según Quine , dado que los distributivos latinos son singuli , bini , terni , etc., el término «singular» es el adjetivo correcto, en lugar de «unario». [ 6 ] Abraham Robinson sigue el uso de Quine. [ 7 ]

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

Binario

La mayoría de los operadores que se encuentran en programación y matemáticas son binarios . En ambas disciplinas, se incluyen el operador de multiplicación , el operador de base, el operador de exponenciación ( a menudo omitido ), el operador de logaritmo , el operador de suma y el operador de división . Los predicados lógicos como OR , XOR , AND e IMP se utilizan normalmente como operadores binarios con dos operandos distintos. En arquitecturas CISC , es común tener dos operandos de origen (y almacenar el resultado en uno de ellos).

Ternario

La mayoría de las CPU modernas ofrecen una instrucción de multiplicación-suma fusionada ternaria (FMA) para números de coma flotante, que multiplica dos números y suma el resultado a un tercer número, redondeando solo una vez al final. Esto evita la imprecisión que se produce al redondear las operaciones de multiplicación y suma por separado.

El lenguaje de programación C y sus diversos descendientes (incluidos C++ , C# , Java , Julia , Perl y otros) proporcionan el operador condicional ternario?: . El primer operando (la condición) se evalúa 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. Este operador tiene una estrategia de evaluación perezosa o de "atajo" que no evalúa el segundo o tercer argumento que no se utiliza. Algunos lenguajes de programación funcional, como Agda , tienen esta estrategia de evaluación para todas las funciones y, por lo tanto, se implementan if...then...elsecomo una función ordinaria; otros, como Haskell , pueden hacerlo, pero por razones sintácticas, de rendimiento o históricas, optan por definir palabras clave en su lugar.

El lenguaje Python tiene una expresión condicional ternaria, . En Elixir el equivalente sería .xifCelseyif(C,do:x,else:y)

El lenguaje Forth también contiene un operador ternario, */, que multiplica los dos primeros números (de una celda) y divide por el tercero, obteniendo como resultado un número de celda doble. Esto se utiliza cuando el resultado intermedio excedería el espacio disponible en una sola celda.

La calculadora Unix dc tiene varios operadores ternarios, como |, que extraerá tres valores de la pila y calculará eficientementeincógnitaymodz{\textstyle x^{y}{\bmod {z}}}con precisión arbitraria .

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

n -ario

La media aritmética de n números reales es una función n -aria:incógnita¯=1norte(i=1norteincógnitai)=incógnita1+incógnita2++incógnitanortenorte{\displaystyle {\bar {x}}={\frac {1}{n}}\left(\sum _{i=1}^{n}{x_{i}}\right)={\frac {x_{1}+x_{2}+\dots +x_{n}}{n}}}

De manera similar, la media geométrica de n números reales positivos es una función n -aria:(i=1norteai)1norte= a1a2anortenorte.{\displaystyle \left(\prod _{i=1}^{n}a_{i}\right)^{\frac {1}{n}}=\ {\sqrt[{n}]{a_{1}a_{2}\cdots a_{n}}}.}Nótese que el logaritmo de la media geométrica es la media aritmética de los logaritmos de sus n argumentos.

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

Lo mismo ocurre con los lenguajes de programación, donde las funciones que toman varios argumentos siempre podrían definirse como funciones que toman un solo argumento de algún tipo compuesto, como una tupla , o en lenguajes con funciones de orden superior , mediante currificación .

aridad variable

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

Terminología

Los nombres de origen latino se utilizan comúnmente para aridades específicas, basadas principalmente en números distributivos latinos que significan "en grupo de n ", aunque algunos se basan en números cardinales o ordinales latinos . Por ejemplo, 1-ario se basa en el cardinal unus , en lugar del distributivo singulī que daría como resultado singularidad .

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

Estas palabras se utilizan 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 operación de aridad n tiene, por lo tanto, aridad n +1 considerada como una relación). "Dado que una operación n-aria es un caso especial de una relación (n+1)-aria, vemos que las álgebras pueden considerarse un caso especial de estructuras relacionales." [ 9 ]

En programación informática , suele haber una distinción sintáctica entre operadores y funciones ; los operadores sintácticos generalmente tienen aridad 1, 2 o 3 (el operador ternario ?: también es común). Las funciones varían ampliamente en cuanto al número de argumentos, aunque un número elevado puede resultar difícil 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.

Véase también

Referencias

  1. ^ Hazewinkel, Michiel (2001). Enciclopedia de Matemáticas, Suplemento III . Saltador. pag.  3.ISBN 978-1-4020-0198-7.
  2. Schechter, Eric (1997). Manual de análisis y sus fundamentos . Academic Press. pág. 356. ISBN  978-0-12-622760-4.
  3. Detlefsen, Michael; McCarty, David Charles; Bacon, John B. (1999). Lógica de la A a la Z. Routledge. pág . 7. ISBN  978-0-415-21375-2.
  4. Cocchiarella, Nino B.; Freund, Max A. (2008). Lógica modal: Introducción a su sintaxis y semántica . Oxford University Press. pág. 121. ISBN  978-0-19-536658-7.
  5. Crystal, David (2008). Diccionario de lingüística y fonética (6.ª ed.). John Wiley & Sons. pág. 507. ISBN   978-1-405-15296-9.
  6. Quine, WVO (1940), Lógica matemática , Cambridge, Massachusetts: Harvard University Press, pág. 13 
  7. Robinson, Abraham (1966), Análisis no estándar , Ámsterdam: North-Holland, pág. 19 
  8. Oliver, Alex (2004). "Predicados multigrado". Mind . 113 (452): 609– 681. doi : 10.1093/mind/113.452.609 .
  9. PM Cohn (1968) Álgebra Universal , página 189

Una monografía disponible gratuitamente en línea:

  • Burris, Stanley N., y HP Sankappanavar, HP, 1981. Un curso de álgebra universal. Springer-Verlag. ISBN 3-540-90578-2. Especialmente las páginas  22-24.