You are on page 1of 11

Proceedings of the 13th International Congress on Computer

Science Research CIICC´06


November 15 -17, 2006, Tampico, Mexico

Agente de Aprendizaje para Representar la Complejidad del Problema y


Desempeño del Algoritmo
Laura Cruz R.1, Victor Alvarez H.1, Vanesa Landero N.2, Verónica Pérez R.1, Claudia Gómez
S.1
1
Instituto Tecnológico de Cd. Madero, México
2
Centro Nacional de Investigación y Desarrollo Tecnológico (México)
E-mail: lauracruzreyes@yahoo.com, {mantorvicuel, landerov, vperez_r, cggs71}@hotmail.com

Resumen

En esta investigación se desarrollaron métodos estadísticos y de aprendizaje automático,


para su incorporación en un sistema de selección de algoritmos aproximados. Con estos métodos
se logró obtener una mejor representación de la complejidad de un problema dado y su relación
con el desempeño de los algoritmos empleados en su solución; lo cual incida en la calidad de la
selección. Con fines de prueba, los métodos que se desarrollaron se aplican a la solución del
problema clásico de distribución de objetos en contenedores, mediante un conjunto de algoritmos
heurísticos, entre ellos optimización de colonias de hormigas (ACO).

1. Introducción

Para que una empresa logre ser competitiva, un requisito indispensable es la


administración eficiente de recursos. De lo anterior se deriva una gran cantidad de problemas de
optimización complejos, que requieren ser resueltos con herramientas computacionales de alto
desempeño. Además, debido a la complejidad de estos problemas, se considera que el enfoque de
solución más prometedor lo constituyen los algoritmos aproximados.

En muchas investigaciones se ha mostrado experimentalmente que no existe un algoritmo


aproximado que sea la mejor opción para resolver los casos de un problema [1]. En este sentido,
una herramienta general de solución deberá contar con un módulo de selección de algoritmos que
haga posible obtener mejores soluciones del problema, escogiendo el algoritmo más adecuado
para cada caso.

En este trabajo se muestran métricas de estadística descriptiva y de aprendizaje


automático, que se incorporaran en un sistema de selección de algoritmos heurísticos que dan
solución al problema de Bin Packing [2] para incrementar la exactitud de selección del 77% al
97%.

En [3] se propone un conjunto de índices de complejidad para caracterizar la estructura


específica del problema, y se probó el método de aprendizaje automático C4.5, el cual genera un
árbol de decisión.

23
2. Problema de Distribución de Objetos en Contenedores

En [2] se describe el problema de distribución de objetos en contenedores (Bin Packing).


Este es un problema clásico de optimización combinatoria NP-duro, en el cual hay una secuencia
de n objetos L = {a1, a2, ..., an}, cada objeto con un tamaño dado 0 < s(ai) ≤ c, y un número
ilimitado de contenedores, cada uno de capacidad c.

El objetivo es determinar el menor número de contenedores m en los cuales todos los


objetos pueden ser distribuidos.

En la versión discreta del problema Bin Packing de una dimensión, la capacidad del
contenedor es un entero c, el número de objetos es n, y por simplicidad, el tamaño de cada objeto
es si, el cual es seleccionado del conjunto {1, 2,..., c} [4].

2.1. Índices de complejidad

Es muy conocido que el desempeño de algoritmos se ve afectado por diversos factores:


ambiente operativo, implementación, estrategia algorítmica y estructura del caso que se resuelve.
Debido a que en este trabajo se considera a los algoritmos como “cajas negras”, sólo son de
interés los aspectos estructurales que hacen fácil o difícil un caso de un problema dado, para
obtener su solución.

El uso de medidas de la complejidad de los casos es un área emergente y prometedora


para la identificación de regiones de dominación de los algoritmos. Para determinar la
complejidad de un caso del problema Bin Packing, en [2] se desarrollaron 5 índices de
complejidad específicos del problema, las cuales son medidas relativas de las características del
problema que afectan el desempeño de algoritmos. En este trabajo se obtuvieron 21 índices de
complejidad de uso general basados en estadística descriptiva. En la tabla 1, se mencionan los 21
índices generales, cuyos estadísticos asociados se describen en [5]

Tabla 1. Cuadro de índices generales de complejidad.


Tipo Métrica Métrica
Media Geométrica, Media Aritmética, Media
Centralización
Armónica, Mediana y Moda
Rango, Desviación Media, Varianza, Desviación
Típica, Cuasivarianza, Cuasidesviación Típica,
Dispersión
Coeficiente de Variación, Variación Promedio al
Menor, Error Estándar
Rango Promedio Intermediana, Intercuartil y
Localización
Interdecil
Comparando Media y Moda, Coeficiente de
Simetría
Asimetría y Coeficiente de asimetría de Pearson
Apuntamiento Coeficiente de Apuntamiento (Curtósis)

24
2.2. Algoritmos de Solución

Según [1, 6], cuando se tiene un problema clasificado como NP-duro, como Bin Packing,
y se desea resolver un caso grande del mismo, la única opción que queda, es dar una "buena
solución" al problema, pero no necesariamente la mejor. En estas condiciones se hace uso de
algoritmos heurísticos, que proporciona soluciones aproximadas en un menor tiempo pero no
garantizan una solución óptima.

Los algoritmos heurísticos utilizados para dar solución al problema de Bin Packing se
dividen en dos tipos:

• Deterministas, los cuales siguen siempre la misma ruta para encontrar la solución, así que
obtienen la misma solución en diferentes ejecuciones. FFD, BFD, MBF, MFF y MBFD,
descritos en [3], son los algoritmos deterministas que utilizamos para solucionar el problema
de Bin Packing.

• No deterministas, los cuales obtienen la misma solución en diferentes ejecuciones. Los


algoritmos TA y ACO, descritos en [3], son los utilizados para solucionar el problema de Bin
Packing.

2.3 Desempeño de Algoritmos

En [2], la información de desempeño algorítmico, se obtuvo calculando el desempeño


promedio para cada caso, efectuando 30 corridas. Los resultados de desempeño considerados
fueron radio teórico y tiempo de ejecución.

El radio teórico es una de las métricas usuales para Bin Packing, y es la razón entre la
solución obtenida y el óptimo teórico. Este último es un límite inferior del valor óptimo, y es
igual a la suma de los tamaños de todos los objetos dividida por la capacidad del contenedor.

Para determinar el mejor algoritmo para una instancia dada, al radio teórico se le dio
mayor prioridad que al tiempo de ejecución. Para estos valores de desempeño se definió un
umbral de igualdad de 0.0001.

3. Agente de Aprendizaje para la Selección de Algoritmos

En la figura 1 se presenta el esquema general de un Sistema de Selección de Algoritmos


para el problema Bin Packing construido con la metodología de [2]. Este sistema consta de tres
elementos importantes: ambiente, entrenamiento y predicción.

En el proceso de predicción, la relación aprendida se usa para pronosticar el mejor


algoritmo para un nuevo caso del problema.

La función del ambiente es obtener una base de casos y algoritmos caracterizados, que
sea la entrada del proceso de entrenamiento. En la caracterización de casos, los parámetros de un

25
caso dado se transforman en índices de complejidad. Para la caracterización de algoritmos, dado
un caso, éste se resuelve con un conjunto de algoritmos de solución disponibles, y se
proporcionan medidas del desempeño.

El objetivo del proceso de entrenamiento es construir una base de conocimiento a partir


de experiencia pasada, que relaciona en patrones de agrupamiento el desempeño de algoritmos y
los índices de complejidad del problema.

Figura 1. Esquema general de un sistema de selección de algoritmos con retroalimentación.

4. Aprendizaje Automático

El Aprendizaje Automático (ML, Machine Learning) es un campo de la inteligencia


artificial (IA, Artificial Intelligence), que se concentra en el estudio de algoritmos de aprendizaje.
En [7], estos algoritmos se definen como software que es capaz de mejorar su rendimiento y
desempeño a través de la experiencia que adquiere con el tiempo, por medio de sus entradas y de
su retroalimentación. De forma más concreta, se trata de crear programas capaces de generalizar
comportamientos a partir de una información no estructurada suministrada en forma de ejemplos

4.1 Agrupación multiclase

Existe problema de aprendizaje automático multiclase, o que cada caso pertenece a uno o
más clases, haciendo difícil la construcción de modelos, por lo cual es necesario un proceso que
asigne una única clase a cada objeto. Lo anterior, se puede llevar acabo por medio de un proceso
de agrupación para después obtener modelos de estos grupos formados. En [3] se desarrollaron
algunos métodos de agrupación multiclase, y en este trabajo se desarrollaron cinco nuevos
métodos.

En [3] se desarrollaron los siguientes métodos:

a) El método de Agrupación CIG (Clustering by Initial Grouping), considera que cada conjunto
de clases que son la mejor opción para un conjunto de casos forman de manera natural un
grupo, por lo que el objetivo del algoritmo CIG es asignar una clase a cada uno de los casos.

26
El algoritmo trata de asignar etiquetas nuevas evitando repeticiones, en caso contrario se
busca la etiqueta que le corresponde al caso actual.

b) El método CIGI (Custering by Initial Grouping and Integration) es un agrupador básico en el


cual se identifican las regiones múlticlase y las regiones uniclase. Las regiones uniclase
definen los grupos de la muestra (paso de agrupación inicial), y los casos de las regiones
múlticlase se incorporan a uno de los grupos definidos por los grupos con una sola clase
(paso de integración). La incorporación se basa en la afinidad de los casos.

c) El método CIGIV (Clustering by Initial Grouping, Integration and Validation) es una


extensión del método CIGI descrito anteriormente. En este método se adiciona el paso de
validación para confirmar que los casos de las regiones múltiples se integraron al grupo más
afín, en caso contrario, se explora la integración a otro grupo. La validación se realiza con el
método K-Medias.

d) El método CIGP (Clustering by Initial Grouping and Partitioning) divide grupos de casos
muy dispersos en subgrupos más cercanos, es decir, a partir de una agrupación inicial, cada
grupo se divide a su vez en subgrupos utilizando K-Medias con un número de cluster k = 2, y
se crea un subgrupo en los casos en donde la distancia entre el caso más alejado y el más
cercano al centro del grupo rebasa un umbral.

En este trabajo se desarrollaron los siguientes métodos derivados de los anteriores:


El Método de Agrupación CIG_A crea grupos de instancias cuyas características son cercanas
entre sí y tiene por los menos una clase común.

a) El algoritmo CIGI_A crea grupos de casos dominados por una sola clase y con valores de
características muy similares.

b) El algoritmo CIGIV_A es una versión de CIGIV, al igual que éste válida los grupos CIGI, la
diferencia se encuentra en la asignación de clase para los grupos generados con K-Medias, ya
que la asignación debe minimizar el error.

c) El algoritmo CIGIV_B es también una versión de CIGIV, de la misma manera valida los
resultados obtenidos con CIGI, pero la diferencia es que al aplicar K-Medias se utilizan como
parámetros las características del caso y el grupo asignado por CIGI normalizado con la suma
de sus valores.

d) El algoritmo CIGSC (Clustering by Initial Grouping with Sorting of Classes), sustituye las
clases asociadas a cada grupo (obtenidos por el método CIG) por la de mayor frecuencia.

4.2. Clasificación

Se utilizaron cuatro algoritmos de clasificación para la construcción del agente de


selección de algoritmos

27
a) C4.5 construye un árbol de decisión para clasificar nuevos casos en base al valor de sus
atributos [8]. En este árbol los nodos corresponden a los atributos y las ramas a los diferentes
valores del atributo. A cada nodo se asigna el atributo que proporciona la mayor ganancia
entre los atributos todavía no considerados desde el nodo raíz.

b) Métodos que construyen redes bayesianas: CL y K2 [9], los cuales representan por medio de
árboles de probabilidades condicionales que muestran las dependencias probabilísticas entre
los valores de los atributos. Estas probabilidades son utilizados para clasificar un nuevo caso
con clase desconocida, para ellos se calculan las probabilidades de que la instancia
pertenezca a cada clase, y la clase predicha será la que mayor probabilidad arroje.

c) Métodos que generan reglas de asociación, CBA (Clasificación basada en reglas,


Classification Based Rules) [Liu 1998] y CPAR (Clasificador basado en reglas de asociación
predictivas, Classification based en Predictive Association Rules) [Yin 2003]. Estas reglas
son utilizadas para encontrar una relación entre dos o más eventos, o clasificar un nuevo
caso con clase desconocida.

5. Experimentación

Los casos de prueba de Bin Packing que se utilizaron fueron de dos tipos:

a) Casos Aleatorios: 2430 casos generados de manera aleatoria con un generador de casos
aleatorios [2], que se utilizaron para entrenamiento y prueba, para validar el agente de
aprendizaje por el método Validación por Resustitucion [5].

b) Casos Estándar: 1369 casos estándar obtenidos de dos sitios de Internet conocidos: la librería
de Investigación de Operaciones de Beasley [12] y la librería de Investigación de
Operaciones de la Universidad Tecnológica de Darmstadt [13], que fueron utilizados como
prueba, es decir, se validara el agente de aprendizaje por el método Validación por datos
propuestos [5].

Los casos aleatorios y estándar de Bin Packing fueron resueltos por los 7 algoritmos heurísticos
mencionados en la sección 2.2.

5.1. Ambiente Experimental

El ambiente experimental que se utilizó fue el siguiente:

1. Características del equipo: Sistema Operativo Windows Server 2003, 2 Xeon (TM), CPU
3.06GHz en paralelo y una memoria en RAM de 3.87 GB.

2. Lenguaje de programación Java

3. Compilador Java en su versión JSDK1.4.2.

28
5.2. Preparación de los casos de prueba

Los casos aleatorios y estándar de Bin Packing fueron tratados mediante el siguiente
esquema de preprocesamiento:

1. Se obtuvieron los índices de complejidad específicos descritos en [Santiago 2004] y los


nuevos índices mencionados en la sección 2.1.

2. Se caracterizaron los casos con los índices de complejidad, primero con los específicos del
problema y después con los de uso general.

3. Se agruparon los conjuntos de casos obtenidos en paso anterior, por los métodos descritos en
la sección 4.1.

4. Se discretizarón los casos con el método EMD (Entropy Minimization Discretization),


descrito en [14], de los conjuntos de casos obtenidos en el paso anterior.

5.3. Esquemas de Evaluación de Pertenencia

Las reglas de pertenencia que se utilizaron para evaluar si un caso del problema Bin
Packing es bien clasificado por el Agente de Selección de Algoritmos, son las siguientes:

a) RPP (Regla de Pertenecia Parcial): Si el conjunto de algoritmos predichos tiene por lo menos
un algoritmo en común con el conjunto de algoritmos campeones.

b) RPE (Regla de Pertenecia Estricta):

• Para los de entrenamiento. Si el conjunto de algoritmos predichos son los mismos que los
asignados por el agrupador.

• Para los de prueba. Si el conjunto de algoritmos predichos son los mismos que los
campeones

c) RPI (Regla de Pertenecia Informada): Si el algoritmo predicho, o elegido al azar del conjunto
predicho, se encuentra dentro de los campeones.

En caso contrario a cualquiera de los incisos anteriores, el caso se considera


incorrectamente clasificado.

El esquema de evaluación de pertenencia utilizado en [2], consiste en aplicar RPP, para


los casos de Estándar, y RPE, para los casos Aleatorios. Pero este esquema es débil, ya que no
emula el comportamiento real del agente, por lo que en este trabajo propone la utilización de la
RPI para evaluar la pertenencia tanto para casos de Internet como para los aleatorios, y así se
emularia el comportamiento real de agente.

29
5.4. Resultados Experimentales

Se realizaron cuatro experimentos con los métodos de agrupación y de clasificación


descritos en la sección 4, con el fin lograr un agente de aprendizaje que represente la
complejidad del Problema Bin Packing y el desempeño de sus algoritmos de solución de la
forma más adecuada.

Experimento 1: Evaluación de Clasificadores con RPE y RPP para regiones multiclase


formadas a partir de índices de complejidad específicos

En la tabla 2 se muestran los resultados obtenidos para los métodos de clasificación, con
utilizando unicamente los índices de complejidad específicos y la agrupación a regiones
multiclase, evaluando la pertenencia con los metodos RPE y con RPP, para los casos gen5 e
internet, respectivamente. Se identificó como mejor método para CIGIP al algoritmo C4.5 sin
discretización.

Tabla 2. Resultados de los clasificadores con solo los índices de complejidad específicos,
agrupación a regiones multiclase, y evaluación de pertenencia con RPE y RPP.
CIG CIG_A CIGP
Clasificador
Gen5 Internet Gen5 Internet Gen5 Internet
C4.5(s/discretizar) 83.78% 77.06% 36.75% 89.41% 82.51% 77.06%
C4.5(c/discretizar) 70.33% 68.01% 35.64 % 86.92% 70.62% 69.91%
K2 71.07% 68.15% 35.23 % 82.98% 71.03% 68.22%
CBA 59.47% 66.54% 28.93% 88.39% 58.44% 66.62%
CPAR 66% 66.11% 31.28% 63.62% 65.72% 66.40%

Experimento 2: Evaluación de clasificadores con RPE y RPP para regiones multiclase


formadas a partir de índices de complejidad específicos y generales

En la tabla 3 se muestran los resultados obtenidos para los métodos de clasificación, con
los todos los índices de complejidad y utilizando la agrupación a regiones multiclase, evaluando
la pertenencia con RPE y con RPP, para los casos gen5 e internet respectivamente. En esta tabla
se identificó como mejor método para CIG_A, al algoritmo K2.

Tabla 3. Resultados clasificadores con todas los índices de complejidad y agrupación a regiones
multiclase, y evaluación de pertenencia con RPE y RPP
CIG CIG_A CIGP
Clasificador
Gen5 Internet Gen5 Internet Gen5 Internet
C4.5(s/discretizar) 88.35% 78.52% 27.57% 89.19% 87.77% 75.53%
C4.5(c/discretizar) 70.33% 65.52% 25.27% 92.11% 76.09% 66.33%
K2 71.07% 74.73% 23.99% 97.15% 74.49% 73.63%
CPAR 59.47% 73.63% 16.54% 92.91% 60.37% 75.16%

30
Experimento 3: Evaluación de clasificadores con RPI para regiones multiclase formadas a
partir de índices de complejidad específicos y generales

En la tabla 4 se muestran los resultados obtenidos para los métodos de clasificación, con
todos los índices de complejidad y la agrupación a regiones uniclase, identificando como mejor
método para CIGP al algoritmo C4.5 sin discretización.

Tabla 4. Resultados clasificadores con todos los índices de complejidad, agrupación a regiones
multiclase y evaluación de pertenencia con RPI.
CIG CIG_A CIGP
Clasificadores
Gen5 Internet Gen5 Internet Gen5 Internet
C4.5(s/discretizar) 91.48% 69.91% 71.65% 48.72% 90.53% 69.98%
C4.5(c/discretizar) 82.59% 60.70% 67.74% 47.85% 81.65% 60.34%
K2 80.04% 66.84% 66.63% 47.99% 81.19% 64.86%
CPAR 73.91% 63.70% 58.85% 46.02% 74.94% 62.53%

En éste experimento se obtuvo hasta 69.98% de exactitud en la selección, por lo cual


podemos indicar que la incorporación de nuevas características mejoro la exactitud en ambos
casos.

Experimentación 4: Evaluación de clasificadores con RPI para regiones uniclase formadas


a partir de índices de complejidad específico

En la tabla 5 se muestran los resultados obtenidos para los métodos clasificación, con
todos los índices de complejidad y utilizando la agrupación a regiones uniclase, mostrando como
mejor método C4.5 sin discretización con CIGIV

Tabla 5. Resultados clasificadores con todos los índices de complejidad, agrupación a uniclase y
evaluación de pertenencia con RPI.
CIGI CIGI_A CIGSC
Clasificador
Gen5 Internet Gen5 Internet Gen5 Internet
C4.5(s/discretizar) 90.21% 69.98% 88.64% 71.73% 89.75% 69.69%
C4.5(c/discretizar) 80.91% 65.16% 82.63% 64.94% 81.85% 67.86%
K2 81.28% 62.89% 79.96% 63.92% 81.07% 65.38%
CPAR 68.56% 64.06% 76.50% 66.84% 74.49% 70.05%
CIGIV CIGIV_A CIGIV_B
Clasificador
Gen5 Internet Gen5 Internet Gen5 Internet
C4.5(s/discretizar) 90.33% 72.02% 90.12% 68.37% 88.68% 69.69%
C4.5(c/discretizar) 81.40% 66.03% 81.60% 63.40% 79.92% 63.55%
K2 79.79% 65.23% 77.65% 63.04% 80.33% 64.65%
CPAR 75.97% 68.44% 72.84% 61.14% 75.31% 65.23%

En esté experimento el mejor resultado: 72.02%, supera al del experimento 6, pero no al


del 5; pero como el método de evolución de experimento 5, depende de la aleatoriedad, se puede
decir que este resultado es más confiable.

31
6. Conclusiones

Se desarrolló un agente de aprendizaje para la selección de algoritmos aproximados con


una exactitud superior a la reporada en [2], que es del 77%.

Para incrementar la exactitud del agente de aprendizaje se desarrollaron 21 nuevos


índices de complejidad del problema basados en estadística descriptiva y 5 nuevos método
agrupación multiclase. Además se adaptaron 4 métodos de clasificación.

Con los índices de complejidad se midió la influencia de algunas características del


problema de Bin Packing en el desempeño de algoritmos aproximados. La naturaleza de éstas
métricas permiten la caracterización de otros problemas.

El nuevo agente de selección desarrollado en este trabajo superó al anterior [2] en un


25%, logrando un exactitud del 97% en la selección del algoritmo más adecuado a un caso dado.

Con el esquema de evaluación de pertenencia RPE–RPP la exactitud del agente de


selección de algoritmos fue de 97%, y con RPI fue de 72%. Aunque RPI reporta un menor
porcentaje de exactitud, es más realista porque emula el comportamiento del agente. Por lo
anterior se recomienda el uso de RPI en las investigaciones futuras.

Referencias

[1] D. H. Wolpert y W.G. Macready, “No Free Lunch Theorems for Optimizations”, IEEE
Transactions on Evolutionary Computation, Vol. 1, pp. 67-82, 1997.
[2] L. Cruz R., Clasificación de Algoritmos Heurísticos para la Solución de Problemas de
Bin Packing, tesis doctoral, Dpto. de Ciencias Computacionales, Centro Nacional de
Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, 2004.
[3] E. Santiago D.A., Modelo Estadístico para la Caracterización de Casos del Problema de
Diseño de la Distribución, tesis de maestría, Dpto. de Ciencias Computacionales,
Instituto Tecnológico de Cd. Madero, 2004.
[4] J.E Cofman, Garey J, D. Shor, R. Webber, Perfect Packing Theorems and Average Case
Behavior of Optimal and Online Bin Packing, SIAM Review Vol. 44, pp. 95-108, 2002.
[5] Johnson, D. E., Métodos Multivariados Aplicados al Análisisde Datos, Internacional,
Thomson Editores, 2000.
[6] C. Papadimitriou, y K. Steiglitz, Combinatorial Optimization: Algorithms and
Complexity, Dover Publications,1998.
[7] T. Mitchell, Machine Learning, McGraw Hill, 1997.
[8] Z. Pan, C. Song-Can, H. Gen-Bao, Z. Dao-Qiang, Hybrid Neural Network and C4.5 For
Misuse Detection, 2003.
[9] J. Roure: Incremental Methods for Bayesian Network Structure Learning, tesis de
Doctorado, Departament de Llenguatges i Sistemes dInformació,Universitat Politècnica
de Catalunya, 2004.

32
[10] B. Liu, W. Hsu, y W. Ma, Integration Classification and Association Rule Mining.
Proceedings of the Fourth International Conference on Knowledge Discovery and Data
Mining, pp. 80-86, 1998.
[11] Yin, Xiaoxin y J. Han, CPAR: Classification Based on Predictive Association Rules,
SIAM International Conference on Data Mining, 2003.
[12] Beasley, J. E.: OR-Library. Brunel University. http://people.brunel.ac.uk/~mastjjb/jeb/
orlib/binpackinfo.html,2006
[13] Friedrich, K.: Bin Packing. Universität Jena, www.wiwi.unijena.de/Entscheidung/binpp/
Index.htm, 2006
[14] Dougherty, James, Kohavi, Ron, Sahami, Mehran, Supervised and Unsupervised
Discretization of Continuos Features, 1999

33

You might also like