Hace 9 años | Por Nights a microsiervos.com
Publicado hace 9 años por Nights a microsiervos.com

Apple tuvo que desarrollar un sistema aleatorio más «inteligente» para iTunes que hiciera que el modo aleatorio fuera MENOS aleatorio pero pareciera más aleatorio a quienes estaban escuchando la música.

Comentarios

E

La percepcion de falta de aleatoriedad en generadores de numeros aleatorios es un problema muy comun sobre todo en videojuegos (que los dados aleatorios lo no parencen) y ahi sique se se reduce la aleatoriedad añadiendo repeticiones de algunos resultados (para que salgan con mas probabilidad de lo que debieran).

#1 Lo de iTunes es de risa, no lo modificaron para que fuera MENOS aleatorio, sino para que fuera MAS aleatorio. El metodo B es mucho mas aleatorio que el metodo A... de hecho el metodo A no pasaria casi ningun test de aleatoriedad (tiene un patron que se repite en el tiempo).

Como pueden llamar seleccion aleatoria a un algoritmo que impide que repitas canciones (eso estaba simplemente hecho para programar los botones de 'atras' y 'adelante' mas facilmente). El parche que le hicieron de remezclar la lista a mitad, añade bastante aleatoriedad, dicho sea de paso.

#2 Nunca se puede estar completamente seguro, pero si que existen test de aleatoriedad para detectar generadores que es bastante seguro no lo son (pero todo, en este campo siempre lleva la colletilla de "w.h.p." (with high probability)).

M

#3 Aunque estoy bastante de acuerdo con lo que dices, no lo estoy con respecto a que el método A no es aleatorio. Por ejemplo, si sacas las cartas de una baraja de forma aleatoria, por ejemplo para jugar una partida de póquer, nunca se va a repetir ninguna carta simplemente porque la baraja no contiene cartas repetidas (generalmente los comodines también son distintos) o, por poner otro ejemplo, en la bonoloto, ni en otros juegos similares, nunca se va a repetir ningún número porque una vez extraído un número este queda eliminado hasta el próximo sorteo. Otro ejemplo, la fecha y la hora en la que pasa un vehículo por determinado punto de la carretera (o cualquier otro evento aleatorio que suceda en el tiempo) puede ser algo completamente aleatorio pero cada vez que ocurre se da la condición de que la fecha y la hora son iguales o posteriores a las del evento anterior. Es decir, en esos casos existe una condición inevitable (eventos no repetidos, eventos ordenados en el tiempo, etc) que influyen en el resultado sin quitarle aleatoriedad (la probabilidad de que salga cualquier resultado de los que cumplen las condiciones es la misma).

La diferencia entre A y B no es que sean más o menos aleatorios, sino el tipo de situaciones en el que tiene sentido aplicar uno u otro, incluso no son los únicos posibles, por ejemplo, para el caso del momento en el que pasa un vehículo por un punto no son útiles ni A (lista ordenada aleatoriamente de todos los elementos posibles sin repetición) ni B (lista ordenada aleatoriamente con repetición), haría falta un algoritmo C, lista ordenada con o sin repetición en la que sólo entran unos pocos de los elementos posibles).

En el caso de un reproductor de música, me parece que A puede tener bastante sentido (tal vez con la salvedad de que se reordene la lista una vez finalizada, como ocurre en el ejemplo de la bonoloto), aunque también entiendo que hay gente que puede preferir un método que permita repetir las canciones (podría ser configurable: aleatorio con o sin repetición).

E

#4 Si y no, depende de la rigurosidad matematica con la que estemos hablando.

Para ser mas concretos, el metodo A solo es aleatorio durante una repeticion (que es una muestra pequeña y finita)... el problema es el dominio, en el caso de la lista de reproduccion del ipod, el tiempo de escucha muchas veces es mayor al tiempo total de la tus canciones, en ese mismo momento el metodo A deja de ser aleatorio (y es trivial darse cuenta de ello). Es como jugar muchas partidas de poker seguidas con exactamente el mismo orden de la baraja. Casi cualquier generador, si la muestra es suficientemente pequeña, parece aleatorio.

Dicho sea de paso, el poquer no es altamente aleatorio (estrictamente hablando)... precisamente por no poder repetir, la ausencia de un evento es tambien un patron (incluso hay algunos tests para detectar malos generadores basados en poquer) y desde luego "la fecha y la hora en la que pasa un vehículo por determinado punto de la carretera" no lo es ni de lejos (todas las carreteras tienen muchos patrones con las horas/dias/meses). Este ultimo ejemplo de hecho, se usa bastante porque precisamente refleja de forma perfecta como nuestro cerebro necesita una cierta falta de aleatoriedad para percibir algo como aleatorio (mientras que si le das data muy aleatoria de "desespera" buscando patrones locales).



La aleatoriedad, que ha sido ampliamente estudiada en matematicas, es un tema muy complejo (y tremendamente sutil). Una forma teorica de definirla es la ausencia de patrones en los datos, estando relacionada con la complejidad de Kolmogorov y con la teoria de Ramsey (ambos temas muy "profundos" en matematicas). De forma practica estan los test que se utilizan para medir la calidad de los generadores de numeros pseudo-aleatorios, los cuatro primeros que se propusieron (frequency test, serial test, poker test, gap test) son los mas basicos y sirven para distinguir entre "local randomness" (aleatoriedad local o aparente) y "real randomness" (aleatorieadad real o verdadera); pero existen mas avanzados (Chi-Square test, Monobit test, Wald–Wolfowitz runs test, Autocorrelation test, Kolmogorov–Smirnov test, The spectral test, Maurer's Universal Statistical Test, GDC test, Gorilla test, Birthday test, ...).

Aunque no es necesario pasar los mas avanzados para que sea usable (salvo que sean ambitos de criptografia, etc), los mas basicos si que son importantes. Y estoy bastante seguro de que el metodo A no pasaria casi ninguno de los mas basicos, de hay que dijera que no es aleatorio (tampoco el poquer o la caretera pasarian muchos de los normales).

E

#9 #16 Yo tambien creia que iba a ir de eso, que es un tema de investigacion candente en los generadores para videojuegos... pero menudo fiasco, como #6 #5 me he quedado a cuatros con la chapuza que hicieron para tener botones para cambiar de cancion mas faciles.

Estoy por votarla erronea/sensacionalista por la entradilla del articulo... la modificacion no lo hace menos aleatorio, sino estrictamente mas aleatorio (cosa se puede comprobar facilmente pasandole una bateria de pruebas a ambos algoritmos como he dicho en #3 y #17).

M

#17 "el método A solo es aleatorio durante una repetición"
Y eso es lo que quería decir, es aleatorio durante una repetición, si hay más, lo que no ocurrirá siempre, se vuelve a barajar con lo que conseguimos que parezca ser aleatorio (aunque en ese caso realmente, considerando la reproducción en conjunto, ya no lo sea) y nos quitamos la posibilidad de reproducir la misma canción varias veces de forma consecutiva (que puede ser bastante molesto). El problema de la falta de aleatoriedad no está en el algoritmo A en sí, sino en que se superan las condiciones en las que es útil ese algoritmo (número de eventos o reproducciones igual o inferior al de elementos de la lista).

En cuanto a que la ausencia de un elemento "es un patrón", no estoy de acuerdo. Estrictamente hablando siempre va a existir ausencia de elementos puesto que ni los eventos tienen infinitas posibilidades (un dado sólo 6 y una moneda sólo 2) ni se repiten infinitas veces y no por eso el resultado de tirar un dado 100.000 veces deja de ser completamente aleatorio e impredecible. Incluso tirar un dado una única vez es completamente impredecible (aleatorio) aunque es muy probable acertar (nadie pondría la mano en el fuego porque sale cara o cruz, pero sí apostarían 10,20,100 euros) lo que hace que pueda parecer poco aleatorio. Es aleatorio en cuanto que las posibilidades de obtener cara o cruz son exactamente las mismas, luego es imposible de predecir el resultado, pero en un evento que se supone aleatorio (como un algoritmo informático) si alguien acierta ¿ha acertado porque hay un patrón que ha descubierto o por puro azar?. Tampoco es posible predecir el resultado de la lotería ni de la bonoloto y, sin embargo, la gente acierta (en la lotería normalmente se juegan todos los números, sólo hay 100.000 posibilidades, con lo que alguien acierta sí o sí, en la bonoloto el número de combinaciones es tal que hace que eso sea imposible por lo que es muy normal que se acumulen grandes botes pero al final alguien termina acertando, se puede decir que en ambos casos se dan "ataques por fuerza bruta" hasta que alguien acierta). El problema del póquer, y otros juegos de cartas, está en que se extraen muchas cartas y las jugadas vencedoras son bastante reducidas, con lo que viendo tus cartas, las que ya han salido y conociendo las jugadas posibles es más o menos "fácil" predecir las que quedan en el mazo o el juego de tus rivales, en ocasiones es incluso posible saber con exactitud que nadie puede mejorar tu jugada. Antes de terminar la partida ya sabes el resultado, lo que da al traste con la condición de ser impredecible de la aleatoriedad.

Lo de la carretera tal vez no es muy buen ejemplo, depende de muchos factores humanos como de las horas punta, tan sólo quería indicar que un evento aleatorio puede tener distintas restricciones: un dado limita los resultados a un número del 1 al 6, una baraja limita al número de cartas disponibles (con muchas más opciones que un dado), pero, en ambos casos se puede modificar el evento para ampliar o reducir esas restricciones (se pueden añadir más caras al dado o poner el mismo número en varias caras, se puede añadir o quitar cartas o se puede repetir el evento todas las veces que quieras). Y en ciertos eventos aleatorios reales se da la condición de que no se puede repetir el resultado, por ejemplo, porque se destruyen los elementos que participan.

Volviendo a los métodos A y B. A realiza (modela con un algoritmo informático) permutaciones, variaciones o combinaciones aleatorias sin repetición, mientras que B realiza esas mismas operaciones aleatorias pero con repetición. Ambos son aleatorios pero resuelven problemas distintos, B es mejor generador de números aleatorios para criptografía, pero para resolver otros problemas, como el de barajar las cartas o el de la bonoloto es más eficiente el método A (el resultado va a ser el mismo con ambos métodos pero con B tienes que descartar los resultados duplicados por lo que va a ser menos eficiente y con A eso ya está resuelto desde el principio). Hay otros eventos aleatorios que no se pueden modelar fácilmente ni con A ni con B porque existen condiciones adicionales en el problema (por ejemplo, el conjunto de sucesos posibles varía en función del resultado anterior y los eventos no se pueden repetir, como ocurre con eventos aleatorios que se suceden en el tiempo, lo que quería mostrar con el ejemplo de la carretera, cada vez que ocurre un suceso todos los momentos anteriores a ese quedan descartados por lo que cualquier método que utilice una lista desordenada de eventos posibles o que permita la repetición de estos no nos sirve).

En cuanto a los métodos que comentas para medir la calidad de los generadores no los conozco, pero si buscas aleatoriedad para criptografía lo que interesa es que el número de combinaciones posibles sea muy grande de forma que la probabilidad de acertar sea muy pequeña y, para eso, es preferible permitir la repetición de un número/caracter que no permitirlo, que el número de caracteres posibles sea muy alto (es preferible usar caracteres alfanuméricos a sólo numéricos y usar mayúsculas y minúsculas a sólo minúsculas y también es preferible usar algunos símbolos a no usarlos) y que la longitud de la cadena que se utilice para formar la clave sea suficientemente alta. Es decir, en criptografía lo que se busca es minimizar la probabilidad de adivinar la clave sin necesidad de usar una clave muy larga. Tal vez los métodos que comentas para determinar la calidad de un generador de números pseudo-aleatorios intenten buscar algo similar y descartar a los que no lo hacen y en este caso A no sería un buen método porque con el mismo número de elementos posibles genera muchos menos eventos posibles.

E

#19 En realidad, siendo mas estricto el metodo A ni siquiera es realmente aleatorio durante una repeticion (solo lo es el primer elemento). Por tus explicaciones, creo que estas confundiendo el concepto de aleatoriedad con "tener gran numero de combinaciones", ambos conceptos estan relacionados en muchos casos, pero no son ni de lejos lo mismo.

La definicion de aleatoriedad no esta realacionada con aumentar o disminuir el tamaño del conjuto de donde extraes los elementos; algo es aleatorio cuando es impredecible (independientemente de la informacion anterior que tengas), lo se aplica incluso para series binarias (como lanzamientos consecutivos de una moneda). Una definicion mas formal seria "la probabilidad de acertar el elemento n+1 de una serie conociendo los n anteriores, es la misma independiente de cual sea el valor de n".

Con esa definicion es bastante facil ver como el metodo A y la baraja de poquer no son aleatorios... cada vez que escuchas una cancion o sacas una carta, ganas informacion sobre las que estan por venir (aumenta tu probabilidad de acertar) ya que descartas un elemento que no se puede volver a repetir, por eso la repeticion de elementos es un requisito imprescindible de la buena aleatoriedad. Eso precisamente es lo que hace a las permutaciones sin repeticion no muy buenos ejemplos.

En cuanto a la criptografia, se necesita de ambas cosas... un alto numero de combinaciones posibles (para que la probabilidad de acertar sea muy baja) y un buen generador (para que esa probabilidad no aumente con el tiempo/uso), no basta con una sola (y la segunda condicion es mucho mas dificil de conseguir). Por eso los test de aleatoriedad y los generadores de numeros pseudo-aleatorios son algo tan investigado en ciencias de la computacion.



Yo no intento negar en ningun momento que el metodo A (permutaciones sin repeticion) no sea util para muchisimos usos, indudablemente lo es (yo mismo lo utilizo cada dos por tres). Lo que digo es que es completamente erroneo afirmar que el nuevo metodo (o el metodo B) son MENOS aleatorios que el metodo A (como dice el articulo), ya que se puede probar matematicamente de forma muy facil que son MAS aleatorios que el metodo A (ya que bajan la probabilidad de acertar la siquiente cancion).


La aleatoriedad es precisamente uno de los temas de mi investigacion (y es tremendamente mas sutil de lo que puede parecer en un principio), el laboratorio en el que hago mi doctorado se especializa entre otras cosas en los algoritmos aleatorios, la complejidad computacional y la criptiografia.

M

#20 Yo no lo veo así, sacar una carta de una baraja española, 48 cartas es algo aleatorio, lo mismo que lo es sacar una carta de una baraja inglesa (52 cartas) o de una baraja inglesa a la que ya le hemos quitado 4 cartas (es exactamente igual de aleatorio este caso que el de la baraja española, por mucho que tengas información sobre las primeras 4 cartas que han salido). Cada evento individual es completamente aleatorio y el orden total que se obtiene también lo es: es completamente imposible predecir el orden en el que van a salir las cartas. La probabilidad de acertar una permutación de 48 elementos es de 1/48! = 1/1,24139155925e+61 ¿y según tú es predecible?

O sea, que según tú la bonoloto no es un juego aleatorio (cada vez que se saca una bola se reduce en uno el número de posibilidades) o la lotería de navidad (cada vez que sale un número no puede volver a salir) y tampoco sería posible obtener ninguna lista de cosas ordenada de forma aleatoria. Sin embargo todos esos eventos son completamente aleatorios el que se reduzcan las posibilidades en cada evento es indiferente porque depende de los primeros.

Por lo que dices, lo que pretendes es que, por ejemplo, en la bonoloto o en un juego de cartas, cada vez que sale un resultado te dejen modificar tu apuesta pero eso es hacer trampas.

En una baraja de cartas, como en cualquier otra permutación aleatoria, el que cada vez que sale una carta ganes información es completamente inútil, si la carta que sale en un momento dado no la has adivinado antes de salir ya has perdido, difícilmente (por no decir que es completamente imposible) vamos a llegar a la última (la que posiblemente, si anotas o memorizas las anteriores, si adivines). Pero es que aunque te dejaran hacer trampas e ir modificando tu apuesta conforme van saliendo los resultados con que falles el primero, el único en el que no tienes ninguna información previa, ya has perdido (incluso haciendo trampas) y si no fallarías en el segundo o el tercero (tienes muy poca información para descartar posibilidades).

En este caso, tanto con la baraja de cartas como con la lista de reproducción, lo que nos interesa no es que no puedas predecir la siguiente canción, sino que no puedas predecir la lista completa y la lista completa es perfectamente impredecible.

A lo que me refería con el número de combinaciones es que a menor número de combinaciones es más fácil acertar por simple azar lo que puede hacer que el método/evento parezca poco aleatorio (¿se ha acertado por azar o porque se ha descubierto algún patrón?) o menos aleatorio que otro en el que el número de combinaciones sea mayor.

Tu problema, creo, es que estás viendo la permutación como un generador de números aleatorios destinado a criptografía, en el que cada elemento de la permutación es un resultado devuelto por dicho generador y en un generador el que exista una relación entre un elemento y el siguiente, por pequeña que sea es un gran error. Pero no es el caso, se trata simplemente de ordenar aleatoriamente una lista (usando para ello un generador de números aleatorios que no tenemos la menor idea de como funciona) y la lista queda ordenada de forma perfectamente aleatoria con una simple permutación (ya has visto la probabilidad de acertar el resultado en una baraja de cartas, prácticamente 0).

"En cuanto a la criptografía, se necesita de ambas cosas"
Sí, y por eso se utilizan las semillas para no utilizar siempre la misma secuencia de números pseudo-aleatorios y resulta que emplear una semilla es equivalente a volver a barajar las cartas (con la diferencia de que hay infinitas barajas, con lo que cualquier carta podría salir repetida cualquier número de veces).

E

No te preocupes, la discusion mereze la pena
La aleatoriedad es un tema apasionante, pero cuando empiezas a estudiarla formalmente tienes que desacerte de muchas ideas intuitivas erroneas (cuesta un poco al principio).


#22 #23 No, no es exactamente lo mismo la definicion matematica que te he dado antes que "todos los eventos tengan la misma posibilidad de ocurrir", no son equivalentes, existen 2 diferencias importantes (por eso la definicion es tan larga):
1) Tiene que ser una serie de eventos
2) Los eventos no tienen porque ser equiprobables

Puedes tener eventos con distintas probabilidades y los resultados anteriores no tienen porque ayudarte a predecir el siguiente (un dado cargado)... aunque ciertamente solemos preferir los equiprobables, ya que tienen son los que maximizan la dificultad de acertar (pero no es un requisito).

La aleatoriedad, es una propiedad que solo esta definida (en matematicas/ciencias de la computacion) para una serie de eventos sucesivos, carece totalmente de sentido para eventos globales o aislados (para eso esta la probabilidad de toda la vida).

Es verdad que en Wikipedia la llaman "Aleatoriedad estadística" o "Algorítmica algoritmica", pero esa es la unica que esta definida en matematicas (y es la unica que se puede usar cientificamente)... el otro articulo se refiere al uso vulgar/no tecnico de la palabra (donde solo significa "carencia de propósito, causa, u orden").



#21 En realidad, te estas respondiendo correctamente tu mismo en los ejemplos (usando la definicion matematica correcta), lo que pasa es que tu intuicion te esta engañando haciendote creer que el motivo esta relacionado con la dificultad de acertar (proabilidad concreta) y no con la falta de un patron (ganancia de informacion), cosa que es muy comun.

Tanto el poquer, la bonoloto o el bingo son juegos aleatorios, pero no porque sean dificiles (gran numero de permutaciones posibles), sino porque el evento de la serie no es cada carta o bola que se saca, el evento es cada partida completa (de forma indivisible o como tu dices, "seria hacer trampas") y entre partidas se resetea la baraja/bombo, es de ese detalle de donde proviene su aleatoriedad (el hecho de que siempre seran juegos diferentes y no ganes informacion de los resultados anteriores). La aleatoriedad no tiene nada que ver con lo dificil o facil que sea acertar (el juego de cara o cruz es tan aleatorio como la bonoloto, pero no tienes las mismas probabilidades de acertar en ambos).

Lo que es aleatorio la serie de permutaciones sobre el mismo conjunto, baraja o bomnbo (cada permutacion completa es el evento indivisible), no los elementos de una solo permutacion.


Lo mismo para tu ejemblo de las barajas, es tan aleatorio sacar una carta de una baraja española (48 cartas) que de una inglesa (52 cartas) o que de entre los cuatro ases (4 cartas)... pero solo si siempre que cada vez que vayas a sacar otra barajas correctamente todas las cartas (incluyendo la que sacaste). Si no lo haces, no son aleatorios (aunque la cantidad de informacion ganada cambia en cada caso concreto).



Espero que te ahora tengas un poco mas clara la definicion matematica de aleatoriedad. Todo esto se suele ver mejor con ejemplos y contra ejemplos, pero sin una pizarra es bastante dificil

M

#25 En cuanto a que la aleatoriedad no tiene nada que ver con la probabilidad de acertar creo no haber dicho lo contrario en ningún momento. Lo que sí he dicho es que si consigues acertar puede parecer que no es aleatorio.

En cuanto a la definición de aleatoriedad que das, esa definición se aleja bastante de la idea intuitiva tanto de la aleatoriedad como del azar: la idea de intuitiva es que con simplemente barajar suficientemente las cartas estas quedan ordenadas al azar y que si, por poner otro ejemplo, tiro un vaso, los pedazos se esparcen al azar (la idea intuitiva es que el azar es algo bastante natural, y que se puede relacionar también con el "caos" o el desorden), pero para la definición de aleatoriedad estadística, los pedazos no se pueden esparcir de forma aleatoria porque una vez que fijo un pedazo en una posición, el resto no pueden ocupar la misma posición (similar a lo que ocurre en la baraja de cartas) y, por otro lado, si rompo otro vaso el número de pedazos será distinto, luego va a ser imposible lograr una serie de eventos de forma que la probabilidad de cada uno sea igual que la del anterior. Es decir que para la matemática cualquier evento que por su naturaleza sea irrepetible o irreproducible (porque, por ejemplo, no se pueda controlar el número de opciones posibles, como en el caso de romper un vaso) no es aleatorio (aunque intuitivamente sí lo sea).

Por ponerte otro ejemplo que no sea el del vaso (que puede tener cierta previsibilidad por las leyes de la física aunque apostaría a que nadie lo logra). Imagina un experimento en el que tiras alternativamente primero con un dado y luego con dos y repites eso ( 1 dado, 2 dados, 1, 2, 1, 2,...). Intuitivamente el resultado es completamente aleatorio (la sucesión de tirar un dado lo es, la de tirar dos también y la mezcla también), sin embargo, para la matemática sólo es aleatorio si consideras como un evento un grupo de dos tiradas (tirar un dado y luego dos), pero no lo es individualmente simplemente porque las probabilidades del evento n y el evento n+1 no serían iguales y, si detenemos el experimento tirando un único dado, de forma que rompa la posibilidad de formar grupos de dos tiradas, para las matemáticas el experimento considerado en su conjunto deja de ser aleatorio. Supongo que las matemáticas podrían considerar la posibilidad de que dos sucesiones aleatorias consecutivas dieran como resultado una nueva sucesión aleatoria, pero si eso es así no podría aplicarse al caso de las permutaciones, como el caso de la baraja (cada evento individual sería aleatorio y se combinaría con el siguiente). Otros experimentos similares que se me ocurren:
- experimento 1: tirar primero 1 dado, luego 2, luego 3 y así sucesivamente.
- experimento 2: tirar un dado, a continuación, si el resultado es par tirar 2 y si es impar tirar 1 y así sucesivamente de forma que cada tirada dependa del resultado anterior.

Creo que el problema simplemente está en que el concepto intuitivo de aleatoriedad no es que sea erróneo es que, al menos en muchos casos, es mucho más amplio mientras que el matemático o estadístico es mucho más restrictivo (se limita a aquello cuyo número de opciones se puede controlar de forma que sea reproducible)

Y se me ocurre otro problema, por ejemplo, si mi experimento consistiera en crear una sucesión con el número de pedazos en los que se rompe un vaso, es decir, tiro un vaso, cuento el número de pedazos, otro, otro,... ¿cual sería la probabilidad de acertar en cada experimento?¿tendería a 0? porque no se me ocurre ningún límite (estaría entre 1, no se rompe, e infinito).

M

#25 en mi comentario #26, en la última línea, quería decir que no se me ocurre ningún límite para el número de pedazos posibles en los que se rompe el vaso

E

#26 No, la definicion matematica (que captura el mundo real) funciona perfectamente para todos los casos (sean en condiciones de laboratorio, sean irrepetibles o irreproducible) si no vaya mierda de matematicas serian ¿no?. El problema es la intuicion que estas usando te esta jugando una mala pasada (confundiento eventos y series, probabilidades y distribuciones), no la definicion matematica.




Exactamente como pasa con la baraja de cartas, son aleatorios... pero todos en su conjunto, el evento es todos los pedazos del vaso roto, no cada pedazo individual. Si quieres un nuevo evento, vuelve a romper otro vaso (equivalentemente, baraja de nuevo).

Y vuelvo a repetir... ¿Que mas da que la probabilidades no sean iguales? ¿Quien a dicho que necesiten serlo? La definicion matematica precisamente permite que no lo sean (da igual que romperse en 6 pedazos sea mas mucho probable que en 2). Lo que tiene que mantenerse es la distribucion de probabilidades entre eventos, es decir, que el vaso 'n' se rompiera en 12 trozos no te dice nada nuevo acerca de en cuantos trozos se rompera el vaso 'n+1'.



¡¿Triple negacion?! Si, si que pones como condicion que tengan la misma probabilidad, cuando la definicion matematica no lo requiere.
La aleatoriedad no tiene que ver con la probabilidad del evento, sino con la independencia de los eventos.





La probabilidad de acertar "el vaso se rompe en 'x' trozos" para esta serie es preciamente la distribucion de probabilidades. La distribucion de probabilidades se define precisamente como ese limite para todos los eventos posibles.



Si quieres en que definiciones son correctas (ademas de equivalentes) y porque te recomiendo el capitulo 3 de este libro:
www.amazon.com/Exploring-Randomness-Discrete-Mathematics-Theoretical/dp/1852334177/

Y luego trabajar la matematica de unos cuantos problemas que incluyan aleatoriedad (ya sean fisicos, matematicos o computacionales), y en algun momento el 'chip' te salta y la intucion empieza a funcionar ligeramente mejor (y aprendes a desconfiar de ella).

M

#28 jajaja, tienes razón, se me ha metido en la cabeza lo de la igualdad de probabilidad, debió ser el cansancio a esas horas (me pasó algo parecido hace unos días en otra discusión también más o menos a las mismas horas) o eso espero wall)

En cuanto a mi oración esa de la triple negación wall wall, en español es posible la doble negación (muy habitual), la triple, ..., otra cosa es que se entienda. En realidad quería decir: "no he querido decir que la aleatoriedad esté relacionada con una baja probabilidad de acertar". Evidentemente lanzar una moneda es algo aleatorio y la probabilidad de acertar es grande.

Otra cosa, en tu definición: "la probabilidad de acertar el elemento n+1 de una serie conociendo los n anteriores, es la misma independiente de cual sea el valor de n", creo que falta al menos un dato: que la probabilidad de acertar cualquier elemento n debe ser menor que uno, porque en caso contrario una sucesión de eventos completamente previsibles también sería aleatoria (por ejemplo, la sucesión formada por elegir de forma aleatoria un elemento de un conjunto con un único elemento, algo como 3,3,3,3,3,3,...).

Y una cosa más, o faltan más cosas en tu definición o desde el principio estás "haciendo trampas".
Me explico, la definición habla de la probabilidad de acertar un elemento, n+1, de una sucesión conociendo los n anteriores, pero no menciona que debas conocer el método/algoritmo con el que se obtienen esos números. Luego utilizar el conocimiento de ese método para determinar si una sucesión es o no aleatoria se puede considerar hacer trampas.
Entonces no podríamos decir que "A ni siquiera es realmente aleatorio durante una repeticion (solo lo es el primer elemento)". Si no conocemos el algoritmo ni siquiera podríamos afirmar que la lista no es aleatoria hasta completar al menos una repetición. Según creo, en una lista de reproducción formada mediante permutaciones si la reproducción es suficientemente larga como para finalizar una o varias repeticiones completas vas a poder darte cuenta del hecho de que se están realizando permutaciones (vas a poder detectar el patrón), pero si sólo te muestro un fragmento de esa lista es imposible saberlo, por lo que cualquier fragmento incompleto de la lista de reproducción sería aleatoria (en realidad, creo que sería aleatorio cualquier fragmento incluyendo la lista completa).

Además, por ejemplo:
- la sucesión 3,1,6,2 puede provenir de una permutación de 6 números en la que escogemos sólo 4 (en realidad variación de 4 elementos de 6 posibles) o de tirar un dado 4 veces y, aplicando tu razonamiento según el método/algoritmo empleado la sucesión será o no aleatoria (lo será si se obtiene con un dado ya que la probabilidad es siempre 1/6, pero no si se obtiene de una permutación ya que la probabilidad de cada evento va disminuyendo), entonces ¿no se debería hablar de "métodos o algoritmos aleatorios" en vez de "sucesiones aleatorias"?
- Y lo mismo con la sucesión 3,1,6,2,5,4 puede provenir de una permutación (completa) de 6 números o de tirar un dado 6 veces. entonces, ¿es una sucesión aleatoria o no?

E

#29 Si a la definicion le faltan ciertos detalles para que no se den casos degenerados, pero nunca fue mi intencion dar una definicion formal

Si y no, depende de como lo estemos analizando.

Si lo analizamos desde el punto de vista de los datos, obviamente desconoces el algoritmo generador, y no lo vas a pillar en el primer elemento, pero no, no necesitas ni siquiera una repeticion entera para detectar que no es aleatorio, bastan unos pocos. Los test de aleatoriedad son bastante potentes, y el que no se produzcan repeticiones tras un cierto tiempo es algo que destaca muchisimo (la probabilidad de que suceda aumenta exponencialmente con cada evento).

Si lo analizamos desde el punto de vista del algoritmo (y no, no es hacer trampas), es mas facil ver donde esta el fallo. Por eso los generadores algoritmicos de numeros no son realmente aleatorios, sino pseudo-aleatorios.



Para tu ejemplo [3,1,6,2,5,4], es facil calcula la probabilidad de que no haya ningun elemento repetido en una secuencia de longitud 'x' si los elementos se eligieran aleatoriamente... y veras como va decreciendo exponecialmente, por lo que a partir de una cierta longitud ya canta bastante que estas delante de una permutacion y no de una secuencia aleatoria.

¿Podria darse el caso de que fuera en realidad aleatoria? Si, siempre (es la magia de la aleatoriedad, cualquier resultado es siempre posible). Pero a la vez puedes saber con muchisima certeza que seguramente no lo es, y es en eso en lo que se basan los test.

M

#30 Viendo los datos que voy a poner en mi siguiente comentario (que son muy largos por lo que los pongo después para que si no te interesa al menos te leas esto) obtengo las siguiente conclusiones:

- Por lo que me estás diciendo entiendo que esos test intentan determinar si una secuencia es aleatoria en función de la probabilidad de que lo sea comprobando si el resultado tiene una probabilidad alta (es decir si ese tipo de resultado ocurrirá de forma frecuente), de forma que si la probabilidad es baja la descartan, aunque realmente sea aleatoria.

- Por un lado, las matemáticas (concretamente la estadística) dice que cualquier resultado de una combinación, como el de la lotería, es equiprobable (hay la misma probabilidad de obtener el 26361 que el 33333), pero por otro dice que resultados como 3,3,3,3,3 quedan descartados de ser resultado de una secuencia aleatoria porque su probabilidad es baja (lo que en cierto modo le da la razón a la gente que descarta esos números por ser "poco probables", en realidad su principal error está en la justificación, no es que sean poco probables, es que es poco probable que sean aleatorios, al menos entendido según la aleatoriedad estadística).

- Para una lista de reproducción con tan sólo 10 posibilidades podríamos llegar a reproducir más de la mitad de la lista sin descubrir que estamos realizando permutaciones (la probabilidad de que obtengamos 5 canciones sucesivas sin ninguna repetición es del 30%, 30.240 combinaciones posibles de 100.000, tan sólo es más probable que exista una única repetición, con el 50% de probabilidad), incluso podríamos llegar a escuchar 8 canciones sin repetición y la probabilidad de eso sería de casi el 2%. Me pregunto ¿a qué valor tendríamos que llegar para que la probabilidad de que no existan repeticiones sea despreciable para una lista de reproducción con, por ejemplo, 500 elementos?¿tal vez 50 o 100 o 200?

- El hecho de descartar los valores que se suponen poco aleatorios (por ser poco probables), como el 3,3,3,3,3,3,3,3 o el 2,6,3,1,5,9,8,7, y tender a buscar los más probables ¿no introduce un sesgo y facilita el predecir el resultado ya que disminuye el número de resultados posibles? (intento ver eso en el siguiente comentario)

- La definición matemática me sigue pareciendo demasiado estricta y alejada de la realidad si descarta todos los eventos que tienen baja probabilidad de ocurrir de forma aleatoria (o, dicho de otro modo, que ocurrirán de forma aleatoria con muy poca frecuencia), como que nunca se repita ningún elemento o que siempre se repita el mismo. Por ejemplo, si hacemos una distribución de frecuencias de todos los eventos aleatorios posibles al tirar un dado n veces y lo mismo con todos los eventos posibles al generar sucesiones de números del 1 al 6 con un generador aleatorio el resultado sería completamente diferente, los valores más probables en la distribución real serían más probables aún en la generada mediante un generador aleatorio y los poco probables (como el 3,3,3,3,3,3,3,3,3) simplemente no existirían. De forma que estos generadores son completamente inútiles (salvo que se hagan "trampas", como cambiar la semilla tras cada extracción y, de todas formas, habría que obtener una semilla aleatoria, si esta está sesgada también podría interferir en el experimento).

- Ahora entiendo que la aleatoriedad estadística considere el póquer un juego poco aleatorio, simplemente basta con que considere que las combinaciones ganadoras no son aleatorias (son poco probables). Las mejores jugadas (escalera de color, repoker, poker, full, color, escalera) posiblemente no pasarían un test de aleatoriedad y, por ese mismo motivo, supongo que tampoco podrían generarse mediante un generador aleatorio. lol

E

#31 Es mucho mas compicado que todo eso.

(1) No, no es asi. Cada test de aleatoriedad commprueba que el generador cumple (apartir de una serie larga de valores individuales) cummple con alguna caracteristica que deben presentar los resultados aleatorios. No tiene nada que ver con las probabilidades de un solo resultado, sino con las probabilidades de toda la serie.

(2) Todos los resultados son equiprobables, pero es mucho mas probable que no todos los numeros sean iguales (99990/10000) o que se repita alguno. Esto no te ayuda a ganar la loteria (ya que cualquier resultado es equiprobable), pero lo que si te dice es que si un bombo empieza a dar resultados como "00000", "12345", "666333" de forma muy seguida, seguramente ese bombo esta manipulado.

(3) Estas calculando las probabilidades como si todos los elementos de la serie se sacaran a la vez y no uno a uno. Por ejemplo, a partir de la mitad de la serie, el repetir ya es mas probable que el no repetir, con lo que cada no repeticion consecutiva es algo extremadamente raro. Ademas 50 valores de en un generador con 500 elementos posibles es algo muy pequeño.

(4) Nunca se descartan valores, se descarta el generador entero.

(5) No, no puede ser mas extricta que la realidad, la deficion es exactamente igual la realidad. No, no se descarta nada, simplemente se vigila que todo salga con su probabilidad correspondiente, Y no, tampoco hace falta cambiar de semilla (puedes usar la misma).

(6) No estoy seguro de a lo que te refieres


Creo que estas teniendo problemas en difierenciar entre elementos individuales y la serie, ambos tienen distintas propiedades y distintas formas de hacer las cosas. La aleatoriedad es una propiedad exclusiva de la serie como conjunto, no esta definida para elementos/casos concretos.

M

#30 Analizando los eventos posibles al ir sacando una bola de un bombo de 10 cada vez, se pueden ver estos datos (espero no haberme equivocado con los cálculos):

2 dígitos (bolas):
a- 2 grupos de 1 dígito: 90 formas de obtener dos bolas distintas
b- 1 grupos de 2 dígito: 10 formas de obtener dos bolas iguales

3 dígitos:
a- 3 grupos de 1 dígito (como 139): 720
b- 1 grupo de 1 dígito y 1 grupo de 2 dígitos (277): 270
c- 1 grupo de 3 dígitos( como 666): 10

4 dígitos:
a- 4 grupos de 1 dígito 5040
b- 2 grupos de 1 dígito y 1 grupo de 2 (como 2663): 4320
c- 2 grupos de 2 dígitos (como 2233): 270
d- 1 grupo de 4 dígitos: 10

5 dígitos:
a- 3 grupos de 1 dígito y 1 grupo de 2 dígitos (como 23452): 50.400
b- 5 grupos de 1 dígito (como 12345): 30.240
c- 1 grupo de 1 dígito y 2 grupos de 2 dígitos (como 13166): 10.800
d- 2 grupos de 1 dígito y 1 grupo de 3 (como 33139): 7.200
e- 1 grupo de 2 dígitos y 1 grupo de 3 (como 16611): 900
f- 1 grupo de 1 dígito y 1 grupo de 4 dígitos (como 32333): 450
g- 1 grupo de 5 dígitos (como 99999): 10

8 dígitos
La probabilidad de obtener 8 dígitos no repetidos es de casi el 2%.

Analizo las probabilidades de acertar un dígito conocidos los anteriores:
- Si "extraigo" dos dígitos de forma aleatoria
a- probabilidad de acertar apostando a dígitos distintos 90/9/100 = 0,1
b- probabilidad de acertar apostando a dígitos repetidos: 10/1/100 = 0,1

0,1/0,1 = 1, existe la misma posibilidad de acertar apostando a que se repite como a que no (es 9 veces más probable que no se repita pero como hay 9 veces el número de dígitos a elegir en el caso de que se repita las posibilidades se igualan )

- Si extraigo un tercero:
1.- Si los dos dígitos anteriores no están repetidos:
a- probabilidad de acertar apostando a 3 distintos: 720/8/1000 (de las 720 formas posibles de obtener 3 dígitos distintos, puesto que ya tenemos los dígitos anteriores fijos tan sólo tenemos 8 posibilidades por los dígitos que podemos poner en la cuarta posición) = 0,09
b- probabilidad de acertar apostando a que un dígito se repite: 270/2/1000 = 0,135

0,135/0,09 = 1,5 veces más probable acertar apostando a que el siguiente dígito es uno de los que ya han salido

2.- Si los dos dígitos anteriores están repetidos:
a- probabilidad de acertar apostando a que el siguiente dígito no se repite:270/9/1000 = 0,03
b- probabilidad de acertar apostando a que el siguiente dígito sí se repite: 10/1/1000 = 0,01

0,3/0,1 = 3 veces más probable acertar apostando a que el siguiente dígito no es uno de los que ya han salido

- En la cuarta extracción lo más probable es que o tengamos una secuencia de 3 dígitos no repetidos o una secuencia con un grupo de 2 dígitos repetidos y el resto dígitos no repetidos (el resto de casos es prácticamente despreciable):
1- Si tenemos 3 elementos no repetidos:
1.1- Si apostamos a que el siguiente dígito coincide con uno de los 3 que ya tenemos, tendríamos: 5040/3/10000 = 0,168
1.2- Si apostamos a que el siguiente dígito tampoco se repite, tendríamos: 4320/7/10000 = 0,062

0,168/0,062 = 2,7 veces más probabilidad apostando a que el dígito se repite

2- Si tenemos un grupo de 2 dígitos repetidos
2.1- Si apostamos a que el siguiente dígito no se repite: 4320/7/10000 = 0,062
2.2- Si apostamos a que el siguiente dígito forma otro grupo de 2: 270/2/10000 = 0,014

0,062/0,014 = 4,43 veces más probable acertar apostando a que el siguiente dígito no es uno de los que ya tenemos

- En la quinta extracción lo más probable es que tengamos 4 grupos de un dígito o 2 grupos de 1 dígito y un grupo de dos dígitos:
1.- Si tenemos 4 dígitos no repetidos:
1.1- Si apostamos a que el siguiente dígito coincide con uno de los 4 que ya tenemos, 50400/4/100000 = 0,126
1.2- Si apostamos a que el siguiente dígito es uno de los que aún no han aparecido, 30240/6/100000 = 0,05

0,126/0,05 = 25,2 veces más probable acertar apostando a que se repite uno de los dígitos anteriores

2- Si tenemos 2 grupos de 1 dígito y 1 grupo de 2:
1.1- Si apostamos a que el siguiente dígito es un dígito que aún no ha aparecido: 50.400/3/100000 = 0,168
1.2- Si apostamos a que el siguiente dígito forma un nuevo grupo de 2: 30240/2/100000 = 0,151

En este caso la diferencia de probabilidad de acertar es mínima.

Eso es considerando que todas las combinaciones son posibles pero teniendo en cuenta la frecuencia de las combinaciones, ahora hago lo mismo pero considerando que cualquier combinación que sea 5 veces menos probable que la más probable es poco probable por lo que la descarto (similar a lo que hace la aleatoriedad estadística aunque no tengo ni idea del criterio que sigue):

2 dígitos:
a- 2 grupo de 1 dígitos: 90
hay 90 eventos posibles en vez de 100 ya que hemos descartado 10 por poco probables. Hemos descartado el 10% de las opciones iniciales
probabilidad de acertar 90/9/90 = 0,111, no hay posibilidad de comparar

3 dígitos:
a- 3 grupos de 1 dígito (como 139): 720
b- 1 grupo de 1 dígito y 1 grupo de 2 dígitos (277): 270
hay 990 eventos posibles, Hemos descartado el 1% (si el algoritmo fuera más allá y descartara también el grupo b habríamos descartado el 28%)

4 dígitos:
a- 4 grupos de 1 dígito 5040
b- 2 grupos de 1 dígito y 1 grupo de 2 (como 2663): 4320
hay 9360 eventos posibles. Hemos descartado el 6,4%

5 dígitos:
a- 3 grupos de 1 dígito y 1 grupo de 2 dígitos (como 23452): 50.400
b- 5 grupos de 1 dígito (como 12345): 30.240
c- 1 grupo de 1 dígito y 2 grupos de 2 dígitos (como 13166): 10.800
hay 91440 eventos posibles. Hemos descartado el 8,56%

- Si "extraigo" dos dígitos de forma aleatoria
probabilidad de acertar 90/9/90 = 0,111, no hay posibilidad de comparar (pero antes era de 0,1)

- Si extraigo un tercero
1.- Si los dos dígitos anteriores no están repetidos (9 veces más probable que la otra opción):
a- probabilidad de acertar apostando a 3 distintos: 720/8/990 (de las 720 formas posibles de obtener 3 dígitos distintos, puesto que ya tenemos los dígitos anteriores fijos tan sólo tenemos 8 posibilidades por los dígitos que podemos poner en la cuarta posición)= 0,091 (antes 0,090)
b- probabilidad de acertar apostando a que un dígito se repite: 270/2/990 = 0,136 (antes 0,135)

En ambos casos ahora es más fácil acertar, pero, además, comparando las probabilidades

0,136/0,091 = 1,49 veces más probable acertar apostando a que el siguiente dígito es uno de los que ya han salido (antes 1,5)

- En la cuarta extracción lo más probable es que o tengamos una secuencia de 4 dígitos no repetidos o una secuencia con un grupo de 2 dígitos repetidos y el resto dígitos no repetidos (el resto de casos es prácticamente despreciable):
1- Si tenemos 3 elementos no repetidos:
1.1- Si apostamos a que el siguiente dígito coincide con uno de los 3 que ya tenemos, tendríamos: 5040/3/9360 = 0,179 (antes 0,168)
1.2- Si apostamos a que el siguiente dígito tampoco se repite, tendríamos: 4320/7/9360 = 0,066 (antes 0,062)

0,179/0,066 = 2,7 veces más probabilidad apostando a que el dígito se repite (antes 2,7)

2- Si tenemos un grupo de 2 dígitos repetidos
2.1- Si apostamos a que el siguiente dígito no se repite: 4320/7/9360 = 0,066 (antes 0,062)
2.2- Si apostamos a que el siguiente dígito forma otro grupo de 2: 270/2/9360 = 0,014 (antes 0,014)

0,066/0,014 = 4,7 veces más probable acertar apostando a que el siguiente dígito no es uno de los que ya tenemos (antes 4,4)

- En la quinta extracción lo más probable es que tengamos 4 grupos de un dígito o 2 grupos de 1 dígito y un grupo de dos:
1.- Si tenemos 4 dígitos no repetidos:
1.1- Si apostamos a que el siguiente dígito coincide con uno de los 4 que ya tenemos, 50400/4/91440 = 0,138 (antes 0,126)
1.2- Si apostamos a que el siguiente dígito es uno de los que aún no han aparecido, 30240/6/91440 = 0,055 (antes 0,05)

0,126/0,05 = 25,2 veces más probable acertar apostando a que se repite uno de los dígitos anteriores (antes 25,2)

2- Si tenemos 2 grupos de 1 dígito y 1 grupo de 2:
1.1- Si apostamos a que el siguiente dígito es un dígito que aún no ha aparecido: 50.400/3/91440 = 0,184 (antes 0,168)
1.2- Si apostamos a que el siguiente dígito forma un nuevo grupo de 2: 30240/2/91440 = 0,165 (antes 0,151)

En este caso la diferencia de probabilidad de acertar es mínima.

E

#32 Supongamos que toda la matematica que has hecho es correcta. Bien, ¡¿y que tiene que ver?!

Otra vez estas intentando mezclar ser aleatorio con la probabilidad de acertar. Lo unico que importa para ser aleatorio es si tras cada bola que sacas te da informacion acerca de la siguiente que va a salir o no.


Y como sacas 1/10 cada vez (la distribucion no cambia entre cada vez que sacas una bola), es aleatorio, asi sin mas, sin necesidad de calcular ninguna probabilidad.

M

#34 No, no nos estamos entendiendo desde el principio.

Los cálculos que he hecho (aunque ahora creo que no facilitan ver a dónde quería llegar ya que he considerado la probabilidad del conjunto y no la de cada paso individual) tenían la intención de llegar a ver que desechar casos posibles (aunque muy poco probables) como el [3,3,3,3,3] introduce un sesgo que facilita predecir el siguiente resultado (la segunda parte de los cálculos, en la que desecho parte de los resultados posibles), incluso el simple hecho de "exigir" que la combinación siga la secuencia más probable, o que se aleje de las menos probables, ya lo introduce (la primera parte de ellos), por ejemplo:
lo más probable en una secuencia de 5 dígitos es que exista una repetición de 2 de ellos, es decir, que lo más probable sería un resultado del tipo 2,4,1,6,1 (hasta el cuarto dígito lo más probable es que no exista ninguna repetición). Así si llegamos al 2,4,1,6 y exigimos que el resultado de la serie de 5 dígitos sea el más probable, es decir, que se repita un dígito en 2 ocasiones y el resto no se repitan, es mucho más probable acertar ya que tan sólo tendríamos que acertar cual de los cuatro dígitos que ya han salido es el que se va a repetir (1/4), mientras que si no imponemos ninguna restricción la posibilidad de acertar sigue siendo de 1/10, pero nos podría salir [2,4,1,6,5] que ya no es la más probable sino que sigue siendo un fragmento de una posible permutación. En el siguiente paso al [2,4,1,6,5], si permitimos que salga cualquier resultado la probabilidad de acertar sería nuevamente de 1/10, y podríamos obtener el [2,4,1,6,5,3] pero si obligamos a descartar ese valor por "poco aleatorio" y decantarnos por algo más posible, que es que se repita uno de los dígitos anteriores, nuevamente la posibilidad de acertar sería mayor, 1/5. No sé si ahora me he explicado mejor.

Esto viene a que en varias ocasiones que he propuesto sucesiones como [3,3,3,3,3,3], [2,6,3,1,5,4] o [1,2,3,4,5,6] tú has dicho, o al menos es lo que yo he entendido, que esas sucesiones cláramente parecen poco aleatorias por lo que no pasarían un test de aleatoriedad (y yo he entendido que, por tanto, tampoco iban a poder obtenerse mediante un generador aleatorio). También has dicho que un test de aleatoriedad detectaría muy rápido que el algoritmo de una lista de reproducción generada mediante permutación es poco aleatorio, a lo que yo he intentado argumentar que la permutación es uno de los resultados posibles (aunque muy poco probable) y, como tal, es imposible que con sólo parte de una permutación el algoritmo sea descartado (te he puesto el ejemplo de que la misma sucesión que se podría obtener mediante una permutación o lanzando un dado, si el generador de números aleatorios no permite obtener esos resultados es imposible que modele fielmente la realidad).

Es decir, analizando casos concretos tú has dicho que eso claramente parece poco aleatorio y que no pasaría un test de aleatoriedad, pero ahora dices "La aleatoriedad es una propiedad exclusiva de la serie como conjunto, no esta definida para elementos/casos concretos.". Creo que llevamos desde el principio analizando casos concretos, al menos yo, tal vez tú no lo hayas visto como casos concretos.

Por tu último comentario me parece entender que un generador aleatorio me puede devolver sucesiones como [3,3,3,3,3,3], [2,6,3,1,5,4] o [1,2,3,4,5,6] con la misma probabilidad que tendría de obtener esa sucesión a través de un experimento aleatorio (que es lo que yo estaba intentando saber si es posible) y, por tanto, me parece que también debería resultar imposible que un test de aleatoriedad descartara una serie (algoritmo) simplemente por permitir obtener esos valores (necesitará más datos, ya sean más series de ese algoritmo cambiando la semilla o más elementos de la misma serie o algún otro tipo de dato extra).

E

#35 No, no estabamos analizando casos concretos, estabamos analizando generadores que siempre generan casos de una cierta forma (con lo que los ejempos son utilies), como el de canciones aleatorias (que siempre genera permutaciones). No es lo mismo, ya que la aleatoriedad es una propiedad exclusiva de las series (y mira lo he remarcado en casi todos los comentarios, porque seguias intentando aplicarla a casos concretos :()

M

#36 Pero tú decías que se podía detectar la permutación con sólo reproducir unas pocas canciones (una pequeña serie) ("no necesitas ni siquiera una repeticion entera para detectar que no es aleatorio, bastan unos pocos"), y eso es falso porque la permutación es una de las posibilidades, o reproduces la lista entera y algunas más (serie grande) o reproduces varios fragmentos de lista (fragmento, barajas, fragmento,...) como si cambiaras de semilla en cada fragmento, pero eso también termina implicando reproducir bastantes canciones.

M

#36 quería añadir esto a mi comentario #37 y ya no puedo editar:
la probabilidad de que no se repita ninguna canción en un pequeño número de reproducciones es muy alta, incluso la más alta de todas las opciones posibles, por lo que es necesario reproducir bastantes para alcanzar el caso de que la probabilidad de que no se repita ninguna sea pequeña, aún así, como es posible o avanza bastante en la serie hasta después de terminar toda la permutación o baraja y realiza una nueva permutación de nuevo hasta alcanzar ese punto en el que la probabilidad de que no se repita ninguna sea muy baja.
Así, en un lista de reproducción de 10 elementos la probabilidad de que no se repita ninguna es la más alta hasta el 4º elemento de la lista, habría que superar el 8º para que la probabilidad fuera casi despreciable (2%) y, aún así no podríamos estar seguros, o completamos la lista completa y llegamos de nuevo casi hasta el 8º o reproducimos varias listas llegando hasta también hasta esa 8ª reproducción. En cualquier caso implica más de 10 reproducciones (la lista completa).

M

#20 He estado buscando tu definición de aleatoriedad, ya que no la conocía, y veo que coincide con la definición de "aleatoriedad estadística" que aparece en la wikipedia.

Posiblemente el problema está en que estamos hablando en términos distintos, tú en términos de aleatoriedad estadística y yo de aleatoriedad en general.

Pero de todas formas, una permutación no cumple la condición de aleatoriedad estadística si la ves como una sucesión de eventos relacionados, pero sí la cumple si la ves como un único evento global (como el tirar una moneda), es decir, no tendría aleatoriedad estadística si vas descubriendo las cartas una a una (la primera tendría una probabilidad de 1/48, la siguiente de 1/47,...), pero sí lo es si las destapas todas a la vez (probabilidad de acertar 1/48!), que es básicamente lo que ocurre con la bonoloto o la lotería nacional que aunque las bolas se extraigan de forma secuencial tú ya has realizado tu apuesta, con lo cual es lo mismo que si salieran todas a la vez.

M

#20
Quería añadir otra cosa, en cuanto a tu definición de aleatoriedad, así enunciada me ha sonado a chino, cuando es tan simple como que todos los eventos tengan la misma posibilidad de ocurrir (y es la que yo he usado).

La diferencia entre tu forma de ver la permutación y la mía es que la permutación la he visto de dos formas:
- como un evento global, con una probabilidad 1/n! para n elementos.
- como una serie de eventos aislados, en cada evento aislado la probabilidad de cada elemento restante es la misma que la del resto de elementos, es decir, si en un momento determinado quedan n elementos, 1/n (con el caso extraordinario del último evento en el que sólo hay un elemento, pero también cumple la condición de igual probabilidad de entre todas las posibles). Con la particularidad de que en cada evento aislado eliminamos uno de los elementos posibles.

La tercera forma de verlo: como serie de eventos sucesivos, en el caso de las permutaciones, tienes razón en que no es posible porque implica que cada evento tendría una probabilidad distinta (pero nos quedan las otras dos, especialmente la primera que no me negarás que es correcta), mientras que B sí cumpliría la condición de aleatoriedad con esos 3 puntos de vista.

Y otra cosa que quería decir es que lo que defendía desde el principio es que A es aleatorio y que me parece más apropiado para una lista de reproducción que B.

Perdona que responda por capítulos.

s

#5 He leído los comentarios antes que el artículo. Leí tu comentario y después leí el artículo...

Parece tan obvio lo que comentas!!! Ni algoritmo ni leches! Es que el método A era un poco chapuza! Vamos... que los ingenieros chupiguais de apple nos contratan a ti o a mí un finde y se lo resolvemos!

Respecto a la aleatoridad/seudoaleatoridad... creo que la función random de cualquier lenguaje es, a escala humana, perfectamente percibible como aleatoria. Será seudoaleatoria para criptografía y similares... pero para reordenar las canciones....

r

#5 Es lo que estaba pensando, la gente montándose historias cuando en realidad es la chorrada que comentas.

Attanar

Cuando leí la entradilla pensé que el problema iba a ser que el método era tan puramente aleatorio que era capaz de repetir la misma canción 4 veces seguidas y tuvieron que implmentar alguna forma de evitar repetir canciones para que pareciese más aleatorio a pesar de serlo menos.

Y sin embargo me encuentro que el problema es que desordenaban la lista y la reproducían en orden secuencial (que no aleatorio) infinitas veces.

Supongo que el artículo ha entendido algo mal, porque es demasiado absurdo para considerarse un problema para un informático cualquiera.

D

Me esperaba algo más... interesante. Es Microsiervos, claro

neotobarra2

Llamadme raro, pero prefiero mil veces el método A aunque lo tachen de poco aleatorio. Si yo me molesto en hacer una lista de reproducción es porque quiero escuchar todas las canciones de la lista, no quiero escuchar tres veces Vicarious mientras Antes y después o Breaking the habit no suenan jamás. Quiero que suene toda la lista en orden aleatorio, sin repetirse. Y una vez haya sonado toda la lista, ya le daré yo al orden aleatorio de nuevo para que se reordenen, si me interesa. Además así puedo saltarme en cualquier momento el orden aleatorio si me apetece escuchar una canción concreta después de la que está sonando: simplemente la arrastro a la lista al lugar que me interesa.

Entiendo que el método B sea más interesante para dispositivos como mp3 o similares que no permiten las mismas facilidades que un PC para personalizar la reproducción. Pero también existen alternativas, por ejemplo la que mencionan en el artículo o mejor aún almacenar el total de canciones de forma que cuando se sepa que se han reproducido todas (no antes) sea cuando se produzca la reordenación. No creo que esto escape a la capacidad técnica de los mp3 y dispositivos similares actuales.

Es más, he de decir que me esperaba otra cosa de este artículo. Pensaba que cuando hablaban de poco aleatorio hablaban de una chapuza de verdad. Yo tuve una vez un mp3 (ya murió, me atrevería a decir que "gracias a dios") que sí que no era aleatorio. No sé cómo cojones funcionaba su algoritmo, pero sólo era capaz de reproducir aleatoriamente dentro de un rango más bien pequeño de canciones durante bastante tiempo, hasta que por ciencia infusa decidía pegar un salto tremendo hacia delante o hacia atrás. Por ejemplo, le metías 800 canciones, le dabas a aleatorio y te reproducía algo así como 120, 114, 132, 119, 124, 688, 673, 690, 679...

M

#12 Es que el algoritmo A es perfectamente aleatorio, la única diferencia es que incluye una condición extra, que las canciones no se repitan, que no incluye el B.

El problema, en este caso, surge cuando la lista de reproducción finaliza y el algoritmo no vuelve a reordenar las canciones, es como si en una partida de cartas barajaran una vez las cartas y el resto de manos/partidas usaran el mismo orden de cartas de la primera.

Repartir una baraja de cartas es un evento aleatorio que se modela perfectamente con el algoritmo A, lo mismo que juegos como la bonoloto, y que no se pueden modelar fácilmente con el algoritmo B y hay otros eventos aleatorios que pueden requerir de algoritmos diferentes a A y B para ser modelados.

ikipol

Una gilipollez la forma de presentar algo muy antiguo y conocido

P

Todos los que tenemos cierta experiencia en desarrollo sabemos que la percepción que tenemos los humanos de aleatoriedad no encaja con la verdadera aleatoriedad, en especial cuando se manejan pocos elementos. Para nosotros, si los datos salen completa o parcialmente ordenados, entonces es que la aleatoriedad ha fallado, cuando en realidad está entre las posibilidades.

Una vez implementé para una pequeña empresa, un algoritmo que barajaba aleatoriamente una serie e datos organizados en categorías. Como eran pocos datos, era frecuente que aparecieran juntos dos o tres de la misma categoría. Al cliente eso no le pareció muy aleatorio y no hubo forma de convencerlo de que lo era, así que tuve que adecuar mi algoritmo para que nunca aparecieran datos de la misma categoría juntos. El resultado ya no era para nada aleatorio, era simplemente mezclar elementos de diferentes categorías en ciclos, y la aleatoriedad consistía únicamente en el orden en que aparecían las categorías en cada ciclo. Pero al cliente le pareció que ahora sí era aleatorio

K

Vaya chorrada de noticia... El método A simplemente no era aleatorio... Y la forma de resolverlo creo que se nos ocurriría a cualquiera de nosotros sin ser ingenieros de Apple...

Lofega

Hablando del tema aleatorio, Youtube... estaba viendo videos de fantasmas y cosas de terror y en solo 10 clicks de pa'lante llegué a "Celeste no es un color" de Lina Morgan.

abnog

Ésto en foobar2000 ya lo tienen solucionado hace tiempo con dos modos a elegir: "Shuffle" y "Random". Ya sólo en esta tontería se aprecian las distintas filosofías que tienen ambos reproductores.

u

Pues a mí lo que me parece realmente grave de Apple es que no haya sacado una nueva aplicación para sincronizar distintos tipos de archivos entre un PC y un iPad (por ejemplo). Es increíble que una compañía como Apple, con el volumen de negocio que tiene, no saque una aplicación actualizada para gestionar y sincronizar todo tipo de archivos (fotos, pdf, libros, etc.). Para pasar directamente mediante el cable un archivo pdf (por ejemplo) de un ordenador a un iPad hay que utilizar itunes, y hacer como si el archivo fuera una canción. iTunes estaba pensado para dispositivos para escuchar música, yo creo que ya va siendo hora de hacerle una renovación a fondo o sacar una nueva aplicación.