Tщcnicas para el Manejo de CSPs no Binarios - ResearchGate

T´
ecnicas para el Manejo de CSPs no Binarios
Miguel A. Salido
Dpto. Ciencias de la Computaci´on e Inteligencia Artificial
Escuela Polit´ecnica Superior
Universidad de Alicante, Spain
[email protected]
Resumen
Hoy en d´ıa muchos problemas de la vida real se pueden modelar como problemas de satisfacci´on de restricciones (CSPs) no binarias (o n−arias). Por ejemplo en a´reas tales como inteligencia artificial, investigaci´on
operativa, bases de datos y sistemas expertos, la importancia de los CSPs no binarios se est´a incrementando
paulatinamente. Sin embargo la mayor´ıa de los investigadores centran su atenci´on en los CSPs binarios,
tal vez por el hecho de que un CSP no binario se puede transformar en uno binario. En este art´ıculo se
presentan las distintas t´ecnicas para transformar los CSPs no binarios en binarios, para el caso de CSPs
discretos, y en ternarios para el caso de CSPs continuos. Adem´as se presenta una propuesta de manejo de
CSPs no binarios y continuos. Utilizando esta u
´ltima t´ecnica resolveremos un problema de diagnosis basado
en el an´alisis ROC. Este problema se modela como un CSP no binario sobre dominios continuos.
Palabras clave: Problemas de Satisfacci´on de Restricciones, CSPs no binarios.
1.
Introducci´
on
ci´on en t´ecnicas de satisfacci´on de restricciones
est´a suficientemente contrastado en los diferentes
foros cient´ıficos, bibliograf´ıa relevante, aplicaciones destacadas, etc. Particularmente, en la literatura de satisfacci´on de restricciones, la necesidad
de manejar restricciones no binarias ha empezado
recientemente a ser reconocido. La mayor´ıa de los
investigadores que trabajan en problemas de satisfacci´on de restricciones centran su atenci´on en
problemas binarios y discretos por diversos motivos:
Hoy en d´ıa, muchos problemas de la vida real
pueden modelarse como problemas de satisfacci´on de restricciones (CSPs) y resolverse usando
t´ecnicas de programaci´on de restricciones. Esto
incluye problemas de a´reas tales como inteligencia artificial, investigaci´on operativa, bases de datos, sistemas expertos, etc. Algunos ejemplos son
scheduling, planificaci´on, razonamiento temporal,
dise˜
no en la ingenier´ıa, problemas de empaquetamiento, criptograf´ıa, toma de decisiones, etc. Un
gran n´
umero de estos problemas se modelan de
una manera natural mediante el uso de restricciones no binarias. Las restricciones no binarias
son aquellas que constan de cualquier n´
umero de
variables. El manejo de restricciones no binarias
es un problema NP-completo [15].
La raz´on b´asica de tratar con restricciones
binarias es por la simplicidad que supone
comparado con las no binarias y tambi´en
por el hecho de que todo problema de satisfacci´on de restricciones no binarias puede transformarse en uno binario equivalente
[21, 2].
Adem´as se trabaja principalmente con do-
El inter´es actual por el desarrollo e investiga1
procede de Peirce quien, en 1933, prob´o formalmente en el campo de la filosof´ıa l´ogica
que las relaciones binarias y no binarias tienen el mismo poder de expresividad [18]. Su
m´etodo para representar una relaci´on no binaria mediante una colecci´on de restricciones binarias form´o las bases del m´etodo de
las variables ocultas.
minios discretos por la reducci´on de complejidad que supone trabajar con un conjunto finito de valores para cada una de las
variables del problema. De esta manera se
puede generar el a´rbol de b´
usqueda en un
problema dado, y llevar a cabo el estudio
de la consistencia mediante la b´
usqueda sistem´atica a trav´es de la exploraci´on de dicho
a´rbol.
En el caso de problemas de satisfacci´on de restricciones con dominios continuos como los CSPs
num´ericos, muchos investigadores tambi´en llevan
a cabo una transformaci´on del problema en el cual
las restricciones n−arias se transforman en restricciones ternarias [27, 14].
Tanto en CSP discretos como continuos, el proceso de transformaci´on puede resultar poco eficiente debido a su alto coste computacional. Por lo
tanto, a menudo resulta m´as adecuado manejar
las restricciones no binarias de forma directa, de
manera que los problemas mantengan sus formulaciones originales.
En general, las dos principales cuestiones con la
que nos encontramos a la hora de resolver un problema de satisfacci´on de restricciones son, primero, c´omo representar el problema, y segundo c´omo
resolverlo. Por consiguiente en problemas con restricciones no binarias debemos tomar la decisi´on
de convertir el problema a uno binario (o ternario) o bien dejarlo en su representaci´on original. Si
convertimos el problema a uno binario (ternario)
entonces podremos aplicar todos los algoritmos y
heur´ısticas generados para resolver CSPs binarios
(ternarios). Esta opci´on ha sido mayoritariamente
seleccionada por la comunidad cient´ıfica.
Sin embargo si mantenemos el problema en su representaci´on original, tendremos que usar los algoritmos y heur´ısticas para restricciones no binarias, encontr´andonos aqu´ı con falta de respuestas
u
´tiles para el manejo de CSPs no binarios.
Adem´as, Rossi y otros probaron que un CSP no
binario es equivalente a su transformaci´on dual
y oculta bajo varias definiciones de equivalencia,
que definiremos a continuaci´on [21].
En el caso de CSPs num´ericos o continuos,
se pueden transformar las restricciones n−arias
en restricciones ternarias [14] de forma que se
mejora la eficiencia de los algoritmos de consistencia tales como 2-consistencia [7, 9], 2Bconsistencia, 3B-consistencia [13] o la consistencia (3, 2)−relacional. Esta transformaci´on s´olo es
posible si se permite la introducci´on de variables
auxiliares.
Este art´ıculo lo vamos a clasificar en las siguientes
secciones: en la secci´on 2 se presentan los diferentes conceptos necesarios de CSPs no binarios. En
la secci´on 3 se presentan las diferentes t´ecnicas
de transformaci´on de CSPs no binarios a binarios: la codificaci´on dual, la codificaci´on de variables ocultas, la codificaci´on doble y por u
´ltimo un
algoritmo de transformaci´on de restricciones no
binarias a ternarias para CSPs continuos. En la
secci´on 4 presentamos un m´etodo llamado HSA
para manejar CSPs no binarios sobre dominios
continuos. En la secci´on 5 presentamos la aplicaci´on de HSA al an´alisis ROC. Finalmente, en la
secci´on 6 presentamos las conclusiones.
2.
Definiciones
Principalmente hay dos t´ecnicas para trasladar
las restricciones no binarias a binarias en CSPs
discretos:
En esta secci´on nos vamos a centrar en los conceptos necesarios y que no est´an contemplados en
el art´ıculo de introducci´on, para comprender la
notaci´on que vamos a utilizar en este trabajo.
La codificaci´on dual, que fue introducida en
la comunidad de CSPs por Dechter y Pearl
[6], donde la idea b´asica se captur´o de la
investigaci´on en bases de datos relacionales
[16].
La equivalencia entre dos CSPs es fundamental a
la hora de transformar un CSP no binario a uno
binario para no desvirtuar el problema, pero puede resultar muy ambiguo dependiendo de aspectos tanto sint´acticos como sem´anticos. En [21] se
presentan diferentes definiciones de equivalencia.
La codificaci´on de variables ocultas, que
Una primera definici´on ingenua de equivalencia
de CSP podr´ıa ser:
Dos CSPs son equivalentes si ellos tienen
las mismas variables y las mismas restricciones.
Esta propuesta de equivalencia es muy restrictiva.
Por ejemplo, esta propuesta no considera la posibilidad de informaci´on redundante en las restricciones. Esta redundancia podr´ıa provocar, dado
un CSP, un conjunto infinito de CSPs distintos,
simplemente seleccionando uno dado, y a˜
nadiendo informaci´on redundante. De esta manera, todos los CSPs resultantes representar´ıan el mismo
problema, y por tanto, ser´ıan equivalentes. Por lo
tanto, la definici´on dada anteriormente no ser´ıa
v´alida.
Para solucionar este problema modificaron la definici´on de equivalencia para manejar la redundancia de las restricciones adoptando la siguiente
definici´on:
Dos CSPs son equivalentes si tienen el mismo conjunto de soluciones.
Aqu´ı el significado previsto de soluci´on de un CSP
es el conjunto de todas las asignaciones de las variables a los dominios de tal forma que se satisfagan todas las restricciones del problema. Esta es
la definici´on usual de equivalencia de los CSPs y
la m´as aceptada por la comunidad cient´ıfica. As´ı,
todos los CSPs redundantes, con respecto a uno
dado, se consideran equivalentes. Sin embargo la
redundancia puede ocurrir no s´olo en las restricciones sino tambi´en en el n´
umero de variables,
ya que es posible que dos CSPs tengas diferentes variables y que todas ellas se comporten de la
misma manera, es decir, s´olo difieren los nombres
de las variables. Tales problemas, que sint´acticamente son diferentes, deber´ıan considerarse equivalentes siempre que la informaci´on contenida sea
esencialmente id´entica. En otras palabras, lo u
´nico que importa es la informaci´on contenida en el
CSP. De acuerdo a este hecho, Rossi y otros propusieron la siguiente definici´on de equivalencia de
CSPs:
Dos CSPs son equivalentes si son mutuamente reducibles.
As´ı, dados dos CSPs P1 y P2 , se dice que P1 es
reducible a P2 si es posible obtener la soluci´on
de P1 de la soluci´on de P2 , mediante el mapeo
de las variables y los valores de un problema a las
variables y los valores del otro problema. Esta definici´on contempla la redundancia de restricciones
y de variables y se puede demostrar que es m´as
general que las definiciones previas de equivalencia.
As´ı, esta definici´on de equivalencia, se utiliz´o en
[21] para probar la equivalencia de CSPs no binarios y binarios, dando importancia a esta transformaci´on no s´olo desde el punto de vista te´orico,
sino tambi´en pr´actico, ya que muchos algoritmos
eficientes s´olo se han desarrollado para CSPs binarios. Sin embargo hay que tener en cuenta si es
conveniente manejar el problema no binario como tal, o es m´as conveniente transformarlo a un
CSP binario, resolverlo, y finalmente ser capaz de
devolver la soluci´on del problema original.
En la literatura de CSPs, la equivalencia entre
CSPs no binarios y binarios se ha estudiado de
una manera superficial. El primer intento formal
para comparar estas dos representaciones deferentes de un mismo problema apareci´o en 1933, donde Peirce en [18] mostr´o un ejemplo de una restricci´on no binaria que no se puede representar
mediante restricciones binarias. De esta manera,
las restricciones binarias y no binarias parecen no
ser equivalentes en general. M´as precisamente, las
restricciones no binarias parecen ser m´as potentes
que las binarias. Esto ocurre cuando se ponen restricciones sobre el n´
umero de variables a utilizar
en el problema transformado, o en la dimensi´on
de las variables en la nueva representaci´on.
En el art´ıculo de introducci´on ya presentamos una
definici´on general de CSP. El problema de satisfacci´on de restricciones no binarias que vamos a
manejar lo podemos definir como un CSP que
consta de una terna (X, D, C) donde:
X es un conjunto de n variables reales
{x1 , ..., xn }.
D es un vector de dominios continuos o discretos D =< D1 , ..., Dn >. Cada variable
xi tiene un dominio Di : [li , ui ]. El dominio, continuo o discreto, de una variable es
el conjunto de todos los posibles valores que
se le pueden asignar a esa variable.
C es un conjunto finito de restricciones que
la soluci´on debe satisfacer. Cada restricci´on
ci est´a definida sobre un conjunto de variables {x1 , ..., xn } que tomar´an valores de sus
respectivos dominios D1 , D2 , ...Dn .
2.1.
Ejemplo de CSP Generales
Como ejemplos de CSPs generales, es decir CSPs
con restricciones binarias y no binarias con variables acotadas en dominios discretos y continuos,
vamos a presentar dos ejemplos presentados en
[26] relativo a aspectos de la ingenier´ıa civil en el
dise˜
no de construcciones.
El primer ejemplo trata del dise˜
no de un puente, donde el trabajo a realizar puede verse como
una combinaci´on de dos tareas: El dise˜
no conceptual que define la estructura que va a tener el
puente as´ı como sus par´ametros, y el dise˜
no detallado que encuentra un conjunto de valores para
los par´ametros en la soluci´on final (ver Figura 1.
En el dise˜
no conceptual se manipulan descripciones parciales de la obra a realizar, consistiendo en
partes (pilares, cubiertas, arcos del puente, etc) y
propiedades (reglas de construcci´on, requerimientos art´ısticos y econ´omicos, leyes f´ısicas, etc...).
✁✄✂✆☎✞✝✠✟☛✡✠✝✠☎✌☞ ✍✏✎✑✁✆✒
✓ ✔✖✕ ✗✙✘ ✚✠✛ ✜ ✢✤✣ ✥
✓ ✔✦✕ ✗✙✘✑✛ ✧★✘✑✩ ✢✤✪✑✚✤✪✑✢✤✣ ✥
✿
✿
❀★❁✱❂❄❃★❅ ❆★❇✌❈ ❉☛❊●❋★❃☛❍✹■☛❏★❑ ❏★❇✌▲ ❃●❋★❀☛❍ ❀▼❅ ❃★◆❖❀☛❍ ❇€❃★◆◗■☛❀★■☛❃★◆✌❘
❙ ✱
❁ ❚❄❏★❍ ◆✌❈ ❉★❊●▲ ❏★❊★❈ ❏★❊☛■★❃●❏★❊▼❇✄❆☛❏★❊★▲ ❀●❀☛◆✌❋★❏☛❇✌▲ ❃★◆❯❏★◆✄▲ ❱☛▲ ❈ ❇✌❃☛◆
❲❖❳★❏★❃☛▲ ❏☛❇✌❊★❃★❅ ❉☛❳★❈ ❇✌❃☛◆✌❘
❇✌❁✱❨❄❀★◆✌❏☛◆◗❋☛❀★❍ ❀●■☛❈ ◆✌❏☛❩★❀☛❍✹❅ ❃☛◆◗■☛❏★▲ ❀★❅ ❅ ❏★◆❖■☛❏❬❅ ❃☛◆❖❋★❈ ❅ ❀★❍ ❏☛◆✌❘
①
①
q★❡✷r✑s✤❧ ❢ ❡✷r✤s✑❝ ♥❵♦✞❤✑✐✷❥❵❢ ❣
❞ ✐✷❤t❫✷❣✷❧ ❡✷❞ ❞ ❣✷❤✆❫❵❣
❫✷❝ ❤✤❣✷✉✷✐✞❫❵❣❄❞ ✐✷❤ ❦ ❝ ❞ ❡❵❢ ❣✷❤
❫✷✈✷❛✌❜★❝ ❞ ❡✷❢ ❣✷❤
❫✷❣✷✇✞❡✷❤✤❝ ❡✷❫❵✐
r✑❣❵❢ r✑❡
❏☛❁✹❭❪❈ ◆✌❏☛❩★❃●❑ ❈ ❊★❀☛❅ ❘
❫❵❴✷❛✌❜✠❝ ❞ ❡❵❢ ❣✷❤
❤✑✐❵❥✷❢ ❣❄❣❵❞
❦ ❣✷❢ ❡✷❞ ❧ ❣
❫✷♠❵❛✌❜✠❝ ❞ ❡❵❢ ❣✷❤
❣✷♥✞❣✷❞✤❡❵♦✴♣❵❡
Figura 2. Diferentes fases en el dise˜
no de un
puente: (i) cada estado corresponde a un
CSP, (ii) la soluci´
on a un CSP dado impacta
con la naturaleza de otros CSPs. El CSP del
estado c) no admite soluci´
on si no hay una
ubicaci´
on definida para los pilares del puente.
✿
✿
✫ ✢★✘✑✛ ✢✤✣ ✢★✬ ✜ ✚✑✭✌✩ ✮✠✬✄✣✌✩ ✯✱✰ ✮★✲ ✩✭ ✚
☎ ✣ ✜ ✛ ✕ ✭ ✜ ✕✤✛ ✚✠✳✴✘ ✚★✛ ✵✠✯✌✢✑✜ ✛ ✧✑✣
✁✄✂✆☎✞✶✠☎✦✶✠☎ ✍✷✁✆✒✑✒✑☎
✓ ✔✦✕ ✗✹✸ ✚✠✲ ✧✠✛ ✢✑✣ ✥
✎ ✄✬ ✪★✩ ✣ ✢✠✺ ✧✱✻✠✕ ✢✱✣ ✚✤✜ ✩ ✣ ✼ ✚✑✽✑✚✙✲ ✚✤✣
✛ ✢✤✣ ✜ ✛ ✩ ✭ ✭✌✩ ✧✠✬ ✢✑✣✏✾☛✚✠✲ ✭ ✚★✬ ✭ ✢✙✲ ✚✑✣✏✼ ✕✤✬ ✭✌✩ ✧★✬ ✢✤✣
✪✤✢✑✣ ✢✤✚✑✪✤✚✑✣
Figura 1. Paso del dise˜
no al CSP.
Una tarea de dise˜
no se presta naturalmente a una
formulaci´on de satisfacci´on de restricciones. Las
variables representan las partes y elementos del
dise˜
no, mientras que las restricciones expresan las
propiedades que las partes deben satisfacer. Resolver tal problema de satisfacci´on de restricciones significa trasladar la representaci´on simb´olica utilizada en el dise˜
no conceptual a los objetos
reales: las soluciones al CSP determinan si, y dentro de qu´e l´ımites, la descripci´on generada en el
dise˜
no conceptual corresponde a una estructura
f´ısica factible.
Para desarrollar un modelo computacional del
proceso de dise˜
no, de acuerdo al paradigma de
la satisfacci´on de restricciones, hay que tener en
cuenta diversos factores importantes, tales como:
El conjunto de variables y restricciones no
es independiente de soluciones particulares.
Por ejemplo en el problema de dise˜
no de la
Figura 2, ir de la soluci´on a) a la soluci´on
b) lleva consigo cambiar el n´
umero de arcos del puente y por lo tanto el n´
umero de
variables y de restricciones.
Las variables pueden tomar valores en dominios discretos (n´
umero de pilares, n´
umero
de arcos, etc...) y dominios continuos (anchura de los arcos, longitud de las cubiertas,
altura de los pilares, etc...).
Se pueden introducir restricciones de inigualdad, restricciones no lineales y por supuesto restricciones que involucren a cualquier n´
umero de variables (restricciones no
binarias).
→ La primera consideraci´on muestra que el CSP
relativo al dise˜
no del problema no est´a determinado a priori antes de comenzar el proceso de
resoluci´on, por lo que a veces es necesario trabajar con problemas din´amicos o incrementales,
donde hay restricciones y variables que se pueden
modificar, eliminar o a˜
nadir.
→ La segunda consideraci´on nos muestra que hay
muchos problemas reales donde se entrelazan dominios tanto discretos como continuos, con la consiguiente complejidad que ello conlleva.
→ La tercera y u
´ltima consideraci´on se centra en
la posibilidad de manejar restricciones complejas
como pueden ser restricciones no lineales e inigualdades de cualquier aridad.
Por lo tanto debemos tener en cuenta la existencia de problemas reales donde coexisten variables
continuas con variables discretas enmarcadas en
restricciones no binarias, lo que genera la necesidad de desarrollar t´ecnicas de satisfacci´on de restricciones capaces de manejar estos tipos de problemas. Adem´as, desde que los valores num´ericos
de los par´ametros sirven como base de decisiones,
es necesario identificar el espectro de alternativas tan exhaustivamente como sea posible, para
que el espacio de posibilidades pueda explorarse
sistem´aticamente.
El siguiente ejemplo que se muestra en la Figura 3, relativo al dise˜
no de edificios, ilustra este
punto de una manera m´as precisa. La estructura
del suelo de un edificio est´a formada por planchas
de hormig´on sobre vigas de acero. Dependiendo
de las medidas de las vigas (longitud (w) y altura (h)), se pueden generar diferentes alternativas
de dise˜
no (ver Figura 4), cada una involucrando
nuevas variables y restricciones.
➑ ➐ ➒ ➓ ➔✷→ ➣ ↔
↕➔ ➙➛ ➐ → ➔
➍ ➎➏ ➐
cuando las dimensiones de las vigas caen en las
regiones 3 y 4 de la Figura 4.
El canto del forjado es el espacio situado entre el
techo de una planta y el suelo de la planta superior (ver Figura 3). El canto de forjado tiene con
frecuencia una altura fija, y existe una preferencia
general de situar los conductos de la ventilaci´on
por debajo de las vigas dentro del canto de forjado (falso techo) (ver Figura 3, opci´on -c-). Sin
embargo para vigas relativamente altas, donde la
altura (h) es mayor de 500mm (regi´on 4), no hay
espacio suficiente para que los conductos pasen
por debajo de las vigas, por lo que hay que perforar las vigas (Figura 3, opci´on -b-) para pasar
estos conductos de ventilaci´on.
Por u
´ltimo hay muchas maneras para conectar
una viga con otra. La conexi´on m´as econ´omica es
por medio de l´aminas simples, que son l´aminas
que se sueldan perpendicular a la viga para conectarse con otra viga o columna (ver Figura 3,
opci´on -e-). Este tipo de conexiones s´olo es apropiado para una altura de viga menor de 350mm
(regiones 0 y 1). Para alturas de viga m´as grandes,
se aconseja conexiones de a´ngulo doble (en forma
de L) (ver Figura 3, opci´on -d-) para garantizar
m´as la seguridad (regiones 2, 3 y 4).
➜➞➝ ➟✷➠ ➡ ➢✷➤ ➟✆➥✴➦t➠ ➟€➧€➨ ➩✴➟✴➫
➭✷➯ ➲ ➳ ➵ ➸ ➯ ➺ ➻ ➼ ➽
➾✴➺✌➭✴➯ ➲ ➳ ➵ ➸ ➯ ➺ ➻ ➼ ➽
Ô
Ó
Ò
Ñ
➚ ➺ ➻ ➪ ➶ ➸ ➹ ➺ ➽❵➵ ➹ ➳ ➵ ➘ ➼ ➽ ➵ ➻ ➪ ➺€➴ ➵ ➽
➘ ➯➷ ➵ ➽
➚ ➺ ➻ ➪ ➶ ➸ ➹➺ ✌
➽ ➬ ➺ ➳ ➪ ➼ ➲ ➵ ➮ ➺€➪ ➼★➴ ➵ ❵➽ ➘ ➯ ➷ ➵ ➽
➚ ➺ ➻ ➼ ➱ ➯ ➺ ➻ ➼ ➽✄➪ ➼
✃ ➻ ➷ ➶ ➴ ➺✌➪ ➺ ➲ ➴ ➼
➚ ➺ ➻ ➼ ➱ ➯ ➺ ➻ ➼ ➽✄➪ ➼€➴ ✃ ❐€➯ ➻ ➵€➽ ➯ €
❐ ➬ ➴➼
Ð
❒❮➝ ➠ ❰✴Ï✤➩✷➨ ➡ ➢✴➥t➥✴➦✆➠ ➟✌➧✠➨ ➩✴➟✤➫
② ③ ④⑤ ③ ⑥⑦ ⑧ ⑨
Figura 4. Un problema de dise˜
no presentando
varias opciones.
✴➇ ❹ ➄ ➈ ❶ ➃ ➂ ❹ ➅
✴➇ ❹ ➄ ➈ ❶ ➃ ➂ ❹ ➅ ❾ ❹ ➀ ✴➇ ❹ ➄ ❷ ❻ ❼ ❹ ➄ ❷ ➅✤➈ ❷ ✴➇ ❹ ➄ ❷ ❻ ❼ ❹ ➄ ❷ ➅✑➈ ❷
⑩ ❶ ❷ ❸ ❹✌❺ ❷ ❻ ❼ ❽ ❸ ❷✤❾ ❿ ➀ ❿✷❷ ➁ ❼ ➂ ❿ ➀
❿ ➂ ➀ ❿ ➁ ❷ ➅ ❿ ➄ ➈ ❹✄❸ ❿ ➅✑➁ ❼ ➉ ❿ ➅ ➈ ❷ ❽ ❿ ➊ ❹✌➈ ❷✷❸ ❿ ➅✑➁ ❼ ➉ ❿ ➅ ➋ ➄ ➉ ❶ ❸ ❹✄➈ ❹ ❽ ❸ ❷ ❸ ➋ ➌€❼ ➄ ❿✷➅ ❼ ➌✄❾ ❸ ❷
➁ ❼❽ ➀ ❿ ➃ ❼❹ ➄ ❷ ➅
➆❽ ➆
➆➃ ➆
➆➈ ➆
➆❷ ➆
➆❿ ➆
Figura 3. Un problema de dise˜
no presentando
varias opciones.
Cuando los sistemas de suelo se hacen cada vez
m´as delgados, las vibraciones aumentan. Esto requiere instalar refuerzos laterales para flexibilizar
el suelo (Figura 3, opci´on -a-). Este es el caso
Cuando los valores num´ericos de los par´ametros
sirven como base para tomar decisiones e influyen
en el proceso de resoluci´on completo, la identificaci´on de una sola soluci´on que satisfaga el conjunto
de restricciones es con frecuencia insuficiente. En
el ejemplo de la Figura 3, un m´etodo matem´atico tradicional (an´alisis num´erico, m´etodos aleatorios) generalmente identificar´ıa una soluci´on dentro de las regiones 0,1,2,3 y 4. Esto obliga al dise˜
nador a perder mejores alternativas de dise˜
no.
Para tales aplicaciones, es de crucial importancia proporcionar al usuario, o a otras partes del
programa, los rangos o intervalos de valores posibles tan completos y correctos como sea posible, lo cual permite tomar decisiones racionales.
En este ejemplo resulta importante la consistencia global (ver art´ıculo de introducci´on), ya que
la altura y el espacio de las vigas est´an enlazados con otras variables (espesor de la plancha del
suelo) mediante diferentes ecuaciones, incluso no
lineales. La regi´on 0 resulta ser eventualmente inconsistente con estas restricciones, pero esto no
siempre es detectable utilizando solamente t´ecnicas de consistencia local, permiti´endole as´ı al dise˜
nador seleccionar un punto dentro de la region
0 y tomar nuevas decisiones sobre las bases de
una estructura no realizable f´ısicamente.
3.
T´
ecnicas de Transformaci´
on de CSPs no binarios
3.1.
Codificaci´
on Dual
En la codificaci´on dual, las restricciones del problema original se transforman en variables del
nuevo problema y viceversa. Las variables que se
generan de las restricciones originales las llamaremos variables duales, y a las variables del problema original le llamaremos variables originales. El
dominio de cada variable dual es el conjunto de
tuplas que satisfacen la restricci´on original que la
genera. Adem´as, hay una restricci´on binaria entre dos variables duales vc y vc si y solamente si
las restricciones originales c y c comparten una o
m´as variables. Llamaremos a las nuevas restricciones binarias como restricciones duales. Las nuevas restricciones duales proh´ıben pares de tuplas
donde las variables compartidas tomen valores diferentes.
Ú✆Û
Ú★Ü
Õ Ö❵× Ö❵× Ø✷Ù★Õ Ö❵× Ø❵× Ö✷Ù✠Õ Ø✷× Ö✷× Ö✷Ù
ß ÛÛ
Õ Ö❵× Ö❵× Ø✷Ù★Õ Ø❵× Ö❵× Ö✷Ù✠Õ Ø✷× Ø✷× Ø✷Ù
Ú☛Ý
ß Ý Ûà ß ÞÞ
ß ÞÞ
ß ÞÛ
Õ Ö✷× Ö✷× Ö✷Ù✠Õ Ö✷× Ø✷× Ø❵Ù✠Õ Ø❵× Ö❵× Ø❵Ù
ß ÝÝà ß ÞÞ
Õ Ö✷× Ø✷× Ö✷Ù✠Õ ✷Ø × Ö✷× Ö❵Ù✠Õ Ø❵× Ø❵× Ö❵Ù
Õ ✷Ø × Ø✷× Ø❵Ù
Ú☛Þ
Figura 5. Ejemplo de codificaci´
on dual de un
CSP no binario.
Ejemplo. Consideremos el siguiente ejemplo, tomado de [29], con seis variables con dominios
0-1 y cuatro restricciones: x1 + x2 + x6 = 1,
x1 −x3 +x4 = 1, x4 +x5 −x6 ≥ 1 y x2 +x5 −x6 = 0.
La codificaci´on dual representa este problema con
cuatro variables duales, una para cada restricci´on.
Los dominios de estas variables duales son las tuplas que satisfacen las respectivas restricciones.
Por ejemplo, la variable dual v3 asociada a la tercera restricci´on, x4 + x5 − x6 ≥ 1, tiene como
dominio (0, 1, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1), ya que
estas son las tuplas de valores para (x4 , x5 , x6 )
que satisfacen la restricci´on. La codificaci´on dual
del problema se muestra en la Figura 5. Rij es
la restricci´on binaria sobre un par de tuplas que
se satisface si y s´olo si el i−´esimo elemento de la
primera tupla es igual al j−´esimo elemento de la
segunda tupla. Entre v3 y v4 hay una restricci´on
de compatibilidad para asegurar que las dos variables originales en com´
un, x5 y x6 tienen los mismos valores. Esta restricci´on permite solamente
aquellos pares de tuplas que concuerdan con los
elementos segundos y terceros, es decir (1, 0, 0)
para v3 y (0, 0, 0) para v4 .
3.2.
Codificaci´
on
Ocultas
de
Variables
En la codificaci´on de variables ocultas, el conjunto de variables est´a formado por todas las variables del CSP no binario original m´as un nuevo
conjunto de variables duales que llamaremos variables ocultas. Al igual que la codificaci´on dual,
cada variable oculta vc corresponde a una restricci´on en el problema original. De nuevo, el dominio
de cada variable oculta consta de las tuplas que
satisfacen la restricci´on original. Para cada variable oculta vc , hay una restricci´on binaria entre la
variable vc y cada una de las variables originales
xi que est´an involucradas en la correspondiente
restricci´on original c. Cada restricci´on especifica
que la tupla asignada a vc es consistente con el
valor asignado a xi .
Considerando de nuevo el ejemplo anterior, donde el problema consta de seis variables y cuatro restricciones no binarias. En la codificaci´on
de variables ocultas hay, adem´as de las seis variables originales 0-1, cuatro variables duales con los
mismos dominios que en la codificaci´on dual. Por
ejemplo, la variable dual asociada con la tercera
restricci´on x4 + x5 − x6 ≥ 1, tiene como dominio
(0, 1, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1).
æ✄ç
æ✴è
á â✑ã â✑ã ä å✷á â✑ã ä ã â å❵á ä ã â ã â✑å
ëç
î✄ç
âìä
ëç
ëê
ëé
î✴é
á â ã â✑ã â å✷á â✑ã ä ã ä å✷á ä ã â ã ä å
âìä
ëé
ëç
âìä
î✷ê
ëê
î✴è
âíä
ëé
î✷ï
ëç
á â✑ã â✑ã ä å✷á ä ã â✑ã â å❵á ä ã ä ã ä å
æ✴é
ëê
âìä
ëé
î✷ð
âìä
ëê
á â ã ä ã â å✷á ä ã â ã â✑å✷á ä ã ä ã â å
á äã äãäå
æ✷ê
Figura 6. Ejemplo de codificaci´
on de variables
ocultas de un CSP no binario.
Adem´as ahora hay restricciones de compatibilidad entre v3 y x4 , entre v3 y x5 y entre v3 y x6 ,
ya que estas son las variables que est´an involucradas en la tercera restricci´on. La codificaci´on
de variables ocultas de este problema se muestra
en la Figura 6. La restricci´on binaria ri act´
ua sobre una tupla y un valor, dando verdadero si y
s´olo si el elemento i−´esimo de la tupla es igual
al del valor. Por ejemplo, la restricci´on de compatibilidad r1 entre v3 y x4 es cierta si y s´olo si
el primer elemento de la tupla asignada a v3 es
igual al valor de x4 .
3.3.
Codificaci´
on Doble
En [29] se propone una codificaci´on llamada codificaci´
on doble en la cual se mezclan tanto la
codificaci´on dual como la codificaci´on de variables ocultas. Al igual que la codificaci´on de variables ocultas, la codificaci´on doble tiene tanto
variables originales como variables duales (ocultas). Adem´as se mantienen ambos tipos de restricciones: las restricciones entre variables duales,
(como en la codificaci´on dual), y las restricciones
entre variables duales y variables originales, (como en la codificaci´on de variables ocultas). En la
codificaci´on doble, se tiene una poda extra de la
alcanzada en la codificaci´on dual. Adem´as se puede ramificar sobre las variables originales como en
la codificaci´on de las variables ocultas, mediante
heur´ısticas de ramificaci´on que pueden ser capaces de comportarse mejor sobre estas variables
que sobre las duales que pueden tener potencialmente grandes dominios.
Dado el grafo de restricciones correspondiente a
la codificaci´on de variables ocultas, se seleccionan
los caminos de longitud 2 entre cada par de variables duales vc y vc . Estos caminos se eliminan
(si no forman parte de otro camino) y se reemplazan por una restricci´on formada por la composici´on de las relaciones de los arcos borrados.
Cuando alguna de las variables originales se queda aislada del resto en el grafo de restricciones
o conectada con s´olo una variable dual, se puede
eliminar con seguridad. Aplicando estas transformaciones de simplificaci´on a cada par de variables
duales, transformar´ıamos la codificaci´on de variables ocultas en la codificaci´on dual. Sin embargo
a veces resulta conveniente quedarse en un punto
intermedio de manera que se pueda aprovechar
las ventajas de cada codificaci´on.
Figura 7. Paso intermedio entre codificaci´
on
de variables ocultas y codificaci´
on dual de un
CSP no binario.
Por ejemplo, consideremos la codificaci´on de variables ocultas de la Figura 6. Tomemos el par de
variables duales v2 y v3 . La variable x4 es la u
´nica
variable que enlaza, como camino de longitud 2,
las variables v2 y v3 . Se eliminan las restricciones
r3 y r1 que conectan con x4 y se a˜
nade una nueva relaci´on R31 que es la composici´on de las dos
relaciones r3 y r1 . Como x4 se queda aislada del
resto del grafo, se elimina sin mas. A continuaci´on tomamos otro par de variables duales, por
ejemplo v1 y v4 . Hay dos caminos de longitud dos
entre v1 y v4 . El camino entre v1 y v4 v´ıa x2 tiene las restricciones r2 y r1 , por lo que induce una
restricci´on R21 entre v1 y v4 elimin´andose el camino anterior. De la misma manera el camino entre
v1 y v4 v´ıa x6 ten´ıa ambas restricciones etiquetadas como r3 , por lo que induce una restricci´on
R33 entre v1 y v4 . En este caso no se elimina el
camino anterior porque sus arcos forman parte
de otros caminos. Por lo tanto la restricci´on inducida entre las variables v1 y v4 ser´a la uni´on
de ambas R21 &R33 . As´ı ahora podemos borrar la
variable x2 y tambi´en la variable x3 ya que s´olo
est´a conectada con una variable dual v2 . Hasta
este momento el grafo de restricciones resultante
es el que se muestra en la Figura 7.
3.4.
Inconvenientes
La transformaci´on de un problema no binario en
uno binario no est´a en absoluto exento de inconvenientes, ya que en muchos casos las restricciones
n−arias pierden una parte crucial de su claridad
expresiva cuando se traslada a conjuntos de restricciones binarias. Adem´as, la eficiencia de transformar restricciones no binarias en binarias no se
ha estudiado adecuadamente. En la pr´actica, esta transformaci´on puede ser poco eficiente debido
a su alto coste computacional haciendo que con
frecuencia esta transformaci´on sea impracticable
[12, 4]. El proceso de transformaci´on genera nuevas variables, las cuales pueden tener dominios
muy grandes, causando unos requerimientos de
memoria extra para los algoritmos que lo resuelven. Por ello, en algunos casos, resolver el problema binarizado puede resultar muy ineficiente [2].
Adem´as, esta binarizaci´on forzada puede generar
una formulaci´on poco natural causando unas dificultades extras para las interfaces de los resolvedores de restricciones con el usuario humano [5].
Por ejemplo un serio inconveniente de estas transformaciones es que si las restricciones no binarias est´an representadas impl´ıcitamente, las codificaciones anteriores podr´ıan tener una complejidad exponencial tanto en espacio como en tiempo. Por ejemplo, si una restricci´on no binaria sobre x1 , ..., xn se representa mediante una funci´on
f (x1 , ..., xn ), la cual devuelve verdadero si la asignaci´on de las variables satisfacen la restricci´on,
en la codificaci´on dual (oculta), cada tupla consistente en una restricci´on se transforma en un
valor del dominio de la correspondiente variable
dual (oculta). Esto puede llevar consigo un n´
umero exponencial de pasos para encontrar esas tuplas as´ı como una cantidad exponencial de espacio
para almacenar estas tuplas en el dominio de la
variable dual (oculta).
3.5.
Transformaci´
on a restricciones
ternarias
Es conveniente en CSPs num´ericos transformar
las restricciones n−arias en restricciones ternarias
de forma que se mejore la eficiencia de los algoritmos de consistencia como 2-consistencia [7, 9],
2B-consistencia, 3B-consistencia [13] y consistencia (k, k − 1)-relacional [26] donde k es la aridad
de las restricciones.
En general, cualquier expresi´on matem´atica cons-
truida mediante operadores unarios y binarios
puede reescribirse de forma ternaria introduciendo una variable auxiliar para cada resultado intermediario generado mediante un operador binario.
Este m´etodo genera muchas variables auxiliares.
Por lo tanto no se han generado algoritmos pr´acticos para llevar a cabo la tarea de transformaci´on
de un CSP num´erico en uno ternario de forma
autom´atica, por lo que esta transformaci´on se lleva a cabo con frecuencia a mano [14].
Los algoritmos de consistencia mencionados anteriormente dependen fundamentalmente del n´
umero de variables del CSP, por lo que es necesario el
uso de algoritmos que durante la transformaci´on
generen pocas variables auxiliares. Por la misma
raz´on, es interesante comprobar la posibilidad de
eliminar variables innecesarias del CSP original,
ya que muchas veces, cuando se formaliza un problema se utilizan variables intermediarias y constantes para hacer el CSP m´as legible y reutilizable. Sin embargo, cuando se trata de obtener la
consistencia del problema, puede ser beneficioso
la eliminaci´on de tales variables.
En [26] se demuestra que para un CSP de aridad k, d´andose ciertas restricciones de convexidad parcial, la consistencia (k, k − 1)−relacional
es equivalente a la consistencia global, es decir
todas las soluciones se pueden encontrar sin la
necesidad de backtracking. Forzar la consistencia (k, k − 1)−relacional requiere un algoritmo de
complejidad O(n2k−1 ) donde n es el n´
umero de
variables del CSP. Debido a que esta complejidad
es exponencial en k, transformar un CSP num´erico en uno de baja aridad antes de llevar a cabo
la consistencia (k, k − 1)−relacional tiene la posibilidad de acelerar el c´alculo.
En [14], Lottaz presenta un m´etodo para transformar los CSPs num´ericos en t´erminos de restricciones ternarias introduciendo variables auxiliares. Veamos a continuaci´on la forma en la que
propone llevar a cabo esta transformaci´on.
Los CSPs num´ericos cuyas restricciones son expresiones matem´aticas que utilizan operadores
unarios y binarios pueden transformarse en restricciones de baja aridad introduciendo variables
auxiliares para los resultados intermediarios de
todos los operadores binarios de una restricci´on.
En la Figura 8 podemos observar como una restricci´on 5-aria se transforma en un conjunto de
restricciones ternarias.
+
+
−
+
≤
=
+
+
−
=
+
≤
+
−
+
≤
Figura 8. Transformaci´
on de una restricci´
on
5-aria en ternarias.
As´ı la aridad de las restricciones se puede reducir a tres a cambio de incrementar el n´
umero de
variables (variables auxiliares) y de restricciones
(las definiciones de variables auxiliares). Una restricci´on que define una variable auxiliar que actualmente ayuda a reducir la aridad de otra restricci´on tiene al menos aridad tres. En caso contrario, la variable auxiliar reemplazar´ıa una expresi´on que depende solamente de una variable
por una nueva variable, por lo que no reducir´ıa
la aridad de ninguna restricci´on. De esta manera,
un CSP num´erico transformado de esta manera
que hemos resumido puede reducirse reemplazando operadores binarios por variables auxiliares.
Por lo tanto, por un lado, decrementando la aridad del CSP antes de llevar a cabo la consistencia
(k, k − 1)−relacional reduce la complejidad computacional y por el otro lado hay un intercambio entre decrementar la aridad e incrementar el
n´
umero de variables del CSP para alcanzar una
aridad menor. De esta manera para decidir si merece la pena transformar el CSP en uno de aridad
menor, tenemos que estimar el n´
umero de variables que se crear´an en la transformaci´on. Teniendo en cuenta que la complejidad computacional
de la consistencia (k, k − 1)−relacional es exponencial con respecto a k, el autor solamente considera el caso cuando la aridad se reduce al m´aximo,
es decir, a tres.
En el peor caso, transformar un CSP num´erico de aridad k > 3 en forma ternaria requiere la adici´on de O(m) variables auxiliares, donde m es el n´
umero de operadores binarios en el
CSP. En este caso la complejidad O((n+m)5 ) para la consistencia (3, 2)−relacional sobre el conjunto de restricciones transformadas se compara
con la complejidad O(n2k−1 ) para la consistencia
(k, k − 1)−relacional del CSP original. En problemas pr´acticos la influencia exponencial de k
puede ser que tenga un peso mucho mayor que la
influencia polinomial de m.
Dado que cualquier CSP num´erico especificado
mediante expresiones matem´aticas con operadores unarios y binarios puede ser transformado en
un CSP ternario, se han generado varios algoritmos de consistencia para CSP num´ericos con restricciones ternarias [7, 9, 13].
4.
CSPs no binarios con dominios continuos
Como ya hemos apuntado, la mayor´ıa de la investigaci´on realizada se ha centrado en problemas
binarios debido principalmente a la sencillez que
supone comparado con las no binarias y por la posibilidad de transformaci´on a uno binario equivalente [21]. Adem´as cuando se manejan las restricciones en su formulaci´on original (no binarias) y
´estas son restricciones globales, la complejidad se
incrementa sustancialmente, e incluso se pueden
hacer impracticable los algoritmos de preproceso
que vimos en el cap´ıtulo de introducci´on, para alcanzar ciertos niveles de consistencia. Adem´as, en
muchas aplicaciones reales se intenta extraer del
CSP la m´axima informaci´on posible, por lo que
no es suficiente obtener la consistencia del problema, sino que a veces es interesante obtener cierta
informaci´on sobre las soluciones del CSP, los dominios m´ınimos de ciertas variables del problema,
etc.
En esta secci´on presentamos un algoritmo para
la resoluci´on de CSPs no binarios sobre dominios continuos que obtiene adem´as la consistencia global del problema. Este algoritmo lo llamaremos HSA [23, 25] (Hyper-polyhedron Search Algorithm) o Algoritmo de B´
usqueda Hiperpoli´edrica, debido a que el algoritmo lleva a cabo
su ejecuci´on mediante un hiper-poliedro o pol´ıtopo. Este algoritmo lo podemos considerar como
un resolutor de CSPs num´ericos, ya que los dominios de las variables son intervalos en R y las
restricciones se representan como expresiones matem´aticas. El objetivo de este algoritmo no se centra solamente en la obtenci´on de la consistencia
global del problema sino que trata de alcanzar los
objetivos antes comentados para obtener la m´axima informaci´on posible del problema.
A grandes rasgos este algoritmo trabaja de la
siguiente manera: dados los dominios de las variables, el algoritmo genera un pol´ıtopo a partir
del producto cartesiano de dichos dominios. Este
pol´ıtopo convexo mantendr´a en todo momento el
conjunto de soluciones del problema, y se ir´a actualizando a medida que las restricciones no binarias van siendo analizadas.
4.1.
Especificaci´
on general de HSA
HSA lo consideramos inicialmente como un resolvedor o resolutor de CSPs est´atico, donde hay un
conjunto inicial de restricciones que la soluci´on
debe de satisfacer. En la Figura 9 se presenta el
comportamiento general de HSA. Este esquema
se divide en cuatro pasos: generaci´on del pol´ıtopo; estudio de la consistencia con las restricciones de inigualdad; actualizaci´on del pol´ıtopo; y
estudio de la consistencia con las restricciones de
desigualdad.
✆✌ü ✝
✒✔✓ ✕ ✖ ✗ ✘ ✙ ✙ ✘ ✚ ✛ ✓ ✕
✘✛ ✘✜ ✢ ✣ ✤✥ ✣ ✥
ö ø ö ü ù ó✄ú ô ✞✠✟€ô ò ö ô ✡ ú ó
✍☛✏ ☞ ☛
✎✑
☛✌
✞
ñ ü ø ✞ö✞þó ø þó
★
✂✁
û òü ✡ úó ✝ ô
ø ü õ ü ø ✞ ö✞þó ø þó
ñ✷ò ó ô õ ö ÷ ø✠ù ó ú
û✤ü ú ý þ ü ÿ ü
✄☎
✦ ó ù ✧ ★ø ù ô ø þ ó
✄☎
✩€õ þ ✧ ô ú ö ✪ ô õ ö ÷ ø✠ù ó ú
✂✁
û✤ü ú ý þ ü ÿ ü
ñ ü ø ✞ ö ✞ þ ó ø õ ö ô✄õ ü ø
✦ ó ✞ þ ò ö õ õ ö ü ø ó ✞✠✴ ✵
ñ ü ø ✞ö✞þó ø õ öô
✫ ✬✆€øü ✝ô ü✮ö ø ✭ ö ü ô ✞✠ò ö ✰✆ô ✞✔ý ✯ø üö ✝★ú ✧ ü õ ✞ ö ü ø ó ✞
✫ ✧ ø õ ö ÷ ø✲✰✂✧ ú þ ö ü ✡ ✳ ó þ ö ✭ ü
✫✱
✫
✫
Figura 9. Especificaci´
on Gr´
afica de HSA.
El paso 1 siempre se lleva a cabo en todos los
CSPs. El paso 2 y 4 se llevan a cabo cuando existen restricciones de inigualdad y de desigualdad
respectivamente. El paso 3 se lleva a cabo cuando la restricci´on en estudio es consistente y no
redundante.
HSA genera un pol´ıtopo inicial (P aso 1) mediante el producto cartesiano de los l´ımites de los
dominios de las variables (D1 × D2 × ... × Dn )
cuyos v´ertices son: v1 = (l1 , l2 , ..., ln ), ..., vi =
(l1 , l2 , ..., lj , uj+1 , ..., un ),..., v2n = (u1 , u2 , ..., un ).
Estos v´ertices se almacenan en una lista llamada
ListV . Una vez generado el pol´ıtopo, HSA pasa
a estudiar la consistencia de las restricciones del
problema. Para ello, HSA analiza primero las restricciones de inigualdad (≤) y a continuaci´on si
el problema es consistente, estudia las restricciones de desigualdad (=). Para cada restricci´on de
inigualdad, HSA lleva a cabo la comprobaci´on de
la consistencia (P aso 2). Para ello, el algoritmo
comprueba si los v´ertices del poliedro satisfacen
la restricci´on en estudio, almacenando los v´ertices
factibles en una lista auxiliar llamada Lsi y los no
factibles en una lista llamada Lno . Si al menos un
v´ertice es consistente, es decir Lyes = φ, entonces
la restricci´on es consistente. Si la restricci´on de inigualdad no es consistente, es decir Lyes = φ, entonces HSA devuelve ’problema no consistente’ y
finaliza la ejecuci´on. Sin embargo si la restricci´on
es consistente, HSA estudia si la restricci´on es o
no redundante, actualizando el pol´ıtopo (P aso 3)
en el caso de que no lo fuera (Lno = φ). La actualizaci´on s´olo se lleva a cabo cuando la restricci´on
es consistente y no redundante, ya que es cuando
u
´nicamente la inigualdad intersecta al pol´ıtopo
actual. Cuando todas las restricciones de inigualdad se han analizado y el problema es consistente,
se lleva a cabo la comprobaci´on de la consistencia
con las restricciones de desigualdad (P aso 4). En
este caso el pol´ıtopo no se actualiza, ya que las
restricciones de desigualdad son hiperplanos que
pueden intersectar o no al poliedro, pero a lo sumo s´olo eliminan del pol´ıtopo un hiperplano, por
lo que hay que estudiar las consecuencias de dicha
intersecci´on [24].
Una vez finalizada la comprobaci´on de la consistencia de las restricciones de inigualdad y de desigualdad, HSA devuelve al usuario informaci´on
relevante para el usuario como la consistencia del
problema, una, varias o las soluciones extremas
del problema, los dominios m´ınimos de las variables, etc.
Adem´as, cuando HSA finaliza su comportamiento
est´atico, como cl´asico resolvedor de CSPs, donde
s´olo se han estudiado las restricciones de entrada
del problema, HSA puede estudiar la consistencia de nuevas restricciones que se inserten en el
problema de forma incremental. Este estudio de
la consistencia de las nuevas restricciones se lleva
a cabo sin la necesidad de iniciar todo el proceso
de nuevo, ya que tan s´olo se estudia la consistencia de las nuevas restricciones insertadas con el
pol´ıtopo resultante en la etapa de CSP cl´asico.
Teorema El algoritmo HSA es un algoritmo completo y correcto [22].
La complejidad espacial de HSA viene dada por
la siguiente expresi´on:
O(max{2n , nc≤ , c2≤ }) ≡ O(2n )
La complejidad temporal es:
O(2n ) + c≤ · O(2n ) + c= · O(2n ) ≡ O(2n ).
5.
Aplicaci´
on al an´
alisis ROC
En esta secci´on vamos a presentar el planteamiento general de un problema de decisi´on que final-
mente se modela como un CSP no binario sobre
dominios continuos. Esto ocurre en muchos problemas reales donde hay que tomar decisiones para llevar a cabo una acci´on u otra. Para ello se
utilizan los llamados clasificadores, que hacen predicciones sobre dichas decisiones utilizando para
ello experiencias previas. Sin embargo, debido a
que las predicciones pueden ser err´oneas, es importante conocer cual es su efecto, cuando ´estas
son incorrectas. En muchas situaciones los errores tienen distintas consecuencias. Algunos errores tienen unos costes m´as elevados que otros,
especialmente en el campo de la diagnosis. Por
ejemplo, un tratamiento o diagnosis err´oneo puede tener diferentes costes y peligros dependiendo
del tipo de error que se ha producido. Obviamente, los costes de cada clasificaci´on err´onea son dependientes del problema, pero casi nunca se da el
caso de que ellos sean uniformes para un solo problema. Consecuentemente, la precisi´on o el error
no es generalmente la mejor manera para evaluar
la calidad de un clasificador o de un algoritmo de
aprendizaje.
El aprendizaje sensible al coste es una generalizaci´on m´as realista del aprendizaje predictivo, y
los modelos sensibles al coste permiten una mejor toma de decisiones. La calidad de un modelo se mide en t´erminos de minimizaci´on de coste
m´as que en t´erminos de minimizaci´on de errores.
Cuando se proporcionan a priori las matrices de
coste, es decir, antes de que el aprendizaje tenga
lugar, las matrices tienen que explotarse completamente para obtener modelos que minimicen el
coste. Sin embargo, en muchas circunstancias, los
costes no son conocidos a priori o los modelos
ya est´an seleccionados. El an´alisis ROC (Receiver Operating Characteristic) [19, 30, 20] ha demostrado ser muy u
´til para la evaluaci´on de los
clasificadores cuando la matriz de coste no era
conocida en la construcci´on de los clasificadores.
El an´alisis ROC proporciona herramientas para
seleccionar un conjunto de clasificadores que se
comportar´ıan o´ptimamente y para rechazar algunos otros clasificadores menos u
´tiles. Para hacer
esto, se construye la envoltura convexa de todos
los clasificadores, dando una curva que junto a
los ejes genera un pol´ıtopo convexo. esto se puede realizar de manera sencilla para clasificadores
binarios (2 clases) pero hasta el momento no se ha
presentado una soluci´on para m´as de dos clases.
Como veremos, el an´alisis ROC puede ser modelado como un CSP num´erico y no binario que
puede ser resuelto por el algoritmo completo HSA
mientras que es dif´ıcil resolverlo mediante los re-
solutores tradicionales debido a que estos trabajan principalmente con problemas discretos y con
restricciones binarias donde su objetivo se centra
en el estudio de la consistencia y en la obtenci´on
de una o varias soluciones del problema. Sin embargo en el problema que estamos considerando,
se necesitan obtener el espacio de soluciones factible y esto lo consigue HSA mediante la obtenci´on
de todas las soluciones extremas que se necesitan
para obtener el hiper-poliedro resultante y obtener as´ı el volumen que ocupa la envoltura convexa
del espacio ROC de clasificadores de n clases pudiendo ser n > 2 [8].
5.1.
Utilizaci´
on de HSA para la obtenci´
on de pol´ıtopos ROC
En esta secci´on, presentamos la aplicabilidad que
tiene el algoritmo completo HSA para llevar a cabo la extensi´on real del a´rea bajo la curva ROC
(Area Under the Curve, AUC) al volumen bajo
la superficie ROC que llamaremos VUS (Volume
Under ROC Surface), mostrando c´omo generar el
hiper-poliedro que englobe a todos los clasificadores. Adem´as compararemos el VUS real obtenido
mediante HSA con aproximaciones o extensiones
de la AUC para m´as de dos clases.
El an´alisis ROC y la medida AUC se han usado
exhaustivamente en el a´mbito de la toma de decisiones en medicina [11, 17], as´ı como en el a´rea
de la extracci´on de conocimiento, en las herramientas de miner´ıa de datos, el reconocimiento
de patrones [1] o la ciencia en general [30].
En el caso trivial, un clasificador de dos clases
forma una curva ROC compuesta por cuatro segmentos que se generan con los siguientes puntos
(ver Figura 10): el punto dado por el clasificador
(0.46,0.32) que proviene de los errores de clasificar como a cuando realmente es b (a → b) y de
clasificar como b cuando realmente es a (b → a),
los dos puntos que representan los clasificadores
triviales (es decir, el clasificador que siempre predice la clase 0 y el clasificador que siempre predice
la clase 1) y el punto origen. En la Figura 10 presentamos de forma general la representaci´on de
un clasificador con dos clases, donde posteriormente explicaremos el significado de los pol´ıgonos
generados. Estos pol´ıgonos generan un a´rea que
puede ser calculada y que l´ogicamente variar´a entre 0.5 (´area m´ınima) y 1 (´area m´axima). El a´rea
del pol´ıgono superior, que hemos llamado AUC,
se ha convertido en una mejor alternativa que la
precisi´on o el error para evaluar clasificadores, ya
que obtiene la bondad de un clasificador para diferentes distribuciones de las clases.
❣❤❞✐
❞❢❡
❵❛ qr
❜❭ ❜❭
❥ ❦ ❤ ❧ ♠ ♥ ♠ ♦ ♣ ❞❡
s t ✉ ✈ ✇ ①②③ ✇ ④ ②⑤ ⑥ ✉ ⑦ ✇ ① ⑧ t ✉ ④ t ①⑨ ✈ ⑥ ✇ ⑩
❥ ❦ ❤ ❧ ♠ ♥ ♠ ♦ ♣ ❞❡
❣ ❤❞✐
❞❢❡
❭ ❪ ❫ ❴ ❭ ❪❵ ❫
❭ ❪❛ ❜ ❭ ❪❝ ❵
✾ ✶ ✶✔■ ❏ ■ ❶●❷ ◆ ❑ ◗ ❨ ▲ ■ ❚ ❘ ◗ ❘ ❸ ❹ ❺ ✶ ✷ ✻ ❻
❬
▼ ◆ € ◗ ❘❙ ❘❚ € ❯ ❑ ▲ ❱ ▲ ❘❲ ❘ € ◆
❳✶ ❨✾ ❩
✾
El a´rea bajo la curva ROC (AUC) se calcula con los cuatro puntos necesarios para generar el pol´ıgono en clasificadores de
dos clases. En cambio, para tres clases, se
transforma en el volumen bajo la superficie
(VUS) de un hiper-poliedro de 6 dimensiones del cual se necesitan todos los puntos
extremos para dicho c´alculo. Pasemos, en
primer lugar, a calcular el volumen m´aximo
y m´ınimo.
▼❖◆ € ◗ ❬ ❘ ❙■ ❘ ❚❑ € ▲ ❯ ❑ ▲
✶ ✷✽
❀❂❁❄❃❆❅❈❇✔❉ ❊●❋
✶ ✷✻
▼❖◆ € ◗ ❘ ❙ ❘ ❚ € ❯ ❑ ▲
✶ ✷✺
✶ ✷✸
✶ ✶
✔
❍
■
▼❖◆ € ◗ ❘ ❙ ❘ ❏❚ ❑ € ▲ ❯
❑▲
✶ ✷ ✸✹✶ ✷ ✺✹✶ ✷ ✻✼✶ ✷ ✽✿✾
▼❖◆ € ◗ ❘ ❙ ❘ ❚ € ❯ ❑ ▲ ❱ ▲ ❘ ❲ ❘ € ◆
❳ ✾ ❨✶ ❩
Figura 10. Representaci´
on de un clasificador
con dos clases.
Sin embargo, la aplicabilidad del an´alisis ROC y
del AUC solamente se ha mostrado viable para
problemas con dos clases. Aunque te´oricamente
el an´alisis ROC puede extenderse para manejar
problemas multi-dimensionales [28], sin embargo
en la pr´actica no se ha podido utilizar debido a
la dificultad de la formulaci´on de los clasificadores triviales. El principal inconveniente es la alta
dimensionalidad.
5.2.
Volumen m´
aximo bajo la superficie (VUS) para tres clases
El volumen m´aximo deber´ıa representar todos los
posibles clasificadores.
Para obtener todos los posibles clasificadores, deberemos resolver el siguiente CSP continuo:
Variables: x1 , x2 , x3 , x4 , x5 , x6 ;
Dominios continuos: xi ∈ [0, 1], ∀i : 1..,6;
Restricciones:
• x3 + x5 ≤ 1;
• x1 + x6 ≤ 1;
No obstante, a pesar de la dificultad, vamos a ver
que es posible llevar a cabo el an´alisis ROC para m´as de dos clases y el c´alculo de la AUC o,
m´as precisamente, el volumen bajo la superficie
ROC (VUS). Sin embargo, en la literatura, tanto
los clasificadores triviales para m´as de dos clases,
como el volumen m´ınimo y m´aximo no se han
identificado hasta la fecha.
En esta secci´on resumimos la forma de calcular los
clasificadores triviales, y el VUS m´ınimo y m´aximo para clasificadores de m´as de dos clases. Nosotros compararemos experimentalmente el VUS
real obtenido utilizando el algoritmo HSA, con
las extensiones de AUC obtenidas por Hand&Till
[10].
Veamos a continuaci´on las equivalencias que se
generan cuando pasamos del estudio de clasificadores de dos clases a tres clases:
El pol´ıgono generado bajo la curva ROC de
los clasificadores de dos clases, se transforma en un hiper-poliedro de 6 dimensiones
para los clasificadores de tres clases, por lo
que su visi´on gr´afica se hace imposible.
• x2 + x4 ≤ 1;
Un punto dentro del hiper-poliedro resultante representa a un clasificador con tres clases.
Dados 6 valores bajo una distribuci´on uniforme
entre 0 y 1, representado por U(0,1), tenemos que
la probabilidad de que un punto formado por estos 6 valores satisfaga las tres restricciones anteriores es:
V U S max = P (U (0, 1) + U (0, 1) ≤ 1) · P (U (0, 1) +
U (0, 1) ≤ 1) · P (U (0, 1) + U (0, 1) ≤ 1) =
P (U (0, 1) + U (0, 1) ≤ 1)3 .
Es f´acil ver que la probabilidad de que la suma de
dos n´
umeros aleatorios bajo la distribuci´on uniforme U(0,1) sea menor que 1 es exactamente 1/2,
es decir,
P (U (0, 1) + U (0, 1) ≤ 1) = 1/2
Por lo tanto, el volumen m´aximo te´orico es:
V U S max = (1/2)3 = 1/8
Sin embargo, ¿cu´ales son los puntos cuya envoltura convexa componen este volumen?
Para ello resolvemos el CSP continuo anterior mediante el algoritmo HSA obteniendo 41 puntos
extremos, donde el volumen que genera la envoltura convexa de estos 41 puntos, utilizando Qhull
[3], es 1/8, tal y como hemos visto te´oricamente
(Vease tambi´en [8]).
5.3.
De esta manera el CSP no binario y continuo que
deberemos resolver mediante el algoritmo HSA es
el siguiente:
Variables: x1 , x2 , x3 , x4 , x5 , x6 , r1 , r2 , r3 ;
Dominios continuos: xi ∈ [0, 1], i : 1.,6 y
rj ∈ [0, 1], j = 1, 2, 3;
Volumen m´ınimo bajo la superficie (VUS) para tres clases
Restricciones:
• x3 + x5 ≤ 1
Veamos la manera de obtener el VUS m´ınimo. Sin
p´erdida de generalidad podemos construir clasificadores triviales como se muestra en la Figura 11
(izquierda), donde ha + hb + hc = 1.
Figura 11. Clasificador trivial y clasificador
cualquiera.
Esto, obviamente incluye los tres clasificadores
triviales extremos: ’todo es a’, ’todo es b’ y ’todo
es c’.
Dado un clasificador cualquiera como el mostrado en la Figura 11 (derecha), nosotros podemos
descartar este clasificador si y s´olo si:
• x1 + x6 ≤ 1
• x2 + x4 ≤ 1
• r1 + r2 + r3 ≥ 1, donde r1 =
min(x1 , x2 ), r2 = min(x3 , x4 ) y r3 =
min(x5 , x6 )
Este CSP no binario se resuelve mediante HSA,
obteniendo 25 puntos, donde el volumen que genera la envoltura convexa de estos 25 puntos es
1/180, coincidiendo con el que experimentalmente obtenemos mediante el m´etodo de Monte Carlo
[8].
Resumiendo, tenemos el siguiente VUS para tres
clases:
max
V US
V U S min
5.4.
Te´orico
1/8
1/180
Monte Carlo
0.12483
0.555523
HSA
0.125
0.55555
Clasificadores Triviales
∃ha , hb , hc ∈ R+ : ha + hb + hc = 1 y adem´as
vba ≥ ha ; vca ≥ ha ; vab ≥ hb ; vcb ≥ hb ; vac ≥ hc ;
vbc ≥ hc
De aqu´ı podemos derivar el siguiente teorema [8]:
Teorema. Un clasificador (x1 , x2 , x3 , x4 , x5 , x6 )
se puede descartar si y s´olo si r1 + r2 + r3 ≥ 1,
donde r1 = min(x1 , x2 ), r2 = min(x3 , x4 ) y
r3 = min(x5 , x6 )
Con las propiedades previas, nosotros solamente tenemos que calcular el espacio de aquellos
clasificadores que cumplen la condici´on de que
r1 + r2 + r3 ≥ 1, donde r1 = min(x1 , x2 ), r2 =
min(x3 , x4 ) y r3 = min(x5 , x6 ), para as´ı obtener
el volumen m´ınimo correspondiente a la ausencia
total de informaci´on.
A pesar de los buenos resultados obtenidos, parece intuitivo (o al menos as´ı ocurre en clasificadores con dos clases) que si cogemos el m´ınimo y le
a˜
nadimos el punto origen (el mejor clasificador)
deber´ıamos obtener el m´aximo. Sin embargo esto
no ocurre, ya que con el m´ınimo obtenido con un
volumen de 1/180 y a˜
nadiendo el (0,0,0,0,0,0) obtenemos 10 puntos con un volumen de 1/120 que
es muy inferior al 1/8 obtenido como m´aximo.
Esto parece contradictorio, ya que se supone que
tener el mejor clasificador dar´ıa el m´aximo. L´ogicamente si se tiene un clasificador (0,0,0,0,0,0),
cualquier clasificador que tenga un valor mayor
de 0 para cualquier coordenada es descartable y,
l´ogicamente, esto deber´ıa dar 1/8.
La cuesti´on es que cuando se a˜
nade un clasificador deber´ıamos ver las condiciones que forma. El
clasificador perfecto genera las ecuaciones de descarte xi ≥ 0, ∀i = 1.,6, que son ecuaciones nulas,
ya que las variables est´an acotadas en dominios
[0, 1].
De esta manera dado un clasificador C1 , nos podemos plantear la siguiente pregunta ¿qu´e podemos
descartar?
Podremos descartar cualquier clasificador C2 tal
que supere a C1 combinado con los triviales, es
decir, que C2 tenga cada valor mayor en cada una
de las casillas.
En realidad lo que tenemos que mirar es la combinaci´on lineal de los tres triviales con el que tenemos:
ha · (1, 1, 0, 0, 0, 0) + hb · (0, 0, 1, 1, 0, 0) + hc ·
(0, 0, 0, 0, 1, 1)+ hd · (zba , zca , zab , zcb , zac , zbc )
que lo podemos descartar si:
∃ha , hb , hc , hd ∈ R+ : ha + hb + hc + hd = 1
y adem´as
vba ≥ ha + 0 + 0 + hd · zba
vca ≥ ha + 0 + 0 + hd · zca
(0,0,0,0,0,0)
(1,1,1,0,0,0)
(0.5,0.5,0,0,0,0)
(0.5,0,0.5,0,0,0)
(0.7,0.7,0.7,0,0,0)
(0.33,0,0.33,0,0,0)
6.
MC
0.125
0.005
0.032
0.032
0.007
0.052
HSA
0.125
0.005
0.034
0.031
0.008
0.052
MAC
1
0
0.666
0.666
0.25
0.777
TRIV
1
0.333
0.666
0.666
0.25
0.777
Conclusiones
Gran parte de los problemas de satisfacci´on de
restricciones se pueden modelar de forma natural
como problemas de satisfacci´on de restricciones
no binarias. Sin embargo, los investigadores centran su atenci´on en los CSPs binarios, por el hecho de que todo CSP no binario se puede transformar en uno binario. Las codificaciones dual y de
variables ocultas son los dos m´etodos m´as importantes para transformar las restricciones no binarias en binarias en los CSPs discretos. En el caso
de CSPs num´ericos la transformaci´on de restricciones no binarias a ternarias es la t´ecnica m´as
utilizada. Estas t´ecnicas de transformaci´on son
muy u
´tiles en determinados problemas, ya que
tienen un coste relativamente bajo, y se pueden
utilizar todas las herramientas existentes para el
manejo de CSPs binarios. Sin embargo en determinados casos, estas t´ecnicas de transformaci´on
no son v´alidas o se vuelven ineficientes.
vab ≥ 0 + hb + 0 + hd · zab
vcb ≥ 0 + hb + 0 + hd · zcb
vac ≥ 0 + 0 + hc + hd · zac
vbc ≥ 0 + 0 + hc + hd · zbc
Esto da lugar a un CSP no binario y continuo con
10 inc´ognitas que deberemos resolver mediante el
algoritmo HSA.
Del resultado obtenido, nos quedamos con las 6
variables de todos los puntos obtenidos, pudiendo calcular el volumen que genera la envoltura
convexa de todos ellos.
Veamos a continuaci´on una tabla comparativa, en
la que evaluamos, para distintos ejemplos, nuestra herramienta llamada HSA+QHULL (HSA),
con otras aproximaciones al VUS como Macroaverage (MAC), 1-P Trivial (TRIV), y el m´etodo
experimental que se gener´o mediante el m´etodo
de Monte Carlo (MC).
Por lo tanto a veces es conveniente resolver el
problema en su formulaci´on original, manteniendo as´ı toda la expresividad propia del problema.
En este trabajo hemos presentado adem´as un algoritmo llamado HSA para el manejo de CSPs no
binarios sobre dominios continuos, el cual ha sido
aplicado a problemas reales como por ejemplo el
an´alisis ROC [8] donde toda su problem´atica se
reduce a plantear un CSP no binario y continuo
donde se requiere obtener la envoltura convexa
de todas las soluciones del problema con el objetivo de obtener el volumen que ocupan dichas
soluciones.
7.
Agradecimientos
Este trabajo ha sido parcialmente financiado por
el proyecto DPI2001-2094-C03-03 del MCYT y el
proyecto CTIDIB/2002/112 de la Generalitat Valenciana.
Referencias
[1] N.M. Adams and D.J. Hand. Comparing
classifiers when the misallocation costs are
uncertain. Pattern Recognition, 32:1139–
1147, 1999.
[2] F. Bacchus and P. van Beek. On the conversion between non-binary and binary constraint satisfaction problems. In proceeding of
AAAI-98, pages 311–318, 1998.
[3] C.B. Barber and H.T. Huhdanpaa. The
Quickhull algorithm for convex hulls. ACM
Trans. on Mathematical Software, 1996.
[4] C. Bessi`ere. Non-binary constraints. In Proc.
Principles and Practice of Constraint Programming (CP-99), pages 24–27, 1999.
[5] C. Bessi`ere, P. Meseguer, E.C. Freuder, and
J. Larrosa. On forward checking for nonbinary constraint satisfaction. In Proc. Principles and Practice of Constraint Programming (CP-99), pages 88–102, 1999.
[6] R. Dechter and J. Pearl. Tree clustering for
constraint network. Artificial Intelligence,
38:353–366, 1989.
[7] B.V. Faltings and E.M. Gelle. Local consistency for ternary numeric constraints. In
Proc. of the International Joint Conference
on Artificial Intelligence (IJCAI-97), pages
392–400, 1997.
[8] C Ferri, J Hernandez-Orallo, and M.A. Salido. Volume under the ROC surface for multiclass problems. Machine Learning: ECML
2003, Proceeding of 14th European Conference on Machine Learning (ECML), LNAI
2837, pages 108–120, 2003.
[9] E.M. Gelle. On the generation of locally
consistent solution spaces in mixed dynamic
constraint problems. PhD thesis, No. 1826,
Swiss Federal Institute of Technology in Lausanne, Switzerland, 1998.
[10] D.J. Hand and R.J. Till. A simple generalisation of the area under the ROC curve for
multiple class classification problems. Machine Learning, 45:171–186, 2001.
[11] J.A. Hanley and B.J. McNeil. The meaning
and use of the area under a receiver operating characteristic (ROC) curve. Radiology,
143:29–36, 1982.
[12] J. Larrosa. Algorithms and Heuristics for total and partial Constraint Satisfaction. Phd
Dissertation, UPC, Barcelona, 1998.
[13] O. Lhomme. Consistency techniques for numeric CSPs. In International Joint Conference on Artificial Intelligence (IJCAI-93),
pages 232–238, 1993.
[14] C. Lottaz.
Rewriting numeric csps for
consistency algorithms. In Workshop on
Non-Binary Constraints at the International
Joint Conference on Artificial Intelligence,
pages E:1–E:13, 1999.
[15] A.K. Mackworth. Consistency in network
of relations. Artificial Intelligence, 8:99–118,
1977.
[16] D. Maier. The Theory of Relational Databases. Computer Science Press, 1983.
[17] D. Mossman and E. Somoza. ROC curves,
test accuracy, and the description of diagnostic tests. J. Neuropsychiatr. Clin. Neurosci.,
3:330–3., 1991.
[18] C.S. Peirce. Collected papers, vol. iii. In C.
Hartshorne and P. Weiss, 1933.
[19] F. Provost and T. Fawcett. Analysis and
visualization of classifier performance: Comparison under imprecise class and cost distribution. Proc. of The Third International
Conference on Knowledge Discovery and Data Mining (KDD-97), pages 43–48, 1997.
[20] F. Provost and T. Fawcett. Robust classification for imprecise environments. Machine
Learning, 42:203–231, 2001.
[21] F. Rossi, C. Petrie, and V. Dhar. On the
equivalence of constraint satisfaction problems. In proceeding of European Conference of Artificial Intelligence, pages 550–556,
1990.
[22] M.A. Salido.
POLYHEDRA, un Modelo para la Resoluci´
on de Problemas de Satisfacci´
on de Restricciones n-arias Mediante Hiper-poliedros. Tesis Doctoral No 1530,
DSIC, Universidad Polit´ecnica de Valencia,
Spain, 2002.
[23] M.A. Salido and F. Barber. An incremental
and non-binary CSP solver: The Hyperpolyhedron Search Algorithm. In Proc. of 7th
International Conference on Principles and
Practice of Constraint Programming (CP01). LNCS 2239, pages 799–780, 2001.
[24] M.A. Salido and F. Barber. A Polynomial
Algorithm for Continuous Non-binary Disjunctive CSPs: Extended DLRs. Knowledge Based Systems. Elsevier Science, 16:277–
285, 2003.
[25] M.A. Salido, A. Giret, and F. Barber. Constraint Satisfaction by means of Dynamic
Polyhedra. Operational Research Proceedings 2001. Ed. Springer Verlag, 1:405–412,
2001.
[26] D. Sam-Haroud. Constraints Consistency
Techniques for Continuous Domains. PhD
thesis, No. 1423, Swiss Federal Institute of
Technology in Lausanne, Switzerland, 1995.
[27] D. Sam-Haroud and Faltings B. Global consistency for continuous constraints. In pro-
ceeding of European Conference of Artificial
Intelligence (ECAI-94), pages 40–50, 1994.
[28] A. Srinivasan. Note on the Location of Optimal Classifiers in N-dimensional ROC Space. Technical Report PRG-TR-2-99, Oxford
University Computing Laboratory, Oxford,
1999.
[29] K. Stergiou and T. Walsh. Encoding of nonbinary constraints satisfaction problems. In
Proc. of the National Conference on Artificial Intelligence (AAAI-99), pages 163–168,
1999.
[30] J. Swets, R. Dawes, and J. Monahan. Better
decisions through science. Scientific American, pages 82–87, 2000.