Estimación de matrices de tráfico para redes ad hoc mediante algoritmos de inteligencia computacional
63
0
0
Texto completo
(2) IEL2-I-05-40. A mi mamá, por su empuje A mi Yenny, por su aliento. 2.
(3) IEL2-I-05-40. CONTENIDOS. I. II.. INTRODUCCIÓN EL MODELO i. Los parámetros ii. La obtención de los datos iii. Ejemplo iv. Consideraciones a tener en cuenta. 5 7 7 7 8 9. III. LOS ALGORITMOS DE ES TIMACIÓN i. Elección de los algoritmos ii. El Método de Programación Lineal a. Implementación Estándar b. Implementación mediante algoritmos de I. C. iii. El método de Aproximación Bayesiana a. Introducción y consideraciones b. El modelo a priori de X c. El método de muestreo de Gibbs d. El acelerador M etrópolis. 11 11 11 11 12 13 13 13 14 15. IV. RES ULTADOS RED ES ALAMBRAD AS i. El método de Programación Lineal a. Implementación b. Plan de pruebas ii. El método de Algoritmos Genéticos iii. El método de Aproximación Bayesiana a. Implementación b. Proceso de optimización c. Plan de pruebas iv. Conclusiones sobre los resultados. 18 18 18 18 20 21 21 22 25 31. V.. EL MODELO MANET i. ¿Por qué una red Ad Hoc? ii. Características iii. Consideraciones a. Factores importantes b. Problemas iv. El modelo de Random Waypoint a. Descripción b. Desventajas del modelo. 33 33 33 34 34 35 36 36 37. VI. RES ULTADOS RED ES MANET i. Implementación de RWP a. Inicialización del modelo. 39 39 39. 3.
(4) IEL2-I-05-40. b. c.. M odificación de parámetros – Vmax M odificación de parámetros – Pmax ii. Consideraciones sobre los algoritmos a. M odificación de los algoritmos b. M odificación de parámetros – Tiempo de muestreo iii. Conclusiones sobre los resultados a. Características a tener en cuenta b. Posibles soluciones iv. Posibles aplicaciones. 40 41 41 41 42 43 43 43 44. VII. CONCLUS IONES. 46. VIII. BIBLIOGRAFÍA. 47. VIII. ANEXOS i. Algoritmos Programación Lineal ii. Algoritmos Aproximación Bayesiana iii. Algoritmos Random Waypoint. 48 48 52 63. 4.
(5) IEL2-I-05-40. I.. INTRO DUCCIÓ N. Existe relativamente poca bibliografía que estudie en detalle los parámetros característicos de la topología de redes Móviles Ad Hoc o MANET . Esta carencia toma una importancia particular dado el creciente auge de este tipo de redes, por lo tanto, se ideó este trabajo para hacer una introducción a uno de los problemas más importantes en el momento de estudiar la topología de una red, la estimación de su Matriz de T ráfico, en el contexto de redes MANET . Para este estudio se usarán como base aquellos realizados sobre el mismo tema pero para redes alambradas y se intentarán transponer a este contexto particular, evidenciando los problemas a los cuales habrá que enfrentarse y avanzando algunas posibles soluciones. El resultado principal de esta investigación es por lo tanto un estudio del desempeño de los principales algoritmos de estimación de Matrices de T ráfico en el contexto de redes Ad Hoc, sus ventajas, desventajas y precauciones a tener para obtener un desempeño correcto. Se espera por lo tanto empezar a alivianar, en la medida de lo posible, el vacío bibliográfico que rige el tema y así abrir el camino para un sinnúmero de investigaciones que todavía han de ser realizadas. Las matrices de tráfico indican el valor del tráfico entre cada posible par Origen-Destino de la red. Esta información es esencial a la hora de realizar procesos de ingeniería tales como: • Balanceo de cargas y configuración de protocolos de enrutamiento. Mantener un enrutamiento estático implica una mala utilización de los recursos de la red, por esto, conocer la matriz de tráfico (MT ) permite modificar el protocolo de enrutamiento para maximizar el uso de todos los enlaces de la red. Protocolos de enrutamiento dinámicos tales como OSPF o el protocolo de pesos ISIS ([1]) se basan en este tipo de información de la red para calcular los caminos más apropiados por los cuales transportar la información. • Dimensionamiento de la red ya que conocer la MT implica conocer la información transmitida entre todos los nodos de la red. • Estrategias de prevención. De igual forma, la MT permite ubicar fácilmente nodos claves dentro del funcionamiento de la red lo que indica en qué puntos es necesario reforzar la seguridad de la red para evitar fallas graves. • Planeamiento del crecimiento de la red. Estudiar el comportamiento del tráfico entre cada nodo permite prever su desarrollo y planear ajustes a la red en consecuencia. • Diagnóstico de problemas. Solo es necesario comparar la MT actual con alguna MT promedio o de buena aproximación para encontrar inmediatamente en qué nodos se está presentando algún problema evidenciando un cambio brusco en el tráfico normal. • Calidad de Servicio (QoS). La unión de todos estos factores con el control que se tenga de la red permite un gran manejo de los recursos asegurándose así de proveer la QoS estipulada por los acuerdos internos. Sin embargo, la medición directa de la MT implicaría tener una herramienta ejecutándose en cada nodo de la red y midiendo el tráfico que cada nodo envía a todos los demás. Desafortunadamente esta herramienta no se encuentra implementada de manera estándar en las. 5.
(6) IEL2-I-05-40. diferentes aplicaciones de los protocolos de comunicación. Resultaría por lo tanto extremadamente costoso instalar, ejecutar y monitorear esta aplicación en cada uno de los nodos del sistema, aun para redes de mediana complejidad, Por lo tanto resulta necesario estimar la MT en lugar de medirla directamente, valiéndose de los recursos con los que si se cuenta en cada red. Existen pocas técnicas de estimación de MT , con diferentes complejidades y diferentes resultados, en este trabajo se estudiarán dos de los algoritmos más utilizados, el algoritmo de Programación Lineal ([2]) con y sin la ayuda de un algoritmo de inteligencia computacional y el algoritmo de Aproximación Bayesiana ([3]), estos serán implementados en el contexto de redes alambradas para luego ser transpuestos al marco de trabajo que nos interesa, principalmente, el de las redes MANET . Para cada algoritmo se estudiará el impacto del valor inicial y del tipo de tráfico sobre el resultado final, estos resultados se tendrán en cuenta cuando se trabaje sobre redes Ad Hoc de manera a minimizar el número de factores que puedan influir sobre el desempeño del algoritmo en este marco de referencia. Este trabajo se divide por lo tanto en las siguientes partes, primero se introduce el modelo a utilizar para la estimación de la MT en el contexto de redes alambradas, luego se explican detalladamente los algoritmos utilizados, inmediatamente después se muestran los resultados obtenidos utilizándolos en el marco de referencia citado con anterioridad, luego se introduce el modelo de redes Ad Hoc utilizado, después de esto se muestran los resultados de la implementación de los algoritmos en este contexto y por último se concluye sobre los resultados arrojados por el trabajo.. 6.
(7) IEL2-I-05-40. II.. EL MO DELO. i. Los parámetros El modelo que se utilizó fue tomado de [4]. Este se resume por la relación:. Y = AX. (1). Donde: • Y={Y1 ,Y2 ,…Yr} es el vector de cargas de los enlaces o Link Counts. Yi es la información transportada por el enlace i. i=1,2…r. • X={X1 ,X2 ,…Xc} es la MT en su forma vectorial. Se numeran y ordenan todos lo pares Origen Destino (par OD) de la red y en cada campo Xj se coloca el tráfico de ese par. Es de anotar que la MT no tiene por qué ser simétrica ya que la información transmitida desde un origen hacia un destino no tiene que corresponder en la dirección recíproca. j=1,2…c, si hay n nodos en la red entonces c = n × (n − 1). • A es la matriz de enrutamiento con A=[aij={0,1}]. Para cada par Origen Destino j (ODj) de la red se coloca un 1 en cada enlace i por el que deba pasar la información para llegar a su destino y 0 en el resto de enlaces, es decir que el elemento aij=1 si el enlace i pertenece al camino asociado al par OD j y aij=0 de lo contrario. Por lo tanto la relación (1) expresa simplemente a Yi como la suma de los tráficos OD de todas las rutas que incluyen el enlace i y representa una serie de restricciones lineales sobre X.. ii. La obtención de los datos Como se dijo anteriormente, resulta imposible medir de manera directa los valores de X, por lo tanto es necesario valerse del resto de información que se tenga del sistema. En este punto es donde entra a jugar el modelo que se está introduciendo ya que, si bien el valor de X es desconocido, es posible encontrar exactamente el valor de los otros dos parámetros, Y y A. El vector de cargas de enlaces Y se obtiene mediante el protocolo SNMP o “Simple Network Management Protocol”, este protocolo está incluido dentro de T CP/IP por lo que está presente en todos los nodos de la red y es de fácil acceso. Mediante SNMP se puede preguntar a todos los enrutadores de la red la cantidad de tráfico que están dirigiendo y hacia qué enlace lo están haciendo, esto equivale directamente a Y siempre y cuando se desee medir únicamente el tráfico entre enrutadores. Un inconveniente de SNMP es que utiliza el protocolo UDP (User Datagram Protocol) para transportar la información. A diferencia de T CP (Transmission Control Protocol), UDP no asegura que la información llegue a su destino de manera correcta, por lo tanto la información obtenida de UDP no es confiable ([5]). Para contrarrestar este problema se aconseja en [6] tomar medidas de Y en intervalos pequeños de tiempo, por ejemplo cada 5 minutos, y promediar estos valores en intervalos más largos, por ejemplo cada hora, de esta forma se disminuye el efecto de valores erróneos. El problema de los datos no confiables es un factor muy importante a la hora de trabajar con redes Ad Hoc, más adelante se comentará el problema que representará promediar estos valores en el contexto de estas redes.. 7.
(8) IEL2-I-05-40. La matriz de enrutamiento A se obtiene fácilmente si se conoce el protocolo de enrutamiento y los enlaces de la red. Generalmente el enrutamiento se da calculando los pesos de cada enlace, estos valores dependen inversamente de la capacidad del enlace y directamente del tráfico que está siendo enrutado por este. A la hora de llenar la tabla de enrutamiento se escoge el enlace menos pesado para transmitir por él y se sigue actualizando la tabla. Protocolos como OSPF o el protocolo de pesos ISIS se basan en el mismo principio pero cada enrutador está calculando constantemente el peso sobre los enlaces y sus tablas de enrutamiento que van modificando de acuerdo a garantizar una utilización óptima de los recursos de la red. Será necesario prestar particular atención al tema de enrutamiento dinámico ya que en el caso de las redes Ad Hoc, que serán comentadas posteriormente, la tabla de enrutamiento va cambiando constantemente mientras los nodos se mueven por una superficie de simulación. iii. Ejemplo A continuación se presenta un ejemplo de una red mediana con sus diferentes parámetros; la enumeración de los campos tanto del vector de cargas sobre los enlaces Y como del vector de pares OD X se hace antes de empezar las iteraciones, para así mantener el modelo constante así cambie la tabla de enrutamiento.. A. C B. D Figura 1 – Red mediana. Y1 : A → B Y2 : B → A Y3 : A → C Y4 : B → C Y5 : C → B Y6 : C → D Y7 : D → C Figura 2 Vector de cargas sobre los enlaces. X1 : A → B X2 : A →C X3 : A → C → D X4 : B → A X5 : B → C X6 : B → A → C → D X7 : C → B → A X8 : C → B X9 : C → D X 10 : D → C → B → A X 11 : D → C → B X 12 : D → C. Figura 3 – Vector de T ráfico. 8.
(9) IEL2-I-05-40. ⎡1 ⎢0 ⎢ ⎢0 ⎢ A = ⎢0 ⎢0 ⎢ ⎢0 ⎢⎣ 0. 0 0 1 0 0 0 0. 0 0 1 0 0 1 0. 0 1 0 0 0 0 0. 0Figura 0 04 -0 Matriz 0 0 de0 enrutamiento 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1. 0⎤ 0⎥ ⎥ 0⎥ ⎥ 0⎥ 0⎥ ⎥ 0⎥ 1⎥⎦. Se puede observar que inclusive para esta pequeña red el número de pares OD supera ampliamente el número de enlaces, esto implica que en la relación (1) se cuenta con un sistema de c incógnitas y r ecuaciones con c >> r . Lo cual significa que el sistema tiene infinitas soluciones, claro, siempre y cuando no existan redundancias dentro de la matriz A, pero si esto fuera así la red no tendría sentido ya que dos columnas iguales implicarían que dos pares OD diferentes utilizan exactamente la misma ruta para transportar su información, esto no es posible, a menos que sean el mismo par OD. T ambién podrían existir matrices A con únicamente ceros en alguna fila o columna, esto implicaría que el par OD no se comunica con ningún otro par o que un enlace de la red no está siendo utilizado por ningún par OD, para redes reales estos casos no son representativos y por lo tanto no se estudiarán.. iv. Consideraciones a tener en cuenta Para agregar precisión al modelo se pueden incluir muchos otros factores sobre los que se tenga información tales como el tipo de tráfico entre los pares OD o una MT antigua o parcial de la red. Estos valores pueden ser incluidos en el modelo bajo la forma de nuevas relaciones lineales disminuyendo así la diferencia entre el número de ecuaciones e incógnitas y mejorando la precisión. Ya que estos factores serían muy particulares para cada red, se decidió centrar la atención del trabajo en los algoritmos de base para la estimación de la MT . Posteriormente se les podrá agregar la información extra que se tenga sobre el sistema. Se puede ver por lo tanto que el modelo utilizado es muy sencillo, pero también se debe anotar que si bien la red cuenta con solo cuatro nodos ya se está tratando con un sistema de 12 incógnitas y 7 ecuaciones, esto obliga a pensar en la eficiencia de los algoritmos, parte de su eficiencia será su tiempo de ejecución, parámetro que entrará a formar parte de los aspectos a considerar seriamente al igual que, como se anotará más adelante, la velocidad de ejecución, que también jugará un papel muy importante a la hora de trabajar sobre redes móviles. T ambién se puede pensar en las soluciones que podrá entregar el algoritmo. Ya que se tiene un sistema con infinitas soluciones solo se está haciendo una estimación de la MT real, esto implica que habrá que tener en cuenta el error promedio de cada algoritmo a la hora de implementarlo en redes MANET para no agregar errores que ya son propios del algoritmo a la transposición a redes inalámbricas. Como última consideración, es necesario implementar y probar los algoritmos en el contexto de redes alambradas no solamente para asegurar su correcto funcionamiento sino también para descartar factores de error que no sean propios a la aplicación en redes Ad Hoc. Para esto se estudió la sensibilidad de los algoritmos a diferentes factores externos como el valor inicial. 9.
(10) IEL2-I-05-40. proporcionado y el tipo de tráfico simulado. Si se logran aislar los errores debidos a este tipo de factores, no propios al contexto, se podrán realizar estudios más precisos del comportamiento de los algoritmos en el marco especial de este trabajo.. Como se planteó anteriormente, se necesita estimar un valor aproximado de la MT a partir de mediciones e información sobre la red, para esto se estudiarán dos de los métodos más utilizados a la hora de estimar MT , los dos métodos se basan en diferentes principios para aproximarse a la solución y por lo tanto se comparará su desempeño así como sus fortalezas y debilidades, factores que podrán ser muy útiles a la hora de dar el salto a redes Ad Hoc.. 10.
(11) IEL2-I-05-40. III.. LO S ALGO RITMO S DE ESTIMACIÓ N. i. Elección de los algoritmos Existen contados algoritmos de estimación de MT para redes alambradas, en [4] describen los tres algoritmos más utilizados, estos son: un algoritmo de programación lineal y dos algoritmos de estimación estadística; el método de Aproximación Bayesiana y el método de Maximización Esperanza. Este trabajo se concentrará en dos de éstos métodos, el de programación lineal, implementándolo de dos maneras diferentes y el de Aproximación Bayesiana. El método de aproximación lineal fue escogido en primer lugar debido a su simplicidad, a pesar de los resultados poco exitosos que según [4] arroja. Pensando en este factor se decidió ayudar el método gracias a un algoritmo de inteligencia computacional, el método de algoritmos genéticos, con el que se intentó mejorar su desempeño. En cuanto al método de Aproximación Bayesiana, se decidió implementarlo debido a un menor grado de dificultad que el de Maximización Esperanza, conservando aun resultados satisfactorios. Debido a la gran extensión y cantidad bibliográfica por consultar, el método fue implementado de manera estándar, sin la ayuda de algoritmos de inteligencia computacional. Como se explicó anteriormente, los algoritmos fueron probados inicialmente en el contexto de redes alambradas para medir su desempeño y principalmente para eliminar factores de error que no dependan del contexto particular de las redes Ad Hoc, la implementación y sus resultados se presentarán posteriormente.. ii. El Método de Programación Lineal a. Implementación Estándar Como se dijo anteriormente, este método se caracteriza por su simplicidad. En él, se intenta resolver un problema de optimización sujeto a restricciones lineales derivadas de la ecuación (1). De hecho, actualmente existen numerosos algoritmos de alta complejidad que se encargan de solucionar este tipo de problema pero ya se encuentran implementados en forma de herramientas estándar y fáciles de usar, por lo que la implementación del método no requiere de grandes conocimientos sobre las bases del algoritmo de optimización, de ahí la simplicidad del algoritmo. El algoritmo propuesto en [2] se basa por lo tanto en la maximización de la siguiente función: c. max ∑ ω j X. j. (2). j= 1. Donde ω j es el peso asociado al par OD j. Se sugiere en [2] que este peso sea directamente proporcional al número de saltos que debe dar la información para recorrer su camino, es decir que sea igual al número de enlaces que tenga que atravesar. El valor de ω se deduce fácilmente de la matriz A mediante la siguiente relación: r. ω j = ∑ Aij. (3). i= 1. 11.
(12) IEL2-I-05-40. Es decir que ω j equivale al número de unos de la columna j o el número de enlaces por los que atraviesa la información del par OD j. Si comparamos la información de la figura 4 con la de la figura 1, 2 y 3, se puede ver que efectivamente se cumple la relación, tomando por ejemplo el par OD 7 de la figura 3, para que la información sea transmitida de C a A debe pasar por B y por lo tanto atraviesa los enlaces C B y B A representados por un 1 en la posición A27 y A57 . En este caso ω 7 =2. La ecuación (2) traduce por lo tanto una maximización del tráfico representado por el conjunto de pares OD del sistema, esta maximización se ve influenciada por el valor de los pesos de cada par de manera a estar acorde con el sistema con el que se está trabajando.. El sistema está sujeto a las siguientes restricciones lineales: c. ∑A. lj. X j ≤ Yl l = 1,2,..., r. (4). j =1. ⎧Xk Si j = origen de k ⎪ Ylalk − ∑Yl alk = ⎨− X k Si i = destino de k (5) ∑ l =(i ,j ) l=( j ,i) ⎪0 0 de lo contrario ⎩ X j > 0 ∀j (6) (4) representa las restricciones impuestas directamente por (1); la suma del tráfico de los pares OD en cada enlace no puede superar el valor medido del tráfico sobre este. (5) la conservación del tráfico. (6) impide que hayan tráficos negativos que serían irreales. A continuación se presenta un diagrama de flujos del funcionamiento del algoritmo:. Generación del vector de tráfico. Generación de A, cálculo de Y. Ejecución del algoritmo. Comparación del resultado. Cálculo de X0 Constante, Uniforme, Poisson, Normal, Bimodal. Bueno, malo, pésimo. SQP, algoritmos genéticos. b. Implementación mediante algoritmos de Inteligencia Computacional Uno de los objetivos de este trabajo es hacer uso de algoritmos de inteligencia computacional, cuando sea posible, para intentar mejorar el desempeño de los algoritmos o facilitar su aplicación en el contexto de redes Ad Hoc. Estos algoritmos permiten generalmente agregarle precisión al desempeño de los métodos normales insertando información extra que se tenga sobre el sistema, asegurando que el método se comporte de una manera deseada, acelerando su ejecución u otras aplicaciones más.. 12.
(13) IEL2-I-05-40. Se propone encontrar una aplicación de los algoritmos de Inteligencia Computacional (IC) en el caso del método de método de programación lineal que fue implementado y probado en [4] sin la ayuda de los algoritmos de IC arrojando resultados poco satisfactorios, con errores en promedio cercanos al 100% para la estimación de los pares OD en una red de tamaño mediano. Esto lleva a pensar que se podría mejorar el desempeño del algoritmo agregándole un método de búsqueda mediante Algoritmos Genéticos ya que este tipo de algoritmo se aplica muy bien a problemas de optimización. Los resultados de esta implementación se muestran el la sección IV.. iii. El método de Aproximación Bayesiana a. Introducción y consideraciones Este método fue presentado en [3] pero para entender completamente su funcionamiento fue necesario referirse a mucha más bibliografía que desglosara cada uno de los aspectos teóricos del método ([4], [7], [8], [9], [10]). Según lo anotado con anterioridad, es un método de inferencia estadística lo que implica primero que todo que las variables con las que se tratará serán variables aleatorias a diferencia de los métodos ya expuestos. Para este método se hacen además ciertas consideraciones: • • • • •. Se asume que el tráfico entre pares OD X sigue una distribución Poissoniana. X~Po(Λ). T odos los Xj con independientes entre ellos. Λ={λ1 ,λ2 ,…λc} es el vector de tasas medias de poisson de X. Las variables Λ también son independientes entre sí. Se requiere un valor inicial X0 informativo para asegurar la convergencia de la solución.. El método bayesiano se basa en el método de Markov Chain Monte Carlo o MCMC ([7]) y particularmente en el método de Metrópolis dentro de Gibbs ([8]). El algoritmo de Gibbs permite realizar la simulación de una variable aleatoria multidimensional bajo su distribución conjunta, esto significa que cada una de las variables puede ser simulada condicionalmente a las otras. El funcionamiento del método de Gibbs y de Metrópolis dentro de nuestro sistema particular será explicado en detalle más adelante. b. El modelo a priori de X El objetivo final del algoritmo es encontrar la distribución p (X | Y ) . Para lograr esto es necesario también encontrar la distribución de Λ lo que nos conduce a trabajar con un modelo conjunto: c. p (X , Λ) = p (λ )∏ λ e Xa a. − λa Xa !. (7). a =1. La ecuación (7) se considera el punto de partida del análisis.. 13.
(14) IEL2-I-05-40. Cualquier tipo de información sobre el tipo de distribución que siguen las medias Λ puede ser agregado en este punto al modelo reemplazando p(λ) por la expresión adecuada, al igual que se hizo con p(X) que fue reemplazado por la expresión de una variable aleatoria Poissoniana. El primer paso a seguir es por lo tanto estimar el valor de Λ a partir del valor de X0 proporcionado. Para hacer esto se utiliza el Promedio Monte Carlo de distribuciones condicionales conocidas, es decir la siguiente ecuación: m. p(λa | Y ) ≈ m −1e λa ∑ i=1. λa X. ( i) a. X a(i )!. (8). Donde m es el tamaño de muestreo de Monte Carlo y X a(i ) con i=1,…m es el conjunto de variables muestreadas de Xa. En [3] sugieren utilizar un tamaño de muestreo de Monte Carlo de 5000. Después de esto se realiza una simplificación del problema. La simplificación se basa en que dentro de un sistema de c ecuaciones y r incógnitas, si se conoce el valor de c-r de ellas se puede deducir el valor exacto de las demás r. Para aplicar este principio se utiliza primero el método de descomposición QR que transforma la matriz A en dos matrices [A1 A2 ] con A1 de r x r invertible y A2 de r x (c-r). La transformación se realiza mediante simples permutaciones de columnas y está demostrada en [3]. Es necesario también reorganizar de manera consecuente los campos de X en [X1 X2 ]’ de tal forma que se siga cumpliendo la relación descrita en (1). Se puede demostrar de estos cambios que:. X1 = A1−1 (Y − A2 X 2 ) (9) Se puede deducir de la ecuación (9) que los valores de X1 dependen únicamente de los valores conocidos A1 , A2 y Y y de los valores desconocidos X2 . Es por lo tanto necesario estimar los valores de X2 para deducir los valores de X1 y de ahí conocer completamente los valores de la MT . c. El método de muestreo de Gibbs El método de Gibbs permite deducir los valores de todas las variables de un arreglo multidimensional de variables aleatorias a partir de la probabilidad que las condiciona entre sí. Esto permite por lo tanto encontrar p(X2 |Λ,Y). Utilizando la notación de [8], se denota x kj,2 el campo j de xk ,2 : xk , 2 = x k ,r + j , j = 1, c − r . j. Se denota igualmente x kj,1 el campo j de vector x k ,2 sin incluir el campo x. j k, 2. x k,1 : x kj ,1 = xk , j , j =1,r . Se denota también xk−,2j :x. −j k ,2. el. = (xk ,r +1, L, xk ,r + j −1 , xk , r+ j+1 , L, xk ,c ) . El. muestreador de Gibbs simula x kj,2 condicionalmente a yk y x k−,2j sucesivamente para j=1,2,…,c-r. Este proceso se repite hasta la convergencia de la distribución conjunta de xk,2 dada yk. Una iteración del algoritmo de Gibbs podría ser descompuesto de la manera siguiente:. 14.
(15) IEL2-I-05-40. ( (x. xk(n,r++11) ← pr +1 xk ,r +1 | y k , xk(n,r)+2 , L, xk(n, c) xk(n,r++1)2 ← pr + 2 M. M. k ,r + 2. ). | y k , x k( n,r)+1 , x k(n,r)+ 3 , L , xk(n, c). ) (10). (. xk(n,c+1) ← pc xk ,c | y k , x k( n, r)+1 , L , xk(n,c)−1. ). Se puede ver que cada valor a posteriori de la variable es muestreado a partir de la distribución conjunta p, que está compuesta por Y y por los valores a priori del resto de variables. T ransponiendo esto al problema particular del que se ocupa este trabajo se llega a la siguiente expresión:. (. ). ( )∏ p(x ). p xkj ,2 | y k , xk−1,2 α p xkj, 2. r. i =1. i k ,1. (11). Como ya se ha asumido el tipo de distribución de la variable X (11) se puede escribir de la siguiente manera:. p (X i | X 2 ,− i , Λ, Y ) α. λXii. r. λaXa. X i!∏ a =1 X a !. (12). Donde i=r+1,…,c y X2-i son los valores a priori del vector X más recientemente iterado. El signo α denota proporcionalidad ya que cuando el algoritmo es implementado, se evidencia la necesidad de normalizar esta expresión para que cumpla con las características de una distribución de probabilidad real (que la suma de sus términos sea 1).. Esta expresión debe ser evaluada para cada i y los valores muestreados de X deben ser actualizados dada la nueva distribución de Xi antes estimar la distribución de Xi+1 . Además se deben actualizar los valores de X1 , a partir de la relación (9) en cada sub-iteración i. d. El acelerador Metrópolis La evaluación de la expresión (12), aun en redes pequeñas es computacionalmente muy pesada. Es necesario primero encontrar el dominio de Xi sobre el cual la expresión (12) no es nula, además, encontrar este dominio es igualmente difícil, esto obliga a implementar un acelerador del método que permita hacer el muestreo de (12) sin tener que evaluarla en todos su domino. El principio de funcionamiento del algoritmo de Metrópolis es muestrear una variable aleatoria, de una distribución conocida, y aceptarla con probabilidad igual a la tasa de Metrópolis. Esta tasa es función de las probabilidades de la muestra y del valor más recientemente iterado siguiendo la distribución que se quiere simular (distribución objetivo) y la distribución conocida que sí se puede simular (distribución instrumental). Si la muestra es aceptada se considera que es representativa de la distribución que no se quiso simular.. 15.
(16) IEL2-I-05-40. Para el caso del problema tratado en este trabajo se tomó como distribución instrumental qi(Xi) poissoniana con media λi. Los pasos a seguir propuestos en [3] son los siguientes: 1. Generar la distribución instrumental qi. 2. Encontrar el dominio de evaluación de esta distribución. Para esto se toman las siguientes fronteras iniciales: Mínimo = 0 Máximo =. {. }. mini Yi − ∑ j ≠ a Aij X j , cuando el enlace i está incluido en el. camino del tráfico de Xi. 3. Luego se mueven estos valores dependiendo de si el cálculo de (9) produce resultados no válidos (negativos) aumentando el mínimo o disminuyendo el máximo dependiendo del caso. 4. Generar un valor candidato X *i de qi dentro de los límites calculados. 5. Calcular la tasa de Metrópolis:. ( ). ⎡ p X * q ( X )⎤ min ⎢1, i i i *i ⎥ ⎣ pi ( X i )qi X i ⎦. ( ). (13). Donde Xi es el valor actual más recientemente muestreado y pi es el posterior condicional no normalizado de la ecuación (12). Se resalta el hecho que gracias a este acelerador la ecuación (12) solo es evaluada en las muestras candidatas así que, a diferencia del método original de Gibbs, no es necesario identificar ni el domino de pi ni evaluarla ahí. 6. La muestra es aceptada con probabilidad (13), si no se acepta se vuelve a generar X *i , de lo contrario se procede a evaluar el nuevo X1 con los elementos recién calculados de X2 mediante (9). 7. Se vuelve a iterar A continuación se presenta el diagrama de flujos del funcionamiento del algoritmo:. 16.
(17) IEL2-I-05-40. Generación del vector de tráfico. Generación de A, cálculo de Y. Cálculo de X0 Constante, Uniforme, Poisson, Normal, Bimodal. Estimación de p( Λ|X,Y) Promedio Monte Carlo de distribuciones condicionales conocidas. Bueno, malo, pésimo. Descomponer A en [A1 A2] y X en [X1 X2] Método de Descomposición QR. Acelerar el muestreo Metrópolis. Estimar p(X2|Λ,Y) MCMC. Calcular X1 a partir de X2 Aproximar el valor. X 1 = A1− (Y − A2 X 2 ) 1. IPF o en mi caso MLE. VUELVA A ITERAR!. El nivel de complejidad del algoritmo es relativamente alto y por lo tanto se podrían tener en cuenta innumerables factores de error a la hora de transponerlo a un contexto de ejecución no natural como es el de las redes Ad Hoc. Se decidió por lo tanto limitar en la medida de lo posible el efecto de todos estos factores sobre el desempeño del algoritmo, para esto se generó un plan de pruebas que permitiera caracterizar el funcionamiento de este método como el de los demás con respecto a los factores que más influencia tengan en cuanto a la precisión de los datos obtenidos. De esta manera se intentó aislar factores de importancia para el desempeño pero ajenos al contexto de aplicación, los resultados de este plan de pruebas, al igual que una guía detallada sobre el proceso de implementación, se presentan en la siguiente sección.. 17.
(18) IEL2-I-05-40. IV.. RESULTADO S REDES ALAMBRADAS. i. El método de Programación Lineal a. Implementación El método de Programación Lineal fue implementado en Matlab, debido a las herramientas con las que se cuenta para intentar solucionar problemas de optimización. Se utilizó la función fmincon que se basa en el método de Programación Cuadrática Secuencial (SQP). En este método se soluciona un sub-problema cuadrático en cada iteración. fmincon requiere de un valor inicial para empezar a iterar, se estudió por lo tanto la sensitividad del método a este valor. En el anexo se presenta el código en matlab de los diferentes programas que utilizaron este método. b. Plan de pruebas El método fue puesto a prueba en dos redes, una red pequeña de 3 nodos y dos enlaces y una red mediana de 4 nodos y 7 enlaces. Se buscó a estudiar su desempeño y su sensibilidad con respecto a dos factores, el valor inicial proporcionado y el tipo de tráfico generado para la simulación. •. Red pequeña. 10. A. 10. B. 10. C. Figura 5. A B=10;B C=10;A C=10 Por lo tanto: ⎡10 ⎤ ⎡ 20⎤ ⎡1 0 1⎤ X = ⎢⎢10 ⎥⎥ Y = ⎢ ⎥ A = ⎢ ⎥ 20 ⎣ ⎦ ⎣0 1 1⎦ ⎢⎣10 ⎦⎥. (14). La red de la Figura 5 es una red trivial, utilizada únicamente para asegurarnos que el algoritmo funciona. Solo se probó el desempeño del algoritmo, con un valor inicial único de X0 =[0,0,0]’ y el tráfico fijo dado por (14). Los algoritmos correspondientes se encuentran en la función p_LP1.m y p_simple.m del anexo. El resultado que arrojó el programa fue. 18.
(19) IEL2-I-05-40. ⎡ 6 .66 ⎤ X = ⎢⎢ 6 .66 ⎥⎥ ⎢⎣13 . 33⎥⎦. (15). Es decir un error de 33.3% en promedio para los tres pares OD de la red. Es de notar que (15) es realmente una solución del sistema descrito por (14), tan solo no es la solución que se esperaba ya que existen infinitas de ellas. Además se probó la sensitividad del algoritmo a cambios en los valores de los pesos de cada nodo ωi. Esta prueba solo se realizó en esta red ya que pudimos notar que la modificación de estos coeficientes cambia completamente el resultado arrojado por el algoritmo. Para un cambio en ω de [1,1,2] a [1,1,3] el resultado correspondiente de X fue [-0.4219, -4.5078, 4.5896]*1e16. •. Red mediana. Para el caso de la red mediana se hicieron las pruebas que permitieran subrayar el efecto del valor inicial y del tipo de distribución sobre el desempeño del algoritmo. La red mediana ya fue presentada en las figuras 1, 2, 3 y 4. Los programas de prueba de esta red son p_LP3.m y p_simple2.m. Para las pruebas sobre la sensibilidad con respecto al tipo de tráfico se tomó un valor inicial único de X0 =[0, 0, 0,]’. Se generó el tráfico de los pares OD gracias a las opciones que se presentarán a continuación. A partir de estos valores y de la relación (1) se calculó el valor correspondiente de Y que, al igual que A, hacen parte de los parámetros de inicialización del sistema. Después de la iteración se comparó el valor real de X con el valor arrojado y se calculó el error promedio entre los dos. El algoritmo fue ejecutado 5000 veces y se promediaron los errores de cada par OD entre todas las iteraciones. Los diferentes tipos de tráfico fueron: o o o o o. Distribución Constante. X={300}. Distribución Uniforme. X~uni([100,101,…,500]). Distribución Poissoniana. X~Po(Λ), λ~uni([100,101,…,500]). Distribución Gaussiana. X~normal(µ,σ), µ~uni([100,101,…,500]) y σ=40. Distribución Bimodal con dos tipos de distribución posibles: X~Bimodal(p(X1 )=0.8, p(X2 )=0.2). X1 ~normal(150,20) y X2 ~normal(400,20). Se implementó esta distribución ya que estudios recientes ([17]) han mostrado que Internet presenta un comportamiento de hot spots, es decir que algunos pocos pares de POPs o Puntos de Presencia tienen tráficos muy grandes mientras la mayoría de los pares de POPs presentan un tráfico sustancialmente menor entre ellos.. Los errores de cada par OD fueron promediados para las 5000 iteraciones y luego promediados entre sí. Estos errores se presentan en la tabla a continuación al igual que el error máximo promedio encontrado en los pares OD durante las 5000 iteraciones: Distribución Constante Uniforme Poissoniana Gaussiana 29.76% 41.11% 40.82% 41.76% Error ε% 50.26% 336.9% 332.9% 609.2% Máx. ε. Bimodal 38.66% 283.5%. 19.
(20) IEL2-I-05-40. Podemos observar que los errores promedio son siempre cercanos al 40% salvo para la distribución constante (como podía esperarse) e inclusive para la distribución Bimodal que tiene características muy particulares y tráficos a veces muy desiguales. Para el estudio del efecto del valor inicial sobre el desempeño del algoritmo se trabajó con tres tipos de valores iniciales de los que se hablará en un momento. A partir de la generación de estos, se ejecutó el algoritmo 5000 veces, generando siempre un tráfico poissoniano con media uniformemente distribuida entre 100 y 500. Para obtener el valor X0 se generó primero el tráfico real al que se le sumó uno de los tres tipos de errores posibles ξ: o o o. Valor inicial bueno: ξ~normal(0,60) Valor inicial malo: ξ~normal(0,100) Valor inicial pésimo: ξ~normal(0,300). Los resultados fueron: Distribución Buena Mala Pésima Error ε% 11.05% 21.76% 59.91% 15.58% 48.32% 184.6% Máx. ε Como era de esperarse, notamos una relación directa entre la cercanía del valor inicial y el error final. En [4] se estudió también el desempeño de este método, arrojando resultados muy diferentes a los que se han descrito acá. En [4], el método tiende a igualar el tráfico medido en los enlaces con el tráfico entre nodos adyacentes, de esta forma algunos campos de X valen igual a algunos campos de Y y otros deben valer 0 para no violar las restricciones lineales del problema de optimización (particularmente la ecuación (4)). Esto hace que muchos pares OD tengan tráficos mucho mayores que los reales y que muchos otros tengan tráfico de 0, es decir un error del 100%. Se puede pensar que la diferencia en el desempeño se debe al algoritmo de optimización utilizado, es decir el algoritmo de SQP. Desafortunadamente en [4] no nombran el algoritmo que se utilizó pero más adelante se considerará una posible respuesta. ii. El método de Algoritmos Genéticos En muchos casos los problemas de optimización son sinónimo de algoritmos genéticos. Fue interesante por lo tanto intentar aplicar este método en el problema particular que se quiere resolver. Para esto se utilizaron las herramientas disponibles en Matlab y se aplicaron al mismo sistema de la Figura 1. Se utilizó la herramienta psearchtool o patternsearch que hace uso de una búsqueda por algoritmos genéticos para encontrar un camino hacia la solución óptima de un problema. Los resultados no fueron tan buenos como se esperaba, en realidad son mucho peores que los resultados arrojados por el algoritmo SQP, siendo particularmente cercanos a los errores citados por [4], es decir cerca el 100% de error en promedio. Se modificaron los parámetros de la búsqueda cambiando el tamaño de la población, factor de cross-over y probabilidad de mutación sin obtener mejores resultados.. 20.
(21) IEL2-I-05-40. Se puede pensar por lo tanto que en [4] utilizaron un algoritmo parecido al de patternsearch o que hicieron uso de algoritmos genéticos para realizar la búsqueda del óptimo del problema. En la Figura 6 se muestra la ventana típica de aplicación del comando psearchtool.. Figura 6 – Inte rfaz de pse archtool. iii. El método de Aproximación Bayesiana a. Implementación Después de consultar detalladamente la extensa bibliografía que permitió entender el algoritmo se procedió a implementarlo en Matlab. El código completo del algoritmo se encuentra en los anexos.. 21.
(22) IEL2-I-05-40. Durante la implementación varios aspectos particulares fueron notados: Si bien la red con la que se trabajó es relativamente pequeña, la implementación del algoritmo de Gibbs sin el acelerador de Metrópolis hace que la duración de la ejecución del algoritmo se dispare tomando cerca de 10 horas hacer tan solo 700 iteraciones. Hay que tener en cuenta que normalmente el algoritmo empieza a convergir a partir de las 5000 iteraciones y que se aconseja ejecutarlo por 50000 iteraciones. o Se aconseja en [4] que al final de una iteración, cuando ya se tienen muestreadas todas las variables de X2 , se aplique el algoritmo de Iterative Proportional Fitting o IPF. Este algoritmo ajusta los valores muestreados de X de manera a minimizar el error con respecto a una distribución dada. Ya que no se encontró mayor información sobre este algoritmo se decidió más bien aplicar el método de Maximum Likelihood Estimacion o MLE, que toma una serie de muestras de una variable aleatoria y entrega los parámetros del tipo de distribución que se desee y mejor describa estos valores. Ya que en el método se asume que el tráfico es poissoniado se aplicó MLE a los valores muestreados pidiéndole arrojar el mejor valor de la media de la distribución. Teniendo este valor se muestreó la distribución de probabilidad poissoniana con media el valor calculado. o Ya que el tráfico de la red y el valor inicial se generan al azar a partir de ciertos parámetros, de vez en cuando el sistema entregado al algoritmo no puede producir una solución válida (tráficos negativos). En estos casos el algoritmo agota hasta el último recurso muestreando una y otra vez las distribuciones con las que cuenta para intentar escaparse del callejón sin salida pero termina fallando. Estos casos muestran la necesidad de un valor inicial informativo sobre el sistema, ya sea una matriz de tráfico anteriormente medida o un estimado inicial obtenido mediante otro mecanismo. o Si bien todas las relaciones de probabilidades utilizadas para desarrollar el método se escriben de la forma o. p( xx | xx ) = expresión Solamente en un momento de todo el proceso de iteración se necesita un valor específico de una distribución de probabilidad, en el cálculo de la tasa de Metrópolis. Por lo tanto se aconseja en lugar de cargar con los valores calculados de estas distribuciones, de más bien conservar sus valores muestreados que si se utilizan permanentemente.. b. Proceso de optimización Se decidió agregar esta sección a este documento ya que el proceso de optimización del algoritmo fue un factor clave en el estudio de su desempeño y además es un paso obligatorio cuando se trate con redes Ad Hoc como se verá más adelante. Cuando se terminó por primera vez el algoritmo, una sola iteración tomaba cerca de 25 segundos. Al finalizar del proceso de optimización una iteración estaba tomando cerca de 0.14 segundos.. 22.
(23) IEL2-I-05-40. Generalmente el proceso de optimización se ocupó de reducir el número de operaciones o de líneas de código dentro de cada función utilizando las funciones de Matlab. Por ejemplo cada vez que se necesitaba normalizar una distribución, en lugar de crear un ciclo que sumara termino por termino y fuera acumulando estos valores para después dividir cada uno de los valores de la distribución por el normalizador, se multiplicó el vector de valores de la distribución por un vector de unos creado mediante el comando ones(i,j), obteniendo así la suma de sus términos que iba dividiendo al mismo tiempo el mismo vector de valores de la distribución: tam_dist=size(dist); tmp=0; for i=1:tam_dist(1) tmp=tmp+dist(i); end for j=1:tam_dist(1) dist(j)=dist(j)/tmp; end. dist=dist/(dist*ones(tam_dist,1));. o mejor: dist=dist/sum(dist);. Pero donde realmente se realizó la optimización fue en las funciones particulares del método. A continuación explicamos en detalle el proceso realizado a cada una de ellas. calcula_relacion.m El cálculo de. ab b!. debe hacerse de manera iterativa, si se calculan los valores de ab y b! por aparte se corre el riesgo que sean valores demasiado grandes para que Matlab los pueda calcular y se tomen como inf cuando en realidad la relación tenga un valor relativamente pequeño. Es el caso por ejemplo del número. 100270 . 270! Si se calcula en matlab la expresión 100^270/factorial(270) Matlab arroja NaN, ya que 100^270 = inf y factorial(270) = inf. Pero si se hace de manera iterativa, calculando. a a a a× × L× , 2 2 2 b veces, se obtiene el valor real de la expresión que es 0.1501. estima_distribución.m Esta función se había planeado de manera distinta en un principio. Se pensó primero en aumentar los valores de toda la distribución de probabilidad dividiéndolos por el máximo valor que toma la función. De esta forma la distribución tendría en su valor más probable un pico máximo de 1 y en caso de ser muestreado se aceptaría con probabilidad 1. Teniendo esta distribución seudo-normalizada se procedía a generar un valor al azar dentro de los valores posibles de la distribución al igual que un valor de probabilidad, si la probabilidad de la distribución sobre el valor generado era mayor o igual al valor de probabilidad generado se aceptaba el valor muestreado, de lo contrario se volvían a generar valores. Se hacía esto hasta que se acepte un valor. Si se trata de solo un muestre esto puede no ser grave pero cuando se desea muestrear 5000 variables es muy poco eficiente. Este algoritmo genera valores muestreados de una distribución cualquiera de manera satisfactoria pero muy poco eficiente.. 23.
(24) IEL2-I-05-40. Para optimizarlo se deshizo de todo este código y se trabajó con la función de probabilidad cumulativa de la distribución. Esta función se obtiene gracias a la instrucción cumsum(dist) de Matlab. En las siguientes figuras se aprecia la diferencia entre la distribución de probabilidady la función de distribución cumulativa de la misma.. Figura 7 Figura 8. 24.
(25) IEL2-I-05-40. Utilizando la función de distribución solo se necesita generar una probabilidad al azar y ubicar en la gráfica a qué valor de X corresponde. Esto se hace gracias a la función find. estima_lambda.m En esta función los esfuerzos de optimización se concentraron sobre la ecuación (8) que repetiremos acá por conveniencia:. λa X −1 λ p(λa | Y ) ≈ m e ∑ (i ) i=1 X a ! ( i) a. m. a. b. Se observa la conocida expresión a b! pero es necesario estudiar más a fondo el tipo de variables con las que se está trabajando para lograr una mejor optimización del método. La variable λa es un valor que recorre el dominio de su distribución por lo que en cada cálculo del algoritmo se tendrá λna+1 = λna + 1 . Se puede pensar en hacer simplificaciones el momento en que λa valga 1 pero es mejor concentrarse en X a(i ) . Este factor representa las m variables muestreadas de la distribución p(Xa). Ya que X sigue una distribución poissoniana las muestras de p(Xa) se concentrarán principalmente en Xa=λa o estarán generalmente muy cerca. Por lo tanto se pensó en varias recomendaciones: Organizar de manera creciente las variables muestreadas X a(i ) . No evaluar la ecuación (8) para X a(i ) repetidas (solo una vez por cada X a(i ) repetida y agregar el resultado a todas). Y no llamar la función calcula_relación.m cada vez que haya que calcular (8) sino tomar la última relación calculada y encontrar la siguiente multiplicándola por. λXa X a(i ) ! (i ) a. las veces que sea necesario. Esto se puede hacer ya que las variables están organizadas de menor a mayor por lo que el siguiente cálculo de (8) se puede hacer siempre a partir del cálculo anterior. estima_X.m Para esta función se optimizó principalmente el cálculo de. p (X i | X 2 ,− i , Λ, Y ) α. λXi i. r. λaXa. X i!∏ a=1 X a !. Primero se estudiará el segundo factor. Se puede notar que este no depende de los parámetros que se están calculando, es un factor constante para cualquier i. Por lo tanto solo se evalúa una vez y se multiplica por el primer factor cuando éste se encuentra disponible. En cuanto al primer factor es necesario fijarse de nuevo en Xi. Esta variable recorre el dominio de p(Xi | X2-i,Λ,Y) y λi se mantiene fijo durante este recorrido. Por lo tanto solo es necesario calcular este factor para el primero de los Xi y luego multiplicarlo de manera iterativa para encontrar el resto de factores. funcion_objetivo.m Se hicieron cambios menores sobre esta función proveniente del algoritmo de Programación Lineal. En lugar de asignar los coeficientes ω uno por uno esto se hace mediante una sola operación, al igual que el cálculo de la función objetivo. c. Plan de pruebas. 25.
(26) IEL2-I-05-40. Se iteró 5000 veces con un tamaño de muestreo de Monte Carlo m=1000. El algoritmo solo fue probado sobre la red mediana de la figura 1, 2, 3 y 4 y se intentó evidenciar el efecto del número de iteraciones, valor inicial y del tipo de distribución sobre el resultado arrojado. A continuación presentamos una serie de figuras arrojadas por el algoritmo al terminar su iteración. En la Figura 9 se muestra el comportamiento del error por cada una de las variables del sistema. La disminución constante de este error es prueba de la convergencia del algoritmo. En la Figura 10 se muestra el comportamiento del error total promedio por cada iteración. Por último, en la Figura 11 se muestran las distribuciones de probabilidad finales de X. En una línea vertical aparece el valor real de la variable. Se puede apreciar una gran afinidad entre la mayoría de las distribuciones y el valor real, en varias de ellas el valor real se encuentra justo sobre o muy cerca del punto con mayor probabilidad lo que asegura que muestras de esas distribuciones serán muy cercanas del valor real buscado.. 26.
(27) IEL2-I-05-40. Figura 9 – Errore s de cada par O D por cada ite ración. 27.
(28) IEL2-I-05-40. Figura 10 – % de Error contra núme ro de ite ración. 28.
(29) IEL2-I-05-40. Figura 11 – Distribucione s finale s de l tráfico X. 29.
(30) IEL2-I-05-40. La primera de las características que se estudiaron del algoritmo fue su sensibilidad al número iteraciones. En la bibliografía consultada indican que entre mayor sea el número de iteraciones mejor es el desempeño. Para comprobar esto se hicieron pruebas con 100 y 1000 iteraciones en lugar de las 5000 utilizadas anteriormente. Los resultados se presentan en la Figura 12 y la Figura 13.. Figura 12 – Solo 100 ite racione s. Figura 13 – 1000 ite racione s. 30.
(31) IEL2-I-05-40. Los efectos del tipo de tráfico sobre el resultado se evaluaron de la misma forma que con el método de Programación Lineal, con tráfico constante, uniforme, poissoniano, normal y bimodal con los mismos parámetros. Los resultados obtenidos son, a diferencia del método estudiado con anterioridad, del orden de los resultados propuestos por [4] y se muestran a continuación: Dist Constante Uniforme Poisson Normal Bimodal. ε medio 0.3 0.28 0.2 0.31 0.46. ε max 1.1 1.82 1.71 2.15 5.41. 0.2 0.58 0.58 0.66 0.5 0.33. 0.5 0.83 0.83 0.91 0.83 0.66. 0.7 0.91 0.91 0.91 0.91 0.83. Donde ε medio es el promedio de los errores de todos los pares OD (X) para cada tipo de distribución, ε max el máximo error de X, la casilla 0.2 representa la fracción de pares OD que se encuentran a máximo 20% de error del valor real, 0.5 es la fracción a máximo 50%de error y 0.7 la fracción a máximo 70% de error. Se puede observar que el error promedio depende claramente del tipo de tráfico que se simuló inicialmente. Y como era de esperarse, ya que el método asume que el tráfico es poissoniano, cuando se simuló un tráfico poissoniano para los pares OD el desempeño fue mejor mientras que cuando el tráfico fue bimodal el desempeño fue menor que con el método de PL. Para el resto de tráficos el método arrojó mejores o iguales resultados que el de PL. En cuanto al efecto que tiene el valor inicial se hizo el mismo experimento pero con un valor inicial lejano, agregando al valor real un error con distribución gaussiana con media 0 y varianza 150. Se obtuvieron resultados de nuevo comparables con [4]: Dist Constante Uniforme Poisson Normal Bimodal. ε medio 0.45 0.45 0.41 0.46 0.71. ε max 2.53 3.81 2.66 6.15 6.01. 0.2 0.41 0.41 0.41 0,41 0.25. 0.5 0.75 0.66 0.75 0.75 0.41. 0.7 0.83 0.83 0.83 0.83 0.58. Podemos observar el efecto que tiene el valor inicial, los errores promedio aumentaron en cerca del 15% y los errores máximos se dispararon superando el 600% de error en algunos casos. Esto también comprueba la hipótesis de la importancia de un valor inicial informativo, al igual que con el método de Programación Lineal.. iv. Conclusiones sobre los resultados Podemos concluir por lo tanto que existen varios factores que afectan claramente el desempeño de los algoritmos estudiados en este trabajo. Pero por qué razón se hizo este estudio detallado de estos factores cuando el verdadero objetivo del trabajo es estudiar el desempeño de los algoritmos en un contexto totalmente diferente? Lo que se quería lograr mediante esta parte del trabajo era no solamente corroborar el funcionamiento correcto de los algoritmos sino sobretodo tener fundamentos experimentales que permitan decir, cuando se estén probando los métodos en redes Ad Hoc, por ejemplo que un 30% del error medido se debe al valor inicial dado. 31.
(32) IEL2-I-05-40. y no tiene que ver con el hecho de estar trabajando con redes MANET por lo que no perjudicará la evaluación del desempeño del método. De esta forma es posible concentrar los esfuerzos en el estudio de los parámetros propios a las redes Ad Hoc que tengan una influencia importante a la hora de ejecutar o medir el desempeño de los algoritmos. Para el algoritmo de Programación Lineal, el valor inicial y los valores de ω juegan un papel importante. En cuanto a ω, ya que es un parámetro muy sencillo de obtener, se asumirá que no presentará problemas a la hora de implementar el método en redes MANET. En cuanto al valor inicial, se trata de un parámetro difícil de controlar ya que depende de cada red obtener valores iniciales confiables e informativos y estará presente también en el contexto de redes AdHoc. Pero ya conociéndolo será fácil despreciar su influencia para concentrarse en los factores propios al nuevo marco. El hecho que el desempeño del algoritmo sea independiente del tipo de distribución del tráfico permite asegurar que aunque el tipo de tráfico en redes Ad Hoc fuera totalmente diferente al de redes alambradas, el algoritmo se comportaría de manera apropiada, ignorando este factor. Para el algoritmo de Aproximación bayesiana, los factores de error son sobretodo el valor inicial y el tipo de tráfico. Conocer esto es de por sí una ventaja para la implementación del método en el marco de redes MANET ya que se está preparado a sufrir los efectos de estos parámetros y se pueden idear modificaciones que permitan una mayor robustez. En cuanto a la utilización de Algoritmos Genéticos para mejorar los resultados del método de Programación Lineal, se pudo observar de manera experimental que este método no se aplica bien al tipo de sistema particular con el que se está trabajando. De todas maneras esto no debería llevar al lector a pensar en descartar completamente los Algoritmos Genéticos o cualquier otro tipo de algoritmo de inteligencia computacional, el procedimiento a seguir es más bien continuar con la búsqueda de aplicaciones para los algoritmos de inteligencia computacional en este marco o buscar dónde mejorar la aplicación del método para corregir su desempeño. En conclusión, los resultados arrojados por este trabajo son hasta ahora satisfactorios pero a penas están despejando el camino para comenzar a pensar en la aplicación de los métodos al contexto de redes MANET. El conocimiento adquirido sobre las ventajas y desventajas de los algoritmos permite ahora pensar en qué problemas o facilidades se tendrán de ahora en adelante. Lo primero en hacer a partir de este momento será encontrar y estudiar un modelo satisfactorio de redes Ad Hoc Móviles, pensando en lo algoritmos que se han preparado, y empezar la implementación de herramientas que permitan lograr una transposición satisfactoria entre los dos marcos diferentes.. 32.
(33) IEL2-I-05-40. V.. EL MO DELO MANET. i. ¿Por qué una red Ad Hoc? El principal interés de este trabajo reside en aplicar los conocimientos sobre topología de redes alambradas a un contexto diferente y observar sus resultados. El contexto escogido fue el de redes Ad Hoc Móviles o redes MANET por varias razones. Primero que todo está el auge que han tenido estas redes, lo que se debe probablemente a su fácil instalación y utilización, ventajas que no se dan en ningún tipo de red alambrada en las que se requiere generalmente un complejo trabajo de instalación de la infraestructura. Como segundo factor se tiene la carencia bibliográfica sobre el tema, se consultaron un gran número de publicaciones y la bibliografía asociada a cada una sin encontrar referencias directas al problema que se está tratando. Y un tercer factor, un poco más individual, tiene que ver con un deseo de aprendizaje sobre un tema de gran interés personal e importancia profesional. Al combinar estos tres factores se creó un gran incentivo de trabajo que condujo a desglosar las particularidades de las redes MANET y a presentarlas bajo la forma de los siguientes puntos. ii. Características Las redes MANET son una colección de nodos móviles que forman una red dinámica sin necesidad de una infraestructura de red ni de una administración centralizada de la misma tal como se expone en [11] y [12]. Sus nodos pueden ser laptops, PDAs, aparatos con WiFi uotros, estos se localizan de manera arbitraria y tienen una movilidad no controlada. Esta movilidades lo que hace que la topología de la red cambie rápidamente y de manera impredecible. Además, cada nodo de la red actúa como enrutador y se encarga de encontrar sus propios caminos y colaborar con el transporte de información de otros. Las principales características de las redes MANET son: 1. Topología dinámica: Los nodos pueden moverse libremente, aparecer y desaparecer. Esto implica que la matriz de enrutamiento se ve modificada constantemente, para asegurar un transporte eficiente de la información, al igual que el vector Y ya que los enlaces se crean y destruyen dinámicamente y los nodos hacen uso de ellos dependiendo de su posición cambiante. Esto no significa que los valores de X cambien drásticamente con el tiempo, siempre y cuando los nodos se puedan comunicar entre sí, es decir, mientras se pueda establecer un camino entre todos los nodos de la red, el tráfico que está siendo cursado no sufrirá cambios bruscos. No es descabellado pensar que el tipo de tráfico para redes Ad Hoc tenga características similares al de redes alambradas, probablemente se pueden asumir tráficos normales o poissonianos, y reiterando de nuevo, siempre y cuando se pueda establecer y mantener la comunicación entre los nodos, así sea por caminos dinámicos. 2. Debido al limitado alcance de las tarjetas de red, los nodos generalmente no se comunican los unos con los otros de manera directa sino a través de varios saltos o hops. Igualmente, el alcance limitado implica que se pueden presentar situaciones en las que uno o varios nodos queden aislados del resto de la red, rompiendo comunicación con sus pares.. 33.
(34) IEL2-I-05-40. 3. Capacidad variable de los enlaces: capacidad significativamente menor si se compara con los enlaces alambrados tradicionales. Este factor puede influenciar el tipo de tráfico generado en los nodos de la red, es por lo tanto necesario estudiarlo y caracterizarlo para contar con herramientas más precisas para la simulación de redes MANET. Desafortunadamente, el enfoque de este trabajo no permite llevar la atención a la capa física de las redes MANET ya que toda se encuentra concentrada en los protocolos de enrutamiento y en el tráfico generado, sin embargo estudios posteriores acerca de ese tema podrán y deberán complementar los modelos utilizados en este trabajo. 4. Congestión: Debido al medio físico compartido y a problemas de interferencia. Al igual que en el punto anterior, este factor puede influenciar el modelo utilizado para simular redes Ad Hoc y habrá que tenerlo en cuenta en estudios posteriores. 5. Restricciones de energía: Ya que generalmente los equipos móviles trabajan con baterías. Este es un factor muy particular a las redes Ad Hoc pero no afecta directamente el problema de estimación de la MT, salvo en el largo plazo, en donde habrá que hacerle modificaciones al modelo para tener en cuenta todos estos factores citados con anterioridad. 6. Seguridad débil: El medio físico compartido hace que la información que alguien transmite pueda ser recibida por cualquier nodo que esté a su alcance y que cualquier nodo se pueda infiltrar y atacar los nodos cercanos. Este es un factor clave en las redes Ad Hoc y mediante este trabajo queremos sembrar algunos avances que permitan pensar en métodos de prevención y mecanismos de control y defensa en este tipo de redes. 7. Todos los nodos son enrutadores. Este factor implica que el uso del protocolo SNMP proporcionará información sobre todos los nodos de la red, a diferencia del caso de redes alambradas donde los enrutadores son solo algunos de los nodos de la red. Es una ventaja que permitirá realizar estudios más detallados sobre la topología. iii. Consideraciones a. Factores importantes A la hora de trabajar con este tipo de redes es necesario tener en cuenta varios detalles muy importantes a estudiar. •. ¿Qué aspectos primordiales del tipo de red pueden afectar de manera directa o indirecta el desarrollo de los algoritmos? Para el enfoque que se está planteando se tiene en cuenta principalmente el factor de la movilidad de los nodos, se optó por dejar de lado todos los aspectos de la capa física de la red, asumiendo por lo tanto que cualquier enrutador se puede comunicar de manera eficiente con cualquier otro que esté dentro de su alcance o dentro del alcance de nodos adyacentes y terciarios. Con esto se quiere decir que no se limitará el número de saltos ni se tendrá en cuenta la interferencia ni la capacidad del medio. El único factor físico a tener en cuenta será el radio de transmisión de los nodos con el que se calculará la matriz de enrutamiento. 34.
(35) IEL2-I-05-40. según si se puede establecer un camino directo entre el par de nodos o si es necesario buscar el camino más corto entre ellos. •. ¿Qué momento del proceso de estimación de la MT se ve afectado por las características dinámicas de la red MANET? Debido a la construcción de los algoritmos, en el momento que se le incluyan las variables necesarias para su funcionamiento, estos realizarán todo el proceso de estimación de la MT sin tener en cuenta lo que puede estar pasando al mismo tiempo con la red. Será necesario estudiar la influencia de las características dinámicas sobre el sistema para evidenciar el mejor momento para agregar los cambios y las estrategias para mantener una unidad y coherencia de los resultados.. •. ¿Cómo tener en cuenta estos aspectos y cómo solucionarlos? Este es justamente el punto central de todo el trabajo, más adelante se avanzará en los principales problemas y algunas posibles soluciones para la aplicación de los algoritmos en el contexto de redes MANET. b. Problemas. Uno de los principales problemas ya fue enunciado anteriormente, se trata de la inconsistencia entre la ejecución del algoritmo de estimación y los cambios que se están dando al mismo tiempo sobre la red. Esto significa que mientras se estima la MT de la red, esta puede haber cambiado dando lugar a tres tipos de escenarios: 1. Al finalizar la iteración, la red se ha mantenido relativamente estática o sus cambios no son destacables y los resultados obtenidos por el algoritmo son consistentes con el estado actual de la red. 2. La topología de la red ha cambiado, su matriz de enrutamiento es muy diferente lo que implica mediciones de la carga sobre los enlaces incompatibles con las mediciones tomadas para la iteración. Aun así, el tráfico de los pares OD se ha mantenido ya que ningún nodo ha quedado aislado de la red. Los cambios en A y Y son importantes pero consistentes y el valor estimado de X es representativo del estado actual de la red. 3. La topología de la red ha cambiado drásticamente, no solo se han modificado los parámetros A y Y sino que inclusive el tráfico entre algunos nodos fue suspendido debido a que han quedado aislados del resto. El valor de X estimado ya no es consistente con el estado actual de la red, por lo que la información proporcionada por la MT es temporalmente inutilizable. El otro problema principal se encuentra en la medición de los datos necesarios para ejecutar los algoritmos. Como se mencionó anteriormente, se utiliza el protocolo SNMP para medir el tráfico en todos los enlaces adyacentes a los enrutadores de la red. Se mencionó una ventaja de este protocolo en cuanto a que en el caso de las redes MANET todos los nodos son enrutadores, pero también se mencionó la mayor desventaja del protocolo, su modo de transporte. Como se dijo anteriormente, la mejor solución es promediar valores instantáneos sobre lapsos de tiempo mucho más largos disminuyendo así el efecto de medidas erróneas. Se aconseja tomar medidas cada 5 minutos y promediarlas en un intervalo de una hora. Desafortunadamente resulta insensato pensar que durante un intervalo de una hora la topología de una red Ad Hoc se mantendrá lo. 35.
(36) IEL2-I-05-40. suficientemente estática para que el tráfico promedio sobre los enlaces establecidos no cambie o que estos no desaparezcan y reaparezcan de manera aleatoria, inclusive para las redes de menor dinamismo. Se está frente a un dilema, promediar valores que probablemente sean incompatibles entre sí o utilizar valores instantáneos que pueden llegar a ser erróneos. En las siguientes secciones se avanzarán posibles soluciones a este y al resto de problemas planteados. iv. El modelo de Random Waypoint a. Descripción Debido al enfoque de este trabajo, cuyo objetivo primordial es resaltar los posibles problemas de los métodos utilizados en el marco de redes MANET y avanzar posibles soluciones, la utilización de un modelo que resuma generalmente el comportamiento de la red, sin necesidadde imitarla en todos sus aspectos es más que suficiente. Por esta razón se utilizará el modelo de movilidad de los nodos de Random Waypoint (RWP) introducido en [13] y refinado en [14]. En este modelo se tiene un número fijo de nodos, repartidos al azar en una superficie convexa dada. Cada nodo tiene un número de parámetros que describen su comportamiento: • • •. Velocidad Dirección y Destino Tiempo de pausa en el destino. Figura 14 – Una ite ración de l mé todo de RWP. 36.
(37) IEL2-I-05-40. Figura 15 – La siguie nte ite ración de l mé todo de RWP. En la Figura 14 y Figura 15 se muestra una iteración del algoritmo, al empezar se generan al azar los valores de todos los parámetros regidos por una serie de intervalos posibles, la velocidad es escogida uniformemente dentro del intervalo [0;Vmax], el Destino debe encontrarse dentro de la superficie (incluyendo o no la frontera, dependiendo del tipo de RWP utilizado) y el tiempo de pausa se escoge uniformemente dentro del intervalo [0;Pmax]. Cada nodo se dirige hacia su destino en línea recta a la velocidad proporcionada. Al llegar a este se detiene y espera el tiempo de pausa especificado. Al finalizar esto repite el proceso. Se estudiará el efecto que tienen estos parámetros (principalmente la velocidad máxima y el tiempo de pausa máximo) sobre la movilidad del sistema, los resultados se encuentran en el siguiente capítulo. b. Desventajas del modelo Este modelo de red ha sido criticado en publicaciones como [15] debido a su comportamiento a largo plazo. Según se estudió en [15], cuando el tiempo t tiende al infinito la movilidad del sistema tiende a 0, en lugar de estabilizarse en Vmax/2. Esto se ve fácilmente en el hecho que los valores de los parámetros se escogen de manera uniforme por lo que existe la misma probabilidad de que un nodo se mueva a velocidades rápidas que a velocidades lentas, esto lleva a que entre más pasa el tiempo, mayor número de nodos quedan “atrapados” en caminos largos a velocidades pequeñas haciendo que la velocidad promedio del sistema disminuya y tienda hasta cero. Se propone una solución sencilla modificando la manera de generar los parámetros al azar de los. 37.
(38) IEL2-I-05-40. nodos, cambiando la generación uniforme por normal con media y varianza en acorde con lo que se desea del sistema. De todas maneras, para efectos de los resultados que se quieren obtener con este trabajo, el método estándar proporciona la información suficiente para estudiar el comportamiento de los algoritmos de estimación de MT en redes Ad Hoc, por lo que se implementará normalmente. En el siguiente capítulo se presentan los resultados de estas implementaciones.. 38.
Documento similar