La optimización de restricciones distribuidas ( DCOP o DisCOP ) es el análogo distribuido de la optimización de restricciones . Un problema DCOP consiste en que un grupo de agentes debe elegir de forma distribuida valores para un conjunto de variables de manera que se minimice el coste de un conjunto de restricciones sobre dichas variables.
La satisfacción de restricciones distribuidas es un marco para describir un problema en términos de restricciones conocidas y aplicadas por distintos participantes (agentes). Las restricciones se describen sobre variables con dominios predefinidos y deben asignarse a los mismos valores por los diferentes agentes.
Los problemas definidos con este marco de trabajo pueden resolverse mediante cualquiera de los algoritmos diseñados para él.
El marco de trabajo se utilizó con diferentes nombres en la década de 1980. El primer uso conocido con el nombre actual data de 1990.
Definiciones
DCOP
Los ingredientes principales de un problema DCOP son los agentes y las variables . Es importante destacar que cada variable pertenece a un agente; esto es lo que hace que el problema sea distribuido. Formalmente, un DCOP es una tupla., dónde:
- es el conjunto de agentes ,.
- es el conjunto de variables ,.
- es el conjunto de dominios variables ,, donde cadaes un conjunto finito que contiene los posibles valores de la variable.
- Sicontiene solo dos valores (por ejemplo, 0 o 1), entoncesse denomina variable binaria .
- es la función de costo . Es una función [ 1 ]que asigna a cada posible asignación parcial un costo. Por lo general, solo unos pocos valores deson distintos de cero, y se representa como una lista de las tuplas a las que se les asigna un valor distinto de cero. Cada una de estas tuplas se denomina restricción . Cada restricciónen este conjunto hay una funciónasignar un valor real a cada posible asignación de las variables. Algunos tipos especiales de restricciones son:
- Restricciones unarias : restricciones sobre una sola variable, es decir,para algunos.
- Restricciones binarias : restricciones sobre dos variables, es decir,para algunos.
- es la función de propiedad . Es una funciónAsignar cada variable a su agente asociado.significa que variable"pertenece" al agenteEsto implica que es un agenteresponsabilidad de asignar el valor de la variable. Tenga en cuenta queNo necesariamente se trata de una inyección , es decir, un agente puede poseer más de una variable. Tampoco se trata necesariamente de una sobreyección , es decir, algunos agentes pueden no poseer ninguna variable.
- es la función objetivo . Es un operador que agrega todos los individualescostos para todas las posibles asignaciones variables. Esto generalmente se logra mediante la suma:
El objetivo de un DCOP es que cada agente asigne valores a sus variables asociadas para minimizar o maximizarpara una asignación dada de las variables.
Tareas
Una asignación de valor es un pardóndees un elemento del dominio.
Una asignación parcial es un conjunto de asignaciones de valor donde cadaAparece como máximo una vez. También se le llama contexto. Esto puede entenderse como una función que asigna variables en el DCOP a sus valores actuales: Tenga en cuenta que un contexto es esencialmente una solución parcial y no necesita contener valores para cada variable del problema; por lo tanto,implica que el agenteaún no se ha asignado un valor a la variable. Dada esta representación, el " dominio " (es decir, el conjunto de valores de entrada) de la función fpuede pensarse como el conjunto de todos los contextos posibles para el DCOP. Por lo tanto, en el resto de este artículo podemos usar la noción de un contexto (es decir, elfunción) como entrada para lafunción.
Una tarea completa es una tarea en la que cadaAparece exactamente una vez, es decir, todas las variables están asignadas. También se le denomina solución al DCOP.
Una solución óptima es una asignación completa en la que la función objetivose optimiza (es decir, se maximiza o se minimiza, dependiendo del tipo de problema).
Problemas de ejemplo
Diversos problemas de diferentes dominios pueden presentarse como DCOP (Problemas de Operación de Dominio).
Coloreado de grafos distribuidos
El problema de coloración de grafos es el siguiente: dado un grafoy un conjunto de colores, asignar cada vértice ,, un color,, de manera que se minimice el número de vértices adyacentes del mismo color.
Como DCOP, hay un agente por vértice que se asigna para decidir el color asociado. Cada agente tiene una sola variable cuyo dominio asociado es de cardinalidad(hay un valor de dominio para cada color posible). Para cada vértice, hay una variablecon dominio. Para cada par de vértices adyacentesExiste una restricción de costo 1 si a ambas variables asociadas se les asigna el mismo color:El objetivo, entonces, es minimizar.
Problema de la mochila múltiple distribuida
La variante múltiple distribuida del problema de la mochila es la siguiente: dado un conjunto de artículos de volumen variable y un conjunto de mochilas de capacidad variable, asignar cada artículo a una mochila de tal manera que se minimice la cantidad de desbordamiento.ser el conjunto de elementos,ser el conjunto de mochilas,ser una función que asigna elementos a su volumen, yser una función que relaciona las mochilas con sus capacidades.
Para codificar este problema como un DCOP, para cadacrear una variablecon dominio asociado. Entonces, para todos los contextos posibles:dónderepresenta el peso total asignado por contextomochila:
Problema de asignación de elementos distribuidos
El problema de asignación de artículos es el siguiente: Hay varios artículos que deben dividirse entre varios agentes. Cada agente tiene una valoración diferente para los artículos. El objetivo es optimizar algún objetivo global, como maximizar la suma de utilidades o minimizar la envidia. El problema de asignación de artículos puede formularse como un DCOP de la siguiente manera. [ 2 ]
- Agregue una variable binaria v ij para cada agente i y elemento j . El valor de la variable es "1" si el agente obtiene el elemento y "0" en caso contrario. La variable pertenece al agente i .
- Para expresar la restricción de que cada artículo se entrega a un máximo de un agente, agregue restricciones binarias para cada par de variables diferentes relacionadas con el mismo artículo, con un costo infinito si las dos variables son simultáneamente "1", y un costo cero en caso contrario.
- Para expresar la restricción de que todos los artículos deben ser asignados, agregue una restricción n -aria para cada artículo (donde n es el número de agentes), con un costo infinito si ninguna variable relacionada con este artículo es "1".
Otras aplicaciones
DCOP se aplicó a otros problemas, como por ejemplo:
- Coordinación de sensores móviles;
- Planificación de reuniones y tareas.
Algoritmos
Los algoritmos DCOP se pueden clasificar de varias maneras: [ 3 ]
- Completitud : algoritmos de búsqueda completa que encuentran la solución óptima, frente a algoritmos de búsqueda local que encuentran un óptimo local .
- Estrategia de búsqueda : búsqueda primero el mejor o búsqueda en profundidad con ramificación y acotación;
- Sincronización entre agentes: síncrona o asíncrona;
- Comunicación entre agentes: punto a punto con los vecinos en el grafo de restricciones, o difusión;
- Topología de comunicación : cadena o árbol.
ADOPT, por ejemplo, utiliza la búsqueda primero en amplitud, la sincronización asíncrona, la comunicación punto a punto entre agentes vecinos en el grafo de restricciones y un árbol de restricciones como topología de comunicación principal.
También existen híbridos de estos algoritmos DCOP. BnB-Adopt, [ 3 ] por ejemplo, cambia la estrategia de búsqueda de Adopt de búsqueda primero en amplitud a búsqueda de ramificación y acotación en profundidad.
DCOP asimétrico
Un DCOP asimétrico es una extensión del DCOP en la que el costo de cada restricción puede ser diferente para diferentes agentes. Algunos ejemplos de aplicaciones son: [ 13 ]
- Programación de eventos : los agentes que asisten al mismo evento pueden obtener valores diferentes del mismo.
- Red inteligente : el aumento del precio de la electricidad en horas punta puede deberse a diferentes factores.
Una forma de representar un ADCOP es representar las restricciones como funciones:
Aquí, para cada restricción no hay un único costo, sino un vector de costos, uno por cada agente involucrado en la restricción. El vector de costos tiene una longitud k si cada variable pertenece a un agente diferente; si dos o más variables pertenecen al mismo agente, el vector de costos es más corto: hay un único costo para cada agente involucrado , no para cada variable.
Enfoques para resolver un problema ADCOP
Una forma sencilla de resolver un ADCOP es reemplazar cada restricción.con una restricción, que es igual a la suma de las funcionesSin embargo, esta solución requiere que los agentes revelen sus funciones de costo. A menudo, esto no es deseable debido a consideraciones de privacidad. [ 14 ] [ 15 ] [ 16 ]
Otro enfoque se denomina Eventos Privados como Variables (PEAV). [ 17 ] En este enfoque, cada variable posee, además de sus propias variables, también "variables espejo" de todas las variables que poseen sus vecinos en la red de restricciones. Existen restricciones adicionales (con un coste infinito) que garantizan que las variables espejo sean iguales a las variables originales. La desventaja de este método es que el número de variables y restricciones es mucho mayor que el original, lo que conlleva un mayor tiempo de ejecución.
Un tercer enfoque consiste en adaptar los algoritmos existentes, desarrollados para DCOP, al marco ADCOP. Esto se ha hecho tanto para algoritmos de búsqueda completa como para algoritmos de búsqueda local. [ 13 ]
Comparación con juegos de estrategia
La estructura de un problema ADCOP es similar al concepto de juego simultáneo de la teoría de juegos . En ambos casos, hay agentes que controlan variables (en la teoría de juegos, las variables son las posibles acciones o estrategias de los agentes). En ambos casos, cada elección de variables por parte de los diferentes agentes resulta en una recompensa diferente para cada agente. Sin embargo, existe una diferencia fundamental: [ 13 ]
- En un juego simultáneo, los agentes son egoístas: cada uno busca maximizar su propia utilidad (o minimizar su propio coste). Por lo tanto, el mejor resultado posible en este contexto es un equilibrio , una situación en la que ningún agente puede aumentar unilateralmente su propio beneficio.
- En un problema ADCOP, los agentes se consideran cooperativos: actúan según el protocolo incluso si esto disminuye su propia utilidad. Por lo tanto, el objetivo es más complejo: maximizar la suma de utilidades (o minimizar la suma de costos). Un equilibrio de Nash corresponde aproximadamente a un óptimo local de este problema, mientras que nosotros buscamos un óptimo global.
Cooperación parcial
Existen algunos modelos intermedios en los que los agentes son parcialmente cooperativos : están dispuestos a disminuir su utilidad para contribuir al objetivo global, pero solo si su propio costo no es demasiado elevado. Un ejemplo de agentes parcialmente cooperativos son los empleados de una empresa. Por un lado, cada empleado busca maximizar su propia utilidad; por otro lado, también desean contribuir al éxito de la empresa. Por lo tanto, están dispuestos a ayudar a otros o realizar otras tareas que consumen tiempo y que benefician a la empresa, siempre que no les suponga una carga excesiva. Algunos modelos para agentes parcialmente cooperativos son: [ 18 ]
- Beneficio personal garantizado : los agentes aceptan actuar por el bien común si su propia utilidad es al menos tan alta como en el escenario no cooperativo (es decir, el resultado final debe ser una mejora de Pareto del estado original).
- Cooperación Lambda : hay un parámetroLos agentes aceptan actuar por el bien común si su propia utilidad es al menos tan alta comoveces su utilidad no cooperativa.
La resolución de este tipo de ADCOP de cooperación parcial requiere adaptaciones de los algoritmos ADCOP. [ 18 ]
Véase también
Notas y referencias
- ↑ "" o "×" denota el producto cartesiano .
- ↑ Netzer, Arnon; Meisels, Amnon; Zivan, Roie (1 de marzo de 2016). "Minimización de la envidia distribuida para la asignación de recursos" . Autonomous Agents and Multi-Agent Systems . 30 (2): 364– 402. doi : 10.1007/s10458-015-9291-7 . ISSN 1387-2532 . S2CID 13834856 .
- 1 2 Yeoh, William; Felner, Ariel; Koenig, Sven (2008), "BnB-ADOPT: Un algoritmo DCOP asíncrono de ramificación y acotación" , Actas de la Séptima Conferencia Internacional Conjunta sobre Agentes Autónomos y Sistemas Multiagente , vol. 2, Ifaamas, pp. 591–8 , ISBN 9780981738116
- ↑ Hirayama, Katsutoshi; Yokoo, Makoto (1997). "Problema de satisfacción de restricciones parciales distribuidas" . En Smolka, Gert (ed.). Principios y práctica de la programación con restricciones-CP97 . Lecture Notes in Computer Science. Vol. 1330. Berlín, Heidelberg: Springer. pp. 222–236 . doi : 10.1007/BFb0017442 . ISBN 978-3-540-69642-1.
- ↑ La versión original publicada de Adopt no estaba informada, véase Modi, Pragnesh Jay; Shen, Wei-Min; Tambe, Milind; Yokoo, Makoto (2003), "Un método completo asíncrono para la optimización de restricciones distribuidas" (PDF) , Actas de la segunda conferencia conjunta internacional sobre agentes autónomos y sistemas multiagente , ACM Press, págs. 161–168 , archivado del original (PDF) el 4 de noviembre de 2019 , recuperado el 7 de septiembre de 2009. La versión original de Adopt se amplió posteriormente para incorporar información, es decir, para utilizar estimaciones de los costos de la solución para enfocar su búsqueda y ejecutarse más rápido. Véase Ali, Syed; Koenig, Sven; Tambe, Milind (2005), "Técnicas de preprocesamiento para acelerar el algoritmo DCOP ADOPT" (PDF) , Actas de la cuarta conferencia internacional conjunta sobre agentes autónomos y sistemas multiagente , ACM Press, pp. 1041–8 , doi : 10.1145/1082473.1082631 , ISBN 1595930930, S2CID 10882572 , archivado del original (PDF) el 07-07-2010 , recuperado el 07-09-2009 Esta extensión de Adopt se utiliza normalmente como implementación de referencia de Adopt.
- ↑ Matsui, Toshihiro; Matsuo, Hiroshi; Iwata, Akira (febrero de 2005), "Método eficiente para algoritmo de optimización de restricciones distribuidas asíncronas" (PDF) , Actas de Inteligencia Artificial y Aplicaciones , págs. 727–732 , CiteSeerX 10.1.1.408.7230
- ↑ Mailler, Roger; Lesser, Victor (2004). «Resolución de problemas de optimización con restricciones distribuidas mediante mediación cooperativa» . Actas de la Tercera Conferencia Internacional Conjunta sobre Agentes Autónomos y Sistemas Multiagente . IEEE Computer Society . págs. 438–445 . ISBN 1581138644.
- ↑ Grinshpoun, Tal; Zazon, Moshe; Binshtok, Maxim; Meisels, Amnon (2007), " Problema de terminación del algoritmo APO" (PDF) , Actas del Octavo Taller Internacional sobre Razonamiento de Restricciones Distribuidas , págs. 117–124
- ↑ Petcu, Adrian; Faltings, Boi (agosto de 2005), "DPOP: un método escalable para la optimización de restricciones multiagente" , Actas de la 19.ª Conferencia Internacional Conjunta sobre Inteligencia Artificial, IJCAI 2005, Edimburgo, Escocia, págs. 266-271
- ↑ Chechetka, Anton; Sycara, Katia (mayo de 2006), "Búsqueda de ramificación y acotación sin compromiso para la optimización de restricciones distribuidas" (PDF) , Actas de la Quinta Conferencia Internacional Conjunta sobre Agentes Autónomos y Sistemas Multiagente , págs. 1427–9 , doi : 10.1145/1160633.1160900 , ISBN 1595933034, S2CID 43918609
- ↑ Chechetka, Anton; Sycara, Katia (marzo de 2006), "Un algoritmo para cualquier espacio para la optimización de restricciones distribuidas" (PDF) , Actas del Simposio de Primavera de la AAAI sobre Gestión Distribuida de Planes y Programaciones
- ↑ Duffy, KR; Leith, DJ (agosto de 2013), "Satisfacción de restricciones descentralizada", IEEE/ACM Transactions on Networking , 21 (4): 1298– 1308, arXiv : 1103.3240 , Bibcode : 2013ITNet..21.1298D , doi : 10.1109/TNET.2012.2222923 , S2CID 11504393
- 1 2 3 Grinshpoun, T.; Grubshtein, A.; Zivan, R.; Netzer, A.; Meisels, A. (2013-07-30). "Problemas de optimización de restricciones distribuidas asimétricas" . Journal of Artificial Intelligence Research . 47 : 613–647 . arXiv : 1402.0587 . doi : 10.1613/jair.3945 . ISSN 1076-9757 .
- ↑ Greenstadt, Rachel; Pearce, Jonathan P.; Tambe, Milind (16 de julio de 2006). «Análisis de la pérdida de privacidad en la optimización de restricciones distribuidas» . Actas de la 21.ª Conferencia Nacional sobre Inteligencia Artificial - Volumen 1. AAAI'06. Boston: AAAI Press: 647–653 . ISBN 978-1-57735-281-5.
- ↑ Maheswaran, Rajiv T.; Pearce, Jonathan P.; Bowring, Emma; Varakantham, Pradeep; Tambe, Milind (2006-07-01). "Pérdida de privacidad en el razonamiento de restricciones distribuidas: un marco cuantitativo para el análisis y sus aplicaciones" . Autonomous Agents and Multi-Agent Systems . 13 (1): 27– 60. doi : 10.1007/s10458-006-5951-y . ISSN 1573-7454 . S2CID 16962945 .
- ↑ Yokoo, Makoto; Suzuki, Koutarou; Hirayama, Katsutoshi (2002). "Satisfacción segura de restricciones distribuidas: alcanzar un acuerdo sin revelar información privada" . En Van Hentenryck, Pascal (ed.). Principios y práctica de la programación con restricciones – CP 2002. Lecture Notes in Computer Science. Vol. 2470. Berlín, Heidelberg: Springer. pp. 387–401 . doi : 10.1007/3-540-46135-3_26 . ISBN 978-3-540-46135-7.
- ↑ Rajiv T. Maheswaran; Milind Tambe; Emma Bowring; Jonathan P. Pearce; Pradeep Varakantham (2004). "Llevando DCOP al mundo real: soluciones completas y eficientes para la planificación distribuida de múltiples eventos" . computer.org . Consultado el 12 de abril de 2021 .
- 1 2 Zivan, Roie; Grubshtein, Alon; Friedman, Michal; Meisels, Amnon (2012-06-04). "Cooperación parcial en la búsqueda multiagente" . Actas de la 11.ª Conferencia Internacional sobre Agentes Autónomos y Sistemas Multiagente - Volumen 3. AAMAS '12. 3. Valencia, España: Fundación Internacional para Agentes Autónomos y Sistemas Multiagente: 1267–1268 . ISBN 978-0-9817381-3-0.
Libros y encuestas
- Fioretto, Ferdinando; Pontelli, Enrico; Yeoh, William (2018), "Problemas y aplicaciones de optimización con restricciones distribuidas: una revisión" , Journal of Artificial Intelligence Research , 61 : 623–698 , arXiv : 1602.06347 , doi : 10.1613/jair.5565 , S2CID 4503761
- Faltings, Boi (2006), "Programación con restricciones distribuidas" , en Walsh, Toby (ed.), Manual de programación con restricciones , Elsevier , ISBN 978-0-444-52726-4Un capítulo de un libro editado.
- Meisels, Amnon (2008), Búsqueda distribuida mediante agentes restringidos , Springer , ISBN 978-1-84800-040-7
- Shoham, Yoav; Leyton-Brown, Kevin (2009), Sistemas multiagente: Fundamentos algorítmicos, de teoría de juegos y lógicos , Nueva York: Cambridge University Press , ISBN 978-0-521-89943-7Consulte los capítulos 1 y 2; disponibles para descargar gratuitamente en línea .
- Yokoo, Makoto (2001), Satisfacción de restricciones distribuidas: Fundamentos de la cooperación en sistemas multiagente , Springer , ISBN 978-3-540-67596-9
- Yokoo, M. Hirayama K. (2000), "Algoritmos para la satisfacción de restricciones distribuidas: una revisión", Autonomous Agents and Multi-Agent Systems , 3 (2): 185– 207, doi : 10.1023/A:1010078712316 , S2CID 2139298
- Optimización matemática
- Programación con restricciones
