Ejercicio 52: Simulación de la Paradoja del Cumpleaños
En este ejercicio, se explorará la paradoja del cumpleaños mediante la simulación de grupos de personas con fechas de cumpleaños aleatorias. El objetivo es determinar cuántas personas se necesitan para que exista una alta probabilidad de que al menos dos de ellas compartan la misma fecha de cumpleaños. Este fenómeno es conocido por ser contraintuitivo, ya que se requiere un número menor de personas del que se podría esperar inicialmente.
Objetivos
- Simular grupos de personas con fechas de cumpleaños aleatorias.
- Calcular la probabilidad de que al menos dos personas compartan la misma fecha de cumpleaños.
- Comparar los resultados obtenidos mediante simulación con los valores teóricos.
Entrada de Datos
- Número de simulaciones a realizar.
- Tamaño del grupo de personas a considerar.
Código Base
import random
def simular_cumpleaños(n_personas, n_simulaciones):
"""
Simula la paradoja del cumpleaños para un número dado de personas y simulaciones.
:param n_personas: Número de personas en el grupo.
:param n_simulaciones: Número de simulaciones a realizar.
:return: Probabilidad de que al menos dos personas compartan cumpleaños.
"""
coincidencias = 0
for _ in range(n_simulaciones):
# Generar una lista de cumpleaños aleatorios
cumpleaños = [random.randint(1, 365) for _ in range(n_personas)]
# Verificar si hay al menos una coincidencia
if len(cumpleaños) != len(set(cumpleaños)):
coincidencias += 1
# Calcular la probabilidad de coincidencia
probabilidad = coincidencias / n_simulaciones
return probabilidad
# TODO: Implementar
Pruebas
# Prueba con 23 personas y 10000 simulaciones
probabilidad_23 = simular_cumpleaños(23, 10000)
print(f"Probabilidad con 23 personas: {probabilidad_23}")
# Prueba con 30 personas y 10000 simulaciones
probabilidad_30 = simular_cumpleaños(30, 10000)
print(f"Probabilidad con 30 personas: {probabilidad_30}")
# Prueba con 50 personas y 10000 simulaciones
probabilidad_50 = simular_cumpleaños(50, 10000)
print(f"Probabilidad con 50 personas: {probabilidad_50}")
Este ejercicio permite comprender la paradoja del cumpleaños y su naturaleza contraintuitiva mediante la comparación de resultados simulados con los valores teóricos esperados.