Así funciona el modo aleatorio de los reproductores de música

Así funciona el modo aleatorio de los reproductores de música

Coges tus auriculares, los conectas a tu móvil, abres Spotify, pulsas el botón de las flechitas que se cruzan y listo, la música empieza a sonar de forma aleatoria. Salvo que mires la lista de reproducción, no sabrás qué canción viene después, y luego, y luego, y luego. Es la magia de la randomización, la capacidad de hacer que algo previamente ordenado se convierta en una especie de caos. Poner la música en aleatorio es un gesto muy sencillo, tan fácil como pulsar un botón, ¿pero cómo funciona realmente? Eso es, precisamente, lo que vas a descubrir hoy.

Detrás del modo aleatorio hay un algoritmo que se encarga de hacer que una lista ordenada de forma lógica se baraje sin posibilidad de predecir cuál será el resultado. Es posible que cada reproductor tenga el suyo propio, pero todos, o casi todos, se basan en el mismo. Señoras y señores, con todos ustedes, el algoritmo de Fisher-Yates.

¿Cómo funciona el algoritmo de Fisher-Yates?

Spotify Android

Este algoritmo de Fisher-Yates tiene una trayectoria bastante larga. Fue presentado por los británicos Ronald A. Fisher (estadístico y biólogo) y Frank Yates (también estadístico) en su obra Statistical tables for biological, agricultural and medical research, publicada por primera vez en 1938. Dicho algoritmo es el más utilizado para barajar en los diferentes juegos de azar y, efectivamente, el que usan los reproductores de música para el modo aleatorio. Puede que no lo conozcas por "algoritmo de Fisher-Yates", pero seguro que te suena "algoritmo del sombrero" o "Bingo".

Si alguna vez has jugado al Bingo, amigo mío, has visto con tus propios ojos el algoritmo de Fisher-Yates. Todos los números, ordenados del 1 al 90 constituyen el "array", y están ordenados numéricamente. Estos se meten en un bombo y se barajan. Posteriormente, se sacan de uno en uno de forma completamente aleatorio, y se ordenan en función del orden de salida. De esa forma, se obtiene una lista de 90 números, pero desordenada.

Algoritmo de Fisher-Yates, explicado

Fuente: Wikipedia

En la imagen superior se ha seleccionado un rango de números que van del 0 al 6. Se selecciona uno al azar (marcado en azul), se tacha y se pone el primero en la siguiente columna. Luego otro, y otro, y otro, hasta que no queda ninguno. Como puedes ver, la lista final contiene los mismos números del principio, pero desordenados.

Esto es exactamente lo mismo que hace un reproductor de música cuando seleccionas el modo aleatorio. Cuando ponemos la música en modo random lo que estamos haciendo es coger una lista ordenada, previsiblemente --aunque no necesariamente-- en orden alfabético, y cambiarla. El reproductor elige una canción aleatoria, la mueve, la tacha, y repite el proceso.

Otras interpretaciones

Algoritmo de Durstenfeld

Fuente: Wikipedia

Posteriormente se han hecho otras interpretaciones del algoritmo, destacando la de Durstenfeld. Esta es similar, solo que usa dos variables: ciclo y azar. Como ves en la tabla de arriba, que tiene las mismas variables que la anterior, en el ciclo 6 (el primero, marcado en rojo) se selecciona el número seis y se cambia su posición por la del número extraído al azar (número 4, en azul). El 4 se mueve al otro lado de la columna. El 6, sin embargo, cambia su valor-posición a 4, pero mantiene el valor-azar en 6. Y se repite el proceso.

En el ciclo cinco (rojo) se elige el cinco y se cambia por el número extraído al azar (cero, en azul). El cero se mueve y el cinco pasa a tener valor-azar 5, pero valor-posición 0. Así sucesivamente. Ahora solo tienes que cambiar los números por títulos de canciones, y tendrás tu música ordenada de forma completamente aleatoria. ¡La magia de los algoritmos!

Para estar siempre al día con lo último en tecnología, suscríbete a nuestro canal oficial y verificado de Andro4all en WhatsApp.

Para ti
Queremos saber tu opinión. ¡Comenta!