• No results found

CHAPTER 3: ANALYSIS OF SEDIMENT YIELDS AND BASIN PERFORMANCE

3.3.3 Basin Performance by Reduction in Turbidity as Dependent Variable

A continuación se valoran características y novedades de DMO que sugieren inclinarse a defenderla como una meta-heurística prometedora para tratar el problema de la fragmentación vertical de base de datos. Esta nueva meta- heurística poblacional tiene potencialidades y características similares a otros métodos existentes (GA y PSO) que han sido aplicados exitosamente al problema en cuestión, por ejemplo:

 El considerar solamente los vecinos más cercanos en la valoración de los extremos locales fue introducido en el método PSO, como se reporta en [48]; donde al determinar la mejor partícula global se toman en cuenta dos enfoques: considerar el mejor de toda la población o la mejor partícula entre los vecinos.

 La atracción a zonas más promisorias del espacio de búsqueda con el acercamiento al extremo global fue introducida también en PSO; donde en su versión original [49], cada partícula es atraída por la mejor posición global del enjambre.

 La concepción de expansión y contracción de la malla inicial es una forma de aumentar la población inicial con la incorporación de nuevas soluciones y luego reducirla a través de un proceso de selección. Este elemento ha sido bien estudiado en los Algoritmos Evolutivos Generacionales [50].

 La selección de la malla inicial de manera elitista también fue introducida en los Algoritmos Genéticos como estrategia para acelerar la convergencia [21]. A pesar de compartir características con otros métodos existentes, DMO incorpora otros elementos propios, como son [21]:

Capítulo II. Propuesta de solución Página 36  Utilizar en una misma iteración la atracción hacia los extremos locales de cada vecindad y el extremo global de la población. Esto representa una nueva forma de realizar intensificación y diversificación manteniendo la dirección de la búsqueda.

 Se realiza una selección elitista con diversidad, en la que se tiene en cuenta tanto la calidad como la separabilidad entre soluciones al mismo tiempo. Este elemento garantiza que el método realice una profunda exploración del espacio solución, disminuyendo en gran medida el estancamiento de soluciones.

 Se introduce un proceso de limpieza adaptativo, donde la distancia que garantiza la separabilidad de las soluciones es un valor que decrece en función del estado del método; permitiendo soluciones más distantes al inicio del algoritmo que al final de la ejecución. Este funcionamiento provoca que el método comience con un nivel alto de exploración, el cual decrece a medida que disminuye la distancia permitida con la ejecución del algoritmo. Lo contrario sucede con el nivel de explotación del método.

 Se incorpora una forma para guiar la exploración hacia los entornos de espacio de búsqueda a través de la generación de nuevos nodos a partir de los nodos fronteras de la malla. De esta manera se aprovecha la posición que ocupan estos nodos, explorando fuera de los entornos donde se realiza la búsqueda.

Esta última característica propia de DMO puede ser muy útil en la solución del problema de la fragmentación vertical si se tiene en cuenta que la solución óptima debe estar más cerca, por generalidad, del extremo que representa la relación completa como un único fragmento.

Adicionalmente, se probó que el algoritmo DMO presenta un alto nivel de escalabilidad, obteniéndose con el mismo resultados superiores, de manera general, a los demás algoritmos referenciados involucrados en la comparación en [21].

Capítulo II. Propuesta de solución Página 37 Se debe considerar, finalmente que a pesar de tratarse de una meta-heurística bastante reciente ya ha sido aplicada a diferentes problemas, discretos y continuos, con resultados prácticos halagüeños, como por ejemplo en: aproximación de funciones continuas [21], el problema de selección de rasgos [51], detección de fallas en sistemas [47], el problema de localización de centros de distribución o plantas de producción (FLP, acrónimo del inglés Facility Location Problem [52].

2.3 Modelación de DMO para el problema de la fragmentación vertical Representación de los nodos

Para codificar las posibles soluciones en el problema de la fragmentación vertical, es decir, cada uno de los nodos de la malla, se usarán cadenas de crecimiento restringido orientadas a grupos (GRGS, acrónimo del inglés Group oriented Restricted Growth String). Esta forma de representación utiliza básicamente una cadena de crecimiento restringido (RGS, acrónimo del inglés Restricted Growth String) pero adiciona una mejora al definir operadores de AG orientados a grupos como el cruzamiento, la mutación por mezcla, la mutación por división y la mutación por salto.

Este método RGS consiste en representar una solución como un arreglo de enteros, denotado como a[m], donde m es el número de atributos en la relación. Los elementos en el arreglo deben tener un valor entero en el rango de 1 a m. Definición 1

Una RGS r es una secuencia de enteros representados como un arreglo, que satisface la siguiente desigualdad:

r [ i ]( Max ( r [ 0 ], r [ 1 ], . . ., r [ i-1] ) + 1), 0 < i < m, r [ 0 ] = 1

Lo que quiere decir que la cadena contendrá valores entre 1 y m siempre comenzando por 1, donde el valor i-ésimo siempre tendrá que ser menor o igual que el máximo de los valores anteriores aumentado en 1.

Capítulo II. Propuesta de solución Página 38 Por ejemplo, {1 1 2 3 1 1 2 4} es RGS, pero {4 4 2 3 4 4 2 1} no; aunque ambas correspondan al mismo esquema de fragmentación.

Para que una cadena se considere RGS debe satisfacerse la Definición 1. Además de la definición formal, se presentan a continuación otras definiciones complementarias:

Definición 2

El grado de una RGS r es el valor más grande en r, denotado como d(r). Por ejemplo, considerando r = {1 1 1 2 3 2 2 1}, entonces el grado d(r) = 3. Definición 3

El i-ésimo prefijo de una RGS r, denotado como pir, es la sub-cadena que incluye

los primero i valores de r.

Por ejemplo, considerando r = {1 1 1 2 3 2 2 1}, entonces p4r = {1 1 1 2}.

Definición 4

El grado de alto potencial hd(pir) para la posición i en la RGS r es el mayor grado

posible en el i-ésimo prefijo.

Por ejemplo, considerando r = {1 1 1 2 3 2 1}, entonces hd(p5r) = 3.

Cada esquema es representado con una RGS y dos RGS diferentes corresponden siempre a dos diferentes esquemas de partición. Esto elimina las representaciones redundantes de particiones.

Se pudiese usar una cadena de enteros aleatorios, es decir, codificar el nodo como un arreglo de enteros, donde cada posición representase cada uno de los atributos y el valor de la posición (valor interno) el fragmento al que perteneciese el atributo. Sin embargo, el arreglo entero {1 1 4 4 4 3} sería diferente a {2 2 0 0 0 4} como arreglo, pero ambos representarían un mismo esquema de fragmentación. El impacto potencial es que ocurrirían más evaluaciones y comparaciones redundantes.

Capítulo II. Propuesta de solución Página 39 Falkenauer [53] reconoce que los operadores tradicionales de AG toman erróneamente los objetos como bloques construidos en la solución del problema de agrupamiento. Por eso sugiere el uso de los operadores de cruce, mutación e inversión que son más sensibles al contexto y menos destructivos de los esquemas [5].

A continuación se explica el operador de cruce orientado a grupos que es el que se utiliza, como se verá más adelante, en la presente propuesta de solución.

El cruce orientado a grupo de dos nodos padres pasa generalmente a través de los siguientes pasos:

1. Unificar identificadores de grupos ajustando los identificadores de uno de los padres para que los dos padres usen identificadores de grupos únicos. Por ejemplo, si el primero de los nodos tiene cuatro grupos, el segundo debe usar identificadores a partir de 5, para ello sumar 4 a los identificadores del segundo nodo.

2. Seleccionar al azar un número de identificadores de grupo para cada padre. 3. Inyectar en el primer padre los atributos de los identificadores de grupos seleccionados en el segundo padre. Y los grupos en el primer padre que han sido modificados serán llamados grupos picados.

4. Aplicar estrategia para reagrupar lo atributos en los grupos picados para obtener la primera descendencia.

5. Repetir los pasos 3 y 4 en los padres con roles invertidos para obtener la segunda descendencia.

En el paso 4, los atributos de los grupos picados necesitan ser reasignados de acuerdo con ciertas estrategias. Para el problema de la fragmentación vertical, se han diseñado las dos siguientes estrategias simples:

Capítulo II. Propuesta de solución Página 40 Esta estrategia simplemente incluye todos los atributos de los grupos picados en un nuevo fragmento. El beneficio potencial de esta se revela cuando la partición óptima tiene un pequeño número de fragmentos.

Fusión o Mezcla Binaria

Esta estrategia mantiene una lista de los grupos picados. Luego, dos identificadores se seleccionan al azar de la lista. Los atributos dentro de estos dos identificadores se fusionan en un grupo. La ventaja de este método es que el tamaño de la partición no se vería demasiado afectado entre los nodos padres y los nodos descendientes.

Ejemplo de cruzamiento orientado a grupos

Dado los nodos r1= {1 2 2 1 3 4 1 3 2 4} y r2= {1 1 2 2 3 4 1 3 4 3} que representan los siguientes esquemas de fragmentación: (1, 4, 7) (2, 3, 9) (5, 8) (6, 10) y (1, 2, 7) (3, 4) (5, 8, 10) (6, 9), respectivamente.

1. Adicionar cuatro a cada identificador de grupo en r2 para obtener r2´= {5 5 6 6 7 8 5 7 8 7}.

2. Seleccionar aleatoriamente los identificadores de grupos 4 y 1 para r1 y 8 para r2’.

3. Inyectar el grupo 8 de r2’ en r1 para obtener r1’, r1’= {1 2 2 1 3 8 1 3 8 4} y marcar los grupos 2 y 4 en r1 como grupos picados.

4. Cambiar los identificadores de grupos 2 y 4 en r1’ por 9 para obtener r1’’= {1 9 9 1 3 8 1 3 8 9} usando la estrategia de unión y rectificar r1´´ para convertirlo a RGS. De esta manera r1´´= {1 2 2 1 3 4 1 3 4 2} constituye la primera descendencia que representa es esquema de fragmentación siguiente: (1, 4 7) (2, 3, 10) (5, 8) (6, 9).

5. Inyectar los grupos 4 y 1 de r1 en r2´ para obtener r2´´= {1 5 6 1 7 4 1 7 8 4}. Los identificadores de los grupos picados son: 5, 6, 7 y 8. Por la fusión binaria de atributos, como se describió anteriormente, se obtiene r2´´= {1 9

Capítulo II. Propuesta de solución Página 41 a 1 9 4 1 9 a 4} donde los identificadores 5 y 7 se sustituyen por 9 y los identificadores 6 y 8 se sustituyen por a, donde a representa el identificador de grupo 10. Tras rectificar r2´´= {1 2 3 1 2 4 1 2 3 4} se obtiene la segunda descendencia que representa el esquema de fragmentación siguiente: (1, 4 7) (2, 5, 8) (3, 9) (6, 10).

Generación de la malla inicial en cada iteración

La malla inicial de la primera iteración se genera de modo aleatorio. Cada uno de los Ni nodos iniciales se genera usando, al azar, dos constructores diferentes que por sus características garantizan la diversidad al inicio del proceso, tan importante para las meta-heurísticas poblacionales.

Tabla IIII: Constructores para nodos RGS

Constructor Disperso Constructor Denso

Se genera una cadena de números enteros aleatorios y luego se convierte en RGS usando un algoritmo rectificador.

Cuando se genera el nodo, la restricción RGS se aplica desde el principio. Cada “gen” se crea como un entero aleatorio entre 1 y el grado potencial más alto de su posición.

Este constructor normalmente debe ser capaz de crear una partición que tenga más fragmentos que el creado con el constructor denso. Al generar los números enteros aleatorios, cada elemento puede variar entre 1 y m, donde m es fijo e igual al número máximo de fragmentos.

Crea particiones con menos fragmentos que el constructor disperso. Con el constructor denso, el primer elemento se establece en 1 y el límite superior de cada elemento se incrementa gradualmente y esto rara vez llega a m-1.

Por ejemplo, para m=10 generalmente genera nodos que representan entre 6 y 8 fragmentos y para m=20 de 10 a 14 fragmentos.

Por ejemplo, para m=10 generalmente genera nodos que representan entre 3 y 4 fragmentos y para m=20 de 4 a 7 fragmentos.

En las restantes iteraciones, la malla inicial se forma seleccionando los mejores Ni

nodos de la malla resultante al final de la iteración anterior. Para evaluar la calidad de los nodos se utiliza como función objetivo el Evaluador de Particiones de Chakravarthy, explicado en el capítulo anterior.

Algoritmo rectificador

Entrada: Una cadena general a representada como un arreglo con n valores enteros.

Capítulo II. Propuesta de solución Página 42 Salida: Cadena a convertida en una cadena de crecimiento restringido.

Inicio

Codificador vacío

CantRealCodificador=0

Repetir

Para cada posición i de la cadena a hacer

pos = Buscar a[i] en el Codificador

Si a[i] no se encuentra en el Codificador, entonces

Codificador [CantRealCodificador] = a[i] CantRealCodificador = CantRealCodificador + 1 a[i] = CantRealCodificador Fin del Si De lo contrario a[i] = pos + 1

Fin del De lo contrario Fin del Para

Generación de nodos en dirección a los extremos locales

El primer tipo de nodo que se genera en la malla en cada ciclo, a partir de los nodos de la malla inicial de esa iteración, tiene por objetivo generar nodos intermedios entre cada nodo y el extremo local más cercano. Lo primero, en este caso, es calcular para cada nodo sus cinco vecinos más cercanos; para ello se utiliza la función de distancia de Spearman [54] que se especifica a continuación:

√∑

Donde xi, yi representan cada una de las componentes de los nodos involucrados

Capítulo II. Propuesta de solución Página 43 Luego se selecciona el mejor de los vecinos y se comprueba si este es mejor que el nodo actual; el concepto de mejor depende del valor de la función objetivo, el Evaluador de Particiones de Chakravarthy. Si ninguno de los vecinos es mejor que el nodo, entonces este se considera un extremo local y no se generan nodos a partir de él en este paso. En otro caso se generan dos nodos n* y n** que estarán situados entre el nodo n y el extremo local ne. Ambos nodos se obtienen como resultado del cruce orientado a grupo, explicado anteriormente, entre el nodo en cuestión y su extremo local, en el primer caso n* usando la estrategia de unión para reasignar los grupos picados y en el segundo caso n** usando la estrategia de fusión o mezcla binaria.

Generación de nodos en dirección al extremo global

Este paso tiene como propósito generar nodos intermedios entre los nodos iniciales de la malla y el extremo global ng que se tiene hasta ese momento. Igualmente, se obtienen dos nuevos nodos en cada caso como resultado del cruce orientado a grupo con el extremo global.

Generación de nodos a partir de los nodos más externos de la malla

En las fronteras de la malla inicial se distinguen dos tipos de nodos: los de la frontera interior y los situados en la frontera exterior. En este caso, se toman como los más internos aquellos nodos que tienen un menor grado (representan un esquema en pocos fragmentos) y como externos los nodos que tienen un mayor grado (representan esquemas en bastantes fragmentos). En consecuencia, a partir de cada nodo de los más internos se generan dos nuevos nodos como resultado de realizar un cruce orientado a grupo entre estos y el extremo inferior (esquema de fragmentación en un solo fragmento). De igual manera se procede cruzando los nodos más externos con el extremo superior (esquema de fragmentación en m fragmentos). Nótese que en este paso se seleccionan tantos nodos fronterizos como sean necesarios para completar el tamaño de la malla en la iteración; en principio, se debe tener N > 5 * Ni para garantizar que se generen algunos nodos en este paso. En el presente trabajo se propone N = 6 * Ni.

Capítulo II. Propuesta de solución Página 44

Contracción de la malla y operador de limpieza adaptativo

En este paso la malla, que ha sido expandida en cada uno de los pasos anteriores, se contrae, haciéndose una selección elitista de los Ni nodos de mayor calidad, para formar la malla inicial para la próxima iteración. Estos nodos que clasifican, previamente ordenados, se someten al operador de limpieza adaptativo para fomentar la diversidad, manteniendo cierta separabilidad entre ellos. En este momento se eliminan aquellos nodos que no cumplen con la cota de distancia espacial establecida. La definición de esta cota es la siguiente:

Donde Distancia Máx se refiere a la distancia de Spearman entre los casos extremos (esquema en un solo fragmento y esquema en m fragmentos) y W es el por ciento de dicha distancia que se permitirá, garantizando que el proceso sea decreciente; de manera que se permita mayor separabilidad entre los nodos al inicio que al final de la ejecución del método.

La Distancia Máx de Spearman quedaría definida como sigue:

√ ⁄

Donde m es la cantidad de atributos.

El factor W quedaría definido por la siguiente expresión:

2.4 Conclusiones parciales

Tras el análisis realizado en este capítulo se puede afirmar que la meta-heurística poblacional DMO tiene características, novedades y potencialidades para ser aplicada al problema de la fragmentación vertical de BD. El hecho de que recoja las mejores prácticas de los AG y PSO la hacen prometedora para el problema en cuestión ya que con estas dos meta-heurísticas lo han resuelto con éxito. Su

Capítulo II. Propuesta de solución Página 45 peculiaridad de utilizar en una misma iteración la atracción hacia los extremos locales de cada vecindad y el extremo global de la población, representa una nueva forma de realizar intensificación y diversificación manteniendo la dirección de la búsqueda, puede repercutir en los niveles de convergencia. Incorporar una forma para guiar la exploración a través de la generación de nuevos nodos a partir de los nodos fronteras de la malla, puede ser muy útil en la solución del problema de la fragmentación vertical; si se tiene en cuenta que la solución óptima debe estar más cerca, por generalidad, del extremo que representa la relación completa como un único fragmento. Por otra parte, el uso de las cadenas de crecimiento restringido orientadas a grupo evita las representaciones redundantes y el efecto destructivo de los operadores clásicos de AG.