打字猴:1.704532565e+09
1704532565 上面所有这一切都表明,如果我们对社会系统有一个构想,并且有一个用来分析社会系统的解析模型,那么我们就可以对它进行“压力测试”,以便识别那些可能会强烈地诱使行为主体做出不同于设计者预想的行为的激励。这些应力很大的地方,可能就是行为主体有权利去影响其他相关方福利的地方,如他们可以向富裕的房地产开发商颁发建筑许可证,但是我们通常假设他们会做出公正的决定。有些时候,行为主体可以通过牺牲一定程度的性能或安全性来谋取利益,如他们决定降低飞机维护的频率,但是我们通常会假定一切都符合给定的标准。另外,行为主体有时会利用内幕信息谋利,如他们知道公司的未来计划,但是我们通常会假定他们不会进行内幕交易。
1704532566
1704532567 接下来,我们就可以根据我们所了解的关于行为主体的具体激励和他们掌握的信息知识,来建构行为主体的“行动可能性”了。换句话说,我们可以为行为主体构造一个详细的策略选择侦查。这里的关键词是“详细的”:所包含的选项或可能性,是由观察该系统的分析者的想象和经验决定的,它们源于现实世界。我们需要把它们认真地、详细地描述出来。我们之所以必须尽可能地去了解一切与行为主体据以决定自己行为的微妙信息和可能机会,原因也就在这里。
1704532568
1704532569 一旦我们搞清楚了剥削可能发生在什么地方、又是如何发生的,我们就可以打破关于这个政策体系的整体经济模型,并插入一个模块用来“注入”我们想到的那种类型的行为。这样一来,我们的脑海中就有了一种特定类型的剥削者的形象,以及关于这种剥削的工作模型。于是,我们就可以用它来研究不同的策略性行为主体对整个系统的行为所造成影响的差异了。有的时候,它们只会造成细微的差别,因为策略性行为也许不会在其自身的领域之外造成太大的影响。但是另外一些时候,它们却可能造成重大的影响。在某些情况下,它们甚至会导致所嵌入的结构塌陷。在这里,我们正在寻找的是政策体系中的薄弱点,以及特定行为可能对系统造成的后果。我们还一定要记住,这种测试不能操之过急。在工程学中,当出现了一个重要的新设计时,通常需要几个月,甚至几年的时间来精心检验、调试和重新设计,尤其是当它事关公共安全大局时。我们没有任何理由认为,人们在制定经济政策和社会政策时,反而不用强调它们的后果是否安全。
1704532570
1704532571 我在上面概述的这种方法,适用于只有一个设计者或一个设计小组的情形,他或他们独自去发现给定的政策或经济系统的缺陷。如果有多个设计者或小组齐头并进地工作,都致力于探测某个模型的弱点,那么整个过程无疑可以加快很多。对于拟议中的政策体系,不妨想象一套新的医疗保健政策,或一组新的金融管制条例,一旦有了一个“工作模型”,我们就可以通过它诱导出一个剥削该体系的“策略”模型。更具体地说,我们将先给出一个整体模拟模型或总体政策环境,然后任由外部参与者提出自己的策略来剥削它。类似的做法由来已久。早在几十年前,罗伯特·阿克塞尔罗德(Robert Axelrod)就举办过一系列后来变得非常著名的囚徒困境博弈锦标赛:让不同的策略在重复的囚徒困境博弈中相互竞争。在一个更具一般性的系统中,参与者需要对该系统进行彻底的研究,将它的数之不尽的激励一一识别出来,占据那些存在剥削机会的地方,然后形成相应的模型。
1704532572
1704532573 类似的情况也经常发生在加密系统的beta测试中。例如,假设美国海军开发了一种新的加密方案,它会邀请一群人来参加测试,即看看他们能否破解该加密方案。如果他们不能,那么这个计划就可以继续推进。在这种情况下,必须保证测试人员来自外部,这是非常重要的。又如,就像施奈尔(Schneier)所指出的:“就拿互联网IP安全协议来说吧。它是由一个委员会公开设计的,从一开始就受到相当多的公众监督……海军研究实验室的密码学者最近发现了一个小小的的缺陷。这项工作继续公开进行着,任何一个有兴趣的人都可以参与测试。另一方面,微软公司也开发了自己的点对点隧道协议(PPTP),其功能基本相同:他们发明了自己的身份验证协议、他们自己的哈希函数,以及他们自己的密钥生成算法。这些发明每一个都有严重缺陷……但是,因为他们是在内部完成所有这些工作的,没有人知道他们的PPTP是薄弱的。”
1704532574
1704532575 复杂经济学:经济思想的新框架 [:1704531139]
1704532576 用“涌现”发现新行为
1704532577
1704532578 在上一节中,我们讨论了探测政策体系失败的可能性的一般方法。现在,我想收缩范围,集中讨论用于探测政策体系失败的基于计算机的模型,通常来说是计算机仿真模型。但是,我们立即就会面临一个困难,那就是大多数基于计算机的模型都很难容纳新异行为:它们往往采用微分方程组、马尔可夫状态或其他建模架构,并假设了事先预置或嵌入在系统内部的固定类别的行为,因此要修改它们,让它们“召唤出”不可预见的行为,即可能出现的“高16米的梯子”并不容易。
1704532579
1704532580 但是,我们还是可以向前推进的。很显然,正如我在前面已经提到过的,一个方法是我们向计算机仿真模型中的系统注入“事前推想”的剥削行为。虽然这样做可以让模型保持开放并加入更多的细节,但是我们希望有更一般的方法,就是让我们的仿真模型主动“发现”不可预见的新行为。这无疑更具挑战性。需要注意的是,我们现在实际上要探究的是,系统中的新行为如何在行为主体的发现或学习过程中涌现出来,而且我们运用基于行为主体的建模方法处理涌现问题,已经有相当多的经验了。因此,我们有理由相信,我们确实可以修改某个模拟模型,来允许行为主体“发现”操纵行为。
1704532581
1704532582 接下来,我先用一个真实世界的例子来说明这一点,即我在前面提到过的马萨诸塞州的医疗保险计划。我们现在没有关于这个政策体系的现成的模拟模型,所以我们不得不自己构建一个。因为我们感兴趣的不在于描述所有行为的社会性方面的细节,而在于如何模拟剥削行为,所以我们可以构建一个简单和典型的模型。我们将逐步推进,依次开发出这个模型的一系列版本,来刻画我们感兴趣的剥削行为。
1704532583
1704532584 第一步,我们构建一个基本的医疗保险模型。我在进行计算机仿真时使用的是NetLogo,这是一个非常方便的构建基于行为主体的模型平台。在这个模型中,有N个行为主体,但在NetLogo平台上,通常为100~1 000人,他们单独地、随机地产生各种各样的医疗费用,这些费用可能源于疾病、医院护理、外科手术、事故等。初始状态是,他们自己承担所有这些费用。在这个模型中,个体健康成本的分布是一致的、固定的,并且对于所有行为主体都是相同的,如我们可以假设所有人的年龄都相同。人们的收入是固定且相同的,他们的医疗消费c等于他们的保健成本。对于医疗消费带来的效用,我假设了一个凹的效用函数U(c)=c1/2。再假设所有人都是风险厌恶的,系统中只有一家保险公司。一开始,保险公司不提供任何保单(或医疗保险政策),而只是在固定时期收集精算数据:它能够获得所有人的保健成本数据,并会使用这些数据来计算每人每期的平均保健成本。一旦它得出了一个足够准确的估计,它就会发售一份自愿的健康保险单。该保单的成本是这样设定的:在“公平”的保健成本,即保险公司估计的每人每期预期成本的基础上,加上m%的加成,用以支付管理费用。通过计算机仿真实验,我们观察到在这样一个模型中,当上述成本加成足够低(m<23.3%)时,人们就会发现,购买保险的效用更高,而且他们确实也会购买保险。不然的话,他们就不会购买。现在,我们已经有了一个简单的基于行为主体的保险模型。
1704532585
1704532586 第二步,我们要对马萨诸塞州的保险计划法令及其后果进行建模。这里出现的问题的核心在于,有这么一类人,他们相信或发现,不参加这家公司的保险计划对自己更有利,这就是说,他们宁愿因自己的不参保行为而向政府缴纳罚款。要想让我们上面那个模型容纳这种类型的行为主体,有好几种方法。例如,我们可以假设,系统中有一类人面临承担健康成本的风险很小。但是最简单的方法是,假设一部分人,不妨假设50%的人不是风险厌恶型的,即他们拥有一个线性效用函数U(c)=c。这样的话,他们就会发现,只要向政府缴纳的罚款低于那家保险公司的保险加价(就马萨诸塞州的案例而言,确实如此),那么就向政府缴纳罚款。我们运行了这个模型,结果发现一半的人参加了保险,另一半人则没有。这个结果并不令人奇怪。
1704532587
1704532588 第三步,让我们构建关于剥削行为的模型。现在,我们要允许所有人都可以预先知晓某些类型的医疗保健如肩部手术或物理治疗的费用。为此,我们在模型中内置了,或者说,“注入”了这些行为,并让它们在每一期刚开始时就可以被预见到。同时,我们还赋予这一类人选择权,允许他们在某一期投保,并可以在下一期取消保险。对这个模型的计算机仿真结果表明,已经投了保的那50%人不受影响,他们无论怎样都会继续支付保险金。但是,本来没有投保的那些人的行为则会受到影响。我们发现,他们会根据这种保险是否适合自己而随时决定加入或退出保险。从某种意义上说,他们正在为他们预先知道的某种结果购买保险,而保险公司则不知道这种结果。因此,他们是“玩弄”了这个系统。图6-1显示了保险公司在这种情况下的利润。很显然,它的利润出现了暴跌。
1704532589
1704532590 第四步,作为我们的建模过程的最后一个阶段,我们可以假设系统会对这种行为做出反应。这是符合现实的。一方面,政府可以提高对不参加保险计划的罚款。我们发现,如果政府真的这样做了,那么每个人都会参加保险,系统也就恢复了常态。另一方面,保险公司也可以做出反应,即增加强制性的投保期限。保险公司的强制性投保期限一旦变得足够长,我们就会看到系统再次恢复正常。
1704532591
1704532592 我之所以要分步详细介绍构建模型的每个阶段,是因为这确实是一种非常便利的方法。先建立基本模型,然后打破,将做出策略性反应的那类行为主体区分出来,并允许他们这样去做,同时考虑其他行为主体的“自然”反应。当模型最终完成时,当然会遍历所有这些动态步骤。
1704532593
1704532594 到目前为止,我们已经阐明,对于特定的政策体系,我们可以采用一个计算机模型,也可以像上面这个例子一样构造一个计算机仿真模型,并通过引入预想得到的“剥削”行为,以及对这种行为的反应对模型进行完善。但是,在现实世界中,剥削行为是自发地涌现出来的。
1704532595
1704532596
1704532597
1704532598
1704532599 图6-1 保险公司的收入费用支出和利润变化趋势
1704532600
1704532601 图的上半部显示了保险公司的收入受到的影响。保险公司的收入增加了,因为它的投保人增加了。保险公司的收入是较平滑的那条线,上面的锯齿线是费用。图的下半部则显示了保险公司的利润,即下面的锯齿线。不难看出,利润现在已经下降到了0以下。
1704532602
1704532603 这就是说,这种行为是在政策体系存在的过程中出现的。如果我们更仔细地观察现实生活中所发生的事情,就会发现相关参与者会注意到他们可以利用的某些选项,他们会学会,或者是突然发现,可以通过某些行为来获利。因此接下来,我们先看看怎样才能将“注意”和“发现”内置于我们的模型中。为了保证行文简洁,在这里我只概略地说明如何做到这一点。[7]
1704532604
1704532605 首先,“注意”当然是相当直接的。要允许我们的行为主体“注意到”某些东西非常简单,如最近发生了哪些事件,哪些选项是可行的,只要让他们在信息集的这些部分出现时,能够“知晓”它们就可以了。
1704532606
1704532607 不过,我们还需要对“发现”建模。为了这个目的,我们允许行为主体根据他们的信息生成和尝试各种潜在的行动或策略。有很多方法可以实现这一点。行为主体可以随机地生成各种类型的状态依存的动作或规则:如果系统满足一定条件K,那么就执行策略G。或者,他们可以通过对以前采取过的行之有效的行动进行重新组合,来构造新行动:如果条件K和P为真,那么就执行策略F。又或者,他们也可以生成一个可能行动的集合:如果这一期预先知道医疗保健费用超过了k美元,那么就购买保险。这里的k可以锚定在多种不同的水平上。进一步,我们假设行为主体能够记住这些潜在的策略(可能有许多),并能够监控和记录每种策略的推定结果,这样一来,随着时间的推移,他们就能学会哪些策略在哪些情况下是有效的。然后,他们就可以随时使用或执行他们认为最有效的策略,并丢弃被证明无效的策略。
1704532608
1704532609 这样设计模型,可以为我们带来我们想要的效果。如果被“监控”到的某种随机生成的策略被证明是特别有效的,那么行为主体就会特别快速地“发现”这种策略。从局外观察者的角度来看,这看上去就好像是这种策略在突然之间就“绽放”开了,这也就是说,它突然涌现出来并产生了效果。但是,行为主体是以归纳的方法去探测所处的系统,看到底什么东西是有效的,从而随机“发现”了利用系统的有效策略。由此,“剥削”也就涌现出来了。
1704532610
1704532611 在上面的例子中,我已经描述了一个相当简单的模型,并概略地阐明了对可能剥削行为的涌现进行建模的方法。很显然,我们可以从很多角度来进一步深入阐述。[8]
1704532612
1704532613 但是在这里,我想再强调一下最重要的一点。当我们想要对操纵系统的行为进行建模时,并不需要往基于行为主体的仿真模型里加入任何用来代表“阴谋诡计”或“剥削思想”的因素。行为主体只需要根据关于系统及可用选项的特定信息,决定可以采取的行动。有时,他们会发现有些行动特别有效,在这种情况下,我们所称的“剥削”就出现了。要对此建模,只需运用“标准方法”,这种方法在基于行为主体的建模中早就存在了。
1704532614
[ 上一页 ]  [ :1.704532565e+09 ]  [ 下一页 ]