Механизм Викри-Кларка-Гроувса

редактировать
Метод выбора, который максимизирует полезность

В конструкции механизма, механизм Викри - Кларк - Гровс (VCG ) механизм - это общий правдивый механизм для достижения социально -Оптимальное решение. Это обобщение аукциона Викри-Кларка-Гроувса. Аукцион VCG выполняет конкретную задачу: разделение предметов между людьми. Механизм VCG является более общим: его можно использовать для выбора любого результата из набора возможных результатов.

Содержание
  • 1 Обозначение
  • 2 Семейство решений
  • 3 Правдивость
  • 4 Сводный момент Кларка правило
  • 5 Взвешенный механизм VCG
  • 6 Минимизация затрат
  • 7 Приложения
    • 7.1 Аукционы
    • 7.2 Открытый проект
    • 7.3 Самые быстрые пути
  • 8 Уникальность
  • 9 Вычислительные проблемы
  • 10 См. Также
  • 11 Ссылки
Обозначение

Существует набор X {\ displaystyle X}X возможных результатов.

Есть n {\ displaystyle n}n агентов, которые имеют разные оценки для каждого результата. Оценка агента i {\ displaystyle i}i представлена ​​как функция:

vi: X ⟶ R + {\ displaystyle v_ {i}: X \ longrightarrow R _ {+}}{\ displaystyle v_ {i}: X \ longrightarrow R _ {+ }}

, который выражает ценность каждой альтернативы в денежном выражении.

Предполагается, что агенты имеют квазилинейные служебные функции ; это означает, что если результатом является x {\ displaystyle x}x и, кроме того, агент получает платеж pi {\ displaystyle p_ {i}}p_ {i} ( положительное или отрицательное), то общая полезность агента i {\ displaystyle i}i составляет:

ui: = vi (x) + pi {\ displaystyle u_ {i}: = v_ {i} (x) + p_ {i}}{\ displaystyle u_ {i}: = v_ {i} (x) + p_ {i}}

Наша цель - выбрать результат, который максимизирует сумму значений, например:

xopt (v) = arg ⁡ max x ∈ X ∑ i = 1 nvi (x) {\ displaystyle x ^ {opt} (v) = \ arg \ max _ {x \ in X} \ sum _ {i = 1} ^ {n} v_ {i} (x)}{\ displaystyle x ^ {opt} (v) = \ arg \ max _ {x \ in X} \ sum _ {i = 1} ^ {n} v_ {i} (х)}

In Другими словами, наша функция социального выбора утилитарная.

Семейство решений

Семейство VCG - это семейство механизмов, реализующих утилитарную функцию благосостояния. Типичный механизм семейства VCG работает следующим образом:

1. Он просит агентов сообщить о своей функции ценности. Т.е. каждый агент i {\ displaystyle i}i должен сообщать vi (x) {\ displaystyle v_ {i} (x)}{\ displaystyle v_ {i} (x)} для каждого параметра х {\ displaystyle x}x .

2. На основе вектора отчета агентов v {\ displaystyle v}v вычисляется x ∗ = xopt (v) {\ displaystyle x ^ {*} = x ^ {opt} (v)}{\ displaystyle x ^ {*} = x ^ {opt} (v)} как указано выше.

3. Он выплачивает каждому агенту i {\ displaystyle i}i денежную сумму, равную общей стоимости других агентов:

pi: = ∑ j ≠ ivj (x ∗) {\ displaystyle p_ {i}: = \ sum _ {j \ neq i} v_ {j} (x ^ {*})}{\ displaystyle p_ {i}: = \ sum _ {j \ neq i} v_ {j} (x ^ {*})}

4. Он выплачивает каждому агенту i {\ displaystyle i}i дополнительную сумму, основанную на произвольной функции значений других агентов:

pi + = hi (v - i) {\ displaystyle p_ {i} + = h_ {i} (v _ {- i})}{\ displaystyle p_ {i} + = h_ {i} (v _ {- i})}

где v - i = (v 1,…, vi - 1, vi + 1,…, vn) {\ displaystyle v _ {- i} = (v_ {1}, \ dots, v_ {i-1}, v_ {i + 1}, \ dots, v_ {n})}v _ {- i} = (v_ {1}, \ dots, v_ {i-1}, v_ {i + 1}, \ dots, v_ {n}) , что is, привет {\ displaystyle h_ {i}}h_ {i} - это функция, которая зависит только от оценки других.

Правдивость

Каждый механизм в семействе VCG является правдивым механизмом, то есть механизмом, в котором предложение истинной оценки является доминирующей стратегией.

Уловка заключается в шаге 3. Агенту выплачивается полная стоимость других агентов; следовательно, вместе со своей собственной ценностью общее благосостояние агента в точности равно общему благосостоянию общества. Следовательно, стимулы агента согласованы с мотивами общества, и агент получает стимул быть правдивым, чтобы помочь механизму достичь своей цели.

Функция h i {\ displaystyle h_ {i}}h_ {i} на шаге 4 не влияет на стимулы агента, поскольку зависит только от заявлений других агентов.

Правило поворота Кларка

Функция h i {\ displaystyle h_ {i}}h_ {i} является параметром механизма. Каждый выбор h i {\ displaystyle h_ {i}}h_ {i} дает другой механизм в семействе VCG.

Мы могли бы взять, например:

hi (v - i) = 0 {\ displaystyle h_ {i} (v _ {- i}) = 0}h_ {i} (v_ { -i}) = 0 ,

, но тогда нам пришлось бы фактически платят игрокам за участие в аукционе. Мы бы предпочли, чтобы игроки отдавали деньги механизму.

Альтернативная функция:

hi (v - i) = - max x ∈ X ∑ j ≠ ivj (x) {\ displaystyle h_ {i} (v _ {- i}) = - \ max _ {x \ in X} \ sum _ {j \ neq i} v_ {j} (x)}{\ displaystyle h_ {i} (v _ {- i}) = - \ max _ {x \ in X} \ sum _ {j \ neq i} v_ {j} (x)}

Это называется правилом поворота Кларка. Согласно правилу поворота Кларка, общая сумма, выплачиваемая игроком, составляет:

(социальное благополучие других, если i {\ displaystyle i}i отсутствовало) - (социальное благополучие других, когда i {\ displaystyle i}i присутствует).

Это в точности внешний эффект игрока i {\ displaystyle i}i .

, когда оценки все агенты слабо положительны, правило поворота Кларка имеет два важных свойства:

  • Индивидуальная рациональность : для каждого игрока i, vi (x) + pi ≥ 0 {\ displaystyle v_ {i} (x) + p_ {i} \ geq 0}{\ displaystyle v_ {i} (x) + p_ {i} \ geq 0} . Это означает, что все игроки получают положительную пользу от участия в аукционе. Никого не заставляют делать ставки.
  • Никаких положительных переводов: для каждого игрока i p i ≤ 0 {\ displaystyle p_ {i} \ leq 0}{\ displaystyle p_ {i} \ leq 0} . Механизм не должен ничего платить участникам торгов.

Это делает механизм VCG беспроигрышной игрой : игроки получают желаемые результаты и платят сумму, которая меньше их выигрыша.. Таким образом, игроки остаются с чистой положительной прибылью, а механизм получает чистую положительную выплату.

Взвешенный механизм VCG

Вместо максимизации суммы значений мы можем захотеть максимизировать взвешенную сумму:

xopt (v) = arg ⁡ max x ∈ X ∑ i = 1 nwivi (x) {\ displaystyle x ^ {opt} (v) = \ arg \ max _ {x \ in X} \ sum _ {i = 1} ^ {n} w_ {i} v_ {i} (x) }{\ displaystyle x ^ {opt} (v) = \ arg \ max _ {x \ in X} \ sum _ {i = 1} ^ {n} w_ {i} v_ {i} (x) }

где wi {\ displaystyle w_ {i}}w_ {i} - вес, присвоенный агенту i {\ displaystyle i}i .

. Механизм VCG, описанный выше, можно легко обобщить. изменив функцию цены на шаге 3 на:

pi: = 1 wi ∑ j ≠ iwjvj (x ∗) {\ displaystyle p_ {i}: = {1 \ over w_ {i}} \ sum _ {j \ neq i} w_ {j} v_ {j} (x ^ {*})}{\ displaystyle p_ {i}: = {1 \ over w_ {i}} \ sum _ {j \ neq i} w_ {j} v_ {j} (x ^ {*})}
Минимизация затрат

Механизм VCG может быть адаптирован к ситуациям, в которых целью является минимизация суммы затрат ( вместо максимизации суммы выигрышей). Затраты могут быть представлены как отрицательные значения, так что минимизация затрат эквивалентна максимизации значений.

Платежи на шаге 3 отрицательны: каждый агент должен оплатить полную стоимость, понесенную всеми другими агентами. Если агенты свободны выбирать, участвовать или нет, то мы должны убедиться, что их чистая оплата неотрицательна (это требование называется индивидуальной рациональностью ). Для этой цели можно использовать правило поворота Кларка: на шаге 4 каждому агенту i оплачивается полная стоимость, которую понесли бы другие агенты, если бы агент i не участвовал. Чистый платеж агенту i - это его предельный вклад в снижение общих затрат.

Приложения

Аукционы

Аукцион Викри-Кларка-Гроувса - это приложение механизма VCG для максимизации благосостояния. Здесь X {\ displaystyle X}X - это набор всех возможных распределений элементов между агентами. Каждый агент присваивает индивидуальное денежное выражение каждому набору предметов, и цель состоит в том, чтобы максимизировать сумму значений всех агентов.

Хорошо известным частным случаем является Аукцион Викри. Здесь есть только один элемент, а набор X {\ displaystyle X}X содержит n + 1 {\ displaystyle n + 1}n + 1 возможных результатов: либо продать предмет одному из агентов n {\ displaystyle n}n , либо не продавать его вообще. На шаге 3 агенту-победителю выплачивается 0 (поскольку общая стоимость остальных равна 0), а проигравшие получают выплату, равную заявленной стоимости победителя. На шаге 4 победитель платит вторую по величине ставку (общую стоимость остальных, если бы он не участвовал), а проигравшие оплачивают объявленную стоимость победителя (общую стоимость остальных, если бы они не участвовали). В общем, победитель платит вторую по величине ставку, а проигравшие - 0.

Механизм VCG также может использоваться в двойном аукционе. Это наиболее общая форма двойного аукциона, совместимого со стимулами, поскольку он может обрабатывать комбинаторный аукцион с произвольными функциями стоимости для пакетов. К сожалению, он не сбалансирован по бюджету: общая сумма, которую платят покупатели, меньше общей суммы, получаемой продавцами. Следовательно, чтобы заставить его работать, аукционист должен субсидировать торговлю.

Общественный проект

Правительство хочет решить, проводить ли определенный проект. Стоимость проекта составляет C. Каждый гражданин получает разную ценность от проекта. Проект следует предпринимать, если сумма ценностей всех граждан превышает стоимость. Здесь механизм VCG с правилом поворота Кларка означает, что гражданин платит ненулевой налог за этот проект тогда и только тогда, когда они являются основными, то есть без их декларации общая стоимость меньше C, а с их декларацией общая стоимость больше C. Эта схема налогообложения совместима со стимулами, но, опять же, она не сбалансирована по бюджету - общая сумма собранных налогов обычно меньше C.

Самые быстрые пути

Самые быстрые Проблема пути - это проблема минимизации затрат. Цель состоит в том, чтобы отправить сообщение между двумя точками в сети связи, которое моделируется в виде графа. Каждый компьютер в сети моделируется как ребро в графе. У разных компьютеров разная скорость передачи, поэтому каждое ребро в сети имеет числовую стоимость, равную количеству миллисекунд, необходимых для передачи сообщения. Наша цель - отправить сообщение как можно быстрее, поэтому мы хотим найти путь с наименьшей общей стоимостью.

Если мы знаем время передачи каждого компьютера (- стоимость каждого ребра), то мы можем использовать стандартный алгоритм для решения задачи о кратчайшем пути. Если мы не знаем время передачи, мы должны попросить каждый компьютер сообщить нам время передачи. Но у компьютеров есть свои эгоистичные интересы, поэтому они могут не сказать нам правду. Например, компьютер может сказать нам, что время его передачи очень велико, чтобы мы не беспокоили его своими сообщениями.

Для решения этой проблемы можно использовать механизм VCG. Здесь X {\ displaystyle X}X - это набор всех возможных путей; цель - выбрать путь x ∈ X {\ displaystyle x \ in X}x \ in X с минимальной общей стоимостью.

Значение агента, vi (x) {\ displaystyle v_ {i} (x)}{\ displaystyle v_ {i} (x)} , минус время, которое он потратил на сообщение: оно отрицательное. если i ∈ x {\ displaystyle i \ in x}{\ displaystyle i \ in x} и он равен нулю, если i ∉ x {\ displaystyle i \ notin x}{\ displaystyle i \ notin x} . Платеж на шаге 3 отрицательный: каждый агент должен заплатить нам общее время, потраченное другими агентами на сообщение (обратите внимание, что это значение измеряется в единицах времени. Мы предполагаем, что можно платить компьютерам в единицах времени., или что это стандартный способ перевести время в деньги). Это означает, что вместе со своим затраченным временем каждый агент фактически теряет общее время, которое потребовалось сообщению, чтобы добраться до пункта назначения, поэтому агент стимулируется помочь механизму достичь кратчайшего времени передачи.

Правило поворота Кларка можно использовать для того, чтобы сделать механизм индивидуально рациональным: после оплаты стоимости каждый агент получает от нас положительный платеж, равный времени, за которое сообщение пришло бы. пункт назначения, если бы агент не присутствовал. Очевидно, это время немного больше, чем время, необходимое, когда агент присутствует, поэтому чистая прибыль каждого агента слабо положительна. Интуитивно понятно, что каждому агенту платят в соответствии с его предельным вкладом в передачу.

Другие проблемы с графами могут быть решены аналогичным образом, например минимальное связующее дерево или максимальное соответствие. Аналогичное решение применяется к более общему случаю, когда каждый агент содержит некоторое подмножество ребер.

Другой пример, когда механизм VCG обеспечивает субоптимальное приближение, см. Правдивое планирование заданий.

Уникальность

Механизм VCG реализует утилитарную функцию социального выбора - функцию, которая максимизирует взвешенную сумму значений (также называемую аффинным максимизатором ). Теорема Робертса доказывает, что, если:

  • функции оценки агентов не ограничены (каждый агент может иметь в качестве функции значения любую функцию от X {\ displaystyle X}X до R { \ displaystyle \ mathbb {R}}\ mathbb {R} ) и -
  • есть как минимум три различных возможных результата (| X | ≥ 3 {\ displaystyle | X | \ geq 3 }{\ displaystyle | X | \ geq 3} и может произойти по крайней мере три различных результата из X {\ displaystyle X}X ),

тогда могут быть реализованы только взвешенные утилитарные функции. Таким образом, при неограниченных оценках функции социального выбора, реализуемые механизмами VCG, являются единственными функциями, которые могут быть реализованы правдиво.

Более того, ценовые функции механизмов VCG также уникальны в следующем смысле. Если:

  • Области оценок агентов - это связанные множества (в частности, у агентов могут быть реальные предпочтения, а не только интегральные предпочтения);
  • Имеется правдивый механизм, который реализует определенную функцию O utcome {\ displaystyle Outcome}{\ displaystyle Outcome} с определенными функциями оплаты p 1,…, pn {\ displaystyle p_ {1}, \ dots, p_ {n}}{\ displaystyle p_ {1}, \ dots, p_ {n}} ;
  • Есть еще один правдивый механизм, который реализует ту же функцию O utcome {\ displaystyle Outcome}{\ displaystyle Outcome} с разными функциями оплаты p 1 ′,…, pn ′ { \ displaystyle p '_ {1}, \ dots, p' _ {n}}{\displaystyle p'_{1},\dots,p'_{n}};

Тогда существуют функции h 1,…, hn {\ displaystyle h_ {1}, \ dots, h_ {n }}{\ displaystyle h_ {1}, \ dots, h_ {n }} такая, что для всех i {\ displaystyle i}i :

pi ′ (vi, v - i) = pi (vi, v - i) + hi (v - i) {\ displaystyle p '_ {i} (v_ {i}, v _ {- i}) = p_ {i} (v_ {i}, v _ {- i}) + h_ {i} (v _ {- i}) }{\displaystyle p'_{i}(v_{i},v_{-i})=p_{i}(v_{i},v_{-i})+h_{i}(v_{-i})}

Т.е. ценовые функции двух механизмов различаются только функцией, которая не зависит от оценки агента v i {\ displaystyle v_ {i}}v_ {i} (только по оценкам других агентов).

Это означает, что механизмы VCG являются единственными правдивыми механизмами, которые максимизируют утилитарное социальное благополучие.

Вычислительные проблемы

Механизм VCG должен рассчитать оптимальный результат на основе отчетов агентов (шаг 2 выше). В некоторых случаях это вычисление затруднительно. Например, на комбинаторных аукционах расчет оптимального назначения является NP-трудным.

Иногда существуют алгоритмы приближения для задачи оптимизации, но использование такого приближения может сделать механизм неправдивым.

См. также
Ссылки
Последняя правка сделана 2021-06-18 12:27:31
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте