¿Es posible que un programa (Python, Java, etc.) que genera aleatoriamente, digamos, 100 enteros de 0 a 1, realmente genere cien ceros / unos?

Depende de su definición de “posible”.

Si los números generados por las computadoras fueran “verdaderamente” aleatorios, entonces sí, aunque la probabilidad sería astronómicamente baja.

Sin embargo, las computadoras generalmente generan números aleatorios utilizando tablas de números aleatorios predefinidas, que se analizan para asegurarse de que estén distribuidas de manera uniforme. Es probable (no lo sé con certeza) que no existan tablas de números aleatorios que den como resultado esto, porque si las hubiera, probablemente reprobarían la prueba “distribuida uniformemente” y serían res generado antes antes de la publicación generalizada en computadoras.

Dicho esto, obviamente podrías CREAR una tabla de números aleatorios que resultó en 100 0 o 100 1. Simplemente sería personalizado para ti.

Y además, no tiene que usar las tablas de números aleatorios proporcionadas. Si lo desea, puede usar su propio sistema para generar números aleatorios. Hay muchos algoritmos para sembrar un número cuasialeatorio y luego usar algo como Pi (que creo que se cree que tiene una distribución de dígitos uniformemente aleatoria) para generar sus números. Y si hiciera ESO, definitivamente podría obtener 100 0 o 1, aunque (nuevamente) sería astronómicamente improbable (suponiendo que su algoritmo de números aleatorios se distribuyera de manera similar).

De todos modos, en lo que respecta a la probabilidad, también podría ser 0 para todos los intentos y propósitos. ¿Posible? Tal vez. Pero también podría ser 0. Si tuviera 2,500 computadoras cada una generando 1 billón de listas por segundo durante 5 billones de años hasta la muerte del sol … Tendría aproximadamente un 50% de posibilidades de obtener 100 1 o 100 0 en una fila. Solo digamos que no.

Eso depende de lo que quiere decir con “genera”.

Las funciones “aleatorias” típicas de los lenguajes informáticos generan números aleatorios psicodélicos mediante algún algoritmo. Entonces, en esos casos, el valor anterior dependería del valor real y, siempre y cuando se tome la precisión completa de los números generados, no se mostrará dicho comportamiento, ya que siguen un patrón determinista.

Luego hay verdaderos generadores de números aleatorios. Utilizan el movimiento del mouse, los valores de voltaje o alguna otra medida física para crear números aleatorios reales. En este caso, sería bastante improbable obtener el comportamiento que está solicitando, pero la probabilidad no es cero. Pero, de nuevo, no es el programa el que genera los números, sino usted con el mouse en movimiento.

Entonces, elige tu opción.

Seguro. Cualquier combinación de 0 y unos tiene (teóricamente) exactamente tantas posibilidades de ser generado como cualquier otra secuencia, y esa probabilidad es de alrededor de 1/2 ^ 100 (aproximadamente uno en mil millones de billones).

Ahora, teóricamente , no es 100% seguro, ya que es bastante difícil generar aleatoriedad usando computadoras.

Si la secuencia fue realmente aleatoria, entonces SÍ.

Pero un programa de computadora genera números pseudoaleatorios, y estas secuencias tienen propiedades ligeramente diferentes. Parece bastante plausible, que ninguno de los algoritmos en uso hoy generará 100 0’s.

Si.

Creo que te refieres a lo probable que es.

Debido a que cada dígito se determina sin referencia al anterior, hay una probabilidad de 1/10 de que sea un 1, y una probabilidad de 1/10 de que sea un cero.

Entonces, si tiene 100 dígitos, hay una probabilidad (1/10) ^ 100 de que la secuencia final sea cien ceros, y una probabilidad (1/10) ^ 100 de que la secuencia final sea cien unos.

Si está solicitando cualquiera de las secuencias, entonces, la probabilidad es la suma de las dos, es decir, 2 * ((1/10) ^ 100).