14 votos

Expresión del máximo de varias variables mediante funciones elementales

Es bien sabido que $$\max(a,b)=\frac{a+b+|a-b|}{2}.$$

¿Existe una (buena) generalización a varias variables? Por supuesto $\max(a,b,c)=\max(a,\max(b,c))$ y así $$\max(a,b,c)=\frac{a+\frac{b+c+|b-c|}{2}+|a-\frac{b+c+|b-c|}{2}|}{2}$$ $$=\frac{a+0.5b+0.5c+0.5\left|b-c|+|a-0.5b-0.5c-0.5|b-c|\right|}{2}$$ pero me gustaría una forma que muestre mejor la simetría natural y que no tenga tantas operaciones.

Se trata de un problema práctico al trabajar en un sistema que tiene un operador de valor absoluto pero no un máximo y no tiene mucha capacidad para ejecutar sentencias condicionales, pero para ser honesto la verdadera razón por la que estoy interesado es un intento de embellecer algo que es aparentemente feo.

Para la parte práctica necesito entre 5 y 10 argumentos y es aceptable asumir que todos los argumentos son al menos 0, aunque por supuesto sería mucho más satisfactorio si esta última suposición no fuera necesaria.

2voto

lagerdalek Puntos 123

Creo que la división de enteros puede proporcionar un camino a una respuesta diferente, dependiendo de cómo funciona exactamente. Voy a hacer el formato al estilo de la programación, no al estilo de las matemáticas, ya que es lo que estoy acostumbrado.

Suponga que tiene n argumentos, A[1], A[2], A[3]..., A[n].

Definir el coeficiente multiplicador C[i][j] tal que C[i][j] = 1 para A[i]>A[j], cero en caso contrario. Esto puede hacerse utilizando el truco del valor absoluto como en la fórmula anterior.

Defina un coeficiente T[i] = suma (C[i][j]) / (n-1) utilizando la división entera. Para el subíndice i que pertenece al valor máximo, la suma será n-1, por lo que T[i] será 1. Para otros subíndices, la suma será menor que n-1, por lo que T[i] será cero.

Max = suma (T[i] A[i])

Probablemente tengo algo al revés, pero creo que el enfoque es factible, aunque tal vez no sea mejor que la sugerencia original.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X