10 votos

"Media entera" de dos números enteros

Supongamos dos números enteros arbitrarios $a$ y $b$ . Estoy buscando alguna función $f(a,b)$ con las siguientes propiedades:

  • $f(a,b)\in\mathbb{Z}$ .
  • $f(a,a)=a$ .
  • $f(a,b)=f(b,a)$ .
  • $\min\{a,b\}< f(a,b)< \max\{a,b\}$ , aceptando " $\leq$ " si $a$ y $b$ son consecutivos ( $a=b\pm 1$ ).

¿Hay algún ejemplo de esta función?

Mejora: ¿Alguna solución que evite las funciones de "suelo/techo"?

2 votos

¿Qué pasa con $f(a,b)=\lfloor \frac{a+b}{2}\rfloor$ ? Ya sabes... la media de los enteros :-)

0 votos

El problema de la función media $f(x,y) = \dfrac {x+y}{2}$ es que a veces se obtiene un extra $\dfrac 12$ . Así, se puede redondear hacia arriba o hacia abajo para obtener una "media entera". Estas funciones redondeadas corresponderían a $f_{down}(x,y) = \left\lfloor \dfrac {x+y}{2} \right\rfloor$ & $f_{up}(x,y) = \left\lceil \dfrac {x+y}{2} \right\rceil$ . Sólo tienes que elegir el más apropiado para lo que estás haciendo.

0 votos

¡Gracias por las soluciones! ¿Alguna idea para evitar las funciones de suelo/techo?

30voto

fattire Puntos 716

$$f(a,b)=\frac{a+b-\sin^2\left(\pi(a+b)/2\right)}{2}$$

Sí, es la función del suelo disfrazada :-)

6 votos

¡Esto me hace reír por su ingenio! También me ayudó a ver que las funciones suelo/techo no añaden más discontinuidad de la que ya tienen los enteros.

15voto

naiad Puntos 240

\begin {Edición} f(a,b) = \begin {casos} a & \text { si } a=b \\ a+1 & \text { si } a<b \\ b+1 & \text { si } b<a \end {casos} \end {Ecuación}

<sup>Esto ignora la connotación verbal de "media entera". Porque a nadie le gustan las connotaciones.</sup>

14voto

Shabaz Puntos 403

¿Qué tal si $f(a,b)=\lfloor \frac 12(a+b)\rfloor$ ?

13voto

user87023 Puntos 1

¿Alguna solución que evite las funciones de "suelo/techo"?

¿Quizás esperabas un polinomio? Lamentablemente, eso es imposible. Si $f$ es un polinomio, entonces $g(a)=f(a,0)$ también es un polinomio. Necesitamos $|g(a)|\leq |a|$ para todos $a$ por lo que el grado de $g$ no puede ser mayor que $1$ . Pero si $g$ es lineal y $g(0)=0$ y $g(2)=1$ entonces $g(1)=\frac12\not\in\mathbb Z$ .

6voto

user198082 Puntos 61

Yo utilizaría el "redondeo científico" (redondear al par) en la media aritmética. Así, si $(a+b)/2$ es un número entero, utilícelo, de lo contrario utilice el número entero par de $(a+b+1)/2$ y $(a+b-1)/2$ . Así que probablemente sería algo así como $$\left\lfloor a+b+1\over4\right\rfloor + \left\lceil a+b-1\over4\right\rceil$$ La ventaja de este tipo de redondeo es que es globalmente insesgado a la vez que redondea preferentemente a puntos de mayor estabilidad, reduciendo posiblemente la cantidad de errores de seguimiento con operaciones repetidas ya que al promediar dos valores calculados usando el desempate "redondeado a la par" se obtendrá un resultado exacto que no necesitará otro desempate.

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