Llegando al final, Evolutivos paralelos y sistemas híbridos

Estamos llegando al final de las jornadas.

Una de las cosas que se ha comprobado es que todos estos procedimientos son bastante intensivos en el uso de potencia de cálculo. (Hay que tener en cuenta que utilizando otros sistemas llamados exactos pueden ser incluso más intensivos, es por ello que se empleen estos sistemas aproximados).

Hay momentos en los que no es posible aligerar más aún la velocidad de proceso dado que no existen ordenadores más rápidos. Una de las técnicas empleadas para mejorar los tiempos de cálculos es paralelizar. Es decir dividir el trabajo entre varios ordenadores que simultáneamente trabajen para lograr una buena solución de conjunto.

Otra vez voy a recalcar que el problema de estos sistemas es (al igual que pasa en la naturaleza) un problema de extensión de busqueda, intensidad de búsqueda. En un ejemplo de minería se puede observar este problema, tenemos un terreno para encontrar una veta de carbón, y nuestra restricción es que tenemos un número de equipos de prosprección fijo. Tenemos dos estrategias básicas:

  • Distribuir lo máximo posible nuestros equipos para intentar cubrir la máxima superficie. Y de esta forma tenemos más posibilidades de encontrar la deseada veta
  • Teniendo una cierta idea de donde está la veta, podemos situar todos nuestros equipos por esa zona. Así aumentamos las posibilidades de encontrar la veta madre

Nadie da nada gratis y si fomentamos una estrategia, estamos reduciendo el uso de la otra. En la charla de algoritmos paralelos nos comentaron que la mejor forma que habían encontrado para efectuar el paralelismo es un modelo llamado «de islas». En el cual cada ordenador busca la información de forma independiente (formando equipos de prospectores) y de vez en cuando comunicando sus progresos a otros equipos.

Otro sistema de paralelización interesante según que casos es, siguiendo la analogia de la mina, dejar las tareas costosas a un grupo de equipos. Supongamos que es costoso en tiempo el analizar las pruebas minerológcas pues una opción es poner a disposición de los equipos un conjunto de laboratorios (otros equipos) que vayan evaluando las características de cada muestra. Acelerando el proceso general de búsqueda.

Después de haber hablado de las maravillas de estos sistemas bioinspirados, la verdad es que tienen su precio. Son sistemas bastante buenos para llegar a las cercanías de la solución deseada pero les cuesta llegar a puntos óptimos o casi optimos. Para solucionar este problema se han desarrollado técnicas híbridas en los cuales la búsqueda gruesa se efectúa con estos algoritmos evolutivos y se remata la faena con otros algoritmos de búsqueda más selectivas (muy intensivas).

Seguimos con la historia de la mina, (ya me han comentado que un sindicato de mineros me va a poner un monumento). Podemos tener un buscametales de esos de las películas que es capaz de determinar la presencia de hierro en una superficie como un plato. Lamentablemente si queremos peinar una superficie del tamaño de una provincia puede ser imposible en la práctica pasear dicho sensor por toda la superficie. En cuyo caso, tiramos de la técnica más extensiva (el algoritmo evolutivo, ¿quizás un satélite?) y cuando tenemos una superficie mucho más reducida usamos nuestro sistema intensivo y local.

Igualmente hay diversas variantes. Una de ellas son los algoritmos llamados meméticos. Que son unos dignos «sistemas complejos» y que no voy a explicar... :-) Bueno, voy a intentar explicarlo. La idea es que los sistemas anteriores están orientados a trayectoria. Es decir, una vez encontrada una buena aproximación los algoritmos intensivos son capaces de establecer una ruta de búsqueda adecuada. En el caso de los meméticos, se siguen sistemas para saltar nuestros puntos interesantes a otros puntos interesantes. Es lo que se llama orientados a población.

La sesión de la tarde es la práctica explicada del viernes así que la enlazaré en la descripción de mañana.

Ta mañana.....