机制设计专栏(2)-说一说IC机制

原创 2016年01月14日 15:03:36

一,IC机制是什么

IC机制又叫激励相容机制,incentive compatible mechanism,他的好处一方面他是直接机制分析的源头,另一方面他良好的让大家主动披露自己真实的意图的性质。这里我们分析就是这样一类机制,他关注机制设计中的一个很有用的性质,truth-telling或strategy-proof。

准确的定义为:

二,刻画所有的IC机制

我们沿用social choice的角度来抽象构造我们的机制:定义在n 个agenst的偏好(或估值)空间上一个机制M=(f,p1,p2,...,pn)由social choice function f:V1xV2x...XVN->RN和每个agent的支付pi组成。
如下proposition给出所有了IC机制的特征是个充要条件:

条件一是说agent的支付不应该依赖agent自身的私人信息(type或偏好或估值),而只应该依赖于f 的结果,注意到后面的说明:如果我们的agent的估值改变了但是没有改变social choice结果,那么他的支付不发生改变,即支付与自身估值无关。第二个条件是说这个机制应该是最大化每个agent收益的机制。
看到上面的条件中涉及到了两个函数,social choice function和payment function的构造。下面我们首先考虑social choice function的结构特性。因为,后面我们将会看到social choice function 通常来说唯一的决定了payment。

WMON性质是说当一个agent改变了他的估值从而造成social choice结果的改变,那一定是因为对于agent来说新的social choice增加了他的估值(type,类似于策略性修改的动机)。但是从上面的定义来看,WMON条件非常严格,定义非常紧,因为他要求对于每一个agent来说都要满足这种动机要求,是一种依靠local information 进行的定义。有这个定义我们可以退出一个非常有用的定理:

第一个if 说明了所有的IC机制其social choice function都具有弱单调性(WMON),第二个if 是对机制设计很重要的,他提供了一种构造IC机制的方法,只要偏好空间是凸集,那么在这个空间上任意一个满足WMON条件的social choice function,都存在一个支付函数,他们两个生成的机制是IC的。
        我们来看看如何构造social choice function,由于WMON的定义非常严格,从而满足这样条件的函数也不是那么容易找到的,我们不仅要问social choice function有没有一种全局属性的条件来生成IC机制。结果说明,social choice function 的构造intimately 依赖于agent的偏好空间。我们对于两种极端例子是有的,对于一般的这依然是个有待研究的问题。
一种极端的例子是偏好空间无限制(unrestrained domain),即Vi=RA(对所有候选项都可由偏好,A代表选项的个数),在这种情况下,唯一的social choice function是一个最大仿射器(affine maximizer).


这三个东西递进展开。第一个定义了一个最大仿射器,第二个给出了如何构造payment function,第三个说明了所有无限制domain的IC机制的唯一性。对于这个结论能否relax在Vi上的限制并保持结论依然是个未解决的问题。
另一个极端是偏好为一维空间(single-minded),比如在拍卖问题中,如果结果是”我-wins“那么我对这个备选项有估值(就是自己对待拍物品的真实估值),如果是“其他人-wins”,我对这些备选项的估值为0.
我们成一个机制是标准化的,如果losing的支付为0.注意到每一个IC机制能能够转化为标准化的机制。

对比与无限制的特殊例子:

而对于payment function:
至此,关于IC机制的部分感觉内容差不多了,下面是IC机制的一个非常重要的一类。所以单独拿出来说说。

三,VCG机制

关于VCG机制的历史,做一个简单的描述,最开始的时候是Vickrey对于同质多物品(边际递减估值)拍卖(1961),他利用pay the l highest rejected的方式证明了他设计的这种机制是说真话是弱占优的,并且机制是有效率的;紧接着,Clarke(1971)在公共品生产(public goods)的效率分析中提出了一种“pivotal mechanism”,并证明了这种机制能保证真实的披露自己对公共品的估值是弱占优的并且结果是有效率的;后来,上面的机制统一的被Groves(1973)给抽象化的推广了,提出之前的两个机制都是一类abstract mechanism的特例,这种abstract mechanism目前我们就称之为VCG mechanism。
每一个VCG机制都是IC的,我们说agent是IR的如果他的回报(vi-pi)>=0,我们说预算平衡(budget balanced,BB)让所有期望值加起来>=0。

四,对VCG机制的分析

我们来看看在支付函数中自由函数hi的设定,由于hi的自由性,所以我们可以设定特定的hi来得到一些优良的性质。比如作为机制设计者来说的话,我们不希望付钱给agent,我们希望agent付钱给我们,比如当hi=0的时候,pi<0说明机制要付给每个agent一些钱,因此hi的设定就很关键了。下面是定义的Clarke pivot rule,他是VCG中重要的一种hi的设定,具有优良的性质:
上述的pivot rule的要义是agent需要支付的money是由于他的参与而给其他人所带来的外部性。第一行最优一个i改为j。这种pivot rule带来了VCG mechanism 不需要向agent支付任何东西(pi>=0),如果还能保证vi(a)>=0,这种机制还是IR的。The spirit of the Clarke pivot rule in such cases can be captured by a modified rule that chooses b as to maximize the social welfare "when i does not participate" where the exact meaning of this turn out to be quite natural in most application.
       下面再介绍一种很有用的payment rule.
其中左边代表带有basis si 的agent i的支付,k代表allocation rule,t代表agent的类型(估值),右边的IRi函数表示agent i 的类型到其外部选项的映射(就是说如果说我的类型为s,那么我如果不参加这个机制,我的收益为IRi(s)).注意到当si=0,IR=0时,与Clarke pivot rule一样了,这个可以算作是上面rule的推广化。由于在这个rule里面si是未知参数因此我们需要确定一下如何选择最优的(一般来说IR函数通过具体场景能够先确定)。si 由下面确定:
这种确定规制的好处是:注意上上述是取最小值,因此他最大化了agent的收益,并且有当agent的type为下划线ti时,收益为IR(下划线ti)即agent的外部选项(个体理性值),所以下划线ti又被称为agent i的“most relucant”type,因为他不参与这个机制收益也是IR(下划线ti);当agent的type不为下划线ti时,有
即参加机制不低于外部选项IR,所以这个rule在满足了IC的前提下又自动满足了IR,并且:
因此这个rule可以说是最优的rule了。要分析budget balance等在这个rule下分析是非常正常的。上面支付最大化定理是利用收益等价原理证的,有兴趣可参考Efficient Mechanism Design(Vijay Krishna, Motty Perry, 2000)。
不过虽然上述rule满足了IC,IR,efficient但不一定满足BB(budget balanced),从Green 和Laffont(1977)的工作中我们知道,没有哪一种占优机制能一定保证BB。这个定理看来让我们对上面的rule有丝丝的遗憾(不过也没办法,世界要是那么完美就好了)。但是既然占优机制没有,那么比占优机制更广的贝叶斯机制有没有呢,Arrow ,d'Aspremont 和Gerard-Varet(1979a)给出肯定的答案,他们设计的AGV(又叫期望外部性机制)一定能保证IC,BB,但是IR就不一定满足了。既然没有一种完美的机制能够一定保证同时满足IC,IR,BB,EE;那如果加上一点条件呢,加上条件问题就好办了:
注意到是 if and only if.

五,必然不相容的例子

举两个例子说明一下这个问题问题。一个是bilateral trade,一个是public project。

1.bilateral trade


有一个seller(agent 1)要买一件物品,一个buyer(agent 2)要买这件物品。这个场景用机制设计的角度为,候选项K={1=no trade,2=trade}.seller的type为(t1(1),t1(2)=0)就是对于不交易这个选项有估值t1(1)>0(表示seller对于这个物品的自己的估值),交易的话为0(注意估值不考虑payment);对于buyer来说,他的type为(t2(1)=0,t2(2)>0),不交易什么都没有,所以估值为0,交易的话估值为t2(2)>0(表示buyer对这个物品的真实估值,注意估值不考虑payment);很显然,IR1(t1)=t1(1)(因为不参加机制的话还是有价值t1(1)的),IR2(t2)=0(不参加的话就当没发生一样)。

显然,从效率的角度考虑,当t1(1)>t2(2)时,K=1,SW(t)=t1(1);反之K=2,SW(t)=t2(2)。SW=给定一个K,把agent的估值(type,对应相应的K)加起来。很自然的我们使用VCG结合最后那个优良的rule来考虑这个机制问题。通过上述求下划线ti可得。下划线t1=(1,0),下划线t2=(0,0).下面给出下划线t1的计算过程。
因此有了下划线t,利用VCG支付规制就能得出
下面给出第二个的计算过程:
通过上述计算我们得到:

注意到上面没有特指VCG而是说mechanism,也就是说,如果VCG都满足不了上述条件(IC,IR,EE,BB),那么其他机制也做不到。
因此一般对于机制设计,如果涉及到IC.IR,EE,我们总会首先考虑VCG然后在看看一下其他条件比如BB是否满足,不满足的话我们在考虑其他方法,比如牺牲掉EE换取BB等等。

2.public project

政府要生产一个产品(桥啊什么的)(K=0不生产,K=1生产),每个agent能从这个工程中得到一些好处(type),生产这个东西花费c,显然当大家的获得的好处大于c时K=1,否则K=0.在本例中显然有IR=0.

由VCG支付我们可得:

我们下面证明把收上来的支付加起来小于cost c:

因此:

版权声明:本文为博主原创文章,未经博主允许不得转载。

大家一起来说一说自己掌握的设计模式和在工作中的应用场景,分享经验

做了比较多的通讯和SDK,虽然是用C++,但是SDK对外的都是C的接口,而且项目中主要是消息封装,socket IO模型和多线程, 消息收发,业务比较少,所以用的OOP也比较少,用了很多年C++,却一...

说一说神器级别的码农编辑器sublime2以及常用插件

前言: 一般码农用到的代码编辑器,其实蛮多的。以PHP代码狗为例子:装逼点用1. zend studio( 功能虽然很强大,但是运行起来慢的一逼),2. 实用点用Netbeans php 版本(也是运...

说一说推送这些事_2

大概是两周前,我写过博客说做推送遇到麻烦,特殊机型比如小米 华为,收不到友盟推送。       在试了很多种保活手段之后,我选择了多方集成:而我的集成选择的是   友盟+小米+华为。  小米推送...

带说一说新版全景通

  • 2016年12月20日 12:54
  • 14.78MB
  • 下载

说一说golang的协程

协程是应用层的线程。 应用层是相对于内核层而言,是操作系统的概念,对应的是cpu的运行级别。操作系统的核心代码运行的ring0级别,应用程序的代码运行在ring3级别。内核与应用层的级别设置...
  • truexf
  • truexf
  • 2016年01月13日 13:53
  • 2136

大家来说一说关于jdbc的那些事情,关于Connection,Statement和ResultSet的关闭顺序

以下只是个人观点,毕竟楼主只是大三学生一枚。还有很多需要学习的地方。 最近在做一个jsp+servlet的程序。 用的是Oracle数据库,然后安装的时候很多东西都是默认值。 用servlet,...

说一说 git stash, git tag , git 删除远程分支

git stashgit stash 在之前用得比较少,但真正使用起来还是非常方便的。使用git的时候,我们往往使用 branch 解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码,...

说一说关于破解支付宝AR红包的事

当朋友圈的你们才开始分享支付宝AR红包的消息的时候,我已经对它动了一二三四次歪脑筋了,虽然事实证明并不是那么顺利,至今我也只在电脑前识别出5个不知道在哪里的红包,其中一个还因为定位信息不符开不了。 昨...

好好说一说室内定位技术

室内定位技术进过了几十年的发展,从未像今天这样引起大家的关注,这无疑得益于VR技术在这几年的蓬勃发展,52VR的编辑们今天就梳理下已有的定位技术和手段,有哪些点值得我们参考和注意呢? 那么传统的...

说一说Android中的广播那回事

好久没有写过广播了 今天写了一个极光推送,,要用到广播才发现是这么的陌生,哎 搞了一个垃圾项目 啥都没有,,都快堕落成一个菜逼了,,写个博客做个回忆。/** * 广播被分为两种不同的类型:“...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机制设计专栏(2)-说一说IC机制
举报原因:
原因补充:

(最多只允许输入30个字)