Generador de nombres al azar
Resultado
Nombres extraídos
- Nombres de la lista
- 8
- Probabilidad de que salga un nombre concreto
- 37,50 %
Un generador de nombres al azar extrae nombres de una lista que pegas, sin repetir ninguno, y da el mismo resultado cada vez que se vuelve a ejecutar con la misma semilla aleatoria. Pega una lista de nombres, uno por línea o separados por puntos y coma o comas, indica cuántos nombres extraer, y la página devuelve esa cantidad de nombres distintos junto con el tamaño de la lista y la probabilidad que tenía cada nombre de salir elegido. Es el mecanismo que hay detrás de un sorteo, de un reparto de premios, de un orden de intervención, de un plan de asientos o de un reparto de tareas: la lista es el dato de entrada, la extracción es el resultado, y los números que la acompañan permiten describir lo que ha pasado en lugar de limitarse a afirmarlo. Dos propiedades conviene decirlas sin rodeos. La extracción es sin reemplazo, así que ningún nombre puede aparecer dos veces en un mismo resultado, y todos los nombres tienen la misma probabilidad: la cantidad extraída dividida entre el tamaño de la lista, de modo que extraer tres de ocho le da a cada nombre un 37,5 %. Y el resultado es reproducible, que es lo que convierte una extracción publicada en algo auditable y no solo en algo afirmado.
Fórmula
P(que salga un nombre concreto) = cuántos nombres extraer / nombres de la lista y la extracción es una mezcla con semilla de la que se toman los primeros
- nameCount
- Cuántos nombres tiene la lista después de partirla. Los separadores son el salto de línea, el punto y coma y la coma; el espacio no lo es, así que un nombre con un espacio dentro sigue siendo una sola entrada y una lista numerada escrita con espacios se queda en un único nombre
- drawCount
- Cuántos nombres extraer. No puede superar el tamaño de la lista, porque la extracción es sin reemplazo: tomar cuatro nombres de una lista de tres no es un resultado improbable sino una petición imposible
- seed
- El estado inicial del generador, hasta 4294967295. La misma lista, la misma cantidad y la misma semilla producen siempre los mismos nombres, que es lo que permite volver a ejecutar y comprobar un resultado publicado; cambia la semilla y cambia toda la extracción
- drawCount / nameCount
- La probabilidad de que salga un nombre concreto. No es una promesa sobre una extracción aislada —un nombre con un 37,5 % de probabilidad puede fallar diez veces seguidas—, pero a lo largo de muchas extracciones independientes la proporción de ellas en las que aparece converge a esa cifra
- picked
- Los nombres extraídos, en el orden en que los ha producido la extracción, separados por comas. El orden forma parte del resultado y no es una decisión de presentación: la misma semilla reproduce el mismo orden, así que sirve para un turno de intervención o para una lista de primero a último
Úsala siempre que haga falta una extracción visible y defendible cuya equidad se pueda comprobar después: elegir un ganador, decidir un orden, repartir tareas, escoger entre varias opciones. La semilla es lo que separa esto de un botón aleatorio opaco: publica la semilla junto con el resultado y cualquiera puede reproducir la extracción idéntica, de modo que una disputa sobre si el sorteo fue justo pasa a ser una cuestión de aritmética y no de confianza. Hay dos cosas que conviene tener en cuenta al elegir los ajustes. Extrae la lista entera cuando lo que quieras sea un orden completo y no un subconjunto, ya que extraer todos los nombres equivale a mezclarlos y el resultado pasa a ser un orden de intervención. Y comprueba la lista que la página cree tener antes de fiarte de la extracción: la cantidad que se informa junto al resultado es el número de entradas que realmente se han leído, y es la manera más rápida de detectar un separador que no ha partido la lista como esperabas.
Ejemplos resueltos
Tres nombres de ocho
- La lista se parte por los puntos y coma en ocho entradas
- La extracción con semilla toma tres de ellas sin reemplazo: 6, después 1, después 5
- Todos los nombres tenían la misma probabilidad de partida: 3 / 8 = 0,375, es decir el 37,5 %
- Volver a ejecutar la misma extracción con la semilla 1 devuelve los mismos tres nombres en el mismo orden
Lo primero que hay que mirar aquí es la cantidad de 8, no los tres nombres. Es la página diciéndote cuántas entradas ha leído de verdad, y es la comprobación más rápida de que la lista se ha partido como pretendías: una lista que se ha convertido en una sola entrada sigue produciendo un resultado de aspecto seguro. La cifra del 37,5 % es la probabilidad de cada nombre por separado y no un total acumulado: los ocho suman 300 %, porque se están extrayendo tres nombres y cada extracción es una reclamación distinta sobre la lista.
Nombres con espacios dentro
- Cada nombre ocupa su propia línea, así que la lista tiene cuatro entradas y no ocho
- La extracción toma dos de las cuatro: Mary Jane y Peter Parker
- La probabilidad de cada nombre es 2 / 4 = 50 %
- Escribir los mismos cuatro nombres como John Smith; Mary Jane; Peter Parker; Bruce Wayne da un resultado idéntico
Que sean cuatro entradas y no ocho es justo lo importante: en esta página el espacio no separa nombres, porque casi todos los nombres reales llevan uno. Los puntos y coma y los saltos de línea sí lo hacen, y cualquiera de las dos formas da la misma extracción con la misma semilla. Si la cantidad que aparece junto al resultado sale mayor que el número de personas que has pegado, la lista se ha partido demasiado finamente, cosa que ocurre cuando se usa una coma como separador dentro de un nombre escrito con los apellidos delante.
Extraer la lista entera
- Ocho nombres extraídos de una lista de ocho, sin reemplazo
- Todos los nombres tienen que salir exactamente una vez, así que el resultado es la lista entera en un orden nuevo
- La probabilidad de un nombre concreto es 8 / 8 = 100 %, que es la lectura honesta de una extracción completa
- El orden de salida es el orden de la extracción, así que esto sirve también como mezcla
Una probabilidad del 100 % parece un error hasta que se lee bien la pregunta: es la probabilidad de que un nombre concreto salga cuando salen todos los nombres, y no dice nada sobre en qué lugar del orden acaba ese nombre. Este es el ajuste que hay que usar cuando se quiere un orden de intervención mezclado y no un subconjunto: el mismo resultado sirve para las dos cosas, y el orden es reproducible a partir de la semilla como todo lo demás de la página.
Números escritos con espacios, leídos como un solo nombre
- En esta página el espacio no es un separador, así que la lista tiene exactamente una entrada
- Extraer un nombre de una lista de uno lo devuelve sin cambios
- La probabilidad es 1 / 1 = 100 %
- Reescribir la misma lista con puntos y coma da ocho entradas y la extracción buscada
Así es como muerde la regla del espacio: ocho números escritos con espacios son un solo nombre, así que la extracción devuelve esa única entrada e informa de una cantidad de 1 y una probabilidad del 100 %. Nada del panel parece roto, y por eso la cantidad que hay junto al resultado merece un vistazo cada vez. La solución es un separador que no sea un espacio: 1; 2; 3; 4; 5; 6; 7; 8, o uno por línea.
Limitaciones
Hay tres límites prácticos que conviene conocer antes de usar el resultado para algo que importe. La lista admite hasta 200 nombres, y la extracción puede tomar como mucho tantos como contenga la lista. El espacio nunca separa nombres, porque los nombres reales lo llevan: los separadores son el salto de línea, el punto y coma y la coma, así que una coma dentro de un nombre escrito con los apellidos delante lo partirá en dos, y la única advertencia que recibirás es la cantidad que aparece junto al resultado. La semilla es un recurso para reproducir y no para proteger. El generador que hay detrás es uno pequeño, rápido y por completo determinista, de la clase que corresponde a una página como esta: es del todo adecuado para decidir un turno de intervención o un reparto de tareas, y no sirve para un sorteo con dinero real de por medio, donde alguien que conozca la semilla y el algoritmo podría calcular el resultado de antemano y donde lo correcto es una fuente pública y verificable de aleatoriedad. Por último, una probabilidad no es una programación. Todos los nombres de la lista tienen la misma probabilidad de salir, pero una probabilidad de uno entre ocho no significa que un nombre aparezca una vez cada ocho extracciones: significa que a lo largo de una serie muy larga de sorteos independientes la proporción converge a un octavo, que es una afirmación sobre el largo plazo y no sobre el intento siguiente.
Preguntas frecuentes
- ¿La extracción es realmente aleatoria o favorece a algunos nombres?
- Todos los nombres de la lista tienen la misma probabilidad, y la página solo extrae nombres sin repetirlos, así que ningún nombre puede salir dos veces en un mismo resultado. Lo que sí puedes comprobar es la cantidad que aparece junto al resultado: informa de cuántas entradas ha leído la página, y si ese número no coincide con el número de personas que has pegado, la lista se ha partido de una manera distinta de la que pretendías y la extracción es justa sobre el conjunto equivocado. Esa, y no ningún sesgo oculto, es la razón habitual de que un sorteo parezca ir mal, y por eso pegar la lista con un nombre por línea es la costumbre más segura.
- ¿Por qué la misma semilla aleatoria produce los mismos nombres?
- Porque el generador es determinista: la semilla fija su estado inicial y a partir de ahí la secuencia está determinada. Eso es una función y no una limitación, ya que convierte una afirmación sobre la equidad en algo que cualquiera puede verificar: comparte la lista, la cantidad extraída y la semilla, y el resultado idéntico vuelve en cualquier dispositivo, en cualquier idioma y sin guardar ningún registro. Otra semilla produce una extracción por completo distinta, así que si quieres un resultado nuevo sin cambiar la lista, cambia ese único número. Ese mismo determinismo es también la razón de que no sea una extracción adecuada cuando alguien pudiera actuar sabiendo el resultado de antemano: para un sorteo con dinero de por medio hacen falta una semilla y un generador que no se puedan predecir, y lo correcto es una fuente criptográfica de aleatoriedad.
- ¿Una probabilidad de uno entre ocho significa que el nombre aparece una vez cada ocho extracciones?
- No, y es la mala lectura más común de cualquier probabilidad. Una probabilidad de uno entre ocho significa que a lo largo de una serie muy larga de extracciones independientes la proporción de ellas que incluyen ese nombre se asienta cerca de un octavo, pero cualquier serie concreta puede no incluirlo muchas veces seguidas o incluirlo dos veces consecutivas. Ocho extracciones son demasiado pocas para que el promedio tenga fuerza alguna. El número sigue siendo útil: es lo que hace comparables dos nombres y lo que te dice que extraer cuatro de ocho le da a cada nombre un 50 % de probabilidad, pero es una afirmación sobre el largo plazo y no una programación.
- ¿Por qué mi lista de números se ha leído como un solo nombre?
- Porque en esta página los espacios no separan nombres. Casi todos los nombres reales llevan un espacio, así que tratar uno como separador partiría John Smith en dos, y la regla que mantiene intactos los nombres es la misma que convierte 1 2 3 4 5 6 7 8 en una sola entrada. La cantidad que aparece junto al resultado lo delata: leerá 1 en lugar de 8, y la probabilidad leerá 100 %. La solución es un separador que no sea un espacio —puntos y coma, comas o una entrada por línea—, y cualquiera de los tres da la misma extracción con la misma semilla.
- ¿Puede salir el mismo nombre dos veces?
- No en una misma extracción. Los nombres se van sacando de la lista a medida que se eligen, así que cada resultado es un conjunto de nombres distintos, que es lo que exige un sorteo o un orden de intervención: anunciar dos veces a la misma persona sería un fallo y no una sorpresa. La única consecuencia que conviene conocer es que la cantidad extraída no puede superar el tamaño de la lista: pedir cuatro nombres de una lista de tres describe un procedimiento que no se puede llevar a cabo, y la página lo dice en lugar de devolver los tres sin avisar. Extrae tantos como tenga la lista y el resultado es la lista entera en un orden nuevo.
- ¿Por qué no hay ninguna tabla ni lista de extracciones de ejemplo en esta página?
- Porque el resultado depende por completo de los nombres que pegas y de la cantidad que eliges, y una tabla no puede ver ninguna de las dos cosas. Un conjunto impreso de extracciones de ejemplo sería un resultado para otra lista, y donde discrepara con el panel de encima, el correcto sería el panel: una página que se contradice a sí misma es peor que una página sin nada extra. El panel ya es la respuesta, y los dos números que lo acompañan son los únicos hechos generales que merecería la pena tabular aquí: cuántas entradas tiene realmente la lista y qué probabilidad tenía cada una de salir.
Referencias
- Math.random() — JavaScript reference (a built-in generator with no seed parameter, and the explicit warning that it is not cryptographically secure) — MDN Web Docs, Mozilla
- 3.1 Terminology — Introductory Statistics 2e (the law of large numbers: the relative frequency of heads on a fair coin approaches one half as the number of tosses grows) — OpenStax, Rice University
- 1.3.6.1. What is a Probability Distribution — e-Handbook of Statistical Methods (the frequency reading of probability, which is what a one in eight chance is a statement about) — National Institute of Standards and Technology (NIST)