Vous êtes sur la page 1sur 14

114

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

Prediccin del Desempeo de Algoritmos Exactos y Heursticos:


un Enfoque Estadstico*
Joaqun Prez O.1, Rodolfo A. Pazos R.1, Juan Frausto S.2, David Romero3 y Laura Cruz R.4
1
Centro Nacional de Investigacin y Desarrollo Tecnolgico
2
ITESM, Campus Morelos
3
Instituto de Matemticas UNAM
4
Instituto Tecnolgico de Cd. Madero
{jperez, pazos}@sd-cenidet.com.mx, jfrausto@campus.mor.itesm.mx,
david@matcuer.unam.mx, lcruz@avantel.net

Abstract. Traditionally algorithms are compared through the theoretical analysis of their
performance, from which it is concluded that one outperforms the other. In contrast, the method
presented in this paper statistically evaluates and characterizes the algorithms using functions that
relate performance with problem size, in order to define dominance regions. This method generates
first a representative sample of the algorithms performance, then using a simplified regression analysis
determines performance functions, which are finally incorporated into an algorithm selection
mechanism. For testing purposes, a set of randomly generated instances of the database distribution
problem was solved using an exact algorithm (Branch & Bound) and a heuristic algorithm (Simulated
Annealing). Experimental results show that problem size affects differently both algorithms, in such a
way that there exist regions where one algorithm is more efficient than the other, and therefore it is
possible to determine analytically the most adequate algorithm to solve a problem instance depending
on its size.
Key words: heuristic optimization, statistical tests, algorithm selection.

1. INTRODUCCIN
ste trabajo suma esfuerzos dirigidos hacia la automatizacin del diseo de la distribucin de bases
de datos mediante la utilizacin del modelo matemtico de distribucin descrito en la seccin 2.1.
Aunque se sabe que el diseo de la distribucin afecta directamente el desempeo global de los
sistemas distribuidos, la complejidad de este problema ha frenado el desarrollo de metodologas y
herramientas de apoyo al diseo.

En la solucin del problema de la distribucin de datos y de otros problemas difciles de


optimizacin combinatoria, se han utilizado algoritmos exactos y heursticos. Los primeros han sido
ampliamente estudiados y se consideran prcticos para ejemplares pequeos [14], mientras que los
segundos son considerados prometedores para ejemplares de grandes magnitudes [6, 19, 21, 22]. Para
obtener lo mejor de ambos, se requiere conocer analticamente para qu tamao de problema conviene
utilizar un algoritmo exacto y para cul, un heurstico. Sin embargo, la falta de metodologas
matemticas para predecir el desempeo de estos algoritmos dificulta la evaluacin de los mismos y la
seleccin del algoritmo ms adecuado para un ejemplar dado [15].
*

Proyecto apoyado parcialmente por COSNET, clave 643.01-P.


Artculo recibido el 24 de noviembre de 2001.
ISSN 1665-238X

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

115

El estudio terico del desempeo de los algoritmos heursticos basado en el anlisis de los casos
medio y peor, con frecuencia es difcil de realizar. Adems, debido a que describe el comportamiento
de los algoritmos en el lmite, no ayuda a decidir qu tan bien se comportan los algoritmos con
ejemplares especficos [11]. Por otro lado, el anlisis experimental s es adecuado para ejemplares
especficos y es ampliamente reportado en publicaciones cientficas. Sin embargo, se utiliza muy
informalmente, no rene estndares mnimos de reproduccin y slo ocasionalmente se reportan
resultados analizados con rigurosos mtodos estadsticos [7].
En particular, estudios experimentales que comparen algoritmos exactos y heursticos son
escasos y de utilidad prctica limitada. El trabajo ms completo y actualizado es el presentado por
Hoos y Stutzle en [8], el cual se enfoca al anlisis de algunos de los mejores algoritmos conocidos para
el problema clsico de satisfabilidad (SAT), contrastando, mediante funciones de distribucin de
probabilidad, el desempeo de los algoritmos exactos y heursticos sobre un amplio rango de casos de
prueba. Un estudio similar presentado en [5] propone una tcnica general muy exacta para modelar el
crecimiento del costo de la bsqueda con el tamao del problema. Si bien, estos trabajo y los
presentados en [3, 9, 22], han contribuido a mejorar el diseo de los algoritmos contrastados, y por lo
tanto su desempeo, para efectos prcticos an se hace necesario contar con un mecanismo que permita
seleccionar entre varios algoritmos aquel que resuelva el problema en el menor tiempo disponible.
En este artculo se propone un nuevo mtodo estadstico para: (1) evaluar y caracterizar
estadsticamente los algoritmos mediante funciones de desempeo, las cuales permiten predecir la
calidad de la solucin y el tiempo de procesamiento dado el tamao del problema; y (2) elegir el
algoritmo ms adecuado para un ejemplar especfico. Los resultados de la experimentacin prueban
que el tamao del problema es un factor importante que afecta al desempeo del algoritmo, ya que
existen regiones donde cada algoritmo es ms eficiente que el otro.
El resto del artculo se organiza de la siguiente manera: La seccin 2 describe los dos
algoritmos usados en nuestra investigacin para evaluar el desempeo de algoritmos exactos y
heursticos; haciendo nfasis en el problema que resuelven. Enseguida, la seccin 3 describe el mtodo
estadstico propuesto para comparar y seleccionar algoritmos. Posteriormente, la seccin 4 describe los
resultados de la implementacin del mtodo propuesto. Finalmente, la seccin 4 concluye con un
resumen de nuestros principales resultados y algunas sugerencias para orientar trabajos futuros.

2. ALGORITMOS PARA EL PROBLEMA DEL DISEO DE LA DISTRIBUCIN


El diseo de la distribucin tiene como objetivo el determinar las unidades de datos adecuadas
para su distribucin (fragmentos), as como su ubicacin en los diferentes sitios de una red de
computadoras de manera que el procesamiento de las aplicaciones sea optimizado. En esta seccin se
describe una formulacin matemtica del problema de la distribucin de datos denominada FURD [16,
17], y dos algoritmos de solucin. Aceptacin por Umbral generalmente produce una solucin
aproximada del modelo FURD, mientras que Ramificacin y Acotamiento siempre obtiene una
solucin exacta, la ptima.
2.1. Modelo Matemtico FURD
FURD es un modelo de programacin entera (binaria) compuesto de una funcin objetivo y de
cinco restricciones intrnsecas. En ste la decisin de almacenar un atributo m en un sitio j se representa
por una variable binaria xmj. As xmj = 1 si m se almacena en j, y xmj = 0 en caso contrario.

116

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

2.1.1. Funcin Objetivo


La funcin objetivo de FURD (frmula 1) modela los costos usando cuatro trminos: 1) costos
de transmisin de los datos necesarios para satisfacer cada una de las consultas que son efectuadas
desde cada uno de los sitios; 2) costos en los que se incurre durante la ejecucin de una consulta,
cuando se requiere acceder a varios fragmentos que estn ubicados en diferentes nodos; 3) costo de
almacenamiento de los fragmentos en los sitios y 4) costos de transmisin requeridos para migrar los
datos de un nodo a otro. En esta expresin, los ndices, k, i, j y m denotan consultas, sitios de consultas,
sitios de atributos, y atributos, respectivamente.
min z =

ki qkmlkmcijxmj + c1ki ykj + c2 wj + amicijdmxmj

k i

donde
fki =
qkm =
lkm =
cij =
c1 =
ykj =
c2 =
wj =
ami =
dm =

m j

m i

(1)

frecuencia de emisin de la consulta k desde el sitio i, para un periodo de tiempo dado;


indica si el atributo m es usado por la consulta k;
nmero de paquetes necesarios para transportar el atributo m para la consulta k;
costo de transmitir un paquete de comunicacin entre el sitio i y el sitio j;
costo por acceder a cada fragmento para satisfacer una consulta;
indica si la consulta k accede a algn atributo del sitio j;
costo por ubicar un fragmento en un sitio;
indica si existe algn atributo en el sitio j;
ubicacin previa del atributo m en el sitio i;
nmero de paquetes requeridos para mover el atributo m a otro sitio si es necesario;

2.1.2. Restricciones Intrnsecas del Problema


Las soluciones del modelo estn sujetas a cinco restricciones: 1) cada atributo se ubicar solamente
en un solo sitio, 2) cada atributo se debe ubicar en un sitio que al menos ejecute una consulta que
acceda al atributo, 3) y 4) las variables wj y ykj se fuerzan a tomar un valor asociado a xmj, y 5) la
capacidad de almacenamiento de los sitios no debe ser excedida. Estas restricciones se expresan en las
frmulas numeradas del 2 al 6, respectivamente.

x mj = 1

Cada atributo debe almacenarse solamente en un sitio.

(2)

Cada atributo m debe ser ubicado en un sitio i que ejecute al menos una
consulta que involucre al atributo;
donde

(3)

x mi

m , i

q km ki
k

1, si f ki 0
ki =
0, si f ki = 0

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

t w j xmj 0

117

Esta restriccin fuerza el valor de wj a 1 cuando cualquier xmj es igual a 1, e


induce a wj a 0 en cualquier otro caso;
donde
t = nmero de atributos.

(4)

t ykj qkm xmj 0 Esta restriccin fuerza el valor de ykj a 1 cuando cualquier qkmxmj es igual

(5)

a 1, e induce ykj a 0 en cualquier otro caso.

k, j

x mj p m CA cs j
m

La suma de los tamaos de los fragmentos asignados al sitio j no debe


exceder la capacidad de ste;
donde
csj = capacidad del sitio j;
pm = tamao en bytes del atributo m;
CA = cardinalidad de la tabla de datos.

(6)

2.2. Algoritmo de Aceptacin por Umbral


Debido a que el problema de la distribucin modelado por FURD pertenece a la clase de
problemas NP-completo [12, 18], se explor un mtodo heurstico. Para tal efecto se implement una
variante del algoritmo de Recocido Simulado [10], conocida como Aceptacin por Umbral. En algunos
casos, esta versin consume menos tiempo computacional y obtiene soluciones de mejor calidad [4,
13].
Aceptacin por Umbral, al igual que Recocido Simulado, es una tcnica algortmica que emula
un proceso fsico de enfriamiento trmico con fines de optimizacin. Para la descripcin algortmica de
Aceptacin por Umbral usaremos X, x, z, H, para denotar lo siguiente: el conjunto X contiene todas las
soluciones factibles, x es un elemento de X, z es una funcin que asocia a cada elemento en X un valor
real que retorna la funcin objetivo (frmula 1), H es una funcin que asocia a cada elemento en X una
vecindad predefinida (por ejemplo, se puede definir como el conjunto de todas las soluciones factibles
que se pueden obtener cambiando la ubicacin de un atributo de un sitio a otro sitio).
El algoritmo comienza con la mejor solucin de un conjunto S de soluciones factibles y un
parmetro de temperatura T inicializado con un valor adecuadamente alto. As, dada una solucin
factible actual x, se genera una solucin factible vecina y H(x); entonces si z = z(y) - z(x) < T, se
acepta y como la nueva solucin actual, en caso contrario la solucin actual permanece sin cambio. El
valor de la temperatura T se reduce cada vez que se alcanza el equilibrio trmico. Este se prueba cada
vez que se forma un conjunto de S soluciones factibles. El valor de T se disminuye multiplicndolo
repetidamente por un factor de enfriamiento < 1 hasta que el sistema alcanza el congelamiento; esto
es, que no hay una mejora sensible para una secuencia de decrementos de temperatura, significando
que es posible que se haya alcanzado un mnimo local con respecto a H(x), cercano o igual al ptimo
global. El algoritmo usado es el siguiente:
ALGORITMO
Inicio
real T,
entero i, S
x = la mejor solucin de un conjunto de S soluciones factibles

118

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

T = valor alto de temperatura inicial


repetir
repetir
para i = 1 a S
y = solucin vecina
si z(y) - z(x) < T entonces
x = y
si no
se rechaza la nueva solucin
fin_si
i = i + 1
fin_para
hasta que se alcanza el equilibrio trmico
T = T
hasta que se alcanza el congelamiento
Fin

Se realiz un conjunto de experimentos exploratorios para la definicin de los parmetros que


regulan el proceso de enfriamiento trmico emulado mediante Aceptacin por Umbral: temperatura
inicial T, tamao de lote S, factor de congelamiento , funcin de vecindad H(x), regla para el
equilibrio trmico y regla de congelamiento. Las estrategias usadas se reportan en [16, 17].
2.3. Algoritmo de Ramificacin y Acotamiento
Para obtener soluciones exactas del modelo FURD se utiliz una implementacin comercial de
un algoritmo de Ramificacin y Acotamiento, el cual busca sistemticamente una solucin entera,
factible y ptima, mediante enumeracin parcial: descartando los puntos enteros no prometedores sin
haber sido probados explcitamente. Adems, no trata directamente con el problema entero, sino con un
problema lineal asociado, que se define relajando la restriccin entera impuesta sobre las variables.
Esta tcnica es muy conocida por lo que fcilmente se pueden encontrar buenas descripciones como la
presentada en [23].

3. COMPARACIN Y SELECCIN DE ALGORITMOS


En esta seccin se presenta un mtodo estadstico para comparar algoritmos exactos y
heursticos, y seleccionar el ms adecuado a cada caso particular. Primero se presenta una descripcin
general del mtodo y posteriormente se detallan los pasos que lo componen.
3.1. Mtodo Estadstico para Comparacin y Seleccin de Algoritmos
Para el diseo del siguiente mtodo se consideraron las ideas presentadas en [1, 20, 24]:
Paso 1. Muestreo.
Medir el desempeo de los algoritmos, obteniendo mediante experimentacin una descripcin
tabular del comportamiento de cada algoritmo para una muestra aleatoria de casos de diferente
tamao. Ejemplos de conductas son la desviacin del ptimo y el tiempo de procesamiento.

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

119

Paso 2. Estimacin.
Determinar las funciones de estimacin del desempeo de los algoritmos, aplicando a los
resultados tabulares un tratamiento estadstico basado en tcnicas de aproximacin (por
ejemplo anlisis de regresin).
Paso 3. Seleccin de Algoritmos.
Elegir el algoritmo de solucin ms adecuado al tamao del problema mediante un algoritmo
de seleccin basado en las funciones de desempeo.
3.2. Medicin del Desempeo
Para comparar el esfuerzo de cmputo de los algoritmos generalmente se usan medidas
independientes de la mquina y de la implementacin; sin embargo, los diferentes enfoques de solucin
slo tienen dos puntos de comparacin: el tiempo de CPU y el porcentaje de error. Para medir el
esfuerzo de cmputo nosotros usamos el tiempo de CPU, mientras que para la calidad usamos el
porcentaje de desviacin del ptimo. Ambas cantidades fueron determinadas para ejemplares de la
misma clase pero de diferentes tamaos. A diferencia de muchos trabajos, aqu medimos el tamao del
problema contabilizando la cantidad de bytes ocupados por todos los parmetros. Consideramos que
esta medida es ms exacta ya que tiene una total representatividad de la estructura de datos del
problema.
En otras investigaciones [8], orientadas a la mejora de algoritmos, usaron como estrategia de
comparacin: a) ejecutar el algoritmo hasta obtener una solucin muy cercana a la ptima, b)ejecutar el
algoritmo hasta un tiempo predeterminado. Sin embargo, nuestro trabajo est enfocado a la
caracterizacin de algoritmos para propsitos de seleccin, sin buscar modificarlos, en esas
circunstancias, dejamos operar al algoritmo hasta el cumplimiento de su propio criterio de paro.
3.3. Determinacin de las Funciones de Estimacin del Desempeo
Como se menciono anteriormente, para la caracterizacin del desempeo slo se consideran dos
aspectos: la calidad de los resultados y el esfuerzo computacional requerido. En lo que sigue, las
funciones de desempeo se denotan con T(n) y E(n). La primera es la funcin de eficiencia que
representa la relacin entre el tamao del problema y el tiempo de procesamiento de un algoritmo
especfico, mientras que la segunda es la funcin de eficacia y representa la relacin entre el tamao del
problema y la calidad de la solucin obtenida por el algoritmo. La calidad se determina con la
desviacin del ptimo.
Con fines de prueba, para obtener las funciones de desempeo de los algoritmos se sigui un
procedimiento comn y simplificado basado en anlisis de regresin. En este procedimiento n es la
variable independiente que representa el tamao de un problema, t la variable aleatoria que representa
el tiempo de procesamiento del algoritmo, y r el tamao de la muestra.
Paso 1. Generar un conjunto de polinomios factibles, o sea de grado pequeo y menor que el tamao de
la muestra.
E(n) = a0 + a1 n + a2 n2 +...+ ag ng
T(n) = b0 + b1 n + b2 n2 +...+ bg ng

1 g (r-1)
1 g (r-1)

120

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

Paso 2. Determinar los coeficientes a y b del conjunto de polinomios factibles usando un mtodo de
ajuste como mnimos cuadrados.
Paso 3. Seleccionar el polinomio ms adecuado usando pruebas estadsticas que cuantifiquen la bondad
de stos para representar la relacin entre el desempeo y el tamao del problema. Para
aumentar el nivel de confianza en la funcin elegida, se recomiendan tres pruebas de bondad:
estimacin de la variancia del error, la prueba F global y la prueba W de Student. La primera da
una idea preliminar de la confiabilidad de las funciones, con la segunda se obtiene un
subconjunto de funciones tiles, y con la tercera se determina la utilidad de los coeficientes de
las funciones candidatas. En la Tabla 1 se resumen las ecuaciones y condiciones que se usaron
para determinar la bondad de ajuste de los polinomios de eficiencia, las cuales son similares
para los polinomios de eficacia.

Variancia del Error

Tabla 1. Pruebas de bondad.


Prueba F global

se 2 =

2
(t i T( n i ))
i

r ( g + 1)

R2 =1

(t i T (ni ))

(t i t )

El polinomio es adecuado
si tiene el menor valor de
se

F=

R2 /g
(1 R 2 )/[r ( g +1)]

El polinomio es til si
F > (F(g, r-(g+1)))*

Prueba W de Student
Sebi = error estndar de bi
obtenido por
mnimos cuadrados
bi
W=
0 ig
sebi
El coeficiente bi es til si
W < -(W (r-(g+1)))*
W > (W (r-(g+1)))*

* valor en tablas de la distribucin correspondiente

3.4. Algoritmo de Seleccin


En este algoritmo t y son la tolerancia permitida para el tiempo de procesamiento y el error
producido por el algoritmo de solucin, respectivamente. Adems n es el tamao del problema, T(n) es
la funcin de eficiencia, E(n) es la funcin de eficacia y f(I) es el algoritmo de solucin expresado
como una funcin que mapea un ejemplar del problema I a una solucin codificada en x. Con fE(I) se
obtiene la solucin exacta, y con fA(I) la solucin aproximada.
La primera parte del algoritmo de seleccin es para problemas que slo admiten soluciones
ptimas. En este caso se valida que el tiempo de procesamiento predicho en TE(n) est dentro del rango
de tolerancia dado por t. En caso afirmativo se obtiene con un mtodo exacto la solucin en x de un
ejemplar I, y en caso contrario el algoritmo termina sin solucin.
La segunda parte es para problemas que admiten una solucin aproximada. En sta primero se
verifica si es adecuado el mtodo exacto, si no se evala el heurstico. El mtodo exacto es adecuado si
el tiempo de procesamiento predicho en TE(n) est en el rango de tolerancia dado por t, y en caso
afirmativo se obtiene la solucin x con l. Por otro lado, el mtodo heurstico es adecuado cuando el
tiempo de procesamiento y el error estn dentro del margen de tolerancia, y en este caso se obtiene una
solucin inicial en x y se generan nuevas soluciones en y para explorar la posibilidad de mejorar la
solucin en cada corrida. El nmero de corridas se determina dividiendo el tiempo de tolerancia entre
el tiempo de procesamiento estimado, y la mejor solucin queda finalmente en x. Por el contrario, si
ambos no son adecuados se termina sin solucin.

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

121

ALGORITMO
Inicio
real t, ;
entero i, n;

// tolerancia
// tamao problema

si slo es admisible una solucin ptima entonces


si (TE(n) t) entonces
x = E(I);
si no terminar sin solucin
si no
si (TE(n) t) entonces
x = E(I);
si no
si (TA(n) t) y (EA(n) ) entonces
x = A (I);
para i = 2 a t/TA(n)
y = A(I);
si z(y) < z(x) entonces
x = y
si no
terminar sin solucin
Fin

4. RESULTADOS EXPERIMENTALES
En esta seccin se presentan los resultados de la implementacin del mtodo propuesto.
4.1. Resultados del Comportamiento de los Algoritmos
Para obtener la descripcin tabular del comportamiento de los algoritmos, se realizaron 40
experimentos con cada caso de prueba. stos se obtuvieron de la siguiente manera: a) se generaron
aleatoriamente 26 casos de prueba y b) se generaron matemticamente 17 ejemplares grandes de
solucin conocida usando componentes desacoplados [2].
Cada caso de prueba se resolvi usando El Algoritmo de Ramificacin y Acotamiento y el
algoritmo de Aceptacin por Umbral. En las Tablas 2 y 3 se presentan parte de los resultados de estas
pruebas, las cuales fueron realizadas en una PC con un CPU Pentium a 120 MHz, el sistema operativo
Windows 95, el compilador Borland C, y el paquete LINDO, el cual est basado en el mtodo de
Ramificacin y Acotamiento. La segunda y tercera columnas de la Tabla 2 muestran los tamaos del
problema para los casos de prueba; mientras las ltimas dos columnas muestran los resultados del
desempeo obtenidos usando Ramificacin y Acotamiento. En la Tabla 3 se muestran los resultados
obtenidos usando el algoritmo de Aceptacin por Umbral. El porcentaje de diferencia con respecto a la
solucin ptima se muestra en las columnas 2 a la 4. La ltima columna muestra el tiempo de ejecucin
del algoritmo.

122

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

Tabla 2. Solucin exacta usando Ramificacin y Acotamiento.


Problema Sitios Consultas Valor
Tiempo
ptimo
(seg)
P1
2
2
302
0.05
P2
18
18
2719
1.15
P3
20
20
3022
3.29
P4
32
32
* 4835
**
P5
64
64
* 9670
**
P6
128
128
*19340
**
P7
256
256
*38681
**
P8
512
512
*77363
**
*Valor solucin determinado con operaciones algebraicas
**El tamao del problema excede la capacidad de Lindo

Tabla 3. Solucin aproximada usando Aceptacin por Umbral.


Tiempo
Problema
%Diferencia
(seg.)
(desviacin del ptimo)
Mejor Peor Promedio
P1
0
0
0
0.03
P2
0
141
10
0.3
P3
0
0
0
0.4
P4
0
78
4
1.2
P5
0
100
20
6.1
P6
0
140
36
43.6
P7
0
405
88
381.2
P8
66
383
215
3063.4
4.2. Funciones de Desempeo
El procedimiento para obtener las funciones de desempeo se implement con el paquete
matemtico MATLAB y el paquete estadstico ORIGIN. A manera de ejemplo se muestra cmo se
obtuvo la funcin de eficiencia del Algoritmo de Aceptacin por Umbral.

Grado
1
2
3
4
5
6

Tabla 4. Conjunto de funciones polinomiales factibles.


B0
b1
b2
b3
b4
b5
b6
-3.8E+01 8.0E-04
-1.1E+01 4.4E-04 1.1E-10
3.1E-01 6.7E-05 4.3E-10 -6.2E-17
-2.9E-01 1.1E-04 3.6E-10 -2.1E-17 -6.3E-24
-5.0E-03 7.0E-05 5.8E-10 -3.4E-16 1.5E-22 -2.2E-29
2.6E-03 6.9E-05 6.2E-10 -5.2E-16 4.0E-22 -1.4E-28 1.7E-35

b7

En la Tabla 4 se presenta un conjunto de funciones polinomiales factibles cuyos coeficientes se


obtuvieron por mnimos cuadrados. Los polinomios de grado 7 y superior fueron descartados ya que
sus grficas observaron oscilaciones pronunciadas. En la Tabla 5 se muestra el error estndar de los
polinomios. Dado que el punto de inflexin se encuentra en el polinomio de grado 3, es posible que
ste sea el que mejor se ajuste. Con la prueba F se confirma esta suposicin: se demuestra que todos los
polinomios son tiles y que los de grado 3 al 6 tienen la mejor correlacin ya que tienen el valor ms

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

123

alto de R2 (Tabla 6). En las Tabla 8 y 9 se muestran las mejores funciones polinomiales que se
obtuvieron con el procedimiento de regresin aplicado a los algoritmos de Aceptacin por Umbral y
Ramificacin y Acotamiento.
Tabla 5. Error estndar de los polinomios.
Grado del
se
polinomio
1
140.26009
2
103.27366
3
96.38950
4
96.45101
5
96.52202
6
96.59370

Tabla 6. Resultados de la prueba F global: utilidad del polinomio


Grado
R2
F
F(g,) til
1
9.6784E-01 2.040408955224E+04 3.84
s
2
9.8259E-01 1.910434893739E+04 3.00
s
3
9.8485E-01 1.464815401540E+04 2.60
s
4
9.8486E-01 1.097722093791E+04 2.37
s
5
9.8486E-01 8.768766710700E+03 2.21
s
6
9.8486E-01 7.296463892558E+03 2.10
s
Tabla 7. Resultados de la prueba estadstica W de Student: utilidad de los coeficientes bi (W ()=1.645)
Grado
B0
b1
b2
b3
b4
b5
W0
W1
W2
W3
W4
W5
1
1.43E+02 s
2
2.18E+01 s 2.39E+01 s
3
1.68E+00 s 1.34E+01 s -1.01E+01 s
4
9.58E-01 no 1.73E+00 s -1.86E-01 no -3.72E-01 no
5
1.63E-01 no 2.22E-01 no -9.01E-02 no 8.12E-02 no -8.47E-02 no
6
5.41E-02 no 2.19E-02 no -3.78E-03 no 2.09E-03 no -1.56E-03 no 1.31E-03 no

Algoritmo
Aceptacin por
Umbral
Ramificacin
y
Acotamiento

Tabla 8. Funciones polinomiales de eficiencia.


Funcin polinomial T(n)
-0.31458651 + 6.7247624E-5 n + 4.3424044E-10 n2 - 6.1504908E17 n3
+0.0036190847 + 4.4856655E-4 n - 4.4942872E-7 n2 +
2.5914131E-10 n3
-5.4339889E-14 n4 + 2.5641303E-18 n5 + 2.4019059E-22 n6

124

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

Tabla 9. Funciones polinomiales de eficacia (Aceptacin por Umbral).


Caso de prueba
Funcin polinomial E(n)
Problemas grandes
-0.45443448 + 2.2522053E-5 n
(mejor caso)
Problemas grandes
+2.0494162 + 1.1588697E-4 n - 1.8006418E-11 n2 +
(caso promedio)
6.3173862E-19 n3
Problemas grandes
+56.62439 + 0.00011 n
(peor caso)
Problemas aleatorios
-0.23663 + 0.00049 n
(caso promedio)
4.3. Anlisis Comparativo
En la Figura 1 se presentan las funciones de eficiencia de los algoritmos. Para Ramificacin y
Acotamiento se obtuvo un polinomio de grado 6, mientras que para Aceptacin por Umbral el
polinomio fue de grado 3. Se puede notar que, para ejemplares pequeos, el primero es el ms
adecuado, para ejemplares grandes el segundo es el mejor, y que existe un punto de corte entre ambas
funciones.
Debido a la amplitud de los resultados de eficacia del algoritmo de Aceptacin por Umbral, se
obtuvieron tres polinomios (Figura 2). Para el mejor caso se obtuvo un polinomio de grado 1, de grado
3 para el caso promedio, y de grado 1 para el peor caso.

Ram ificacin y Acotam iento

0.003 + 4.5E-4 n - 4.5E-7 n 2 +


2.6E-10 n 3 -5.4E-14 n 4 +
2.5E-18 n 5 + 2.4E-22 n 6

1000

Aceptacin por Um bral

0.3 + 6.7E-5n +
4.3E-10n 2 -6.2E-17n 3

100

T (n)
10

Resultados Experim entales


Resultados
Experimde
entales
De una Corrida
RA
0.1

De un Conjunto de
Corridas de AU

0.01
100

1000

10000

100000

1000000

Tam ao del problem a en bytes

Figura 1. Grfica de las funciones de eficiencia del algoritmo de Aceptacin por Umbral.

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

125

500

Resultados Experim entales

Peor Caso
56 + 0.00011 n

De una corrida
400

De un Conjunto de
corridas

E (n)
300

Caso M edio
2.1 + 1.2E-4 n
-1.8E-11 n 2
+6.3E-19 n 3

200

M ejor Caso
-0.5 + 2.3E-5 n

100

100

1000

10000

100000

1000000

Tam ao del problem a en bytes

Figura 2. Grfica de las funciones de eficacia del algoritmo de Aceptacin por Umbral.

5. COMENTARIOS FINALES
Este artculo muestra que caracterizando los algoritmos mediante funciones de desempeo es
posible determinar automticamente el algoritmo ms adecuado dado el tamao del problema.
Adems, la caracterizacin nos ayuda a comprender mejor el comportamiento de los algoritmos. Por
ejemplo, establece umbrales en los cuales un algoritmo puede ser mejor que otro, a diferencia del
enfoque tradicional, el cual simplifica la evaluacin de los algoritmos; es decir, establece que un
algoritmo es mejor que otro en todos los casos, lo cual no siempre es cierto.
Para propsitos de demostracin se obtuvieron las funciones de desempeo de Ramificacin y
Acotamiento y Recocido Simulado, aplicados a la solucin del problema de la distribucin de bases de
datos modelado por FURD. Los resultados experimentales han confirmado que Ramificacin y
Acotamiento es satisfactorio para problemas pequeos, Recocido Simulado parece prometedor para
problemas grandes y que existe un punto de cruce que separa ambas regiones.
Con el mtodo estadstico propuesto es posible crear programas de cmputo para determinar,
mediante las funciones de desempeo, el mtodo de solucin ms adecuado al tamao del ejemplar.
Esta sistematizacin es relevante para los campos de la Optimizacin y Algoritmia por la falta de
metodologas formales para este propsito. En este sentido se justifican investigaciones que mejoren la
caracterizacin y validacin de las funciones de desempeo. Como trabajos futuros se planea realizar el
ajuste de datos con funciones exponenciales; explorar otras tcnicas de aproximacin; utilizar pruebas
de bondad de ajuste adecuadas al problema; modelar la dificultad del problema, la cual vara con el tipo
de instancia; y verificar la aplicabilidad del mtodo estadstico a la evaluacin de algoritmos que
resuelven otros problemas complejos.

126

I+D Computacin, Vol. 1, No. 2, Noviembre 2002

REFERENCIAS
[1]
[2]

[3]
[4]

[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]

[13]

[14]
[15]
[16]

[17]

[18]

[19]
[20]

F. Corona y M. Tovar, Elementos de Estadstica: Aplicaciones al Mtodo Experimental, Editorial


Trillas, Mxico, 1987.
L. Cruz, Automatizacin del Diseo de la Fragmentacin Vertical y Ubicacin en Bases de Datos
Distribuidas usando Mtodos Heursticos y Exactos, tesis de maestra, Instituto Tecnolgico y de
Estudios Superiores de Monterrey, May. 1999.
A. Davenport, A Comparison of Complete and Incomplete Algorithms in the Easy and Hard
Regions, Workshop on Studying and Solving Really Hard Problems of CP95, 1995.
G. Dueck y T. Sheur, "Threshold Accepting: a General Purpose Optimization Algortihm
Appearing Superior to Simulated Annealing", Journal of Computational Physics, Vol. 90, pp.
161-165, 1990.
I.P. Gent, E. MacIntyre, P. Prosser y T.Walsh, The Scaling of Search Cost, Proceedings of
AAAI97, Mit Press, pp. 315-320, 1997.
J. Gu, Efficient Local Search for very Large-Scale Satisfability Problem, SIGART Bulletin,
Vol. 3, pp. 8-12, 1992.
J.N. Hooker, "Testing Heuristics: We Have it All Wrong", Journal of Heuristics, 1996.
H.H. Hoos y T. Stutzle, Systematic vs. Local Search for SAT, Journal of Automated
Reasoning, Vol. 24, pp. 421-481, 2000.
D.S. Johnson y M.A. Trick, editors, Clique, Coloring, and Satisfability, DIMACS Series on
Discrete Mathematics and Theoretical Computer Science, AMS, Vol. 16, 1996.
S. Kirkpatrick, C.D. Gellat y M.P. Vecchi, "Optimization by Simulated Annealing", SCIENCE,
Vol. 220, No. 4598, pp. 671-680, May. 1983.
E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan y D.B. Schmoys, The Traveling Salesman
Problem: a Guided tour of Combinatorial Optimization, John Wiley & Sons, New York ,1985.
X. Lin, M. Oslowska y Y. Zhang, "On Data Allocation with the Minimum Overall
Communication Costs in Distributed Database Design", Proceedings of ICCI-93, IEEE Press, pp.
539-544, 1993.
L. Morales, R. Garduo y D. Romero, "The Multiple-minima Problem in Small Peptides
Revisted. The Threshold Accepting Approach", Journal of Biomelecular Structure & Dynamics,
Vol. 9, No. 5, pp. 951-957, 1992.
G. Murty, Operations Research: Deterministic Optimization Models, Prentice Hall, New Jersey,
1995.
C. Papadimitriou y K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity.
Prentice-Hall, New Jersey, 1982.
J. Prez, D. Romero, J. Frausto, R. Pazos, G. Rodrguez y F. Reyes, "Dynamic Allocation of
Vertical Fragments in Distributed Databases Using the Threshold Accepting Algorithm",
Proceeding of the 10th IASTED International Conference on Parallel and Distributed Computing
and System, pp. 210-213, Las Vegas, 1998.
J. Prez, R. Pazos, J. Frausto, D. Romero y L. Cruz, "Vertical Fragmentation and Allocation in
Distributed Databases with Site Capacity Restrictions Using the Threshold Accepting
Algorithm", Conferencia Internacional Mexicana de Inteligencia Artificial, Acapulco, 2000.
J. Prez, R. Pazos, D. Romero y L. Cruz, "Anlisis de Complejidad del Problema de la
Fragmentacin Vertical y Reubicacin Dinmica en Bases de Datos Distribuidas", 7mo.
Congreso Internacional de Investigacin en Ciencias Computacionales, Cd. Madero, 2000.
D. Romero y A. Snchez, "Methods for the One-dimensional Space Allocation Problem",
Computers Opns. Res, Vol. 17, No. 5, pp. 465-473, Great Britain, 1990.
R. Scheaffer y J. McClave, Probabilidad y Estadstica para Ingeniera, Grupo Editorial
Iberoamrica, 1990.

Prez et al.: Prediccin del Desempeo de Algoritmos Exactos y Heursticos: un Enfoque Estadstico

127

[21] B. Selman, H. Levesque y D. Mitchell, A new Method for Solving Hard Satisfability Problems,
Proceedings of AAAI92, Mit Press, pp. 440-446, 1992.
[22] B. Selman, H.A. Kautz y B.Cohen, Noise Strategies for Improving Local Search, Proceeding
of AAAI94, Mit Press, pp. 337-343, 1994.
[23] H.A. Taha, Integer Programming: Theory, Applications and Computations. Academic Press, USA,
1975.
[24] R. Walpole y R. Myers, Probabilidad y Estadstica, McGraw Hill, 1990.

Vous aimerez peut-être aussi