#3:
#2 Bueno, usé el bogo, pero con un poco de paciencia...
#27:
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:
#12#18 ya los conocía un día haciendo prácticas de programación lo busqué por Internet para ver como funcionaba cada uno pq había uno que me volvía loco que no lo entendía y los encontré, menudas ocurrencias pero como método de explicación está bien
#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
#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).
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:
#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.
#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
!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 :).
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".
#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
Comentarios
entre los relacionados...
#12 ¿Alguien ha dicho máquina universal de Turing?
#12 Epic.
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 .
#12 #18 ya los conocía un día haciendo prácticas de programación lo busqué por Internet para ver como funcionaba cada uno pq había uno que me volvía loco que no lo entendía y los encontré, menudas ocurrencias pero como método de explicación está bien
#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
#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.
#37 En teoría podría no llegar a terminar nunca.
¿Seguro? La probabilidad de que no termine nunca es 0 ¿no?
#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.
#33 Mas? Su eficiencia media es O(n*n!)
#42 "un generador de números aleatorios de verdad." Eso no existe.
#45 Sí que existe: http://en.wikipedia.org/wiki/Hardware_random_number_generator
#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).
#12 Rediós... Eso es friqui entre los friquis.
El bogosort será todo lo inútil que quieras, pero es el que tiene más ritmo
#16 Aquí lo tienes loopeado. Para cuando te montes fiestas en casa:
http://www.infinitelooper.com/?v=kPRA0W1kECg&p=n#/318;349
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
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:
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.
Muy guapo e hipnótico... :$
La ejecución del bogosort no termina. Deberían haber hecho la demo con 5 elementos o así y dejar que acabara.
#4 Según me ha dicho mi hermano, ese algoritmo es una "broma", creando el método más ineficiente posible pero que siempre converja a la solución.
#7 Y tiene razón, pero creo que si le pusieran un problema suficientemente pequeño como para que pueda manejar se ilustraría mejor en que consiste.
#8 Yo creo que lo han puesto con el sistema grande porque la canción es más bonita.
El bogo es una puta locura
Más info (que he buscao porque tenía curiosidad): http://es.wikipedia.org/wiki/Stupid_sort
#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.
Realmente muy curioso vídeo.
He buscado todos los tags que se me han ocurrido y no he encontrado el vídeo, así que si está duplicada, yo no he podido hacer más por evitarlo
#1 los buscaste ordenadamente?
#2 Bueno, usé el bogo, pero con un poco de paciencia...
Ya somos nerdys para que esto llegue a portada.
Comentario de youtuibe: "still beter then skrillex"
#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
A los amantes del procastinaje les encantará.
(Algunos lo pondrán a reproducir en bucle infinito, y ya nunca podrán desengancharse).
Mola más con bailes tradicionales:
Algoritmo de ordenación ilustrado mediante el baile [en]
Algoritmo de ordenación ilustrado mediante el bail...
i-programmer.infohttp://www.genbetadev.com/desarrolladores/algoritmos-de-ordenacion-explicados-mediante-bailes-tradicionales
Mola.
Qué raro que no hayan incluido el Sort Citroen...
Para #31. Confundir ordenes religiosas con algoritmos de ordenación es pecado.
!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 :).
!Genial!
#29 a menudo una solución muy elegante de implementar no es lo más eficiente, ejemplos como la recursividad lo demuestran.
Pero sí
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".
Yo estoy convencido de que el último está forzado.
Queráis que no, tras varias iteraciones debería haber al principio unos cuantos valores pequeños y ninguno grande, y no es así.
Eso si, la musiquita que tiene, lo más divertido.
#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
Voy a tener pesadillas
Quizá a alguien le resulte útil e interesante: http://www.sorting-algorithms.com/
Una forma rápida de ver en pseudocódigo varios de esos algoritmos y sus propiedades
Me ha gustado el algoritmo de la coctelera. A parte de bonito parece eficiente
¡Están aquíiiiihhhh!
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...
Vi el video en otra página al despertarme y llevo toda la la mañana buscando videos de algoritmos de ordenación... Voy a por la pastilla.
...
El programa que hace música mientras ordena lo podeis encontrar aquí tanto para WIN como LINUX:
http://panthema.net/2013/sound-of-sorting/