В проектировании механизмов механизм Викри– Кларка – Гроувса ( VCG ) является общим правдивым механизмом для достижения социально оптимального решения. Это обобщение аукциона Викри–Кларка–Гроувса . Аукцион VCG выполняет конкретную задачу: разделение предметов между людьми. Механизм VCG более общий: его можно использовать для выбора любого результата из набора возможных результатов. [1] : 216–233
Существует ряд возможных результатов.
Есть агенты, каждый из которых имеет набор оценок результатов. Оценка агента представлена в виде функции:
который выражает ценность, которую он имеет для каждой альтернативы, в денежном выражении.
Предполагается, что агенты имеют квазилинейные функции полезности; это означает, что если результат равен и, кроме того, агент получает платеж (положительный или отрицательный), то общая полезность агента равна:
Наша цель — выбрать результат, который максимизирует сумму значений, то есть:
Другими словами, наша функция социального выбора утилитарна .
Семейство VCG — это семейство механизмов, реализующих утилитарную функцию благосостояния. Типичный механизм в семействе VCG работает следующим образом:
1. Агентам предлагается отчитаться о своей функции ценности. То есть, каждый агент должен отчитаться по каждому варианту .
2. На основе вектора отчетов агентов выполняется расчет, как указано выше.
3. Он выплачивает каждому агенту сумму денег, равную общей стоимости других агентов:
4. Он выплачивает каждому агенту дополнительную сумму, основанную на произвольной функции значений других агентов:
где , то есть, — это функция, которая зависит только от оценок других агентов.
Каждый механизм в семействе VCG является правдивым механизмом , то есть механизмом, в котором назначение истинной оценки является доминирующей стратегией .
Хитрость в шаге 3. Агенту выплачивается общая стоимость других агентов; следовательно, вместе с его собственной стоимостью, общее благосостояние агента в точности равно общему благосостоянию общества. Следовательно, стимулы агента соответствуют стимулам общества, и агент мотивирован быть правдивым, чтобы помочь механизму достичь своей цели.
Функция на шаге 4 не влияет на стимулы агента, поскольку она зависит только от деклараций других агентов.
Функция является параметром механизма. Каждый выбор дает другой механизм в семействе VCG.
Например, можно взять:
но тогда нам пришлось бы фактически платить игрокам за участие в аукционе. Мы бы предпочли, чтобы игроки давали деньги механизму.
Альтернативная функция:
Это называется правилом Кларка . Согласно правилу Кларка, общая сумма, выплачиваемая игроком, составляет:
Это как раз и есть внешний эффект игрока . [2]
Когда оценки всех агентов слабоположительны, правило Кларка имеет два важных свойства:
Это делает механизм VCG беспроигрышной игрой : игроки получают желаемые результаты и платят сумму, которая меньше их выигрыша. Таким образом, игроки остаются с чистым положительным выигрышем, а механизм получает чистый положительный платеж.
Вместо максимизации суммы значений мы можем захотеть максимизировать взвешенную сумму:
где — вес, назначенный агенту .
Механизм VCG, описанный выше, можно легко обобщить, изменив функцию цены на шаге 3 следующим образом:
Механизм VCG может быть адаптирован к ситуациям, в которых целью является минимизация суммы затрат (вместо максимизации суммы выгод). Затраты могут быть представлены в виде отрицательных значений, так что минимизация затрат эквивалентна максимизации значений.
Платежи на шаге 3 отрицательны: каждый агент должен оплатить общую стоимость, понесенную всеми другими агентами. Если агенты свободны выбирать, участвовать им или нет, то мы должны убедиться, что их чистая оплата неотрицательна (это требование называется индивидуальной рациональностью ). Правило поворота Кларка можно использовать для этой цели: на шаге 4 каждому агенту выплачивается общая стоимость, которую понесли бы другие агенты, если бы агент не участвовал. Чистая оплата агенту — это его предельный вклад в снижение общей стоимости.
Аукцион Викри–Кларка–Гроувса — это применение механизма VCG для максимизации благосостояния. Здесь — множество всех возможных распределений предметов среди агентов. Каждый агент назначает личную денежную стоимость каждой группе предметов, а цель — максимизировать сумму стоимостей всех агентов.
Известным особым случаем является аукцион Викри . Здесь есть только один предмет, и набор содержит возможные результаты: либо продать предмет одному из агентов, либо не продать его вообще. На шаге 3 победитель получает 0 (так как общая стоимость остальных равна 0), а проигравшие получают платеж, равный заявленной стоимости победителя. На шаге 4 победитель платит вторую по величине ставку (общая стоимость остальных, если бы он не участвовал), а проигравшие платят заявленную стоимость победителя (общая стоимость остальных, если бы они не участвовали). В общем, победитель платит вторую по величине ставку, а проигравшие платят 0.
Механизм VCG также может использоваться в двойном аукционе . Это наиболее общая форма двойного аукциона, совместимого с поощрением, поскольку он может обрабатывать комбинаторный аукцион с произвольными функциями стоимости на пакетах. К сожалению, он не сбалансирован по бюджету: общая стоимость, уплачиваемая покупателями, меньше общей стоимости, получаемой продавцами. Следовательно, чтобы это работало, аукционист должен субсидировать торговлю.
Правительство хочет решить, стоит ли реализовывать определенный проект. Стоимость проекта составляет C. Каждый гражданин получает от проекта разную ценность. Проект следует реализовывать, если сумма ценностей всех граждан больше стоимости. Здесь механизм VCG с правилом поворота Кларка означает, что гражданин платит ненулевой налог за этот проект, если и только если он является поворотным, т. е. без его декларации общая стоимость меньше C , а с его декларацией общая стоимость больше C. Эта налоговая схема совместима со стимулами, но опять же она не сбалансирована с бюджетом — общая сумма собранного налога обычно меньше C. [1] : 221
Задача о самом быстром пути — это задача минимизации затрат. [3] Цель — отправить сообщение между двумя точками в сети связи, которая моделируется как граф. Каждый компьютер в сети моделируется как ребро в графе. Разные компьютеры имеют разные скорости передачи, поэтому каждое ребро в сети имеет числовую стоимость, равную количеству миллисекунд, необходимых для передачи сообщения. Наша цель — отправить сообщение как можно быстрее, поэтому мы хотим найти путь с наименьшей общей стоимостью.
Если мы знаем время передачи каждого компьютера (-стоимость каждого ребра), то мы можем использовать стандартный алгоритм для решения задачи кратчайшего пути . Если мы не знаем время передачи, то мы должны попросить каждый компьютер сообщить нам его время передачи. Но у компьютеров есть свои собственные эгоистичные интересы, поэтому они могут не сказать нам правду. Например, компьютер может сказать нам, что его время передачи очень велико, так что мы не будем беспокоить его нашими сообщениями.
Для решения этой проблемы можно использовать механизм VCG. Здесь — множество всех возможных путей; цель — выбрать путь с минимальной общей стоимостью.
Стоимость агента, , равна минусу времени, которое он потратил на сообщение: она отрицательна, если и равна нулю, если . Платеж на шаге 3 отрицателен: каждый агент должен заплатить нам общее время, которое другие агенты потратили на сообщение (обратите внимание, что стоимость измеряется в единицах времени. Мы предполагаем, что можно платить компьютерам в единицах времени или что существует стандартный способ перевести время в деньги). Это означает, что вместе со своим собственным затраченным временем каждый агент фактически теряет общее время, которое потребовалось сообщению, чтобы достичь своего пункта назначения, поэтому агент мотивирован помочь механизму достичь кратчайшего времени передачи.
Правило Кларка может быть использовано для того, чтобы сделать механизм индивидуально-рациональным: после оплаты нам стоимости каждый агент получает от нас положительную оплату, которая равна времени, которое потребовалось бы сообщению, чтобы добраться до места назначения, если бы агент не присутствовал. Очевидно, что это время слабо больше, чем время, необходимое при присутствии агента, поэтому чистый выигрыш каждого агента слабо положительный. Интуитивно, каждый агент получает оплату в соответствии с его предельным вкладом в передачу.
Другие графовые проблемы могут быть решены аналогичным образом, например, минимальное остовное дерево или максимальное соответствие . Аналогичное решение применимо к более общему случаю, когда каждый агент удерживает некоторое подмножество ребер. [3]
Другой пример, когда механизм VCG обеспечивает неоптимальное приближение, см. в разделе Истинное планирование заданий .
Механизм VCG реализует утилитарную функцию общественного выбора — функцию, которая максимизирует взвешенную сумму значений (также называемую аффинным максимизатором ). Теорема Робертса доказывает, что если:
тогда могут быть реализованы только взвешенные утилитарные функции. [1] : 228, гл.12 Таким образом, при неограниченных оценках функции общественного выбора, реализуемые механизмами VCG, являются единственными функциями, которые могут быть реализованы правдиво.
Более того, ценовые функции механизмов VCG также уникальны в следующем смысле. [1] : 230–231 Если:
Тогда существуют функции такие, что для всех :
То есть ценовые функции двух механизмов различаются только функцией, которая не зависит от оценки агента (только от оценок других агентов).
Это означает, что механизмы VCG являются единственными истинными механизмами, которые максимизируют утилитарное социальное благосостояние.
Механизм VCG должен вычислять оптимальный результат на основе отчетов агентов (шаг 2 выше). В некоторых случаях этот расчет является вычислительно сложным. Например, в комбинаторных аукционах вычисление оптимального назначения является NP-трудным . [1] : 270–273, гл.11
Иногда существуют алгоритмы приближения к задаче оптимизации, но использование такого приближения может сделать механизм неверным. [3]