Опубликован: 05.08.2011 | Доступ: свободный | Студентов: 1407 / 57 | Оценка: 4.50 / 3.50 | Длительность: 18:52:00
ISBN: 978-5-9963-0014-3
Специальности: Математик, Экономист
Лекция 5:

Эффективные и оптимальные механизмы

< Лекция 4 || Лекция 5: 123 || Лекция 6 >

Эффективные механизмы: VCG

Итак, мы научились максимизировать доход продавца. Теперь попытаемся решить более альтруистическую задачу: максимизируем общественное благосостояние (social welfare). Это значит, что мы будем пытаться распределить вещь тому, кому она больше всего нравится.

Мы уже знаем, что аукцион второй цены (без резервной цены) эффективен. А вот, например, оптимальный аукцион, который мы только что рассматривали, может оказаться и неэффективным. Во-первых, резервная цена автоматически предполагает, что иногда объект никому не достанется, даже если есть положительные ставки. Во-вторых, максимизируется виртуальная ценность: если распределения несимметричные, то это вовсе не эквивалентно максимизации самих x_i.

История создания эффективных механизмов восходит к самым истокам теории экономических механизмов. Собственно, мотивацией первой работы Уильяма Викри стал именно поиск эффективного (и правдивого) механизма: его аукцион второй цены, предложенный в [76], стал первым примером нетривиального дизайна экономических механизмов и фактически основал науку, которой мы сейчас занимаемся. Затем Кларк обобщил идею Викри и применил аналогичный механизм в контексте распределения вещей общего пользования (так называемых public goods) [13]. Наконец, в своем современном виде эффективные механизмы, которые мы сейчас будем рассматривать, появляются у Т.Гровса [24].

Для начала немного обобщим постановку задачи. Расширим возможные значения ценностей агентов, то есть обобщим \mathcal X: теперь значения ценностей агентов будут x_i\in[\alpha_i,\omega_i]. Это нужно для того, чтобы разрешить отрицательные ценности. Напоминаем, что, по определению 5.1, функция распределения \mathbf Q^* называется эффективной }, если она максимизирует общественное благосостояние, то есть

\forall \mathbf x\in\mathcal X\quad \mathbf Q^*(\mathbf x)\in argmax_{\mathbf Q} \sum_{j=1}^NQ_jx_j.

Проще говоря, мы даем вещь агенту с максимальной ценностью, либо одному из таких агентов, если их несколько. Введем теперь еще одно обозначение — если \mathbf Q^* уже эффективна, то мы обозначим через W значение этого самого общественного благосостояния. Суммарное благосостояние всех агентов мы обозначим через

W(\mathbf x) = \sum_{j=1}^NQ^*_j(\mathbf x)x_j,

а суммарное благосостояние всех агентов без i -го — через

W_{-i}(\mathbf x) = \sum_{j\neq i}Q^*_j(\mathbf x)x_j.

Теперь можно переходить к определению.

Определение 5.3. Механизм Викри-Кларка-Гровса, он же механизм VCG (Vickrey-Clarke-Groves) — это эффективный механизм с правилом платежа \mathcal M^V:\mathcal X\to\mathbb R^N, определенным следующим образом:

M^V_i(\mathbf x) = W(\alpha_i,\mathbf x_{-i}) - W_{-i}(\mathbf x).

Напомним, что слово эффективный в определении означает, что правило распределения \mathbf Q уже задано:

\mathbf Q^*(\mathbf x)\in argmax_{\mathbf Q} \sum_{j=1}^NQ_jx_j.

Рассмотрим повнимательнее функцию платы \mathcal M^V. Цена M^V_i(\mathbf x), которую придется заплатить агенту i — это разница между общественным благосостоянием при наименьшей возможной ставке агента i и благосостоянием всех остальных агентов при текущей ставке. То есть агент должен заплатить ровно столько, насколько он суммарно сделал хуже другим от того, что сделал ставку, а не ограничился минимумом (как правило, равносильным неучастию). В контексте аукционов \alpha_i=0, и получается в точности аукцион второй цены.

Если другие агенты делают ставки \mathbf x_{-i}, то прибыль агента i от ставки z_i вычисляется как

Q^*(z_i,\mathbf x_{-i})x_i - M^V_i(z_i,\mathbf x_{-i}) = Q^*(z_i,\mathbf x_{-i})x_i - W(\alpha_i,\mathbf x_{-i}) + W_{-i}(\mathbf x) = \\ = Q^*(z_i,\mathbf x_{-i})x_i - W(\alpha_i,\mathbf x_{-i}) + \sum\limits_{j\neq i}Q^*_j(z_i,\mathbf x_{-i})x_j = \\ = \sum\limits_{j=1}^NQ^*_j(z_i,\mathbf x_{-i})x_j-W(\alpha_i,\mathbf x_{-i}).

Здесь Q^*(z_i,\mathbf x_{-i})x_i — ожидание дохода агента, а M^V_i(z_i,\mathbf x_{-i}) — ожидание выплаты агента. Вычитаемое от z не зависит, а уменьшаемое по определению \mathbf Q^* максимизируется, когда i говорит правду. Значит, аукцион VCG правдив.

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

U^V_i(x_i)=\mathbf E[W(x_i,\mathbf X_{-i}) - W(\alpha_i,\mathbf X_{-i})]

будет возрастающей и выпуклой функцией. Но U^V_i(\alpha_i)=0 ; значит, по монотонности, мы получаем, что VCG рационален.

Пусть есть другой механизм, который тоже эффективен, правдив и рационален. Тогда, по принципу эквивалентности доходности, его доходность U_i отличается от U_i^V на константу. Но если

U_i(\alpha_i) < U_i^V(\alpha_i)=0,

то механизм не будет рациональным (у агента i с ценностью \alpha_i — отрицательная ожидаемая доходность). Значит, U_i(z) > U_i^V(z), то есть другой механизм больше дает агентам; при одинаковом распределении \mathbf Q^* это значит, что агенты платят меньше. Таким образом, мы доказали следующую теорему.

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

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

Кроме того, нужно понимать, что механизм VCG при всех своих замечательных свойствах может оказаться совершенно нереалистичен. Для вычисления функции распределения \mathbf Q в механизме VCG приходится решать сложную задачу оптимизации. Если агентов достаточно много, это не всегда можно сделать быстро: задача распределения в ряде ситуаций оказывается NP-трудной, в том числе "совсем" NP-трудной, то есть такой, к оптимальному решению которой даже приблизиться NP-трудно. Задача сделать вычислительно эффективный механизм, то есть механизм, который бы работал полиномиально долго и при этом обладал хорошими свойствами, — это совсем другая задача, в рамках классической теории экономических механизмов удовлетворительно не решенная. Пути ее решения были исследованы только в совсем недавних работах Нисана и Ронена [63]; мы в этом курсе рассматривать их не будем и, возможно, вернемся к ним позже. Совершенно аналогично нелегко сделать и эффективный оптимальный механизм.

Баланс бюджета и механизм AGV

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

Зачастую в задачах дизайна механизмов требуется, чтобы у механизма в результате его деятельности сходился баланс (budget balance property). Это значит, что система "замкнута": деньги перераспределяются между агентами, но никаких вливаний снаружи не требуется (и наружу никаких лишних денег не отдается).

Определение 5.4. Механизм (\mathbf Q,\mathcal M) удовлетворяет условию сбалансированности бюджета, если

\sum_{i=1}^NM_i(\mathbf x) = 0,

то есть сумма выплат всех агентов равна нулю.

Условие сбалансированности бюджета требуется нередко, но механизм VCG в том виде, в котором мы его рассмотрели в предыдущем параграфе, свойства этого не обеспечивает (см., например, раздел 7.2). А нам хотелось бы построить механизм, который и эффективен был бы, и бюджет соблюдал бы нулевой. Эту задачу исполняет механизм AGV, или механизм Эрроу-д'Аспремона-Жерар-Варе (Arrow-d'Aspremont-Gerard-Varet). Как и в случае VCG, это не совместная работа, а две разных, независимых и вышедших в одно время: Эрроу [5] и остальных авторов [16]. Обращаем внимание читателя на то, что "других авторов" не три, а два: Жерар-Варе — это один человек.

Этот механизм тоже эффективен (то есть использует правило распределения \mathbf Q^* ). Его выплаты \mathcal M^{\mathcal A} определяются как

M_i^{\mathcal A}(\mathbf x)=\frac1{N-1}\sum_{j\neq i}\mathbf E_{\mathbf X_{-j}}[W_{-j}(x_j,\mathbf X_{-j})]-\mathbf E_{\mathbf X_{-i}}[W_{-i}(x_i,\mathbf X_{-i})].

"Физический смысл" похож на смысл аукциона VCG: можно сказать, что каждый агент компенсирует каждому другому агенту свое присутствие на аукционе. При таких выплатах очевидно, что баланс механизма AGV сходится, поскольку каждое ожидание входит в сумму один раз с плюсом и один раз с минусом:

\sum_{i=1}^NM_i^{\mathcal A}(\mathbf x) = 0.

Для полного счастья осталось лишь показать, что механизм AGV правдив и рационален. И здесь нас ждет некоторое разочарование. Во-первых, в доминантных стратегиях доказать правдивость не получится. Но равновесие по Нэшу (и даже по Байесу-Нэшу) получится: если другие агенты говорят правду, то есть сообщают \mathbf x_{-i}, а агент i делает ставку z_i, его ожидаемый итоговый доход равен

\mathbf E_{\mathbf X_{-i}}\left[Q^*_i(z_i,\mathbf X_{-i}) - M_i^{\mathcal A}(\mathbf x)\right] = \mathbf E_{\mathbf X_{-i}}[Q^*_i(z_i,\mathbf X_{-i}) + W_{-i}(z_i,\mathbf X_{-i})] - \\ -\mathbf E_{\mathbf X_{-i}}\left[\frac1{N-1}\sum\limits_{j\neq i}\mathbf E_{\mathbf X_{-j}}[W_{-j}(X_j,\mathbf X_{-j})]\right].

Первое слагаемое Q^*_i(z_i,\mathbf X_{-i}) — доход агента, из которого вычитается выплата агента. Вычитаемое ожидание не зависит от z_i, а первое ожидание максимизируется при z_i=x_i, поэтому по Нэшу и по Байесу-Нэшу механизм действительно правдив.

А вот рациональности у механизма AGV, вообще говоря, не будет.

Пример 5.4. Рассмотрим ситуацию торговли с двумя участниками, которую мы будем подробно обсуждать в разделе "Двусторонняя торговля и теорема Вильямса" . В ней участвуют два игрока, один из которых хочет продать вещь, другой — купить. Они должны договориться о цене, подавая механизму свои себестоимость и максимальную приемлемую цену v соответственно. Механизм должен решить, происходит ли обмен, и если да, то сколько платит покупатель и сколько получает продавец.

Предположим, что мы пытаемся реализовать механизм AGV в этой ситуации. Эффективность означает, что товар перераспределяется тогда и только тогда, когда v > c. Выплата покупателя будет равна

M_v^{\mathcal A}(c,v) = \mathbf E_{v}[W_{v}(c,v)] - \mathbf E_{c}[W_{c}(c,v)],

а продавца —

M_c^{\mathcal A}(c,v) = \mathbf E_{c}[W_{c}(c,v)] - \mathbf E_{v}[W_{v}(c,v)],

где W_{v}(c,v) — благосостояние покупателя, W_{c}(c,v) — благосостояние продавца. Предположим, что они равны

W_{v}(c,v) &=& \begin{cases}v, & v > c, \\ 0, & \text{в противном случае},\end{cases} \\ W_{c}(c,v) &=& \begin{cases}0, & v > c, \\ c, & \text{в противном случае},\end{cases}

то есть покупатель может увеличить свое благосостояние в случае покупки, а продавец может остаться при своей вещи (это логично: покупатель должен как раз взносом компенсировать продавцу уменьшение его благосостояния на эту вещь). При этом суммарное благосостояние, разумеется, максимизируется в эффективном случае. Предположим, что v и c распределены равномерно на [v_0,v_1] и [c_0,c_1] соответственно. Будем предполагать, что v_0\ge c_0 и c_1 \le v_1, потому что вне этих условий все равно никакой торговли точно не случится. Тогда

\mathbf E_{c}[W_{c}(c,v)] &=& \int_{c_0}^{c_1}\frac{W_{c}(c,v)}{c_1-c_0}dc =
c\frac{c_1 - \min\{v,c_1\}}{c_1-c_0}, \\
\mathbf E_{v}[W_{v}(c,v)] &=& \int_{v_0}^{v_1}\frac{W_{v}(c,v)}{v_1-v_0}dv =
v\frac{v_1 - \max\{c,v_0\}}{v_1-v_0}.

Пока все логично: ожидаемое благосостояние покупателя с ценностью v — это v умножить на долю случаев, когда продажа происходит; с благосостоянием продавца то же самое. Но давайте теперь посмотрим на выплату покупателя (и, соответственно, доход продавца):

M_v^{\mathcal A}(c,v) = -M_c^{\mathcal A}(c,v) = \mathbf E_{v}[W_{v}(c,v)] - \mathbf E_{c}[W_{c}(c,v)] = \\
=v\frac{v_1 - \max\{c,v_0\}}{v_1-v_0} - c\frac{c_1 - \min\{v,c_1\}}{c_1-c_0}.

Конечно, когда c_1 \le v_0, сделка происходит всегда, выплата покупателя всегда равна v, его доход, соответственно, равен 0, доход продавца равен v-c, и все довольны (хоть это и не очень честно по отношению к покупателю, но все-таки рационально). А что, если v_0 \le v \le c \le c_1? В такой ситуации \max\{c,v_0\} = c, \min\{v,c_1\} = v, и выплата равна

M_v^{\mathcal A}(c,v) = -M_c^{\mathcal A}(c,v) = v\frac{v_1 - c}{v_1-v_0} - c\frac{c_1 - v}{c_1-c_0}.

Легко убедиться, что она может оказаться не равной нулю — например, для [v_0,v_1]=[1,3], [c_0,c_1]=[0,2], v=1, c=2 получается M_v^{\mathcal A}(c,v) = -\frac12 и, соответственно, M_c^{\mathcal A}(c,v) = \frac12. В такой ситуации никакой торговли не происходит, но продавцу приходится доплатить покупателю просто за участие в аукционе! Разумеется, такой аукцион для продавца нерационален.

Конец примера 5.4.

Интересно, почему в данной ситуации не получается добиться рациональности? Оказывается, что это не механизм плохой; есть более глубокая причина того, почему "совсем замечательный" механизм не построить.

Теорема 5.3. (д'Аспремона-Жерар-Варе) Эффективный, правдивый (в доминантных стратегиях) и рациональный механизм, у которого сходится баланс, существует тогда и только тогда, когда механизм VCG дает положительную ожидаемую прибыль аукционеру.

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

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

Возьмем за основу механизм AGV. Принцип эквивалентности доходности нам говорит: есть такие константы c_i^{\mathcal A}, что ожидаемая доходность

U^{\mathcal A}_i(x_i) = \mathbf E[W(x_i,\mathbf X_{-i})]-c^{\mathcal A}_i.

Для VCG это тоже верно: существуют такие константы c^V_i, что

U^V_i(x_i) = \mathbf E[W(x_i,\mathbf X_{-i})]-c^V_i.

Однако механизм AGV пока что не является рациональным; чтобы добиться рациональности, слегка модифицируем его. Дано, что VCG приносит прибыль:

\mathbf E\left[\sum\limits_{i=1}^NM^V_i(\mathbf X)\right]\ge 0.

Поскольку AGV по определению имеет сходящийся баланс, то его ожидание прибыли равно нулю:

\mathbf E\left[\sum\limits_{i=1}^NM^V_i(\mathbf X)\right]\ge \mathbf E\left[\sum\limits_{i=1}^NM^{\mathcal A}_i(\mathbf X)\right]=0.

Или, в терминах наших констант,

\sum\limits_{i=1}^Nc^V_i\ge\sum_{i=1}^Nc^{\mathcal A}_i.

Введем теперь специальные поправки: для i=2..N

d_i = c^{\mathcal A}_i - c^V_i,\quad d_1=-\sum\limits_{i=2}^Nd_i

( d_1 просто выбирается таким образом, чтобы сумма всех d_i оказалась равна нулю).

Тогда искомым механизмом будет механизм AGV с нашими поправками:

M_i(\mathbf x) = M^{\mathcal A}_i(\mathbf x) + d_i.

Очевидно, баланс все так же сходится (поскольку это \mathcal M^{\mathcal A}, подправленный на константы, которые в сумме дают 0 ). Механизм правдивый, потому что выплаты агента отличаются от выплат правдивого \mathcal M^{\mathcal A} на константу.

Осталось только проверить, что он рациональный, то есть ожидание дохода каждого агента больше нуля. Для i\neq 1

U_i(x_i) = U_i^{\mathcal A}(x_i)+d_i = U_i^{\mathcal A}(x_i)+c_i^{\mathcal A}-c_i^V=U_i^V(x)\ge 0.

Для первого агента все то же самое, нужно только заметить, что

d_1 = -\sum_{i=2}^Nd_i = \sum_{i=2}^N(c^V_i-c^{\mathcal A}_i)\ge c^{\mathcal A}_1-c^V_1,

так как общая сумма \sum_{i=1}^Nc^V_i\ge\sum_{i=1}^Nc^{\mathcal A}_i.

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

< Лекция 4 || Лекция 5: 123 || Лекция 6 >
Юрий Тарасов
Юрий Тарасов
Россия, Мегион, средняя школа №1, 1993
Олег Корсак
Олег Корсак
Латвия, Рига