Aquí un vídeo muy chulo también de búsqueda de caminos, aunque la música sea artificial, no como la bella melodía del de la noticia www.youtube.com/watch?v=19h1g22hby8
La cosa mas random que he visto en Meneame. Aun que eso no significa que no este curioso...
Eso si, despues de verlo, tengo la extraña sensacion de que va a venir una raza alienigena en cualquier momento... no se por que, al ver el video me acorde de la pelicula "Contact".
Interesante. Para mí, los mejores algoritmos son los que te permiten saber si un elemento es "grande" o "pequeño" antes de haber terminado el algoritmo. En un contexto en el que hay millones de elementos, necesitamos saber la posición aproximada de un elemento antes de haber terminado la ordenación. Por eso me quedo con los siguientes:
!Wow! pienso en quicksort varias veces por semana (soy abogado pero tambien programo) admiro su belleza y su simplicidad como el que admira una obra de arte.
Y luego entro a meneame y veo esto. Me surgió una gran sonrisa :).
#24 No he visto el vídeo, pero por lo que dices deduzco que el último es el bogosort, en cuyo caso es perfectamente normal que ocurra lo que dices. Piensa que el algoritmo funciona así:
1. Ordeno los datos aleatoriamente
2. Compruebo si están ordenados
3. En caso de no estarlo, vuelvo al paso 1
#14 Pues creo que la descripción que dan en el artículo está mal. Es tal como lo describe #32, que es muchísimo más estúpido. Él no, el algoritmo descrito.
#18 Sí, pero sin mi noticia, jamás los conocerías. JA. Me debes un porcentaje de tus risas
#32 No lo sé. Se supone que el bogo tiene que converger siempre y por ordenación aleatoria de números, como tengas 10, ya tienes un problema de convergencia
#30 Hay un canal de youtube de un finlandés que enseña tutoriales de música electrónica con el Fruity Loops y es así exactamente como se hace el dubstep
#35 Te equivocas. El bogosort no tiene por qué converger. Se sabe cuál es el caso mejor (cuando los datos ya vienen ordenados), y el caso promedio (n x n!), pero no está acotado por encima. En teoría podría no llegar a terminar nunca.
Si ordenas 100 elementos, necesitarás 9,33 x 10159 pasos (en promedio) para ordenar los datos. Suponiendo que cada paso tardara un picosegundo (siendo generosos), tardaría del orden de 9 x 10147 segundos en ejecutarse, aproximadamente 3 x 10140 años (un 3 seguido de 140 ceros). Para hacernos una idea de lo que eso representa, se estima que la edad del universo es de aproximadamente 14 x 109 años.
#40 Según la Wikipedia, sólo si se usa un generador de números aleatorios de verdad. Si usamos lo habitual, un generador de números pseudoaleatorios que tarde o temprano terminará repitiendo la misma secuencia, entonces puede ocurrir que nunca termine.
Pero aún así, creo que podemos aceptar que tardar 3 x 10140 años es una aproximación bastante buena de "nunca". Pasado ese tiempo ya se habrá producido la muerte térmica del universo.
#42 Hombre, y si en vez de usar una máquina ideal para ejecutarlo usamos una hecha de materia, tarde o temprano terminará porque se quedará sin energía o se estropeará algo.
Pero cuando hablamos de las propiedades de un algoritmo suponemos que los elementos externos a él son ideales. Si un algoritmo habla de números enteros sin más suponemos que habla del conjunto infinito de números enteros aunque ningún ordenador pueda manejar números de longitud ilimitada porque la memoria siempre es finita. Y si un algoritmo habla de obtener un número aleatorio sin más suponemos que los saca de un generador aletorio ideal.
#45 Creo que ese dato del artículo también es erróneo. Es decir, sí es el coste asintótico del bogosort pero no del algoritmo que describen en el artículo.
Así a ojo diría que el del artículo en el peor caso no es más costoso que O(n^4).
www.youtube.com/user/AlgoRythmics/videos
Más info (que he buscao porque tenía curiosidad): es.wikipedia.org/wiki/Stupid_sort
Best video ever.
Le da una paliza al video de #0 y después escupe sobre el cadáver. Y de momento sólo he visto el primero, el quick sort .
www.meneame.net/story/algo-ritmos-ordenacion
www.genbetadev.com/desarrolladores/algoritmos-de-ordenacion-explicados
(Algunos lo pondrán a reproducir en bucle infinito, y ya nunca podrán desengancharse).
www.infinitelooper.com/?v=kPRA0W1kECg&p=n#/318;349
panthema.net/2013/sound-of-sorting/
Eso si, despues de verlo, tengo la extraña sensacion de que va a venir una raza alienigena en cualquier momento... no se por que, al ver el video me acorde de la pelicula "Contact".
radix sort, 2min 11seg
std sort, 2min 34seg
shell sort, 3min 38seg
Re permiten tener una visión global de la ordenación, incluso antes de haber finalizado el algoritmo.
Que mal rollo, es como una mezcla de los inicios de skynet ayudado por extraterrestres zoombies fantasmas...
Sigo aqui por que no hay quien pueda dormir...
Y luego entro a meneame y veo esto. Me surgió una gran sonrisa :).
!Genial!
1. Ordeno los datos aleatoriamente
2. Compruebo si están ordenados
3. En caso de no estarlo, vuelvo al paso 1
#32 No lo sé. Se supone que el bogo tiene que converger siempre y por ordenación aleatoria de números, como tengas 10, ya tienes un problema de convergencia
Si ordenas 100 elementos, necesitarás 9,33 x 10159 pasos (en promedio) para ordenar los datos. Suponiendo que cada paso tardara un picosegundo (siendo generosos), tardaría del orden de 9 x 10147 segundos en ejecutarse, aproximadamente 3 x 10140 años (un 3 seguido de 140 ceros). Para hacernos una idea de lo que eso representa, se estima que la edad del universo es de aproximadamente 14 x 109 años.
Pero sí
Una forma rápida de ver en pseudocódigo varios de esos algoritmos y sus propiedades
¿Seguro? La probabilidad de que no termine nunca es 0 ¿no?
Pero aún así, creo que podemos aceptar que tardar 3 x 10140 años es una aproximación bastante buena de "nunca". Pasado ese tiempo ya se habrá producido la muerte térmica del universo.
Pero cuando hablamos de las propiedades de un algoritmo suponemos que los elementos externos a él son ideales. Si un algoritmo habla de números enteros sin más suponemos que habla del conjunto infinito de números enteros aunque ningún ordenador pueda manejar números de longitud ilimitada porque la memoria siempre es finita. Y si un algoritmo habla de obtener un número aleatorio sin más suponemos que los saca de un generador aletorio ideal.
#42 "un generador de números aleatorios de verdad." Eso no existe.
Así a ojo diría que el del artículo en el peor caso no es más costoso que O(n^4).