Simulación de Caminata Aleatoria con Python
Clase 7 de 24 • Curso de Estadística Computacional con Python
Contenido del curso
- 9

Programación Estocástica: Aplicaciones y Ejemplos Prácticos
05:25 - 10

Cálculo de Probabilidades y Simulación de Montecarlo
12:33 - 11

Simulaciones de Probabilidades con Dados en Python
14:23 - 12

Inferencia Estadística: Conceptos y Aplicaciones Prácticas
09:43 - 13

Cálculo de la Media Aritmética en Python paso a paso
06:38 - 14

Media, Varianza y Desviación Estándar en Estadística
11:35 - 15

Distribución Normal: Propiedades y Aplicaciones Estadísticas
08:19
¿Cómo se configura el entorno para simular una caminata de borrachos?
Primero, es esencial importar las clases que hemos creado para simular nuestra caminata. Estas son BorachoTradicional, Campo, y Coordenada. Reiterar la distinción entre "Campo" (el módulo) y "Campo" (la clase) es fundamental.
El siguiente paso es establecer un entorno para ejecutar el programa mediante if __name__ == "__main__": asegurando que nuestro código se ejecute cuando sea llamado desde la terminal. Luego definimos las distancias de las caminatas y la cantidad de intentos de simulación, que serán 10, 100, 1000, y 10000 pasos en 100 intentos cada una. Estos múltiplos permiten medir más precisamente la media de los resultados logrados.
¿Cómo definimos la función main?
La función main es vital ya que coordina la simulación. Recibe tres parámetros:
distancias_de_caminata: lista de enteros indicando la cantidad de pasos por simulación.num_intentos: número de veces que cada simulación se debe ejecutar para obtener una media precisa.tipo_de_borracho: la clase del borracho que se utilizará, comoBorachoTradicional.
Código de ejemplo para la función main
def main(distancias_de_caminata, num_intentos, tipo_de_borracho):
for dist in distancias_de_caminata:
# Simula la caminata para cada distancia y número de intentos
distancias = simular_caminata(dist, num_intentos, tipo_de_borracho)
# Genera estadísticas de las simulaciones
distancia_media = round(sum(distancias) / len(distancias), 3)
distancia_maxima = max(distancias)
distancia_minima = min(distancias)
# Imprime resultados
print(f'{tipo_de_borracho.__name__} tuvo una caminata aleatoria de {dist} pasos')
print(f'Distancia media: {distancia_media}')
print(f'Distancia máxima: {distancia_maxima}')
print(f'Distancia mínima: {distancia_minima}\n')
¿Cómo implementamos la simulación de la caminata?
La función simular_caminata organiza cómo un borracho se desplazará paso a paso desde una coordenada inicial (0, 0).
- Inicialización: Crea una instancia del tipo de borracho y establece el punto de inicio en (0, 0).
- Iteración: Por cada intento, se crea un nuevo campo y se añade el borracho en la coordenada inicial.
- Movimiento: Utiliza la función
caminatapara mover el borracho según el número de pasos definidos y calcula la distancia.
Ejemplo de Código para simular_caminata
def simular_caminata(pasos, num_intentos, tipo_de_borracho):
distancias = []
for _ in range(num_intentos):
campo = Campo()
borracho = tipo_de_borracho()
origen = Coordenada(0, 0)
campo.anadir_borracho(borracho, origen)
simulacion_distancia = caminata(campo, borracho, pasos)
distancias.append(round(simulacion_distancia, 1))
return distancias
¿Cómo implementamos el movimiento del borracho?
La función caminata simula el movimiento paso a paso:
- Inicio: La coordenada inicial es (0, 0).
- Iteración: Por cada paso, se llama a la función
mover_borrachodel campo, que mueve al borracho y actualiza su posición. - Resultado: Calcula la distancia final entre la posición inicial y la alcanzada tras todos los pasos.
Código de Ejemplo para caminata
def caminata(campo, borracho, pasos):
inicio = campo.obtener_coordenada(borracho)
for _ in range(pasos):
campo.mover_borracho(borracho)
return inicio.distancia(campo.obtener_coordenada(borracho))
¿Qué se debe tener en cuenta al ejecutar la simulación?
Finalmente, la ejecución del programa debe hacerse asegurando que la función main incluya las llamadas adecuadas para cada tipo de simulación. Además, es fundamental asegurarse de que las estadísticas calculadas sean precisas y se almacenen y muestren de manera significativa a los usuarios.
Este método robusto y sistemático garantiza que la simulación del borracho sea exhaustiva, cubriendo una variedad de distancias y obteniendo estadísticas de importancia crítica para la comprensión de estas simulaciones aleatorias.
Si tienes dudas o comentarios sobre este código, no dudes en usar el sistema de comentarios, donde recibirás apoyo de la comunidad. ¡Sigue adelante y mantén la curiosidad!