Tabla de contenido
Algoritmos de ordenamiento sin computadora: usa cartas
Algoritmos de ordenamiento sin computadora con una baraja: cuenta cada comparación, mira cómo gana el merge sort y conoce el límite matemático. De 8 a 14 años.
Diez cartas boca abajo y una regla: solo puedes ver dos a la vez, y cada vez que ves dos haces una rayita. Ordénalas con un método y vas a usar exactamente 45 comparaciones, siempre, por suerte que tenga el revuelto. Ordénalas con otro y vas a usar unas 22. Súbele a una baraja completa y la diferencia se vuelve 780 contra 177. Estos algoritmos de ordenamiento sin computadora son lo real, no una metáfora de lo real, y las rayitas son la evidencia.
Puntos clave
- Ordenas diez cartas boca abajo de tres maneras contando cada comparación, y después repites con veinte para ver cómo crecen los conteos.
- El concepto es eficiencia algorítmica: dos métodos que terminan el mismo trabajo pueden necesitar cantidades de esfuerzo muy distintas.
- Números a contar: el ordenamiento por selección siempre necesita n(n−1)/2 comparaciones, o sea 45 con diez cartas y 780 con una baraja española de 40. El merge sort necesita unas 25 y unas 177.
- Ideal de 8 a 14 años. Los más chicos pueden correr los métodos sin las rayitas.
- La trampa típica es espiar. Una sola mirada a una carta que no estabas comparando destruye el conteo, y por eso las computadoras miden comparaciones y no segundos.
Lo que vas a necesitar para los algoritmos de ordenamiento sin computadora
| Material | Cuánto | Dónde se consigue | Si no lo tienes |
|---|---|---|---|
| Baraja | 1; primero usas del 1 al 10 de un solo palo | Juegos de la casa | Fichas numeradas del 1 al 10, o cartas de UNO |
| Papel y lápiz para las rayitas | 1 hoja por método | Papelería | Notas del celular, aunque el papel va más rápido |
| Una mesa despejada | 1 | Cocina | El piso, si está plano |
| Notas adhesivas | 4 | Escritorio | Papelitos para rotular los montones |
| Cronómetro | Opcional | Celular | No hace falta: importan las comparaciones, no los segundos |
Tiempo: preparación 5 min, experimento 40 min, limpieza 2 min Costo: nada, si ya tienes una baraja Nivel de desorden: bajo, y sin pantallas
Haz el experimento
Paso 1 — Pon la regla que lo vuelve un algoritmo
Toma del 1 al 10 de un palo, revuélvelas y acomódalas boca abajo en fila. La regla: puedes voltear dos cartas, compararlas y volverlas a voltear, y cada comparación vale una rayita. Puedes mover las cartas libremente, pero no vale recordar nada más que el orden en que las acomodaste físicamente.
Paso 2 — Corre el ordenamiento por selección y cuenta
Busca la carta más chica comparando la candidata actual contra cada una de las restantes, y pásala al frente. Repite con el resto. Cuenta cada comparación. Después haz la cuenta: 9 comparaciones en la primera pasada, 8 en la segunda, hasta 1, que suman 45.
Paso 3 — Corre el ordenamiento por inserción y cuenta
Vuelve a revolver. Levanta cartas de una en una y mete cada una en su lugar entre las que ya tienes en la mano, comparando desde el extremo derecho. Anota cada comparación. Este método varía con el revuelto, y eso ya es un resultado que vale notar.
Paso 4 — Corre el merge sort y cuenta
Revuelve otra vez. Parte en dos montones de cinco. Ordena cada montón partiéndolo de nuevo, en tres y dos, y luego en dos y uno. Después une dos montones ordenados comparando solo sus cartas de arriba y tomando la más chica. Cuenta todas las comparaciones, incluidas las de los montones chiquitos.
Paso 5 — Duplica el problema a veinte cartas
Usa del 1 al 10 de dos palos, con el palo como desempate. Corre selección y merge otra vez y cuenta las dos. Selección debe caer en exactamente 190, y merge entre 65 y 70.
Paso 6 — Rompe las reglas a propósito
Revuelve la baraja completa. Reparte en montones por palo y después acomoda cada montón poniendo cada carta en su posición de número. Cuenta colocaciones en lugar de comparaciones: vas a terminar en 40 colocaciones con una baraja española, sin haber comparado nada.
Lo que deberías ver: La selección da exactamente 45 con diez cartas, todas las veces, lo que vuelve el conteo verificable. La inserción cae entre 15 y 35 según el revuelto, y de vez en cuando hasta 9 si las cartas llegan casi ordenadas. El merge sort sale entre 22 y 25 y casi no varía. Con veinte cartas el orden se vuelve dramático: 190 contra unas 68. El método final sin comparaciones se siente como hacer trampa, y explicar por qué es legal es la mejor parte de la actividad.
Qué miden estos algoritmos de ordenamiento sin computadora
| Método | 10 cartas | 20 cartas | 40 cartas | Cómo crece el trabajo |
|---|---|---|---|---|
| Por selección | exactamente 45 | exactamente 190 | exactamente 780 | Con el cuadrado del número de cartas |
| Por inserción | 9–45, típico ~25 | 19–190 | muy variable | Cuadrático en el peor caso, lineal si ya está casi ordenado |
| Merge sort | 22–25 | 65–69 | unas 177 | Cerca de n por log n |
| Mínimo teórico | 22 | 62 | 160 | Para cualquier método que compare |
| Repartir en montones | 10 colocaciones | 20 colocaciones | 40 colocaciones | Lineal, pero no está comparando |
Qué está pasando en realidad con los algoritmos de ordenamiento
Que el conteo de la selección sea fijo es lo primero interesante. En la primera pasada compara la candidata contra nueve, luego contra ocho, luego siete, hasta uno. Esa suma es 45, y en general es n por (n−1) entre 2. Como es una fórmula fija, un revuelto con suerte no la ayuda nada. Duplicar las cartas más o menos cuadruplica el trabajo, porque la fórmula la domina n al cuadrado, y eso es lo que los informáticos llaman un algoritmo cuadrático.
El merge sort funciona distinto porque nunca gasta una comparación en un par cuyo orden ya está implícito. Cuando las dos mitades están ordenadas, unirlas solo necesita comparar las dos cartas de arriba, porque todo lo que está debajo de cada una ya se sabe que es mayor. Ahí está el truco y de ahí sale el ahorro. El número de comparaciones sigue aproximadamente n por el logaritmo de n, que crece mucho más suave: con 40 cartas son 177 contra 780, más de cuatro veces, y la diferencia sigue abriéndose. Mil elementos tomarían 499,500 comparaciones por un camino y menos de 10,000 por el otro.
Y aquí viene la parte que convierte el juego de cartas en informática real. Hay un piso duro de cuántas comparaciones puede usar cualquier método, y se puede deducir. Cada comparación tiene dos respuestas posibles, así que después de k comparaciones puedes distinguir como máximo 2 elevado a k arreglos distintos. Una baraja de 40 cartas tiene 40 factorial órdenes posibles, así que 2 elevado a k tiene que ser al menos 40 factorial, o sea que k debe ser al menos el logaritmo base 2 de 40 factorial, que da 160. Ningún método basado en comparaciones, por ingenioso que sea, puede ordenar 40 cartas en menos de 160 comparaciones. Las 177 del merge sort quedan a 11% de un límite matemático, y por eso todavía se usa. Esos límites son material estándar en cursos de algoritmos como 6.006 del MIT.
Lo que vuelve paradójico el reparto en montones del paso 6, y conviene resolverlo con cuidado y no con un gesto. Repartir por palo y por número nunca compara dos cartas: lee el valor de cada una y la pone directo donde va, y eso solo es posible porque sabes de antemano que los valores son exactamente los números del 1 al 10 y los cuatro palos. Es información extra que los métodos de comparación nunca tuvieron. El límite de 160 aplica solo a métodos que aprenden de los datos comparando, y este no lo es. Los informáticos llaman a estos ordenamientos por conteo o por residuos, y sí le ganan al límite, justamente por eso.
El procedimiento viene de la tradición de CS Unplugged. Su actividad de algoritmos de ordenamiento usa balanzas y pesas con el mismo fin, y su tema de redes de ordenamiento lleva la idea al ordenamiento en paralelo con un diagrama de gis. Bell y Vahrenhold revisaron en 2018 cómo se usan en realidad estas actividades y qué evidencia existe, y Caeli y Yadav rastrearon la historia de los enfoques desconectados en TechTrends. Los dos valen el tiempo de un papá, entre otras cosas porque son honestos sobre los límites de la evidencia.
Cómo explicárselo a tu hijo
De 5 a 8 años
Sáltate las rayitas. Usa seis cartas boca arriba y que busque la más chica y la ponga primero, y luego otra vez con las que quedan. Eso es ordenamiento por selección, y hacerlo varias veces vuelve obvio el patrón de repetición. La frase que conviene sembrar es “lo mismo otra vez, con una carta menos”.
De 9 a 12 años
Esta es la edad de la actividad completa. El momento que aterriza es llegar a exactamente 45 dos veces seguidas con selección y después a 23 con merge, porque la diferencia deja de ser una sensación. Pídele que prediga los conteos de veinte cartas antes de correrlos: casi todos creen que el doble de cartas es el doble de trabajo, y encontrar 190 en lugar de 90 es una sorpresa valiosa.
De 13 en adelante
Recorran el argumento de conteo: cada comparación da un bit, k comparaciones distinguen como máximo 2 elevado a k arreglos, y diez cartas tienen 10 factorial, o sea 3,628,800 arreglos. El logaritmo base 2 de eso es cerca de 21.8, así que hacen falta al menos 22 comparaciones. Después miren su conteo de merge sort, muchas veces 22 o 23, y que hayan quedado a una o dos de un límite demostrado con una baraja es un resultado real.
La pregunta que debes hacer: “Si te doy una baraja que ya está casi en orden, ¿qué método usarías, y a cuál le daría exactamente lo mismo?”
Por qué enseñar esto temprano vale la pena
Casi todo el contacto de un niño con la computación es con interfaces. Esta es una tarde dedicada a lo que hay debajo, y en concreto a que dos soluciones del mismo problema pueden diferir cuatro veces en una baraja y cincuenta en mil elementos. Esa intuición es la que hace que alguien después pregunte si un programa va lento por la máquina o por el método.
También le pone un número a algo que los niños viven como sensación: “más rápido” se vuelve “menos comparaciones”, que es medible, no depende de qué tan ágiles sean las manos y se puede comparar entre dos personas en dos cocinas distintas. El hábito de encontrar qué es lo correcto para contar es buena parte de lo que es analizar datos.
La investigación sobre actividades desconectadas es positiva pero modesta, y vale representarla con exactitud. La revisión de Bell y Vahrenhold encontró uso muy extendido y evidencia alentadora pero limitada, y señala que conviene entenderlas como un componente de la enseñanza y no como reemplazo. El marco del National Research Council lista “usar matemáticas y pensamiento computacional” entre sus prácticas centrales, que es justo lo que entrena una hoja de rayitas. Una tarde con cartas no enseña algoritmos, pero sí hace que las palabras ordenamiento y eficiencia lleguen ya pegadas a algo que tu hijo hizo con las manos. Si quieren seguir, están la programación sin computadora y los números binarios con actividades físicas.
¿Y en América Latina?
Aquí hay un detalle que cambia todos los números: la baraja no es la misma en toda la región. En México, Colombia, Perú y Centroamérica domina la baraja inglesa de 52 cartas; en Argentina, Uruguay y Chile es muy común la baraja española de 40 (del 1 al 7 más sota, caballo y rey en cuatro palos). Con 40 cartas, la selección necesita 780 comparaciones y el merge sort unas 177, con un mínimo teórico de 160. Con 52 son 1,326, unas 249 y un mínimo de 226. Anota cuál baraja usaste antes de comparar resultados con un primo de otro país, porque si no, los conteos no se parecen en nada.
Si no hay baraja, la lotería mexicana, las cartas de UNO o fichas numeradas con marcador funcionan igual: solo importa que haya un orden definido y que queden boca abajo. En la escuela conecta con pensamiento computacional en los contenidos de la SEP, con las matemáticas que evalúa el ICFES, con los Núcleos de Aprendizajes Prioritarios en Argentina y con las unidades de datos de Mineduc. Y para clubes de robótica, la versión de redes con gis en el patio funciona con grupos grandes y sin una sola computadora, que es lo que se necesita cuando hay más niños que equipos.
Antes de empezar: lo que los papás deben saber
| Mejor edad | 8 a 14 para la versión con conteo. De 5 a 8, selección con cartas boca arriba y sin rayitas. La deducción del límite va de 13 en adelante |
| Supervisión | Ligera. El trabajo real del adulto es hacer cumplir la regla de no espiar y mantener honesto el conteo |
| Riesgos reales | Ninguno fuera del cuidado normal. Es un juego de cartas con un lápiz |
| No hagas esto | No dejes que reacomode cartas por una mirada en lugar de una comparación contada, porque toda la medición depende de esa disciplina. No lo cronometres en lugar de contar: la velocidad de las manos no es la cantidad que interesa |
Cuando no funciona
- Los conteos de selección salen distintos cada vez. Algo se está saltando o espiando. Con diez cartas siempre son exactamente 45, así que cualquier otro número significa que el método se desvió. Recorran una pasada despacio juntos.
- El merge sort se vuelve un caos. La recursión es lo difícil. Separa los montones en la mesa con notas adhesivas y haz primero las uniones más chicas, para que el patrón se vea antes de las grandes.
- El niño quiere ordenar a ojo. Pon las cartas boca abajo. Es impresionante cuánto cambia la actividad esa regla, porque obliga a que toda la información venga de una comparación contada.
- La inserción le gana al merge sort. Es un resultado legítimo cuando el revuelto quedó casi ordenado, y hay que celebrarlo y no corregirlo: por eso los sistemas reales usan inserción para entradas chicas o casi ordenadas.
Para llevarlo más lejos
- Arma una red de ordenamiento en el patio. Seis líneas verticales con gis y una secuencia de travesaños, y seis niños bajan por las líneas intercambiándose en cada travesaño si están desordenados. Todos se mueven a la vez, que es como ordena el hardware en paralelo. El tema de redes de ordenamiento de CS Unplugged tiene diagramas probados.
- Grafica el crecimiento. Corre selección con 4, 6, 8 y 10 cartas y grafica comparaciones contra número de cartas. La curva claramente no es una línea recta, y ajustarle n(n−1)/2 es matemática de verdad.
- Compite con una búsqueda. Con la baraja ya ordenada, busca una carta específica partiendo el rango a la mitad cada vez y cuenta los pasos. Seis o siete mitades cubren más de 100 cartas, y eso es por lo que vale la pena ordenar. El pensamiento computacional frente a la programación ubica bien esta idea.
Qué observar en los próximos 3 meses
- Semana 4: Que cuente pasos en lugar de cronometrarlos. Que pregunte cuántos movimientos toma un rompecabezas y no cuánto tiempo.
- Mes 2: Que note cuando algo ya está casi en orden y elija otro método por eso. Esa es selección de algoritmo, y es un instinto avanzado de verdad.
- Mes 3: Que pregunte por qué una app o un juego va lento en términos de lo que debe estar haciendo y no de qué tan viejo es el aparato. Si eso aparece solo, la idea se generalizó mucho más allá de las cartas.
Preguntas frecuentes
¿Por qué contar comparaciones en lugar de cronometrar?
Porque el tiempo depende de qué tan rápido se mueven unas manos, así que no se puede comparar entre dos personas ni entre dos máquinas. Las comparaciones son una propiedad del método mismo.
¿El merge sort siempre es mejor que la selección?
No siempre, y conviene saberlo. Con entradas muy chicas, el costo de partir y unir del merge sort pesa más de lo que ahorra, y por eso las bibliotecas reales cambian a inserción por debajo de unos diez a treinta elementos. Para cualquier cosa grande, el merge sort gana sin discusión.
¿Cómo puede el reparto en montones ganarle al mínimo teórico?
Porque el piso de 160 comparaciones aplica solo a métodos que aprenden de los datos comparando. Repartir por palo y por número usa conocimiento externo, que los valores son exactamente del 1 al 10 en cuatro palos, y coloca cada carta directo. Otra información, otro límite.
Mi hijo dice que sin pantalla es aburrido. ¿Algún consejo?
Vuélvelo competencia con un número: ¿puede bajar de 25 comparaciones con diez cartas? La hoja de rayitas es el juego. Las cartas boca abajo ayudan mucho, porque el problema se vuelve difícil de verdad y la regla de no espiar le da aire de reto.
Sobre el autor
Ricky Flores es el fundador de HiWave Makers e ingeniero eléctrico con más de 15 años de experiencia desarrollando tecnología de consumo en Apple, Samsung y Texas Instruments. Escribe sobre cómo los niños aprenden a construir, pensar y crear en un mundo saturado de tecnología. Lee más en hiwavemakers.com.
Fuentes
- CS Unplugged. Sorting Algorithms. University of Canterbury. https://classic.csunplugged.org/activities/sorting-algorithms/
- CS Unplugged. Sorting Networks. University of Canterbury. https://www.csunplugged.org/en/topics/sorting-networks/
- Demaine, E., & Ku, J. (2020). Introduction to Algorithms (6.006). MIT OpenCourseWare. https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/
- Bell, T., & Vahrenhold, J. (2018). “CS Unplugged: How Is It Used, and Does It Work?” En Adventures Between Lower Bounds and Higher Altitudes, Lecture Notes in Computer Science, 497–521. https://doi.org/10.1007/978-3-319-98355-4_29
- Caeli, E. N., & Yadav, A. (2020). “Unplugged Approaches to Computational Thinking: a Historical Perspective.” TechTrends, 64, 29–36. https://doi.org/10.1007/s11528-019-00410-5
- National Research Council. (2012). A Framework for K-12 Science Education. National Academies Press. https://doi.org/10.17226/13165