T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo...

16
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 {masalido}@dccia.ua.es Resumen Hoy en d´ ıa muchos problemas de la vida real se pueden modelar como problemas de satisfacci´ on de restric- ciones (CSPs) no binarias (o n-arias). Por ejemplo en ´ areas 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 ´ ultima 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 Hoy en d´ ıa, muchos problemas de la vida real pueden modelarse como problemas de satisfac- ci´ on de restricciones (CSPs) y resolverse usando ecnicas de programaci´ on de restricciones. Esto incluye problemas de ´ areas tales como inteligen- cia artificial, investigaci´ on operativa, bases de da- tos, sistemas expertos, etc. Algunos ejemplos son scheduling, planificaci´ on, razonamiento temporal, dise˜ no en la ingenier´ ıa, problemas de empaqueta- miento, criptograf´ ıa, toma de decisiones, etc. Un gran n´ umero de estos problemas se modelan de una manera natural mediante el uso de restric- ciones 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]. El inter´ es actual por el desarrollo e investiga- ci´ on en t´ ecnicas de satisfacci´ on de restricciones est´ a suficientemente contrastado en los diferentes foros cient´ ıficos, bibliograf´ ıa relevante, aplicacio- nes destacadas, etc. Particularmente, en la litera- tura 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 sa- tisfacci´ on de restricciones centran su atenci´ on en problemas binarios y discretos por diversos moti- vos: 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 sa- tisfacci´ on de restricciones no binarias pue- de transformarse en uno binario equivalente [21, 2]. Adem´ as se trabaja principalmente con do- 1

Transcript of T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo...

Page 1: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

Tecnicas para el Manejo de CSPs no Binarios

Miguel A. Salido

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Escuela Politecnica Superior

Universidad de Alicante, Spain

{masalido}@dccia.ua.es

Resumen

Hoy en dıa muchos problemas de la vida real se pueden modelar como problemas de satisfaccion de restric-ciones (CSPs) no binarias (o n−arias). Por ejemplo en areas tales como inteligencia artificial, investigacionoperativa, bases de datos y sistemas expertos, la importancia de los CSPs no binarios se esta incrementandopaulatinamente. Sin embargo la mayorıa de los investigadores centran su atencion 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 sepresentan las distintas tecnicas para transformar los CSPs no binarios en binarios, para el caso de CSPsdiscretos, y en ternarios para el caso de CSPs continuos. Ademas se presenta una propuesta de manejo deCSPs no binarios y continuos. Utilizando esta ultima tecnica resolveremos un problema de diagnosis basadoen el analisis ROC. Este problema se modela como un CSP no binario sobre dominios continuos.

Palabras clave: Problemas de Satisfaccion de Restricciones, CSPs no binarios.

1. Introduccion

Hoy en dıa, muchos problemas de la vida realpueden modelarse como problemas de satisfac-cion de restricciones (CSPs) y resolverse usandotecnicas de programacion de restricciones. Estoincluye problemas de areas tales como inteligen-cia artificial, investigacion operativa, bases de da-tos, sistemas expertos, etc. Algunos ejemplos sonscheduling, planificacion, razonamiento temporal,diseno en la ingenierıa, problemas de empaqueta-miento, criptografıa, toma de decisiones, etc. Ungran numero de estos problemas se modelan deuna manera natural mediante el uso de restric-ciones no binarias. Las restricciones no binariasson aquellas que constan de cualquier numero devariables. El manejo de restricciones no binariases un problema NP-completo [15].

El interes actual por el desarrollo e investiga-

cion en tecnicas de satisfaccion de restriccionesesta suficientemente contrastado en los diferentesforos cientıficos, bibliografıa relevante, aplicacio-nes destacadas, etc. Particularmente, en la litera-tura de satisfaccion de restricciones, la necesidadde manejar restricciones no binarias ha empezadorecientemente a ser reconocido. La mayorıa de losinvestigadores que trabajan en problemas de sa-tisfaccion de restricciones centran su atencion enproblemas binarios y discretos por diversos moti-vos:

La razon basica de tratar con restriccionesbinarias es por la simplicidad que suponecomparado con las no binarias y tambienpor el hecho de que todo problema de sa-tisfaccion de restricciones no binarias pue-de transformarse en uno binario equivalente[21, 2].

Ademas se trabaja principalmente con do-

1

Page 2: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

minios discretos por la reduccion de com-plejidad que supone trabajar con un con-junto finito de valores para cada una de lasvariables del problema. De esta manera sepuede generar el arbol de busqueda en unproblema dado, y llevar a cabo el estudiode la consistencia mediante la busqueda sis-tematica a traves de la exploracion de dichoarbol.

En el caso de problemas de satisfaccion de res-tricciones con dominios continuos como los CSPsnumericos, muchos investigadores tambien llevana cabo una transformacion del problema en el cuallas restricciones n−arias se transforman en res-tricciones ternarias [27, 14].

Tanto en CSP discretos como continuos, el proce-so de transformacion puede resultar poco eficien-te debido a su alto coste computacional. Por lotanto, a menudo resulta mas adecuado manejarlas restricciones no binarias de forma directa, demanera que los problemas mantengan sus formu-laciones originales.

En general, las dos principales cuestiones con laque nos encontramos a la hora de resolver un pro-blema de satisfaccion de restricciones son, prime-ro, como representar el problema, y segundo comoresolverlo. Por consiguiente en problemas con res-tricciones no binarias debemos tomar la decisionde convertir el problema a uno binario (o terna-rio) o bien dejarlo en su representacion original. Siconvertimos el problema a uno binario (ternario)entonces podremos aplicar todos los algoritmos yheurısticas generados para resolver CSPs binarios(ternarios). Esta opcion ha sido mayoritariamenteseleccionada por la comunidad cientıfica.

Sin embargo si mantenemos el problema en su re-presentacion original, tendremos que usar los al-goritmos y heurısticas para restricciones no bina-rias, encontrandonos aquı con falta de respuestasutiles para el manejo de CSPs no binarios.

Principalmente hay dos tecnicas para trasladarlas restricciones no binarias a binarias en CSPsdiscretos:

La codificacion dual, que fue introducida enla comunidad de CSPs por Dechter y Pearl[6], donde la idea basica se capturo de lainvestigacion en bases de datos relacionales[16].

La codificacion de variables ocultas, que

procede de Peirce quien, en 1933, probo for-malmente en el campo de la filosofıa logicaque las relaciones binarias y no binarias tie-nen el mismo poder de expresividad [18]. Sumetodo para representar una relacion no bi-naria mediante una coleccion de restriccio-nes binarias formo las bases del metodo delas variables ocultas.

Ademas, Rossi y otros probaron que un CSP nobinario es equivalente a su transformacion dualy oculta bajo varias definiciones de equivalencia,que definiremos a continuacion [21].

En el caso de CSPs numericos o continuos,se pueden transformar las restricciones n−ariasen restricciones ternarias [14] de forma que semejora la eficiencia de los algoritmos de con-sistencia tales como 2-consistencia [7, 9], 2B-consistencia, 3B-consistencia [13] o la consisten-cia (3, 2)−relacional. Esta transformacion solo esposible si se permite la introduccion de variablesauxiliares.

Este artıculo lo vamos a clasificar en las siguientessecciones: en la seccion 2 se presentan los diferen-tes conceptos necesarios de CSPs no binarios. Enla seccion 3 se presentan las diferentes tecnicasde transformacion de CSPs no binarios a bina-rios: la codificacion dual, la codificacion de varia-bles ocultas, la codificacion doble y por ultimo unalgoritmo de transformacion de restricciones nobinarias a ternarias para CSPs continuos. En laseccion 4 presentamos un metodo llamado HSApara manejar CSPs no binarios sobre dominioscontinuos. En la seccion 5 presentamos la aplica-cion de HSA al analisis ROC. Finalmente, en laseccion 6 presentamos las conclusiones.

2. Definiciones

En esta seccion nos vamos a centrar en los con-ceptos necesarios y que no estan contemplados enel artıculo de introduccion, para comprender lanotacion que vamos a utilizar en este trabajo.

La equivalencia entre dos CSPs es fundamental ala hora de transformar un CSP no binario a unobinario para no desvirtuar el problema, pero pue-de resultar muy ambiguo dependiendo de aspec-tos tanto sintacticos como semanticos. En [21] sepresentan diferentes definiciones de equivalencia.

Una primera definicion ingenua de equivalencia

Page 3: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

de CSP podrıa ser:

Dos CSPs son equivalentes si ellos tienenlas mismas variables y las mismas restric-ciones.

Esta propuesta de equivalencia es muy restrictiva.Por ejemplo, esta propuesta no considera la posi-bilidad de informacion redundante en las restric-ciones. Esta redundancia podrıa provocar, dadoun CSP, un conjunto infinito de CSPs distintos,simplemente seleccionando uno dado, y anadien-do informacion redundante. De esta manera, to-dos los CSPs resultantes representarıan el mismoproblema, y por tanto, serıan equivalentes. Por lotanto, la definicion dada anteriormente no serıavalida.

Para solucionar este problema modificaron la de-finicion de equivalencia para manejar la redun-dancia de las restricciones adoptando la siguientedefinicion:

Dos CSPs son equivalentes si tienen el mis-mo conjunto de soluciones.

Aquı el significado previsto de solucion de un CSPes el conjunto de todas las asignaciones de las va-riables a los dominios de tal forma que se satisfa-gan todas las restricciones del problema. Esta esla definicion usual de equivalencia de los CSPs yla mas aceptada por la comunidad cientıfica. Ası,todos los CSPs redundantes, con respecto a unodado, se consideran equivalentes. Sin embargo laredundancia puede ocurrir no solo en las restric-ciones sino tambien en el numero de variables,ya que es posible que dos CSPs tengas diferen-tes variables y que todas ellas se comporten de lamisma manera, es decir, solo difieren los nombresde las variables. Tales problemas, que sintactica-mente son diferentes, deberıan considerarse equi-valentes siempre que la informacion contenida seaesencialmente identica. En otras palabras, lo uni-co que importa es la informacion contenida en elCSP. De acuerdo a este hecho, Rossi y otros pro-pusieron la siguiente definicion de equivalencia deCSPs:

Dos CSPs son equivalentes si son mutua-mente reducibles.

Ası, dados dos CSPs P1 y P2, se dice que P1 esreducible a P2 si es posible obtener la solucion

de P1 de la solucion de P2, mediante el mapeode las variables y los valores de un problema a lasvariables y los valores del otro problema. Esta de-finicion contempla la redundancia de restriccionesy de variables y se puede demostrar que es masgeneral que las definiciones previas de equivalen-cia.

Ası, esta definicion de equivalencia, se utilizo en[21] para probar la equivalencia de CSPs no bina-rios y binarios, dando importancia a esta trans-formacion no solo desde el punto de vista teorico,sino tambien practico, ya que muchos algoritmoseficientes solo se han desarrollado para CSPs bi-narios. Sin embargo hay que tener en cuenta si esconveniente manejar el problema no binario co-mo tal, o es mas conveniente transformarlo a unCSP binario, resolverlo, y finalmente ser capaz dedevolver la solucion del problema original.

En la literatura de CSPs, la equivalencia entreCSPs no binarios y binarios se ha estudiado deuna manera superficial. El primer intento formalpara comparar estas dos representaciones deferen-tes de un mismo problema aparecio en 1933, don-de Peirce en [18] mostro un ejemplo de una res-triccion no binaria que no se puede representarmediante restricciones binarias. De esta manera,las restricciones binarias y no binarias parecen noser equivalentes en general. Mas precisamente, lasrestricciones no binarias parecen ser mas potentesque las binarias. Esto ocurre cuando se ponen res-tricciones sobre el numero de variables a utilizaren el problema transformado, o en la dimensionde las variables en la nueva representacion.

En el artıculo de introduccion ya presentamos unadefinicion general de CSP. El problema de satis-faccion de restricciones no binarias que vamos amanejar lo podemos definir como un CSP queconsta 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 dis-cretos D =< D1, ..., Dn >. Cada variablexi tiene un dominio Di : [li, ui]. El domi-nio, continuo o discreto, de una variable esel conjunto de todos los posibles valores quese le pueden asignar a esa variable.

C es un conjunto finito de restricciones quela solucion debe satisfacer. Cada restriccionci esta definida sobre un conjunto de varia-bles {x1, ..., xn} que tomaran valores de susrespectivos dominios D1, D2, ...Dn.

Page 4: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

2.1. Ejemplo de CSP Generales

Como ejemplos de CSPs generales, es decir CSPscon restricciones binarias y no binarias con varia-bles acotadas en dominios discretos y continuos,vamos a presentar dos ejemplos presentados en[26] relativo a aspectos de la ingenierıa civil en eldiseno de construcciones.

El primer ejemplo trata del diseno de un puen-te, donde el trabajo a realizar puede verse comouna combinacion de dos tareas: El diseno concep-tual que define la estructura que va a tener elpuente ası como sus parametros, y el diseno deta-llado que encuentra un conjunto de valores paralos parametros en la solucion final (ver Figura 1.En el diseno conceptual se manipulan descripcio-nes parciales de la obra a realizar, consistiendo enpartes (pilares, cubiertas, arcos del puente, etc) ypropiedades (reglas de construccion, requerimien-tos artısticos y economicos, leyes fısicas, etc...).

� ����������� � �������� ��� ��� �� � ���

� �!� ����� "#��$ ��%���%����

& �#��� ��� �#' � ��( $ )'�� $ *,+ )#- $ ( �� � � � � ( � ��� �./� �#� 0* ��� � "��

� ������1�!1� �2�������� �!� �43 �- "� ���

� '�%#$ � �5 ",6� �,� ��� $ � 7 ��8���- ���� ��� � � $ ( ( $ "' ����9��- ( �#' ( ��- ����7 ��' ( $ "#' ���

%���� ����%����

:

:::

Figura 1. Paso del diseno al CSP.

Una tarea de diseno se presta naturalmente a unaformulacion de satisfaccion de restricciones. Lasvariables representan las partes y elementos deldiseno, mientras que las restricciones expresan laspropiedades que las partes deben satisfacer. Re-solver tal problema de satisfaccion de restriccio-nes significa trasladar la representacion simboli-ca utilizada en el diseno conceptual a los objetosreales: las soluciones al CSP determinan si, y den-tro de que lımites, la descripcion generada en eldiseno conceptual corresponde a una estructurafısica factible.

;#<,=?>#@ A#B C D�EGF#>�H4I�J#K J#B L >GF#;�H ;M@ >#NO;�H BP>#NQI�;#I�>#N R

S <,T?J#H N C D#EGL J#E#C J#E�I#>GJ#EMB�A�J#E#L ;G;�N F#J�B L >#NUJ#N�L V�L C B >�NWOX#J#>�L J�B E#>#@ D�X#C B >�N R

B <,Y?;#N J�NQF�;#H ;GI�C N J�Z#;�H4@ >�NQI�J#L ;#@ @ J#NOI�J[@ >�NOF#C @ ;#H J�N R

J�<4\]C N J�Z#>GK C E#;�@ R

^`_2a bc d e`f g2hh�i`j2f g?g`dk g2f e2d l g

^2m`a bc d e`f g2hg2n�g2d�e`o/p`e

q#e2r�s�l f e2r�s�c n`o�h�i2j`f gd i2ht^2g2l e2d d g2h�^`g^2c h�g2u2i�^`g?d i2h k c d e`f g2h

^2v2a b#c d e2f g2h^2g2w�e2h�c e2^`ir�g`f r�e

x x

Figura 2. Diferentes fases en el diseno de un

puente: (i) cada estado corresponde a un

CSP, (ii) la solucion a un CSP dado impacta

con la naturaleza de otros CSPs. El CSP del

estado c) no admite solucion si no hay una

ubicacion definida para los pilares del puente.

Para desarrollar un modelo computacional delproceso de diseno, de acuerdo al paradigma dela satisfaccion de restricciones, hay que tener encuenta diversos factores importantes, tales como:

El conjunto de variables y restricciones noes independiente de soluciones particulares.Por ejemplo en el problema de diseno de laFigura 2, ir de la solucion a) a la solucionb) lleva consigo cambiar el numero de ar-cos del puente y por lo tanto el numero devariables y de restricciones.

Las variables pueden tomar valores en do-minios discretos (numero de pilares, numerode arcos, etc...) y dominios continuos (an-chura de los arcos, longitud de las cubiertas,altura de los pilares, etc...).

Se pueden introducir restricciones de ini-gualdad, restricciones no lineales y por su-puesto restricciones que involucren a cual-quier numero de variables (restricciones nobinarias).

→ La primera consideracion muestra que el CSPrelativo al diseno del problema no esta determi-nado a priori antes de comenzar el proceso deresolucion, por lo que a veces es necesario tra-bajar con problemas dinamicos o incrementales,

Page 5: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

donde hay restricciones y variables que se puedenmodificar, eliminar o anadir.

→ La segunda consideracion nos muestra que haymuchos problemas reales donde se entrelazan do-minios tanto discretos como continuos, con la con-siguiente complejidad que ello conlleva.

→ La tercera y ultima consideracion se centra enla posibilidad de manejar restricciones complejascomo pueden ser restricciones no lineales e ini-gualdades de cualquier aridad.

Por lo tanto debemos tener en cuenta la existen-cia de problemas reales donde coexisten variablescontinuas con variables discretas enmarcadas enrestricciones no binarias, lo que genera la necesi-dad de desarrollar tecnicas de satisfaccion de res-tricciones capaces de manejar estos tipos de pro-blemas. Ademas, desde que los valores numericosde los parametros sirven como base de decisiones,es necesario identificar el espectro de alternati-vas tan exhaustivamente como sea posible, paraque el espacio de posibilidades pueda explorarsesistematicamente.

El siguiente ejemplo que se muestra en la Figu-ra 3, relativo al diseno de edificios, ilustra estepunto de una manera mas precisa. La estructuradel suelo de un edificio esta formada por planchasde hormigon sobre vigas de acero. Dependiendode las medidas de las vigas (longitud (w) y altu-ra (h)), se pueden generar diferentes alternativasde diseno (ver Figura 4), cada una involucrandonuevas variables y restricciones.

y z { | z } ~ � �

� � � � � � � � � � � ��� � � �2� � � � � �� � � � � � � � � � �� � �

�/� � � � � � � �� � � � � � � � � � ��� � ��� � � � �� � �

�/� � � � � � � � � � �� � � � � � � �2� � ��� � � � �� � �

�/� � � � � � � � ��� �� � � � � ��� � � � �� � �

�/� � � � � � � � ��� �� � �P� � �2� � ��� � �� � �

� � � �� � � �  2¡ ¢ £¤   ¥ ¦ � ¡  

Figura 3. Un problema de diseno presentando

varias opciones.

Cuando los sistemas de suelo se hacen cada vezmas delgados, las vibraciones aumentan. Esto re-quiere instalar refuerzos laterales para flexibilizarel suelo (Figura 3, opcion -a-). Este es el caso

cuando las dimensiones de las vigas caen en lasregiones 3 y 4 de la Figura 4.

El canto del forjado es el espacio situado entre eltecho de una planta y el suelo de la planta supe-rior (ver Figura 3). El canto de forjado tiene confrecuencia una altura fija, y existe una preferenciageneral de situar los conductos de la ventilacionpor debajo de las vigas dentro del canto de for-jado (falso techo) (ver Figura 3, opcion -c-). Sinembargo para vigas relativamente altas, donde laaltura (h) es mayor de 500mm (region 4), no hayespacio suficiente para que los conductos pasenpor debajo de las vigas, por lo que hay que per-forar las vigas (Figura 3, opcion -b-) para pasarestos conductos de ventilacion.

Por ultimo hay muchas maneras para conectaruna viga con otra. La conexion mas economica espor medio de laminas simples, que son laminasque se sueldan perpendicular a la viga para co-nectarse con otra viga o columna (ver Figura 3,opcion -e-). Este tipo de conexiones solo es apro-piado para una altura de viga menor de 350mm(regiones 0 y 1). Para alturas de viga mas grandes,se aconseja conexiones de angulo doble (en formade L) (ver Figura 3, opcion -d-) para garantizarmas la seguridad (regiones 2, 3 y 4).

§©¨ ª2« ¬ ­2® ª�¯/°t« ªP±P² ³/ª/´

µ2¶ · ¸ ¹ º ¶ » ¼ ½ ¾¿/» µ/¶ · ¸ ¹ º ¶ » ¼ ½ ¾À » ¼ Á  º à » ¾`¹ à ¸ ¹ Ä ½ ¾ ¹ ¼ Á »PÅ ¹ ¾Ä ¶ Æ ¹ ¾

À » ¼ Á  º à » ¾ Ç » ¸ Á ½ · ¹ È »PÁ ½#Å ¹ ¾`Ä ¶ Æ ¹ ¾À » ¼ ½ É ¶ » ¼ ½ ¾�Á ½Ê ¼ Æ Â Å » Á » · Å ½

À » ¼ ½ É ¶ » ¼ ½ ¾�Á ½PÅ Ê ËP¶ ¼ ¹P¾ ¶ ËPÇ Å ½

Ìͨ « Î/Ï�³2² ¬ ­/¯t¯/°�« ª ±² ³/ª�´

ÐÑÒ

ÓÔ

Figura 4. Un problema de diseno presentando

varias opciones.

Cuando los valores numericos de los parametrossirven como base para tomar decisiones e influyenen el proceso de resolucion completo, la identifica-cion de una sola solucion que satisfaga el conjuntode restricciones es con frecuencia insuficiente. Enel ejemplo de la Figura 3, un metodo matemati-co tradicional (analisis numerico, metodos aleato-rios) generalmente identificarıa una solucion den-tro de las regiones 0,1,2,3 y 4. Esto obliga al di-senador a perder mejores alternativas de diseno.

Page 6: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

Para tales aplicaciones, es de crucial importan-cia proporcionar al usuario, o a otras partes delprograma, los rangos o intervalos de valores po-sibles tan completos y correctos como sea posi-ble, lo cual permite tomar decisiones racionales.En este ejemplo resulta importante la consisten-cia global (ver artıculo de introduccion), ya quela altura y el espacio de las vigas estan enlaza-dos con otras variables (espesor de la plancha delsuelo) mediante diferentes ecuaciones, incluso nolineales. La region 0 resulta ser eventualmente in-consistente con estas restricciones, pero esto nosiempre es detectable utilizando solamente tecni-cas de consistencia local, permitiendole ası al di-senador seleccionar un punto dentro de la region0 y tomar nuevas decisiones sobre las bases deuna estructura no realizable fısicamente.

3. Tecnicas de Transforma-cion de CSPs no binarios

3.1. Codificacion Dual

En la codificacion dual, las restricciones del pro-blema original se transforman en variables delnuevo problema y viceversa. Las variables que segeneran de las restricciones originales las llamare-mos variables duales, y a las variables del proble-ma original le llamaremos variables originales. Eldominio de cada variable dual es el conjunto detuplas que satisfacen la restriccion original que lagenera. Ademas, hay una restriccion binaria en-tre dos variables duales vc y v

c si y solamente silas restricciones originales c y c

comparten una omas variables. Llamaremos a las nuevas restriccio-nes binarias como restricciones duales. Las nue-vas restricciones duales prohıben pares de tuplasdonde las variables compartidas tomen valores di-ferentes.

Õ Ö`× Ö`× Ø2Ù#Õ Ö`× Ø`× Ö2ÙÕ Ø2× Ö2× Ö2Ù Õ Ö2× Ö2× Ö2ÙÕ Ö2× Ø2× Ø`ÙÕ Ø`× Ö`× Ø`Ù

Õ Ö`× Ö`× Ø2Ù#Õ Ø`× Ö`× Ö2ÙÕ Ø2× Ø2× Ø2Ù Õ Ö2× Ø2× Ö2ÙÕ Ø2× Ö2× Ö`ÙÕ Ø`× Ø`× Ö`ÙÕ Ø2× Ø2× Ø`Ù

Ú�Û Ú#Ü

Ú�Ý Ú�Þ

ß Ý Û à ß Þ Þ

ß Þ Û

ß Ý Ý à ß Þ Þß Þ Þß Û Û

Figura 5. Ejemplo de codificacion dual de un

CSP no binario.

Ejemplo. Consideremos el siguiente ejemplo, to-mado de [29], con seis variables con dominios0-1 y cuatro restricciones: x1 + x2 + x6 = 1,x1−x3+x4 = 1, x4+x5−x6 ≥ 1 y x2+x5−x6 = 0.La codificacion dual representa este problema concuatro variables duales, una para cada restriccion.Los dominios de estas variables duales son las tu-plas que satisfacen las respectivas restricciones.Por ejemplo, la variable dual v3 asociada a la ter-cera restriccion, x4 + x5 − x6 ≥ 1, tiene comodominio (0, 1, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1), ya queestas son las tuplas de valores para (x4, x5, x6)que satisfacen la restriccion. La codificacion dualdel problema se muestra en la Figura 5. Rij esla restriccion binaria sobre un par de tuplas quese satisface si y solo si el i−esimo elemento de laprimera tupla es igual al j−esimo elemento de lasegunda tupla. Entre v3 y v4 hay una restriccionde compatibilidad para asegurar que las dos varia-bles originales en comun, x5 y x6 tienen los mis-mos valores. Esta restriccion permite solamenteaquellos pares de tuplas que concuerdan con loselementos segundos y terceros, es decir (1, 0, 0)para v3 y (0, 0, 0) para v4.

3.2. Codificacion de VariablesOcultas

En la codificacion de variables ocultas, el conjun-to de variables esta formado por todas las varia-bles del CSP no binario original mas un nuevoconjunto de variables duales que llamaremos va-riables ocultas. Al igual que la codificacion dual,cada variable oculta vc corresponde a una restric-cion en el problema original. De nuevo, el dominiode cada variable oculta consta de las tuplas quesatisfacen la restriccion original. Para cada varia-ble oculta vc, hay una restriccion binaria entre lavariable vc y cada una de las variables originalesxi que estan involucradas en la correspondienterestriccion original c. Cada restriccion especificaque la tupla asignada a vc es consistente con elvalor asignado a xi.

Considerando de nuevo el ejemplo anterior, don-de el problema consta de seis variables y cua-tro restricciones no binarias. En la codificacionde variables ocultas hay, ademas de las seis varia-bles originales 0-1, cuatro variables duales con losmismos dominios que en la codificacion dual. Porejemplo, la variable dual asociada con la tercerarestriccion x4 + x5 − x6 ≥ 1, tiene como dominio(0, 1, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1).

Page 7: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

á â�ã â�ã ä å2á â�ã ä ã â å`á ä ã â ã â�å á â ã â�ã â å2á â�ã ä ã ä å2á ä ã â ã ä å

á â�ã â�ã ä å2á ä ã â�ã â å`á ä ã ä ã ä å á â ã ä ã â å2á ä ã â ã â�å2á ä ã ä ã â åá ä ã ä ã ä å

æ�ç æ/è

æ/é æ2ê

ë ç

âìä âìä âìä âíä âìä âìäî�ç î/é î2ê î/è î2ï î2ð

ë çë ç

ë çë é ë é

ë é ë é ë ê

ë êë ê

ë ê

Figura 6. Ejemplo de codificacion de variables

ocultas de un CSP no binario.

Ademas ahora hay restricciones de compatibili-dad entre v3 y x4, entre v3 y x5 y entre v3 y x6,ya que estas son las variables que estan involu-cradas en la tercera restriccion. La codificacionde variables ocultas de este problema se muestraen la Figura 6. La restriccion binaria ri actua so-bre una tupla y un valor, dando verdadero si ysolo si el elemento i−esimo de la tupla es igualal del valor. Por ejemplo, la restriccion de com-patibilidad r1 entre v3 y x4 es cierta si y solo siel primer elemento de la tupla asignada a v3 esigual al valor de x4.

3.3. Codificacion Doble

En [29] se propone una codificacion llamada co-dificacion doble en la cual se mezclan tanto lacodificacion dual como la codificacion de varia-bles ocultas. Al igual que la codificacion de va-riables ocultas, la codificacion doble tiene tantovariables originales como variables duales (ocul-tas). Ademas se mantienen ambos tipos de res-tricciones: las restricciones entre variables duales,(como en la codificacion dual), y las restriccionesentre variables duales y variables originales, (co-mo en la codificacion de variables ocultas). En lacodificacion doble, se tiene una poda extra de laalcanzada en la codificacion dual. Ademas se pue-de ramificar sobre las variables originales como enla codificacion de las variables ocultas, medianteheurısticas de ramificacion que pueden ser capa-ces de comportarse mejor sobre estas variablesque sobre las duales que pueden tener potencial-mente grandes dominios.

Dado el grafo de restricciones correspondiente ala codificacion de variables ocultas, se seleccionanlos caminos de longitud 2 entre cada par de va-riables duales vc y v

c. Estos caminos se eliminan

(si no forman parte de otro camino) y se reem-plazan por una restriccion formada por la com-posicion de las relaciones de los arcos borrados.Cuando alguna de las variables originales se que-da aislada del resto en el grafo de restriccioneso conectada con solo una variable dual, se puedeeliminar con seguridad. Aplicando estas transfor-maciones de simplificacion a cada par de variablesduales, transformarıamos la codificacion de varia-bles ocultas en la codificacion dual. Sin embargoa veces resulta conveniente quedarse en un puntointermedio de manera que se pueda aprovecharlas ventajas de cada codificacion.

� � � � � � � �� � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � �� � � � � � � �

� � � � � � � �� � � � � � � �� � � � � � � �� � � � � � � �� � � � � � � �� � � � � � � �

� � � � � � � �

� � � � � �

� � � �

� � �

� ��� � � ��� � � ��� �� � � � � � � �

� � �

� �

� � � �

� �

� � �

� � � � �

� �

Figura 7. Paso intermedio entre codificacion

de variables ocultas y codificacion dual de un

CSP no binario.

Por ejemplo, consideremos la codificacion de va-riables ocultas de la Figura 6. Tomemos el par devariables duales v2 y v3. La variable x4 es la unicavariable que enlaza, como camino de longitud 2,las variables v2 y v3. Se eliminan las restriccionesr3 y r1 que conectan con x4 y se anade una nue-va relacion R31 que es la composicion de las dosrelaciones r3 y r1. Como x4 se queda aislada delresto del grafo, se elimina sin mas. A continua-cion tomamos otro par de variables duales, porejemplo v1 y v4. Hay dos caminos de longitud dosentre v1 y v4. El camino entre v1 y v4 vıa x2 tie-ne las restricciones r2 y r1, por lo que induce unarestriccion R21 entre v1 y v4 eliminandose el cami-no anterior. De la misma manera el camino entrev1 y v4 vıa x6 tenıa ambas restricciones etique-tadas como r3, por lo que induce una restriccionR33 entre v1 y v4. En este caso no se elimina elcamino anterior porque sus arcos forman partede otros caminos. Por lo tanto la restriccion in-ducida entre las variables v1 y v4 sera la unionde ambas R21&R33. Ası ahora podemos borrar lavariable x2 y tambien la variable x3 ya que soloesta conectada con una variable dual v2. Hastaeste momento el grafo de restricciones resultantees el que se muestra en la Figura 7.

Page 8: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

3.4. Inconvenientes

La transformacion de un problema no binario enuno binario no esta en absoluto exento de incon-venientes, ya que en muchos casos las restriccionesn−arias pierden una parte crucial de su claridadexpresiva cuando se traslada a conjuntos de res-tricciones binarias. Ademas, la eficiencia de trans-formar restricciones no binarias en binarias no seha estudiado adecuadamente. En la practica, es-ta transformacion puede ser poco eficiente debidoa su alto coste computacional haciendo que confrecuencia esta transformacion sea impracticable[12, 4]. El proceso de transformacion genera nue-vas variables, las cuales pueden tener dominiosmuy grandes, causando unos requerimientos dememoria extra para los algoritmos que lo resuel-ven. Por ello, en algunos casos, resolver el proble-ma binarizado puede resultar muy ineficiente [2].Ademas, esta binarizacion forzada puede generaruna formulacion poco natural causando unas difi-cultades extras para las interfaces de los resolve-dores de restricciones con el usuario humano [5].

Por ejemplo un serio inconveniente de estas trans-formaciones es que si las restricciones no bina-rias estan representadas implıcitamente, las codi-ficaciones anteriores podrıan tener una compleji-dad exponencial tanto en espacio como en tiem-po. Por ejemplo, si una restriccion no binaria so-bre x1, ..., xn se representa mediante una funcionf(x1, ..., xn), la cual devuelve verdadero si la asig-nacion de las variables satisfacen la restriccion,en la codificacion dual (oculta), cada tupla con-sistente en una restriccion se transforma en unvalor del dominio de la correspondiente variabledual (oculta). Esto puede llevar consigo un nume-ro exponencial de pasos para encontrar esas tu-plas ası como una cantidad exponencial de espaciopara almacenar estas tuplas en el dominio de lavariable dual (oculta).

3.5. Transformacion a restriccionesternarias

Es conveniente en CSPs numericos transformarlas restricciones n−arias en restricciones ternariasde forma que se mejore la eficiencia de los algo-ritmos de consistencia como 2-consistencia [7, 9],2B-consistencia, 3B-consistencia [13] y consisten-cia (k, k − 1)-relacional [26] donde k es la aridadde las restricciones.

En general, cualquier expresion matematica cons-

truida mediante operadores unarios y binariospuede reescribirse de forma ternaria introducien-do una variable auxiliar para cada resultado inter-mediario generado mediante un operador binario.Este metodo genera muchas variables auxiliares.Por lo tanto no se han generado algoritmos practi-cos para llevar a cabo la tarea de transformacionde un CSP numerico en uno ternario de formaautomatica, por lo que esta transformacion se lle-va a cabo con frecuencia a mano [14].

Los algoritmos de consistencia mencionados ante-riormente dependen fundamentalmente del nume-ro de variables del CSP, por lo que es necesario eluso de algoritmos que durante la transformaciongeneren pocas variables auxiliares. Por la mismarazon, es interesante comprobar la posibilidad deeliminar variables innecesarias del CSP original,ya que muchas veces, cuando se formaliza un pro-blema se utilizan variables intermediarias y cons-tantes para hacer el CSP mas legible y reutiliza-ble. Sin embargo, cuando se trata de obtener laconsistencia del problema, puede ser beneficiosola eliminacion de tales variables.

En [26] se demuestra que para un CSP de ari-dad k, dandose ciertas restricciones de convexi-dad parcial, la consistencia (k, k − 1)−relacionales equivalente a la consistencia global, es decirtodas las soluciones se pueden encontrar sin lanecesidad de backtracking. Forzar la consisten-cia (k, k− 1)−relacional requiere un algoritmo decomplejidad O(n2k−1) donde n es el numero devariables del CSP. Debido a que esta complejidades exponencial en k, transformar un CSP numeri-co en uno de baja aridad antes de llevar a cabola consistencia (k, k− 1)−relacional tiene la posi-bilidad de acelerar el calculo.

En [14], Lottaz presenta un metodo para trans-formar los CSPs numericos en terminos de res-tricciones ternarias introduciendo variables auxi-liares. Veamos a continuacion la forma en la quepropone llevar a cabo esta transformacion.

Los CSPs numericos cuyas restricciones son ex-presiones matematicas que utilizan operadoresunarios y binarios pueden transformarse en res-tricciones de baja aridad introduciendo variablesauxiliares para los resultados intermediarios detodos los operadores binarios de una restriccion.En la Figura 8 podemos observar como una res-triccion 5-aria se transforma en un conjunto derestricciones ternarias.

Page 9: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

����������

≤+−++ �����

����� ��� � � +=

�������

≤+−+ ���� � �

���� ��� � � −=

�����

≤++ �� � �� � �

Figura 8. Transformacion de una restriccion

5-aria en ternarias.

Ası la aridad de las restricciones se puede redu-cir a tres a cambio de incrementar el numero devariables (variables auxiliares) y de restricciones(las definiciones de variables auxiliares). Una res-triccion que define una variable auxiliar que ac-tualmente ayuda a reducir la aridad de otra res-triccion tiene al menos aridad tres. En caso con-trario, la variable auxiliar reemplazarıa una ex-presion que depende solamente de una variablepor una nueva variable, por lo que no reducirıala aridad de ninguna restriccion. De esta manera,un CSP numerico transformado de esta maneraque hemos resumido puede reducirse reemplazan-do operadores binarios por variables auxiliares.

Por lo tanto, por un lado, decrementando la ari-dad del CSP antes de llevar a cabo la consistencia(k, k − 1)−relacional reduce la complejidad com-putacional y por el otro lado hay un intercam-bio entre decrementar la aridad e incrementar elnumero de variables del CSP para alcanzar unaaridad menor. De esta manera para decidir si me-rece la pena transformar el CSP en uno de aridadmenor, tenemos que estimar el numero de varia-bles que se crearan en la transformacion. Tenien-do en cuenta que la complejidad computacionalde la consistencia (k, k − 1)−relacional es expo-nencial con respecto a k, el autor solamente consi-dera el caso cuando la aridad se reduce al maximo,es decir, a tres.

En el peor caso, transformar un CSP numeri-co de aridad k > 3 en forma ternaria requie-re la adicion de O(m) variables auxiliares, don-de m es el numero de operadores binarios en elCSP. En este caso la complejidad O((n+m)5) pa-ra la consistencia (3, 2)−relacional sobre el con-junto de restricciones transformadas se comparacon la complejidad O(n2k−1) para la consistencia(k, k − 1)−relacional del CSP original. En pro-blemas practicos la influencia exponencial de kpuede ser que tenga un peso mucho mayor que lainfluencia polinomial de m.

Dado que cualquier CSP numerico especificadomediante expresiones matematicas con operado-res unarios y binarios puede ser transformado en

un CSP ternario, se han generado varios algorit-mos de consistencia para CSP numericos con res-tricciones ternarias [7, 9, 13].

4. CSPs no binarios con do-minios continuos

Como ya hemos apuntado, la mayorıa de la in-vestigacion realizada se ha centrado en problemasbinarios debido principalmente a la sencillez quesupone comparado con las no binarias y por la po-sibilidad de transformacion a uno binario equiva-lente [21]. Ademas cuando se manejan las restric-ciones en su formulacion original (no binarias) yestas son restricciones globales, la complejidad seincrementa sustancialmente, e incluso se puedenhacer impracticable los algoritmos de preprocesoque vimos en el capıtulo de introduccion, para al-canzar ciertos niveles de consistencia. Ademas, enmuchas aplicaciones reales se intenta extraer delCSP la maxima informacion posible, por lo queno es suficiente obtener la consistencia del proble-ma, sino que a veces es interesante obtener ciertainformacion sobre las soluciones del CSP, los do-minios mınimos de ciertas variables del problema,etc.

En esta seccion presentamos un algoritmo parala resolucion de CSPs no binarios sobre domi-nios continuos que obtiene ademas la consisten-cia global del problema. Este algoritmo lo lla-maremos HSA [23, 25] (Hyper-polyhedron Sear-ch Algorithm) o Algoritmo de Busqueda Hiper-poliedrica, debido a que el algoritmo lleva a cabosu ejecucion mediante un hiper-poliedro o polıto-po. Este algoritmo lo podemos considerar comoun resolutor de CSPs numericos, ya que los do-minios de las variables son intervalos en R y lasrestricciones se representan como expresiones ma-tematicas. El objetivo de este algoritmo no se cen-tra solamente en la obtencion de la consistenciaglobal del problema sino que trata de alcanzar losobjetivos antes comentados para obtener la maxi-ma informacion posible del problema.

A grandes rasgos este algoritmo trabaja de lasiguiente manera: dados los dominios de las va-riables, el algoritmo genera un polıtopo a partirdel producto cartesiano de dichos dominios. Estepolıtopo convexo mantendra en todo momento elconjunto de soluciones del problema, y se ira ac-tualizando a medida que las restricciones no bi-narias van siendo analizadas.

Page 10: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

4.1. Especificacion general de HSA

HSA lo consideramos inicialmente como un resol-vedor o resolutor de CSPs estatico, donde hay unconjunto inicial de restricciones que la soluciondebe de satisfacer. En la Figura 9 se presenta elcomportamiento general de HSA. Este esquemase divide en cuatro pasos: generacion del polıto-po; estudio de la consistencia con las restriccio-nes de inigualdad; actualizacion del polıtopo; yestudio de la consistencia con las restricciones dedesigualdad.

ñ2ò ó ô õ ö ÷ øù ó úû�ü ú ý þ ü ÿ ü

���

���

� �

� �

��������

������ � ������ �

� ü � ö ø ö ü ù ó�ú ô ��Pô ò ö ô ú ó ���� �����

��� � � � � � � � � � � �� � � � � � � � ! ó ù " ø ù ô ø þ ó#ñ ü ø � ö � þ ó ø þ ó#

$Põ þ " ô ú ö % ô õ ö ÷ øù ó úû�ü ú ý þ ü ÿ ü

& ñ ü ø � ö � þ ó ø õ ö ô& ' ø ô ü)( ô ò ö ô ��* ü ú " õ ö ü ø ó �& �Pü � ö ø ö ü �+�ý ø ö �#ü �& , " ø õ ö ÷ ø-+�" ú þ ö & ü . ó þ ö ( ü

û ò ü ú ó � ôø ü õ ü ø � ö � þ ó ø þ ó

ñ ü ø � ö � þ ó ø õ ö ô�õ ü ø! ó � þ ò ö õ õ ö ü ø ó �/ 0

������� �

Figura 9. Especificacion Grafica de HSA.

El paso 1 siempre se lleva a cabo en todos losCSPs. El paso 2 y 4 se llevan a cabo cuando exis-ten restricciones de inigualdad y de desigualdadrespectivamente. El paso 3 se lleva a cabo cuan-do la restriccion en estudio es consistente y noredundante.

HSA genera un polıtopo inicial (Paso 1) median-te el producto cartesiano de los lımites de losdominios de las variables (D1 × D2 × ... × Dn)cuyos vertices son: v1 = (l1, l2, ..., ln), ..., vi =(l1, l2, ..., lj , uj+1, ..., un),..., v2n = (u1, u2, ..., un).Estos vertices se almacenan en una lista llamadaListV . Una vez generado el polıtopo, HSA pasaa estudiar la consistencia de las restricciones delproblema. Para ello, HSA analiza primero las res-tricciones de inigualdad (≤) y a continuacion siel problema es consistente, estudia las restriccio-nes de desigualdad (6=). Para cada restriccion deinigualdad, HSA lleva a cabo la comprobacion dela consistencia (Paso 2). Para ello, el algoritmocomprueba si los vertices del poliedro satisfacenla restriccion en estudio, almacenando los verticesfactibles en una lista auxiliar llamada Lsi y los nofactibles en una lista llamada Lno. Si al menos unvertice es consistente, es decir Lyes 6= φ, entonces

la restriccion es consistente. Si la restriccion de in-igualdad no es consistente, es decir Lyes = φ, en-tonces HSA devuelve ’problema no consistente’ yfinaliza la ejecucion. Sin embargo si la restricciones consistente, HSA estudia si la restriccion es ono redundante, actualizando el polıtopo (Paso 3)en el caso de que no lo fuera (Lno 6= φ). La actua-lizacion solo se lleva a cabo cuando la restricciones consistente y no redundante, ya que es cuandounicamente la inigualdad intersecta al polıtopoactual. Cuando todas las restricciones de inigual-dad se han analizado y el problema es consistente,se lleva a cabo la comprobacion de la consistenciacon las restricciones de desigualdad (Paso 4). Eneste caso el polıtopo no se actualiza, ya que lasrestricciones de desigualdad son hiperplanos quepueden intersectar o no al poliedro, pero a lo su-mo solo eliminan del polıtopo un hiperplano, porlo que hay que estudiar las consecuencias de dichainterseccion [24].

Una vez finalizada la comprobacion de la consis-tencia de las restricciones de inigualdad y de de-sigualdad, HSA devuelve al usuario informacionrelevante para el usuario como la consistencia delproblema, una, varias o las soluciones extremasdel problema, los dominios mınimos de las varia-bles, etc.

Ademas, cuando HSA finaliza su comportamientoestatico, como clasico resolvedor de CSPs, dondesolo se han estudiado las restricciones de entradadel problema, HSA puede estudiar la consisten-cia de nuevas restricciones que se inserten en elproblema de forma incremental. Este estudio dela consistencia de las nuevas restricciones se llevaa cabo sin la necesidad de iniciar todo el procesode nuevo, ya que tan solo se estudia la consisten-cia de las nuevas restricciones insertadas con elpolıtopo resultante en la etapa de CSP clasico.

Teorema El algoritmo HSA es un algoritmo com-pleto y correcto [22].

La complejidad espacial de HSA viene dada porla siguiente expresion:

O(max{2n, nc≤, c2≤}) ≡ O(2n)

La complejidad temporal es:O(2n) + c≤ · O(2n) + c 6= · O(2n) ≡ O(2n).

5. Aplicacion al analisis ROC

En esta seccion vamos a presentar el planteamien-to general de un problema de decision que final-

Page 11: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

mente se modela como un CSP no binario sobredominios continuos. Esto ocurre en muchos pro-blemas reales donde hay que tomar decisiones pa-ra llevar a cabo una accion u otra. Para ello seutilizan los llamados clasificadores, que hacen pre-dicciones sobre dichas decisiones utilizando paraello experiencias previas. Sin embargo, debido aque las predicciones pueden ser erroneas, es im-portante conocer cual es su efecto, cuando estasson incorrectas. En muchas situaciones los erro-res tienen distintas consecuencias. Algunos erro-res tienen unos costes mas elevados que otros,especialmente en el campo de la diagnosis. Porejemplo, un tratamiento o diagnosis erroneo pue-de tener diferentes costes y peligros dependiendodel tipo de error que se ha producido. Obviamen-te, los costes de cada clasificacion erronea son de-pendientes del problema, pero casi nunca se da elcaso de que ellos sean uniformes para un solo pro-blema. Consecuentemente, la precision o el errorno es generalmente la mejor manera para evaluarla calidad de un clasificador o de un algoritmo deaprendizaje.

El aprendizaje sensible al coste es una generali-zacion mas realista del aprendizaje predictivo, ylos modelos sensibles al coste permiten una me-jor toma de decisiones. La calidad de un mode-lo se mide en terminos de minimizacion de costemas que en terminos de minimizacion de errores.Cuando se proporcionan a priori las matrices decoste, es decir, antes de que el aprendizaje tengalugar, las matrices tienen que explotarse comple-tamente para obtener modelos que minimicen elcoste. Sin embargo, en muchas circunstancias, loscostes no son conocidos a priori o los modelosya estan seleccionados. El analisis ROC (Recei-ver Operating Characteristic) [19, 30, 20] ha de-mostrado ser muy util para la evaluacion de losclasificadores cuando la matriz de coste no eraconocida en la construccion de los clasificadores.El analisis ROC proporciona herramientas paraseleccionar un conjunto de clasificadores que secomportarıan optimamente y para rechazar algu-nos otros clasificadores menos utiles. Para haceresto, se construye la envoltura convexa de todoslos clasificadores, dando una curva que junto alos ejes genera un polıtopo convexo. esto se pue-de realizar de manera sencilla para clasificadoresbinarios (2 clases) pero hasta el momento no se hapresentado una solucion para mas de dos clases.

Como veremos, el analisis ROC puede ser mo-delado como un CSP numerico y no binario quepuede ser resuelto por el algoritmo completo HSAmientras que es difıcil resolverlo mediante los re-

solutores tradicionales debido a que estos traba-jan principalmente con problemas discretos y conrestricciones binarias donde su objetivo se centraen el estudio de la consistencia y en la obtencionde una o varias soluciones del problema. Sin em-bargo en el problema que estamos considerando,se necesitan obtener el espacio de soluciones facti-ble y esto lo consigue HSA mediante la obtencionde todas las soluciones extremas que se necesitanpara obtener el hiper-poliedro resultante y obte-ner ası el volumen que ocupa la envoltura convexadel espacio ROC de clasificadores de n clases pu-diendo ser n > 2 [8].

5.1. Utilizacion de HSA para la ob-tencion de polıtopos ROC

En esta seccion, presentamos la aplicabilidad quetiene el algoritmo completo HSA para llevar a ca-bo la extension real del area bajo la curva ROC(Area Under the Curve, AUC) al volumen bajola superficie ROC que llamaremos VUS (VolumeUnder ROC Surface), mostrando como generar elhiper-poliedro que englobe a todos los clasificado-res. Ademas compararemos el VUS real obtenidomediante HSA con aproximaciones o extensionesde la AUC para mas de dos clases.

El analisis ROC y la medida AUC se han usadoexhaustivamente en el ambito de la toma de de-cisiones en medicina [11, 17], ası como en el areade la extraccion de conocimiento, en las herra-mientas de minerıa de datos, el reconocimientode patrones [1] o la ciencia en general [30].

En el caso trivial, un clasificador de dos clasesforma una curva ROC compuesta por cuatro seg-mentos 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 clasifi-car como a cuando realmente es b (a → b) y declasificar como b cuando realmente es a (b → a),los dos puntos que representan los clasificadorestriviales (es decir, el clasificador que siempre pre-dice la clase 0 y el clasificador que siempre predicela clase 1) y el punto origen. En la Figura 10 pre-sentamos de forma general la representacion deun clasificador con dos clases, donde posterior-mente explicaremos el significado de los polıgonosgenerados. Estos polıgonos generan un area quepuede ser calculada y que logicamente variara en-tre 0.5 (area mınima) y 1 (area maxima). El areadel polıgono superior, que hemos llamado AUC,se ha convertido en una mejor alternativa que laprecision o el error para evaluar clasificadores, ya

Page 12: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

que obtiene la bondad de un clasificador para di-ferentes distribuciones de las clases.

1 2 341 2 541 2 671 2 8:91

1 2 3

1 2 5

1 2 6

1 2 8

9

1

;=<?>A@CB�D EGF

H�I J K LMON P Q R S R T P U K L

MON P Q R S R T P U K L

MON P Q R S R T P U K L V L R W R P NX 9 Y 1 Z

M N P Q R S R T P U K L V L R W R P NX 1 Y 9 Z [ I K LMON P Q R S R T P U K L

\ ] ^ _ \ ] ` ^\ ] a b \ ] c `dfe

de

g h d i

j k h l m n m o p

` a q rb \ b \dfed

e

g h d ij k h l m n m o p

s t u v w x y z w { y | } u ~ w x � t u { t x � v } w �

9 1 1�I J I �G� N K Q Y [ L I T R Q R � � � 1 2 6 �

Figura 10. Representacion de un clasificador

con dos clases.

Sin embargo, la aplicabilidad del analisis ROC ydel AUC solamente se ha mostrado viable paraproblemas con dos clases. Aunque teoricamenteel analisis ROC puede extenderse para manejarproblemas multi-dimensionales [28], sin embargoen la practica no se ha podido utilizar debido ala dificultad de la formulacion de los clasificado-res triviales. El principal inconveniente es la altadimensionalidad.

No obstante, a pesar de la dificultad, vamos a verque es posible llevar a cabo el analisis ROC pa-ra mas de dos clases y el calculo de la AUC o,mas precisamente, el volumen bajo la superficieROC (VUS). Sin embargo, en la literatura, tantolos clasificadores triviales para mas de dos clases,como el volumen mınimo y maximo no se hanidentificado hasta la fecha.

En esta seccion resumimos la forma de calcular losclasificadores triviales, y el VUS mınimo y maxi-mo para clasificadores de mas de dos clases. No-sotros compararemos experimentalmente el VUSreal obtenido utilizando el algoritmo HSA, conlas extensiones de AUC obtenidas por Hand&Till[10].

Veamos a continuacion las equivalencias que segeneran cuando pasamos del estudio de clasifica-dores de dos clases a tres clases:

El polıgono generado bajo la curva ROC delos clasificadores de dos clases, se transfor-ma en un hiper-poliedro de 6 dimensionespara los clasificadores de tres clases, por loque su vision grafica se hace imposible.

El area bajo la curva ROC (AUC) se cal-cula con los cuatro puntos necesarios pa-ra generar el polıgono en clasificadores dedos clases. En cambio, para tres clases, setransforma en el volumen bajo la superficie(VUS) de un hiper-poliedro de 6 dimensio-nes del cual se necesitan todos los puntosextremos para dicho calculo. Pasemos, enprimer lugar, a calcular el volumen maximoy mınimo.

5.2. Volumen maximo bajo la su-perficie (VUS) para tres clases

El volumen maximo deberıa representar todos losposibles clasificadores.

Para obtener todos los posibles clasificadores, de-beremos 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;

• x2 + x4 ≤ 1;

Un punto dentro del hiper-poliedro resultante re-presenta a un clasificador con tres clases.

Dados 6 valores bajo una distribucion uniformeentre 0 y 1, representado por U(0,1), tenemos quela probabilidad de que un punto formado por es-tos 6 valores satisfaga las tres restricciones ante-riores es:

V USmax = 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 facil ver que la probabilidad de que la suma dedos numeros aleatorios bajo la distribucion uni-forme 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 maximo teorico es:V USmax = (1/2)3 = 1/8

Sin embargo, ¿cuales son los puntos cuya envol-tura convexa componen este volumen?

Page 13: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

Para ello resolvemos el CSP continuo anterior me-diante el algoritmo HSA obteniendo 41 puntosextremos, donde el volumen que genera la envol-tura convexa de estos 41 puntos, utilizando Qhull[3], es 1/8, tal y como hemos visto teoricamente(Vease tambien [8]).

5.3. Volumen mınimo bajo la su-perficie (VUS) para tres clases

Veamos la manera de obtener el VUS mınimo. Sinperdida de generalidad podemos construir clasifi-cadores 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 clasificadorestriviales extremos: ’todo es a’, ’todo es b’ y ’todoes c’.

Dado un clasificador cualquiera como el mostra-do en la Figura 11 (derecha), nosotros podemosdescartar este clasificador si y solo si:

∃ha, hb, hc ∈ R+ : ha + hb + hc = 1 y ademas

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 solo si r1 + r2 + r3 ≥ 1,donde r1 = min(x1, x2), r2 = min(x3, x4) yr3 = min(x5, x6)

Con las propiedades previas, nosotros solamen-te tenemos que calcular el espacio de aquellosclasificadores que cumplen la condicion de quer1 + r2 + r3 ≥ 1, donde r1 = min(x1, x2), r2 =min(x3, x4) y r3 = min(x5, x6), para ası obtenerel volumen mınimo correspondiente a la ausenciatotal de informacion.

De esta manera el CSP no binario y continuo quedeberemos resolver mediante el algoritmo HSA esel siguiente:

Variables: x1, x2, x3, x4, x5, x6, r1, r2, r3;

Dominios continuos: xi ∈ [0, 1], i : 1.,6 yrj ∈ [0, 1], j = 1, 2, 3;

Restricciones:

• x3 + x5 ≤ 1

• 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 ge-nera la envoltura convexa de estos 25 puntos es1/180, coincidiendo con el que experimentalmen-te obtenemos mediante el metodo de Monte Carlo[8].

Resumiendo, tenemos el siguiente VUS para tresclases:

Teorico Monte Carlo HSA

V USmax 1/8 0.12483 0.125V USmin 1/180 0.555523 0.55555

5.4. Clasificadores Triviales

A pesar de los buenos resultados obtenidos, pare-ce intuitivo (o al menos ası ocurre en clasificado-res con dos clases) que si cogemos el mınimo y leanadimos el punto origen (el mejor clasificador)deberıamos obtener el maximo. Sin embargo estono ocurre, ya que con el mınimo obtenido con unvolumen de 1/180 y anadiendo el (0,0,0,0,0,0) ob-tenemos 10 puntos con un volumen de 1/120 quees muy inferior al 1/8 obtenido como maximo.Esto parece contradictorio, ya que se supone quetener el mejor clasificador darıa el maximo. Logi-camente si se tiene un clasificador (0,0,0,0,0,0),cualquier clasificador que tenga un valor mayorde 0 para cualquier coordenada es descartable y,logicamente, esto deberıa dar 1/8.

La cuestion es que cuando se anade un clasifica-dor deberıamos ver las condiciones que forma. El

Page 14: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

clasificador perfecto genera las ecuaciones de des-carte xi ≥ 0,∀i = 1.,6, que son ecuaciones nulas,ya que las variables estan acotadas en dominios[0, 1].

De esta manera dado un clasificador C1, nos pode-mos plantear la siguiente pregunta ¿que podemosdescartar?

Podremos descartar cualquier clasificador C2 talque supere a C1 combinado con los triviales, esdecir, que C2 tenga cada valor mayor en cada unade las casillas.

En realidad lo que tenemos que mirar es la com-binacion lineal de los tres triviales con el que te-nemos:

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 ademas

vba ≥ ha + 0 + 0 + hd · zba

vca ≥ ha + 0 + 0 + hd · zca

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 con10 incognitas que deberemos resolver mediante elalgoritmo HSA.

Del resultado obtenido, nos quedamos con las 6variables de todos los puntos obtenidos, pudien-do calcular el volumen que genera la envolturaconvexa de todos ellos.

Veamos a continuacion una tabla comparativa, enla que evaluamos, para distintos ejemplos, nues-tra herramienta llamada HSA+QHULL (HSA),con otras aproximaciones al VUS como Macro-average (MAC), 1-P Trivial (TRIV), y el metodoexperimental que se genero mediante el metodode Monte Carlo (MC).

MC HSA MAC TRIV

(0,0,0,0,0,0) 0.125 0.125 1 1(1,1,1,0,0,0) 0.005 0.005 0 0.333(0.5,0.5,0,0,0,0) 0.032 0.034 0.666 0.666(0.5,0,0.5,0,0,0) 0.032 0.031 0.666 0.666(0.7,0.7,0.7,0,0,0) 0.007 0.008 0.25 0.25(0.33,0,0.33,0,0,0) 0.052 0.052 0.777 0.777

6. Conclusiones

Gran parte de los problemas de satisfaccion derestricciones se pueden modelar de forma naturalcomo problemas de satisfaccion de restriccionesno binarias. Sin embargo, los investigadores cen-tran su atencion en los CSPs binarios, por el he-cho de que todo CSP no binario se puede transfor-mar en uno binario. Las codificaciones dual y devariables ocultas son los dos metodos mas impor-tantes para transformar las restricciones no bina-rias en binarias en los CSPs discretos. En el casode CSPs numericos la transformacion de restric-ciones no binarias a ternarias es la tecnica masutilizada. Estas tecnicas de transformacion sonmuy utiles en determinados problemas, ya quetienen un coste relativamente bajo, y se puedenutilizar todas las herramientas existentes para elmanejo de CSPs binarios. Sin embargo en deter-minados casos, estas tecnicas de transformacionno son validas o se vuelven ineficientes.

Por lo tanto a veces es conveniente resolver elproblema en su formulacion original, mantenien-do ası toda la expresividad propia del problema.En este trabajo hemos presentado ademas un al-goritmo llamado HSA para el manejo de CSPs nobinarios sobre dominios continuos, el cual ha sidoaplicado a problemas reales como por ejemplo elanalisis ROC [8] donde toda su problematica sereduce a plantear un CSP no binario y continuodonde se requiere obtener la envoltura convexade todas las soluciones del problema con el ob-jetivo de obtener el volumen que ocupan dichassoluciones.

7. Agradecimientos

Este trabajo ha sido parcialmente financiado porel proyecto DPI2001-2094-C03-03 del MCYT y elproyecto CTIDIB/2002/112 de la Generalitat Va-lenciana.

Page 15: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

Referencias

[1] N.M. Adams and D.J. Hand. Comparingclassifiers when the misallocation costs areuncertain. Pattern Recognition, 32:1139–1147, 1999.

[2] F. Bacchus and P. van Beek. On the con-version between non-binary and binary cons-traint satisfaction problems. In proceeding ofAAAI-98, pages 311–318, 1998.

[3] C.B. Barber and H.T. Huhdanpaa. TheQuickhull algorithm for convex hulls. ACMTrans. on Mathematical Software, 1996.

[4] C. Bessiere. Non-binary constraints. In Proc.Principles and Practice of Constraint Pro-gramming (CP-99), pages 24–27, 1999.

[5] C. Bessiere, P. Meseguer, E.C. Freuder, andJ. Larrosa. On forward checking for non-binary constraint satisfaction. In Proc. Prin-ciples and Practice of Constraint Program-ming (CP-99), pages 88–102, 1999.

[6] R. Dechter and J. Pearl. Tree clustering forconstraint network. Artificial Intelligence,38:353–366, 1989.

[7] B.V. Faltings and E.M. Gelle. Local con-sistency for ternary numeric constraints. InProc. of the International Joint Conferenceon Artificial Intelligence (IJCAI-97), pages392–400, 1997.

[8] C Ferri, J Hernandez-Orallo, and M.A. Sali-do. Volume under the ROC surface for multi-class problems. Machine Learning: ECML2003, Proceeding of 14th European Confe-rence on Machine Learning (ECML), LNAI2837, pages 108–120, 2003.

[9] E.M. Gelle. On the generation of locallyconsistent solution spaces in mixed dynamicconstraint problems. PhD thesis, No. 1826,Swiss Federal Institute of Technology in Lau-sanne, Switzerland, 1998.

[10] D.J. Hand and R.J. Till. A simple generali-sation of the area under the ROC curve formultiple class classification problems. Ma-chine Learning, 45:171–186, 2001.

[11] J.A. Hanley and B.J. McNeil. The meaningand use of the area under a receiver opera-ting characteristic (ROC) curve. Radiology,143:29–36, 1982.

[12] J. Larrosa. Algorithms and Heuristics for to-tal and partial Constraint Satisfaction. PhdDissertation, UPC, Barcelona, 1998.

[13] O. Lhomme. Consistency techniques for nu-meric CSPs. In International Joint Confe-rence on Artificial Intelligence (IJCAI-93),pages 232–238, 1993.

[14] C. Lottaz. Rewriting numeric csps forconsistency algorithms. In Workshop onNon-Binary Constraints at the InternationalJoint Conference on Artificial Intelligence,pages E:1–E:13, 1999.

[15] A.K. Mackworth. Consistency in networkof relations. Artificial Intelligence, 8:99–118,1977.

[16] D. Maier. The Theory of Relational Databa-ses. Computer Science Press, 1983.

[17] D. Mossman and E. Somoza. ROC curves,test accuracy, and the description of diagnos-tic 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 andvisualization of classifier performance: Com-parison under imprecise class and cost dis-tribution. Proc. of The Third InternationalConference on Knowledge Discovery and Da-ta Mining (KDD-97), pages 43–48, 1997.

[20] F. Provost and T. Fawcett. Robust classifi-cation for imprecise environments. MachineLearning, 42:203–231, 2001.

[21] F. Rossi, C. Petrie, and V. Dhar. On theequivalence of constraint satisfaction pro-blems. In proceeding of European Conferen-ce of Artificial Intelligence, pages 550–556,1990.

[22] M.A. Salido. POLYHEDRA, un Mode-lo para la Resolucion de Problemas de Sa-tisfaccion de Restricciones n-arias Median-te Hiper-poliedros. Tesis Doctoral No1530,DSIC, Universidad Politecnica de Valencia,Spain, 2002.

[23] M.A. Salido and F. Barber. An incrementaland non-binary CSP solver: The Hyperpoly-hedron Search Algorithm. In Proc. of 7thInternational Conference on Principles andPractice of Constraint Programming (CP-01). LNCS 2239, pages 799–780, 2001.

Page 16: T ecnicas para el Manejo de CSPs no Binarios · ciones (CSPs) no binarias (o n arias). Por ejemplo en areas tales como inteligencia arti cial, investigaci on operativa, bases de datos

[24] M.A. Salido and F. Barber. A PolynomialAlgorithm for Continuous Non-binary Dis-junctive CSPs: Extended DLRs. Knowled-ge Based Systems. Elsevier Science, 16:277–285, 2003.

[25] M.A. Salido, A. Giret, and F. Barber. Cons-traint Satisfaction by means of DynamicPolyhedra. Operational Research Procee-dings 2001. Ed. Springer Verlag, 1:405–412,2001.

[26] D. Sam-Haroud. Constraints ConsistencyTechniques for Continuous Domains. PhDthesis, No. 1423, Swiss Federal Institute ofTechnology in Lausanne, Switzerland, 1995.

[27] D. Sam-Haroud and Faltings B. Global con-sistency for continuous constraints. In pro-

ceeding of European Conference of ArtificialIntelligence (ECAI-94), pages 40–50, 1994.

[28] A. Srinivasan. Note on the Location of Opti-mal Classifiers in N-dimensional ROC Spa-ce. Technical Report PRG-TR-2-99, OxfordUniversity Computing Laboratory, Oxford,1999.

[29] K. Stergiou and T. Walsh. Encoding of non-binary constraints satisfaction problems. InProc. of the National Conference on Artifi-cial Intelligence (AAAI-99), pages 163–168,1999.

[30] J. Swets, R. Dawes, and J. Monahan. Betterdecisions through science. Scientific Ameri-can, pages 82–87, 2000.