Modelos de Sistemas Dinámicos Elementos Sol M1 r12 descritos por variables descriptivas (la masa y la posición de un objeto) Que interactúan Mediante reglas precisas de interacción (Dos cuerpos se atraen con una fuerza proporcional al producto de las masas sobre el cuadrado de la distancia) M2 Tierra r13 r23 Júpiter M3 No existe solución analítica para la trayectoria de un cuerpo sometido a la interacción de dos o más cuerpos! Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Otro Sistema Dinámico Elementos Fuente (Tiempo entre llegadas de paquetes) Paquete (Instante de Llegada, Longitud en bits) Buffer (Número de paquetes, Número de Cupos) Enlace (Capacidad en bps, estado de ocupación) Interacciones Uno de infinitos posibles modelos Si un paquete llega y encuentra el enlace ocupado, espera en el buffer hasta que le llegue su turno. Si el enlace está libre, lo ocupa. El tiempo de ocupación está dado por la longitud del paquete y la capacidad del enlace. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Un modelo de un enlace (t) paquetes/segundo (t) paquetes/segundo Si la entrada forma un proceso estacionario de Poisson: (t ) n t P[ N (t ) n] e n! Con incrementos independientes Y si el tiempo de transmisión es exponencial e i.i.d. para cada paquete: P[T t ] 1 e t Entonces las estadísticas del buffer de transmisión y la ocupación del enlace se pueden obtener estadísticamente de un modelo de cola M/M/1. Por ejemplo, el retardo promedio de cada paquete en el enlace es 1 E[D] Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate ¿Pero si no es M/M/1? Queue length (in bytes) under the Poisson traffic 10000 5000 0 0 500 6 1000 1500 Time in seconds 2000 2500 3000 Queue length (in bytes) under the Ethernet traffic x 10 Number of bytes in queue Number of bytes in queue 15000 5 4 3 2 1 0 0 500 1000 1500 Time in seconds 2000 2500 3000 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Simulación rv(t) F(t) v(t) Newton: M d 1 v(t ) v(t ) F (t ) r dt r R x(t) C y(t) Thevenin: d RC y(t ) y (t ) x(t ) dt Si hacemos RC=M/r & x(t) = F(t)/r, el voltaje de salida y(t) representará la correspondiente velocidad del vehículo: Simulación. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Tipos de Modelos Tiempo continuo, estados continuos: Modelo de Ecuaciones Diferenciales RC d y(t ) y (t ) x(t ) dt Tiempo discreto, estados continuos: Modelo de Ecuaciones de Diferencia y(nt ) y((n 1)t ) y(nt ) x(nt ) t 1 y[n] x[n] 10 y[n 1] t RC / 10 11 RC For n=0 to 50 x = 1(n < 20) if n==0 y(n)=0 else y(n)=(x(n)+10*y(n-1))/11 end end Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Modelos de Eventos Discretos Los paquetes llegan o salen en cualquier instante Tiempo Continuo Cada llegada incrementa el número de paquetes en el sistema, mientras que cada salida lo decrementa N(t) Espacio de Estados Discreto N(t) t Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Problemas de programación por resolver en simulación de eventos discretos El transcurso del tiempo y la sucesión de eventos La generación de variables aleatorias La adquisición de estadísticas Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Transcurso del Tiempo y Sucesión de Eventos Busca el próximo evento Actualiza Reloj Evento Tiempo e1 t1 e2 t2 ... ei ... ... ti ... ej tj ... ... ti Actualiza Estado ei Actualiza Estadísticas ej tj Determina ej & tj Genera Números Aleatorios Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Generación de Números Aleatorios Casi cualquier lenguaje trae un generador de números pseudoaleatorios uniformemente distribuidos entre 0 y 1, rand(). Sea X ~ FX(x) = Pr[X x] Sea Y = FX(X), de manera que Y ~ U([0,1]) (en efecto, P[X x] = P[Y FX(x)] = FX(x)) Entonces, obteniendo muestras de Y mediante rand(), se pueden obtener muestras de X haciendo X = FX-1(Y). Generalmente FX(x) no es invertible pero, afortunadamente, existen muchos otros métodos Ejemplo: Tiempos entre llegadas exponencialmente distribuidos double Exponencial(double media) { double p=0; while(p==0) p = (double)rand() / (double)RAND_MAX; return -media*log(p); } Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Adquisición de Estadísticas Si se mide el retardo de N paquetes, {wi, i=1,…,N}, el valor esperado del retardo de un paquete se puede estimar mediante N 1 E[W ] N w i 1 i Si se miden los valores que toma la longitud de la cola q(tn) y los instantes en que cambia, tn, la longitud proomedio de la cola se puede estimar mediante 1 T 1 E[Q] q(t )dt T 0 tN N q(t i 1 i 1 )(t i t i 1 ) Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Simulación de una cola M/M/1 #include #include #include #include #define #define double int <stdio.h> <stdlib.h> <conio.h> <math.h> Libre 0 Ocupado 1 Landa, Mu, Tmax, Tllega, Tsale, Reloj, EQ, Tant; Enlace, LongitudCola; double Exponencial(double media); void main(void) { printf(“\nLanda Mu Tmaximo : ? “); scan(%lf %lf %lf”,&Landa, &Mu, &Tmax); Enlace = Libre; Reloj = 0; LongitudCola = 0; EQ = 0; Tant = 0; Tllega = Exponencial(1.0/landa); Tsale = 1.0e6; Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Simulación de una cola M/M/1 do { if(Tllega <= Tsale) { Reloj = Tllega; Tllega = Reloj + Exponencial(1.0/landa); if (Enlace==Ocupado) { EQ += LongitudCola*(Reloj - Tant); ++LongitudCola; Tant = Reloj; } else { Enlace = Ocupado; Tsale=Reloj+Exponencial(1/mu); } else { Reloj = Tsale; if(LongitudCola==0) { Enlace = Libre; Tsale = 1.0e6; } else { Tsale = Reloj+Exponential(1.0/Mu); EQ += LongitudCola*(Reloj - Tant); --LongitudCola; Tant=Reloj; } } } while(reloj < Tmax) printf(“\neq = %lf/n”,EQ/Reloj) Ejercicio Trazar una curva de E[Q] -longitud promedio de la cola, sin contar el paquete en el buffer de transmisión- como función de la intensidad de tráfico r/. Comparar con los resultados analíticos de la cola M/M/1. Repetir el punto anterior para sistemas M/M/2, M/D/1 y M/M/1/N. Evaluar la probabilidad de bloqueo en el último caso. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Solución (M/M/1) Longitud promedio de la cola 2 Longitud promedio de la cola 10 100 Simulación Teoría Simulación Teoría 90 1 10 80 70 0 Número de paquetes Número de paquetes 10 -1 10 60 50 40 -2 10 30 20 -3 10 10 -4 10 0 0 0.2 0.4 0.6 Intensidad de Tráfico 0.8 1 0 0.2 0.4 0.6 Intensidad de Tráfico 0.8 1 Los resultados de simulación pueden ser muy cercanos a los resultados teóricos, aunque una alta varianza puede conducir a resultados de simulación muy alejados del verdadero promedio. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Solución (M/M/2) Longitud promedio de la cola 2 Longitud promedio de la cola 10 100 Simulación Teoría Simulación Teoría 90 80 0 10 Número de Paquetes Número de Paquetes 70 -2 10 60 50 40 30 -4 10 20 10 -6 10 0 0.2 0.4 0.6 Intensidad de tráfico 0.8 1 0 0 0.2 0.4 0.6 Intensidad de tráfico 0.8 1 Para construir el modelo M/M/2 a partir del M/M/1 basta con considerar el número de enlaces libres para decidir si un nuevo paquete debe esperar en cola o iniciar su transmisión inmediatamente después de su llegada. La lista de eventos incluye dos tipos de salida. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Solución (M/D/1) Longitud promedio de la cola 2 Longitud promedio de la cola 10 50 Simulación Teoría 1 Simulación Teoría 45 10 40 0 35 Número de Paquetes Número de Paquetes 10 -1 10 -2 10 -3 30 25 20 15 10 10 -4 10 5 -5 10 0 0.2 0.4 0.6 Intensidad de tráfico 0.8 1 0 0 0.2 0.4 0.6 Intensidad de tráfico 0.8 1 Este es el caso de la mínima modificación en el programa de simulación, porque basta son sustituir el tiempo de servicio por 1/ para todo paquete, en vez de tomar una muesta de una variable aleatoria exponencial con promedio 1/. Sin embargo la solución analítica requiere un método completamente diferente. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Solución (M/M/1/N) Probabilidad de bloqueo 0 Probabilidad de bloqueo 10 0.09 Simulación Teoría Simulación Teoría 0.08 -1 0.07 Fracción de Paquetes Fracción de Paquetes 10 -2 10 -3 10 0.06 0.05 0.04 0.03 0.02 -4 10 0.01 -5 10 0 0.2 0.4 0.6 Intensidad de tráfico 0.8 1 0 0 0.2 0.4 0.6 Intensidad de tráfico 0.8 1 La observación de “eventos raros” (aquellos que se dan con muy baja probabilidad) requiere de largos experimentos de simulación si se quieren estimar sus probabilidades con suficiente precisión. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Comparación Longitud Promedio de la Cola 2 10 M/M/1 M/M/2 M/D/1 A menos que las varianzas sean muy altas, la simulación es un excelente método para hacer comparaciones relativas de desempeño. 0 Número de paquetes 10 -2 10 -4 10 -6 10 0 0.1 0.2 0.3 0.4 0.5 0.6 Intensidad de Tráfico 0.7 0.8 0.9 1 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Conclusión del ejercicio Ventajas de la simulación Como los modelos analíticos no son suficientemente detallados y los modelos experimentales son muy costosos, entonces la simulación es el único método víable. Si se utiliza juiciosamente, la simulación puede arrojar resultados relevantes y significativos Se pueden introducir modificaciones con gran flexibilidad Ideal para comparación de propuestas alternativas Desventajas de la simulación Alto costo computacional (cada ejecución es sólo una muestra aleatoria, por lo que se requieren varias (¿muchas?) ejecuciones independientes para cada conjunto de parámetros de entrada. Si no se hace una planeación juiciosa de los experimentos y un análisis cuidadoso de los resultados, la información obtenida será inútil (o peligrosa si el analista no se da cuenta de que es inútil!) Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Análisis de Resultados Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Tiempo de Simulación Tan pequeño como se pueda (por eficiencia) Tan grande como se pueda (para asegurar el equilibrio del sistema dinámico que se estudia) Longitud promedio de la cola 30 MM1, ro=0.95 Numero de paquetes 25 20 15 10 5 0 0 500 1000 1500 2000 2500 Tiempo 3000 3500 4000 4500 5000 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Cada ejecución es un experimento aleatorio Longitud promedio de la cola 40 MM1, ro=0.95 35 Numero de paquetes 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 3000 Tiempo 3500 4000 4500 5000 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Análisis de distintos experimentos independientes Longitud promedio de la cola 40 35 El promedio de diez experimentos independientes converge más rápidamente a la que parece ser la verdadera longitud promedio de la cola Numero de paquetes 30 25 20 15 10 5 0 0 500 1000 1500 2000 2500 3000 Tiempo 3500 4000 4500 5000 Pero siempre parece haber incertidumbre... Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate ¿Cómo cuantificar la incertidumbre? Teorema del Límite Central Sea {Xi, i=1, 2, …, n} un conjunto de n variables aleatorias independientes con media , varianza s2 y distribución arbitraria. Sea X la media muestral de los Xi, 1 n X Xi n i 1 Entonces X es asintóticamente Normal, con media y varianza s2/n: n 1 x 1 2 P X x exp u du lim 2 2 n s Este es el caso de la media muestral de n simulaciones independientes Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Función de densidad de probabilidad Normal 1 x 2 f X ( x) exp 2 s s 2 1 X N , s 2 X Z N (0,1) s Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Algunas Probabilidades PZ z z f Z ( s)ds P Z z z f Z ( s)ds z PZ z f Z ( s)ds z Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Percentiles de la distribución Normal Si a = Pr[Z > za], decimos que za es el percentil superior 100a de la distribución normal estándar. si za/2 es el percentil superior 100(a/2), Pr[|Z|< za/2] = 1 - P[Z < -za/2] - P[Z > za/2] = 1 - (a/2) - (a/2) = 1 - a Area = 1-a -za/2 za/2 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Intervalos de Confianza n 1 Escribiendo el anterior resultado en términos de X X i n i 1 ( X ) n Pr z a / 2 za / 2 1 a s O, lo que es lo mismo, s s Pr X z a / 2 X za / 2 1 a n n Esto es, la media se encuentra en el Intervalo de Confianza X za/2 s/n con un nivel de confianza 1 - a. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate ¿Estimar conociendo s? Si no se conoce , es de esperarse que no se conozca s. Sin embargo, este último se puede estimar mediante n 1 2 S Xi X n 1 i 1 2 Al remplazar s2 por S2, la variable aleatoria t X S/ n no tiene una distribución normal, sino una distribución t-de-Student con n-1 grados de libertad: S S Pr X t a / 2;n 1 X t a / 2;n1 1 a n n Donde los percentiles ta/2;n-1 de la distribución t-de-student se encuentran ampliamente tabulados en la literatura. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Percentiles de la distribución t-de-student n t_ 0.100 t_ 0.050 t_ 0.025 t_ 0.010 t_0.005 d.f. 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 inf 1.638 1.533 1.476 1.440 1.415 1.397 1.383 1.372 1.363 1.356 1.350 1.345 1.341 1.337 1.333 1.330 1.328 1.325 1.323 1.321 1.319 1.318 1.316 1.282 2.353 2.132 2.015 1.943 1.895 1.860 1.833 1.812 1.796 1.782 1.771 1.761 1.753 1.746 1.740 1.734 1.729 1.725 1.721 1.717 1.714 1.711 1.708 1.645 3.182 2.776 2.571 2.447 2.365 2.306 2.262 2.228 2.201 2.179 2.160 2.145 2.131 2.120 2.110 2.101 2.093 2.086 2.080 2.074 2.069 2.064 2.060 1.960 4.541 3.747 3.365 3.143 2.998 2.896 2.821 2.764 2.718 2.681 2.650 2.624 2.602 2.583 2.567 2.552 2.539 2.528 2.518 2.508 2.500 2.492 2.485 2.326 5.841 4.604 4.032 3.707 3.499 3.355 3.250 3.169 3.106 3.055 3.012 2.977 2.947 2.921 2.898 2.878 2.861 2.845 2.831 2.819 2.807 2.797 2.787 2.576 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 inf Percentiles de la distribución Normal(0,1), válidos para n>30. Ejemplo Con el simulador de la cola M/M/1 se hicieron 10 mediciones independientes de la longitud promedio de la cola para r=0.95, observando la llegada de 5000 paquetes en cada simulación. Los resultados fueron los siguientes: X1 X3 X5 X7 X9 = 32.7079067191384 = 11.2969052017823 = 25.6198844852721 = 14.591500727383 = 11.5008608702002 1 10 X X i 18.055 10 i 1 X2 = 9.08786745938266 X4 = 11.5366405899437 X6 = 24.4304916827752 X8 = 13.1602878034449 X10 = 26.617547847418 1 10 2 S X i X 70.3756 9 i 1 2 Pr[12.05 < E[Q] < 24.05] = 0.95 Pr[13.19 < E[Q] < 22.92] = 0.90 Pr[14.39 < E[Q] < 21.72] = 0.80 Ningún valor fue cercano al promedio real porque, con una varianza tan alta, el valor promedio no es un valor típico t0.025; 9 = 2.262 t0.050; 9 = 1.833 t0.100; 9 = 1.383 (E[Q] teórico: 18.05!!) Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate 10 simulaciones de M/M/1 Longitud promedio de la cola M/M/1 50 Promedio Teoría Intervalos del 95% de confianza 45 40 Numero de paquetes 35 30 25 20 15 10 5 0 0 0.1 0.2 0.3 0.4 0.5 0.6 Intensidad de Tráfico 0.7 0.8 0.9 1 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Diferentes opciones de simulación de redes de comunicaciones Lenguajes de programación general (C++, matlab) Máxima flexibilidad Sólo modelos muy pequeños Lenguajes de simulación de propósito general (SimScript) Gran flexibilidad Arduo trabajo de programación con modelos medianos o grandes Paquetes de propósito general (Arena, Simulink) Intermedio entre flexibilidad y facilidad de uso Lenguajes de simulación de propósito específico (ns-2) Freeware Más orientado a la investigación Extensa librería de protocolos Paquetes específicos (QualNet, Comnet, Opnet) Gran facilidad de uso Animación análisis estadístico Documentación Soporte al cliente Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate NS-2 Facilita el diseño y la evaluación de protocolos en Internet Plataforma común, promueve la colaboración Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Dualidad entre OTcl y C++ Objetos exclusivos OTcl Objetos exclusivos C++ C++ Objetos compartidos C++/OTcl OTcl ns Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Separación entre C++ y OTcl Cálculo de Rutas Cálculo de Rutas control OTcl c++ datos paquetes Enrutador 1 Enrutador 2 paquetes paquetes trazas colas …… Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate NS es una extensión del interpretador Tcl Componentes de Red TclCL OTcl Tcl C Eventos Discretos Tcl: Lenguaje Script OTcl: Tcl Orientado a objetos TclCL: Encadena C++ y OTcl Control de sucesión de eventos discretos Componentes de Redes IP (enlace, acceso al medio, enrutamiento, transporte y aplicación) C++ ns-2 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Estructura de Programas NS Crear el Administrador de Eventos Habilitar las trazas Crear la red Establecer el enrutamiento Crear los agentes de los protocolos Generar tráfico Llamar al administrador de eventos Hacer reportes Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Trazas de la simulación Hacer una traza de los paquetes en todos los enlaces $ns trace-all [open test.out w] <evento> <tiempo> <paq> <tamaño> <fuente> <destino> <#sec.> <attr> + 1 cbr 210 -----0.0 3.1 0 0 1 cbr 210 -----0.0 3.1 0 0 r 1.0023 cbr 210 -----0.0 3.1 0 0 Trazas para el nam -Animator$ns namtrace-all [open test.nam w] Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Creación de la Red Nodos set n0 [$ns node] set n1 [$ns node] Enlaces $ns duplex-link $n0 $n1 <Ancho de banda> <Retardo> <Tipo de cola> Conexiones UDP set src [new Agent/UDP] set rcv [new Agent/Null] $ns connect $src $rcv TCP set tcp [new Agent/TCP] set tcpsink [new Agent/TCPSink] $ns connect $tcp $tcpsink Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Creación de la Red Tráfico FTP set ftp [new Application/FTP] $ftp attach-agent $tcp Telnet set telnet [new Application/Telnet] Web set session [new httpSession $ns <númPág.> <NodoCliente>] Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Ejemplo Básico n0 set ns [new Simulator] set n0 [$ns node] set n1 [$ns node] $ns duplex-link $n0 $n1 1.5Mb 10ms DropTail set tcp [$ns createconnection TCP $n0 TCPSink $n1] n1 set ftp [new Application/FTP] $ftp attach-agent $tcp $ns at 0.2 "$ftp start" $ns at 1.2 ”exit" $ns run Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Alguien Preguntó: ¿Cuántas simulaciones independientes debo correr para obtener un nivel de confianza determinado? 1 n Lo que queremos es estimar E[X] = mediante X X i n i 1 donde Xi es el estimado de la i-ésima simulación, de manera que Pr X 1 Dados un y un , ¿Cuál debe ser el n óptimo? Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Mínimo número de simulaciones Empezando con un número fijo de simulaciones, n, de donde estimamos la varianza muestral S2(n), una expresión aproximada para el número mínimo de simulaciones (suponiendo que S2(n) no varía apreciablemente con simulaciones adicionales) sería S 2 ( n) n * ( , ) min ti 1, / 2 in i Lo cual sugiere una búsqueda iterativa en el rango i>n. Alternativamente, podemos hacer m = S2(n)(z/2/)2 - n simulaciones adicionales y repetir la prueba con n = m. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Ejemplo 10 simulaciones independientes de un multiplexor de paquetes arrojaron el siguiente retardo promedio de los paquetes (en ms): Semilla Retardo 1 1.53 2 1.66 3 1.24 4 2.34 5 2 6 1.69 7 2.69 8 2.86 9 1.7 10 2.6 Queremos estimar el retardo promedio dentro de un intervalo de 0.25 ms con un nivel de confianza del 90%. Con S2(10) = 0.31 ms2, necesitamos 0.31 n * (0.1,0.25) min ti 1,0.05 0.25 16 in i Simulaciones, de manera que debemos hacer 6 simulaciones más. Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate Ejemplo 0.35 beta(i) 0.3 0.25 0.2 10 11 12 13 14 i 15 16 17 18 Universidad Distrital Francisco José de Caldas – Maestría en Ciencias del Información y las Comunicaciones – Ingeniería de Teletráfico – Marco A. Alzate