Оптимизация распределенных ограничений (DCOP или DisCOP ) - это распределенный аналог оптимизации ограничений. DCOP - это проблема, в которой группа агентов должна распределенно выбирать значения для набора переменных таким образом, чтобы стоимость набора ограничений по переменным была минимальной.
Распределенное удовлетворение ограничений - это структура для описания проблемы в терминах ограничений, которые известны и применяются отдельными участниками (агентами). Ограничения описываются для некоторых переменных с предопределенными доменами и должны быть присвоены одним и тем же значениям разными агентами.
Проблемы, определенные с помощью этой структуры, могут быть решены любым из алгоритмов, которые разработаны для нее.
Фреймворк использовался под разными названиями в 1980-х годах. Первое известное использование с текущим именем относится к 1990 году.
Содержание
- 1 Определения
- 2 Примеры проблем
- 2.1 Раскраска распределенного графа
- 2.2 Распределенное множественное проблема ранца
- 3 Алгоритмы
- 4 См. также
- 5 Примечания и ссылки
- 6 Книги и обзоры
Определения
DCOP
A DCOP можно определить как tuple , где:
- - набор из агентов ;
- - это набор переменных, ;
- - это набор доменов, , где каждый - это конечный набор, содержащий значения, которым может быть присвоена связанная с ним переменная;
- является функцией , который сопоставляет все возможные присвоения переменной стоимости. Эту функцию также можно рассматривать как определение ограничений между переменными, однако переменные не должны быть эрмитовыми;
- - это функция отображение переменных на их связанный агент. подразумевает, что это агент отвечает за присвоение значения переменной . Обратите внимание, что не обязательно верно, что является либо инъекцией, либо сюръекцией ; и
- - это оператор, который объединяет все индивидуальные затраты для всех возможные присвоения переменных. Обычно это достигается путем суммирования: .
Цель DCOP состоит в том, чтобы каждый агент присваивал значения связанным с ним переменным, чтобы минимизировать или максимизировать для заданного присвоения переменных.
Контекст
A контекст - это присвоение переменной для DCOP. Это можно представить как функцию преобразования переменных в DCOP в их текущие значения:
Обратите внимание, что контекст, по сути, является частичным решением и не обязательно должен содержать значения для каждой переменной в проблеме; следовательно, подразумевает, что агент еще не присвоило значение переменной . При таком представлении «домен » (то есть набор входных значений) функции f
можно рассматривать как набор всех возможных контекстов для DCOP. Поэтому в оставшейся части этой статьи мы можем использовать понятие контекста (т.е. функцию ) в качестве входных данных для функция.
Примеры задач
Раскраска распределенного графа
Проблема раскраски графа выглядит следующим образом: для graph и набор цветов , назначьте каждому вершина, , цвет, , такое, что количество соседних вершин одного цвета минимизировано.
В качестве DCOP на каждую вершину назначается один агент, который определяет соответствующий цвет. У каждого агента есть одна переменная, связанный домен которой имеет мощность (для каждого возможного цвета существует одно значение домена). Для каждой вершины создайте переменную в DCOP с доменом . Для каждой пары смежных вершин создайте ограничение стоимости 1, если обеим ассоциированным переменным присваивается один и тот же цвет:
Таким образом, цель - для минимизации .
Распределенная задача о множестве ранцев
Распределенный множественный вариант задачи о ранце выглядит следующим образом: учитывая набор предметов разного объема и набор ранцев различной вместимости, назначьте каждый предмет рюкзаку таким образом, чтобы количество переполнения было минимальным. Пусть будет набором элементов, будет набором ранцев, быть функцией, отображающей элементы в их объем, и - функция, отображающая рюкзаки на их возможности.
Чтобы закодировать эту задачу как DCOP, для каждого создайте одну переменную со связанным доменом . Тогда для всех возможных контекстов :
где - это функция такая, что
Алгоритмы
алгоритмы DCOP могут быть классифицируются в соответствии со стратегией поиска (поиск лучшего первого или поиск в глубину с ветвлением и границей), синхронизацией между агентами (синхронной или асинхронной), обменом данными между агентами (точка-точка с соседями в графе ограничений или широковещательная передача) и основная топология связи (цепочка или дерево). ADOPT, например, использует поиск лучшего первого, асинхронную синхронизацию, двухточечную связь между соседними агентами в графе ограничений и дерево ограничений в качестве основной топологии связи.
Название алгоритма | Год внедрения | Сложность памяти | Количество сообщений | Корректность (информатика) /. Полнота (логика) | Реализации |
---|
NCBB . Ветвление и граница без обязательств | 2006 | Многочлен (или любой пробел) | Экспоненциальный | Проверенный | Ссылка Реализация: публично не выпущено. DCOPolis (GNU LGPL ) |
DPOP . Процедура оптимизации распределенного псевдодерева | 2005 | Exponential | Линейный | Проверенная | Эталонная реализация: FRODO (GNU Affero GPL ). DCOPolis (GNU LGPL ) |
OptAPO . Асинхронное частичное наложение | 2004 | Полиномиальное | Экспоненциальное | Доказано, но доказательство полноты оспаривается | Ссылочная реализация: «OptAPO». Центр искусственного интеллекта. SRI International. Архивировано из оригинала 2007-07 гг. -15.. DCOPolis (GNU LGPL ); В разработке |
Adopt. Асинхронный поиск с возвратом | 2003 | Многочлен (или любой пробел) | Экспоненциальный | Доказано | Эталонная реализация: Принять. DCOPolis (GNU LGPL ). FRODO (GNU Affero GPL ) |
Безопасное многостороннее вычисление для решения DisCSP . (MPC-DisCSP1-MPC-DisCSP4) | 2003 | | | Примечание: безопасно, если половина участников заслуживает доверия | |
Безопасные вычисления с полу-доверенными серверами | 2002 | | | Примечание: безопасность повышается с увеличением количества надежных серверов | |
ABTR . Асинхронный возврат с переупорядочиванием | 2001 | | | Примечание: заказ в ABT с ограниченными товарами | |
DMAC . Поддержание асинхронной согласованности | 2001 | | | Примечание: самый быстрый алгоритм | |
AAS . Асинхронный поиск агрегирования | 2000 | | | агрегирование значений в ABT | |
DFC . Распределенная прямая цепочка | 2000 | | | Примечание: низкий, сопоставимый с ABT | |
DBA . Distrib Используемый алгоритм прорыва | 1995 | | | Примечание: неполный, но быстрый | FRODO версии 1 |
AWC . Асинхронное слабое обязательство | 1994 | | | Примечание: переупорядочивание, быстрое, полное (только с экспоненциальным пространством) | |
ABT . Асинхронное отслеживание с возвратом | 1992 | | | Примечание: статическое упорядочивание, полное | |
CFL . Связь -Свободное обучение | 2013 | Линейное | Нет Примечание: сообщения не отправляются, но предполагается знание об удовлетворении локальных ограничений | Неполный | |
Гибриды из этих алгоритмов DCOP также существуют. BnB-Adopt, например, изменяет стратегию поиска Adopt с поиска по принципу «сначала лучший» на поиск по ветвям и границам, сначала в глубину.
См. Также
Примечания и ссылки
- ^""обозначает набор мощности из
- ^"" и ""обозначают декартово произведение.
- ^ Йео, Уильям; Фельнер, Ариэль; Кениг, Свен (2008), «BnB-ADOPT: асинхронный алгоритм DCOP с ветвями и границами», Труды Седьмой международной совместной конференции по автономным агентам и многоагентным системам, стр. 591–598
- ^Чечетка, Антон; Сикара, Катя (май 2006 г.), «Ответвление без обязательств и поиск границ для оптимизации распределенных ограничений» (PDF), Труды Пятой международной совместной конференции по автономным агентам и многоагентным системам, стр. 1427–1429
- ^Чечетка, Антон; Сикара, Катя (март 2006 г.), «Алгоритм в любом пространстве для оптимизации распределенных ограничений» (PDF), Материалы весеннего симпозиума AAAI по распределенному плану и управлению расписанием
- ^Петку, Адриан ; Фалтингс, Бой (август 2005 г.), «DPOP: масштабируемый метод для многоагентной оптимизации ограничений», Труды 19-й Международной совместной конференции по искусственному интеллекту, IJCAI 2005, Эдинбург, Шотландия, стр. 266-271
- ^Мейллер, Роджер; Лессер, Виктор (2004), «Решение задач оптимизации распределенных ограничений с использованием кооперативного посредничества» (PDF), Труды Третьей международной совместной конференции по автономным агентам и многоагентным системам, Компьютерное общество IEEE, pp. 438–445
- ^Гриншпун, Тал; Зазон, Моше; Биншток, Максим; Майзельс, Амнон (2007), «Проблема завершения алгоритма APO» (PDF), Труды восьмого международного семинара по распределенному обоснованию ограничений, стр. 117–124
- ^Первоначально опубликованная версия Adopt был не информирован, см. Моди, Прагнеш Джей; Шэнь, Вэй-Минь; Tambe, Milind; Йоку, Макото (2003), «Асинхронный полный метод для оптимизации распределенных ограничений» (PDF), Труды второй международной совместной конференции по автономным агентам и мультиагентным системам, ACM Press, С. 161–168. Первоначальная версия Adopt была позже расширена для информирования, то есть для использования оценок стоимости решения, чтобы сфокусировать поиск и работать быстрее, см. Али, Сайед; Кениг, Свен; Tambe, Milind (2005), «Методы предварительной обработки для ускорения алгоритма DCOP ADOPT» (PDF), Труды четвертой международной совместной конференции по автономным агентам и многоагентным системам, ACM Press, С. 1041–1048. Это расширение Adopt обычно используется как эталонная реализация Adopt.
- ^Мацуи, Тошихиро; Мацуо, Хироши; Ивата, Акира (февраль), «Эффективный метод для асинхронного алгоритма оптимизации с распределенными ограничениями» (PDF), Proceedings of Artificial Intelligence and Applications, pp. 727–732 Проверить значения даты в:
| date =
и | year = / | date = mismatch
() - ^Duffy, KR; Leith, DJ (август 2013), "Decentralized Constraint Satisfaction", IEEE / ACM Транзакции в сети, 21 (4), 21, стр. 1298–1308, arXiv : 1103.3240, doi : 10.1109 / TNET.2012.2222923
Книги и обзоры
- Фиоретто, Фердинандо; Понтелли, Энрико; Йео, Уильям (2018), «Проблемы оптимизации распределенных ограничений и приложения: обзор», Журнал исследований искусственного интеллекта, 61: 623–698, arXiv : 1602.06347, doi : 10.1613 / jair.5565
- Faltings, Бой (2006), «Распределенное программирование в ограничениях», в Уолш, Тоби (ред.), Справочник по программированию в ограничениях, Elsevier, ISBN 978 -0-44 4-52726-4 Глава отредактированной книги.
- Майзелс, Амнон (2008), Распределенный поиск ограниченными агентами, Springer, ISBN 978 -1-84800-040-7
- Шохам, Йоав; Лейтон-Браун, Кевин (2009), Многоагентные системы: алгоритмические, теоретико-игровые и логические основы, Нью-Йорк: Cambridge University Press, ISBN 978-0-521-89943-7 См. Главы 1 и 2; загружается бесплатно в Интернете.
- Йоку, Макото (2001), Распределенное удовлетворение ограничений: основы сотрудничества в многоагентных системах, Springer, ISBN 978-3 -540-67596-9
- Ёко, М., и Хираяма, К. (2000). Алгоритмы выполнения распределенных ограничений: обзор. Труды Международной совместной конференции по автономным агентам и многоагентным системам (стр. 185–207). Обзор.