Generador de Grupos Aleatorios: Equipos al Azar

Pega una lista de nombres y divídela en grupos o equipos al azar en un clic. Elige cuántos grupos quieres o cuántas personas por grupo, y obtén un reparto equilibrado y justo, generado con criptografía en tu propio navegador.

0 personas
Publicidad

Cómo funciona el reparto justo en grupos

El generador sigue un proceso en dos fases. Primero baraja toda la lista de nombres con el algoritmo Fisher-Yates, el método estándar para mezclar una lista de forma que todas las ordenaciones posibles sean exactamente igual de probables: recorre la lista de atrás hacia delante e intercambia cada posición con otra elegida al azar entre las que quedan. Después reparte la lista ya barajada según el modo que hayas elegido.

En el modo «Número de grupos» el reparto se hace en ronda (round-robin), como cuando se reparten cartas: el primer nombre va al grupo 1, el segundo al grupo 2, y así sucesivamente hasta volver a empezar. Esto garantiza que los tamaños de los grupos difieren como máximo en una persona: 10 personas en 3 grupos dan siempre grupos de 4, 3 y 3, nunca de 6, 2 y 2.

10 personas ÷ 3 grupos → grupos de 4 · 3 · 3 (diferencia máxima: 1) 10 personas ÷ grupos de 4 → ceil(10/4) = 3 grupos → 4 · 4 · 2 (el último, menor)

En el modo «Personas por grupo» se crean tantos grupos completos como sea posible (⌈n/K⌉ grupos para n personas y tamaño K) rellenándolos en orden; si la división no es exacta, el último grupo queda más pequeño y la herramienta te lo avisa para que decidas si te vale o prefieres ajustar el tamaño.

Usos: clase, trabajo, deporte y sorteos

En clase

Es el uso más habitual entre docentes: formar equipos para trabajos cooperativos, exposiciones o laboratorio sin que se repitan siempre las mismas pandillas. Al ser un sorteo visiblemente aleatorio, se acaban las quejas de «siempre me toca con los mismos» y los alumnos aceptan mejor el resultado porque nadie lo ha decidido a dedo.

En el trabajo

Perfecto para repartir personas en dinámicas de team building, grupos de brainstorming, equipos de un hackathon o turnos rotatorios. Mezclar departamentos al azar rompe los corrillos habituales y hace que gente que nunca coincide acabe colaborando.

En el deporte

Para hacer equipos de fútbol, pádel, baloncesto o cualquier pachanga sin discusiones: pegas los nombres, eliges dos equipos (o el tamaño que toque por modalidad) y el azar decide. Si un equipo queda claramente descompensado, basta pulsar «Volver a barajar»… antes de empezar a jugar, claro.

En sorteos y eventos

También sirve para asignar mesas en una cena, formar parejas para un amigo invisible por grupos, dividir participantes de un torneo en fases de grupos o repartir tareas domésticas entre compañeros de piso de forma imparcial.

Por qué es realmente aleatorio: crypto frente a Math.random()

Muchas webs de sorteos usan Math.random(), una función pensada para animaciones y efectos visuales, no para garantizar imparcialidad: es un generador pseudoaleatorio optimizado para velocidad cuya implementación varía según el navegador y que no ofrece garantías criptográficas. Este generador usa en su lugar crypto.getRandomValues, la interfaz que el navegador expone sobre el generador criptográficamente seguro del sistema operativo, el mismo que se usa para crear claves de cifrado.

Además, para elegir cada posición del barajado dentro de un rango concreto se aplica rejection sampling: en vez de recortar el número aleatorio con el operador de módulo (que introduce un sesgo diminuto pero real cuando el rango no divide exactamente al máximo del generador), se descartan los valores fuera de un múltiplo exacto del rango y se vuelve a generar hasta obtener uno válido.

límite = floor(2³² / rango) × rango si valor ≥ límite → descartar y repetir en caso contrario → índice = valor % rango

El resultado combinado de Fisher-Yates + crypto.getRandomValues + rejection sampling es que cada combinación posible de grupos tiene exactamente la misma probabilidad de salir, sin ningún sesgo estructural: matemáticamente equivalente a meter todos los nombres en un sombrero y sacarlos de uno en uno.

Nota de privacidad: los nombres que escribes se procesan íntegramente en tu navegador. No se registra ni se transmite ningún dato a ningún servidor: puedes comprobarlo usando la herramienta sin conexión a internet.

Consejos para dinámicas de grupo

Publicidad

Preguntas frecuentes

¿Cómo garantiza la herramienta que el reparto en grupos es justo?

La lista de nombres se baraja con el algoritmo Fisher-Yates alimentado por crypto.getRandomValues, la API criptográfica del navegador. Cada una de las ordenaciones posibles tiene exactamente la misma probabilidad de salir, así que ninguna persona tiene más papeletas de caer en un grupo concreto que otra.

¿Qué pasa si el número de personas no es divisible entre los grupos?

En el modo «Número de grupos» el reparto se hace en ronda (round-robin), de forma que los tamaños de los grupos difieren como máximo en una persona: 10 personas en 3 grupos dan grupos de 4, 3 y 3. En el modo «Personas por grupo» se crean tantos grupos completos como sea posible y el último puede quedar más pequeño; la herramienta te lo avisa.

¿Se guardan los nombres que escribo en algún servidor?

No. Todo el proceso ocurre localmente en tu navegador con JavaScript: la lista de nombres, el barajado y los grupos resultantes nunca se envían ni se almacenan en ningún servidor. Al cerrar o recargar la página, los datos desaparecen. Puedes comprobarlo usando la herramienta sin conexión.

¿Puedo repetir el sorteo si el resultado no me convence?

Sí. El botón «Volver a barajar» repite el reparto con los mismos nombres y la misma configuración, generando una combinación nueva e independiente cada vez. Eso sí, si el objetivo es un sorteo imparcial, lo justo es pactar de antemano que vale el primer resultado.

¿Cuántas personas y grupos puedo crear como máximo?

No hay un límite práctico: puedes pegar cientos o miles de nombres, un nombre por línea o separados por comas, y dividirlos en tantos grupos como personas haya. La única regla es que no puede haber más grupos que participantes, y la herramienta te avisa si ocurre.

¿Qué diferencia hay con barajar los grupos usando Math.random()?

Math.random() usa un generador pseudoaleatorio pensado para rendimiento, no para imparcialidad, y su implementación varía según el navegador. Esta herramienta usa crypto.getRandomValues, el generador criptográficamente seguro del sistema operativo, con rejection sampling para eliminar el sesgo de módulo, de modo que todas las combinaciones de grupos son equiprobables.

Herramientas relacionadas

Publicidad