Discrete random systems
Guillermo Alvarez
Domenica Escobar
Marco teorico
En el presente marco teórico, exploraremos los conceptos fundamentales asociados con los sistemas de variables aleatorias discretas. Estos sistemas son esenciales para comprender fenómenos donde las observaciones son contables y finitas. Nos sumergiremos en la noción de variables aleatorias discretas, que representan resultados cuantificables con probabilidades asociadas. La distribución de probabilidad, expresada mediante la función de masa de probabilidad (PMF), nos proporcionará una herramienta para entender las probabilidades asociadas con cada posible valor. Analizaremos la esperanza matemática como una medida de tendencia central, y la varianza con la desviación estándar como indicadores de la dispersión de los resultados. Además, exploraremos la función de distribución acumulativa (CDF), que proporciona una visión acumulativa de las probabilidades. Este marco teórico establecerá las bases para comprender sistemas de variables aleatorias discretas de manera rigurosa y sistemática.
Simulación de Percolación en un Sistema 2x2:
En este contexto, estamos abordando el problema de percolación en un sistema 2x2. La percolación es un fenómeno que se encuentra comúnmente en sistemas porosos, como redes de conductos o conexiones en un medio. En este caso, se modela un sistema cuadrado simple donde los sitios pueden estar abiertos o cerrados con cierta probabilidad.
Función de Probabilidad de Percolación:
La función percolation_prob en tu código representa la probabilidad teórica de que el sistema percole. Se basa en el modelo teórico para un sistema 2x2, donde la probabilidad de percolación está relacionada con la probabilidad de que los sitios individuales estén abiertos o cerrados. En este caso específico, la función es

Simulación Experimental:
La función simulate_percolation lleva a cabo simulaciones experimentales del sistema 2x2. Crea múltiples instancias del sistema, determina si percola en cada caso y calcula la fracción de veces que se observa la percolación. Esta aproximación experimental se alinea con el enfoque práctico de la teoría de probabilidad, donde se realizan experimentos repetidos para estimar probabilidades.
Visualización y Análisis de Errores:
Utilizas Matplotlib para visualizar las probabilidades teóricas y experimentales de percolación en función de la probabilidad de apertura del sitio. Además, calculas el error absoluto entre estas probabilidades. La visualización y el análisis de errores son elementos clave para comparar y evaluar la precisión de las simulaciones en relación con la teoría.
Codigo
Importamos diferentes bibliotecas matplotlib.pyplot, numpy y random al comienzo tiene como objetivo utilizar estas bibliotecas para realizar visualizaciones y trabajar con datos numéricos aleatorios en tu simulación.
Run to view results
Run to view results
Esta función tiene como objetivo calcular la probabilidad teórica de que ocurra la percolación en un sistema 2x2 en función de la probabilidad de apertura de los sitios, representada por el parámetro p.
Para comprenderlo de mejor manera realizaremos un desglose de la formula, donde podemos ver la siguiente informacion:
p: Este es el parámetro de la función y representa la probabilidad de que un sitio en el sistema 2x2 esté abierto. Se espera que sea un valor entre 0 y 1.
p**2:Este término representa la probabilidad de que ambos sitios en una fila específica estén abiertos. La multiplicación de p×p refleja la probabilidad conjunta de que ambos eventos ocurran.
2-p**2: Este término representa la probabilidad de que haya un camino de arriba a abajo en el sistema. El término 2-p**2 significa que al menos uno de los dos sitios en la fila debe estar abierto, ya que si ambos estuvieran cerrados (probabilidad p∗∗2), no habría camino de percolación. Por lo tanto, 2−p∗∗2 representa la probabilidad complementaria de que ambos sitios estén cerrados.
Por ende la multiplicación final de los dos términos anteriores da como resultado la probabilidad teórica de que haya un camino de percolación en un sistema 2x2.
Ahora, Dando continuidad al estudio de percolación en sistemas 2x2, el próximo paso implica un análisis más detallado de las simulaciones realizadas. Nos enfocaremos en comprender la variación de la probabilidad de percolación en función de diferentes niveles de probabilidad de apertura de los sitios (p).
Paso 1: Variedad de Probabilidades (p): Se explorará una variedad de valores de p para observar cómo la probabilidad de apertura de los sitios influye en la probabilidad de percolación. Seleccionaremos un conjunto representativo de valores, por ejemplo, 0.1, 0.3, 0.5, 0.7 y 0.9.
Paso 2: Ejecución de Simulaciones: Usaremos la función simulate_percolation para ejecutar simulaciones para cada valor de p. Se realizarán múltiples simulaciones (por ejemplo, 10,000) para obtener una estimación robusta de la probabilidad de percolación en cada caso.
Paso 3: Resultados y Visualización: Registraremos y analizaremos los resultados de las simulaciones para cada valor de p. Utilizaremos la biblioteca matplotlib para crear gráficos que muestren la relación entre la probabilidad de apertura de sitios y la probabilidad de percolación. Esto nos permitirá visualizar cómo cambia la capacidad de percolación del sistema con diferentes niveles de apertura de sitios.
Paso 4: Análisis Estadístico: Aplicaremos análisis estadísticos para comprender la variabilidad en los resultados de las simulaciones. Calcularemos medidas como la media, la desviación estándar y posiblemente intervalos de confianza para cuantificar la confiabilidad de nuestras estimaciones.
Paso 5: Validación Teórica: Compararemos los resultados obtenidos mediante simulación con las predicciones teóricas de la probabilidad de percolación utilizando la función percolation_prob. Esto nos permitirá evaluar la validez de nuestro modelo teórico y la precisión de nuestras simulaciones.
Paso 6: Ajustes y Optimización: Si es necesario, realizaremos ajustes en el número de simulaciones (num_trials) para garantizar resultados confiables y precisos. También consideraremos posibles optimizaciones en el código para mejorar la eficiencia de la simulación.
Run to view results
La implementación y análisis proporcionan una visión profunda y cuantitativa sobre el fenómeno de percolación en un sistema 2x2 bajo diversas probabilidades de apertura de sitios. La combinación de simulación teórica y experimental presenta un enfoque integral para comprender la relación entre la topología del sistema y su capacidad de percolación.
La comparación entre las curvas teóricas y experimentales revela patrones de percolación significativos. Las desviaciones identificadas a través del análisis de errores resaltan las limitaciones del modelo teórico y sugieren áreas donde las simulaciones pueden ofrecer valiosas aportaciones.
De igual manera, se calculó el error absoluto entre las probabilidades de percolación teóricas y experimentales, que es una medida de la discrepancia entre los resultados teóricos y experimentales. Los resultados muestran que el error absoluto es relativamente pequeño, lo que indica que las simulaciones son precisas.
Dentro de este enfoque no solo profundiza en la comprensión de la percolación en sistemas 2x2, sino que también establece un marco para futuras investigaciones y ajustes en modelos teóricos. La capacidad de visualizar y cuantificar la variabilidad en la percolación en función de las condiciones del sistema proporciona información clave para diseñar y entender sistemas más complejos.
Generate random binary vectors where the P(X=1)=a.
La generación de vectores binarios aleatorios es esencial en diversas áreas, desde simulaciones estocásticas hasta aplicaciones en estadísticas y aprendizaje automático. Este marco teórico se centra en un código que utiliza la probabilidad a para generar vectores binarios y analizar la distancia media normalizada de Hamming entre ellos.
Generación de Vectores Binarios Aleatorios: La función generar_vector_aleatorio utiliza la probabilidad a para asignar valores binarios a un vector de tamaño dado. Utiliza la función random.random() para generar números aleatorios en el rango [0, 1) y asigna 1 si el número es menor que a, de lo contrario, asigna 0.
Distancia de Hamming: La distancia de Hamming entre dos vectores mide el número de posiciones en las que los vectores difieren. La función distancia_hamming calcula esta distancia entre dos vectores binarios del mismo tamaño.
Codigo
Paso 1: Variedad de Probabilidades (p): Se explorarán distintos valores de p, seleccionando un conjunto representativo, como 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 y 1.0.
Paso 2: Ejecución de Simulaciones: Usaremos la función generar_vector_aleatorio para generar vectores binarios aleatorios con diferentes probabilidades de que un valor sea 1 (p). Luego, calcularemos la distancia media normalizada de Hamming entre pares de vectores generados.
Run to view results
Paso 3: Resultados y Visualización: Registramos y analizamos los resultados, creando gráficos con matplotlib y seaborn para visualizar la relación entre la probabilidad de apertura de sitios y la distancia media normalizada de Hamming.
Run to view results
El análisis detallado de la simulación de percolación en un sistema 2x2 con vectores binarios aleatorios proporciona valiosas percepciones sobre cómo la probabilidad de apertura de sitios (p) influye en la capacidad de percolación del sistema. Observamos una clara tendencia en la distancia media normalizada de Hamming, que representa la diferencia promedio entre vectores binarios aleatorios.
Los resultados experimentales muestran que la distancia de Hamming media normalizada es mínima (0) cuando todos los bits son 0 (a=0) o todos los bits son 1 (a=1), y es máxima (aproximadamente 0.5) cuando los bits son una mezcla de 0s y 1s (a=0.5). Esto es consistente con la teoría, ya que la probabilidad de que dos bits en la misma posición en dos vectores binarios aleatorios sean diferentes es 2a(1-a), que es máxima cuando a=0.5.
El análisis estadístico proporciona una comprensión más profunda de la variabilidad en los resultados, permitiendo cuantificar la incertidumbre asociada con nuestras estimaciones. Este enfoque sistemático sienta las bases para futuras optimizaciones y ajustes en el modelo, asegurando resultados más precisos y confiables.
What is the theoretical value for the mean distance according to a.
La distancia de Hamming media teórica entre dos vectores binarios aleatorios, ajustada por la longitud del vector, se expresa mediante la fórmula 2a(1-a). Esta expresión refleja la probabilidad esperada de que dos bits ubicados en la misma posición en dos vectores binarios aleatorios sean diferentes. En términos más simples, representa la medida promedio de la discrepancia entre los bits correspondientes de los vectores. Esta distancia es mínima cuando todos los bits son idénticos (todos 0s o todos 1s, lo que ocurre cuando a=0 o a=1) y alcanza su máximo cuando hay una mezcla equitativa de 0s y 1s (a=0.5). En resumen, la fórmula proporciona una manera de cuantificar la diversidad o similitud esperada entre dos vectores binarios aleatorios en función de la probabilidad de que un bit sea igual a 1 (a) y su complemento (1-a).
Por ende los resultados del experimento confirman la teoría de que la distancia de Hamming media normalizada entre dos vectores binarios aleatorios es mínima cuando todos los bits son iguales y máxima cuando los bits son una mezcla de 0s y 1s