Loading [MathJax]/extensions/TeX/AMSsymbols.js

PESTAÑAS

lunes, 7 de mayo de 2012

Level - Set y método adjunto: comparativa

Estimados lectores

En este post voy a mostrar los resultados que se obtienen al utilizar dos métodos distintos para dibujar los resultados de un problema de optimización: en este caso se trata de la resolución de la "ecuación de radiación reducida", o también llamada ecuación de difusión (es el caso en el que el medio es ópticamente "grueso", esto es, que la absorción es despreciable frente al "scattering":

$$ \nabla \cdot (D(r) \nabla I(r)) + \mu_a (r)I(r) = 0 \text{ in } \Omega $$
$$  \mu_a (r)I(r) - \frac{2}{\pi} D(r) \nu(r_b) \nabla I(r)= f(r) \text{ in } \partial  \Omega $$

He implementado dos soluciones: por un lado el método adjunto y por otro un método level-set. Las gráficas se anexan a continuación. Para el método level set se han utilizado dos pares de valores para el campo de valores de coeficiente de absorción del medio en la malla: por un lado un valor de 0.1 para el background y 0.03 para el objeto y para otro caso distinto un valor de 0.1 para el background y de 0.17 para el objeto. Esto se ha planteado así para analizar los resultados y ver las conclusiones.


El resultado del método adjunto (resultado arriba ilustrado) muestra que en el dominio estudiado hay dos objetos diagonalmente opuestos con unos coeficientes de difusión mayores y menores que el valor de fondo del dominio, cuyo valor es de 0.1 . La velocidad de convergencia fue muy lenta, del orden de horas.

Este resultado puede confirmarse al desarrollar los métodos Level-Set:

- Al utilizar como valores de referencia 0.1 para el fondo y 0.03 para el objeto, se puede observar que el método level-set da como resultado un contorno cercano al objeto con valor de coeficiente de absorción bajo en el método adjunto, confirmando la ubicación predicha por el primer método. El resultado se obtuvo en un tiempo de convergencia mucho más bajo que en el caso del método adjunto. El resultado se ilustra a continuación:


- Al utilizar como valores de referencia 0.1 para el fondo y 0.17 para el objeto se visualiza que el método level-set da como resultado final el objeto correspondiente a un coeficiente de absorción elevado obtenido en el método adjunto. La velocidad de convergencia fue similar al primer caso level-set.

Estos resultados permiten concluir que:

- El método adjunto permite obtener en tu dominio todos los objetos que estén presentes en el mismo, sea cual sea su coeficiente de absorción. 

- El resultado de los métodos level-set mostrarán un resultado u otro dependiendo del valor escogido para el background y para el objeto. Si estos valores no son cogidos de forma adecuada, puede que la solución obtenida sea incompleta. Haría falta resolver el problema varias veces con distintos valores para cerciorarse que el resultado obtenido es correcto. 

- El método adjunto es claramente más lento en términos de convergencia que los métodos level-set, necesitando un número de iteraciones mucho mayor. Esto concuerda con el hecho de que este método busca soluciones de coef. de absorción en un campo de valores a priori infinito. Sin embargo, el método level-set busca soluciones en un campo de coeficientes de absorción limitado a dos valores: fondo u objeto. Por lo tanto se espera que level- set sea mucho más rápido. 

- El método adjunto da una solución difuminada en el espacio, esto es, la solución no se sitúa en un punto sino en un área más o menos extensa.

- El método level-set permite ubicar la posición del objeto de forma mucho más precisa, ya que el campo de soluciones sólo permite dos valores para cada punto de la malla.

- Como resumen de estas conclusiones se puede comentar que el método level-set es un método mucho más eficaz para si se conoce a priori el rango de valores que puede adoptar el campo buscado. Si no se conoce información alguna, el método adjunto puede resultar una opción acertada debido a que permite averiguar todos los objetos con cualquier valor dentro del dominio.

Si se deseara una buena precisión, la opción preferida sería utilizar el método adjunto para acotar el valor que puede adoptar el campo estudiado y posteriormente definir la posición de los objetos de forma mucho más precisa con el método level-set.

Los resultados, como se pueden observar, no son exactos: como todo método de optimización, tu resultado final dependerá de lo preciso que sea el algoritmo de convergencia y de la estimación inicial que se realice. No obstante, este ejemplo permite visualizar la potencia de este tipo de técnicas.

Un saludo