3 votos

¿Cómo hallar la distancia entre números de un conjunto finito que forma un bucle?

Si tomamos un conjunto finito de números y los hacemos cíclicos en un umbral específico. Por ejemplo con 5 como umbral:

$1 \rightarrow 2 \rightarrow 3 \rightarrow 4 \rightarrow 5 \rightarrow 1 \rightarrow etc...$

¿Cómo podemos hallar la distancia entre 2 elementos cualesquiera, considerando que forman un ciclo? Pues en ese ejemplo:

$distance(1, 1) = 0$

$distance(1, 2) = 1$

$distance(1, 3) = 2$

$distance(1, 4) = 2$

$distance(1, 5) = 1$

Perdón por la explicación tan desordenada. Carezco de educación matemática formal, y sólo estoy tratando de averiguar un algoritmo de código para un proyecto paralelo que estoy desarrollando. Gracias.

3voto

CodeMonkey1313 Puntos 4754

Sea d = $|a-b|$ el valor absoluto de la diferencia entre ellos. Entonces la distancia es la menor de $d$ y $5-d$ .

0voto

mrseaman Puntos 161

Creo que lo que quieres es esto: si el umbral es $n$ entonces para $a \le b$ : $$ d(a, b) = \left\{ \begin{array}{l{\quad}l} b - a &\mbox{if $b - a\le n/2$}\\ a + n - b &\mbox{if $b - a > n/2$} \end{array} \right. $$

y para $a > b$ , $d(a, b) = d(b, a)$ .

Es decir, en el caso en que $a \le b$ subes de $a$ a $b$ a menos que suba de $b$ a $a + n$ sería más corto.

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