在自治的多Agent系统中,Agent一般都有自己的目标,其行为不会被其他Agent控制,协商成为多Agent系统中Agent之间达成合作意向的重要方式.在协商中,Agent的理性要求自己利益的最大化,但如果Agent一味强调自身的利益往往很容易造成协商的破裂.因此在协商中,需要考虑到对手的情况。但在如电子商务、自治计算竞争环境中,Agent并不会主动公布自己的私有信息.对于Agent来说唯一可以获得的就是协商过程中对方所发来的建议,学习对手的建议值的序列,成为了获得对手信息的一个有效的方法。
自动协商领域中已有不少研究工作用到了学习的方法.Sycara开创性地把机器学习的方法用到了决策模型中.随后学习的方法被广泛地用在了协商的决策模型中.目前的学习算法在协商中主要用于两个方面:一是优化协商战略,主要用到的学习算法有遗传算法、Reinforcement算法.另一个方面是通过学习协商的过程来预测对手的偏好和保留值(可容忍值).其中用到的学习算法有贝叶斯方法、KDE算法.但并没有相关的工作来学习协商对手的态度。
本文提出用学习的方法来获得对手的协商态度,并应用支持向量机实现了具体的学习方法.利用得到协商对手的态度,进一步提出了一种协商决策模型.此模型综合考虑了对手的协商态度和自身的利益.模型能有效减少协商的时间,增加协商双方的效用总和。
1 协商框架
协商定义为如下一个四元组:
2 学习对手的协商态度
2.1 协商过程的表示
在应用学习算法之前,需要找到一个合适的特征空间来表示协商过程.协商过程可以用协商双方的协商建议来表示。
定义1协商的过程是一个协商双方互相发送建议的过程,可以把协商的过程定义为如下的一个建议序列:
阶段M的协商轨迹,记为Q,Q的长度为2k-1.因为每个协商项的计量单位不同,在定义4中对协商阶段做了归一化处理.以协商阶段中第一个建议值作为基准,协商轨迹中每个值取协商阶段对应的建议值相对于第一个建议值的变化幅度.归一化处理后,协商轨迹与具体的协商项单位刻度,以及具体的协商建议值大小无关,只是反映了协商建议值的变化情况.经过上面的处理协商过程映射到了新的特征空间,并由此形成了多个协商轨迹,也就是每个协商经过映射形成了相应的特征向量.这些协商轨迹将作为下一步支持向量机所需要输入的样本.图1显示了一个协商轨迹。
2.2 支持向量机算法
态度强硬;标注为的数据为负类,代表协商的态度为妥协.支持向量机算法是要找到一个超平面把训练数据中的正类点和负类点分割开,并且使它们.之间的间隔最大,根据这个原则可以得到如下的支持向量分类机:
由此求得决策函数g(Q)=sgnC(w·Q)+b),可以得到对手的协商态度是强硬还是妥协(g(Q)=1表示对手态度强硬,g(Q)=-l表示对手态度妥协).但不能得到对手协商态度的强硬和妥协程度.从图1中可以看出,当点离分割超平面的距离越大时,对手的协商态度就越强硬或越妥协(当正类点离超平面越远时,则态度越强硬,而当负类点离分割平面越远时,则协商态度越妥协),Q与超平面的距离为
图2 支持向量机的分类超平面
当f(Q)越大时.对手协商态度越强硬;反之,对手协商态度越妥协.则可用/(Q)的值来表示对手协商态度的强硬(或妥协)程度。
3 决策模型
首先引进两个定义,在协商过程中根据协商的情况协商项可分为两类:
定义5若协商中对手提出的反建议中$的值等于己方在前一次建议值中5.的值,则称si为无异议的协商项。
定义6若协商中对手提出的反建议中矗的值不等于己方在前一次建议值中si的值,则称si为有异议的协商项。
决策模型考虑了两个方面的因素:
1)对手的协商态度.当对手某个协商项的协商态度强硬时,如果想要对手能接受己方的建议,对于相应的协商项,应该尽量满足对手的要求,所以应该做出较大的让步。
2)己方的协商项的权重.由式(2)可知,协商项的权重越大,则它对己方获得的利益影响越大.对于权重较大的协商项,己方应该尽量少让步,以使己方利益最大化。
4 实验
在实验室开发的多Agent原型系统中实现了本文提出的协商决策模型.为分析模型的性能,选取在线视频服务协商为实验用例.此协商的参与者为一个服务提供Agent(PA)和一个服务需求Agent(CA).协商包含5个协商项,即服务的价格、质量和响应时间等.协商双方的子效用函数采用式(1)的函数,y中的协商项权重础用随机数的方法产生.协商决策模型的算法用c#语言实现。两个协商Agent分别运行在两台通过局域网相连、配置为P4 2.0 G处理器、256 M内存、Windows)操作系统的PC机上.主要从两个方面来分析模型的性能:1)协商所需的回合数.在自治计算和电子商务的环境中这是协商的一个重要性能指标.为了加快协商的进程,协商的双方都希望协商的回合尽量得少就能达成协议.2)有效的协商结果(协商双方达成的合同).对协商双方来说,希望能从协商达成的合同中获得尽可能大的效用,其中效用值由每个Agent的效用函数V(Cn)计算得到(Ccn为协商成功双方达成的合同).如果协商失败,则协商双方的效用都为0.取系统中已有的协商历史数据作为支持向量机的训练样本,协商历史记录包括20次协商的数据,共562个建议.取样本的协商轨迹长度为3训练支持向量机,分别取模型函数为:
每一次协商,协商双方都使用相同的协商模型和模型函数.为了考查模型在不同协商项权重下的总体性能,对每个不同的模型函数参数,进行too次协商模拟,每次协商双方效用函数中的权重都是随机产生的,用协商结果的平均值作为最后的实验结果.首先比较在选用不同的模型函数时(ψ1与ψ2),本文提出的决策模型的性能变化.图5显示了当n变化时协商双方的效用总和(utility,即协商双方所得到的效用值的和)的变化情况.可以看到。对选用两个不同的模型函数ψ1,ψ2当n增大时,协商双方的效用总和没有明显的变化趋势.当选用模型函数,峨时,协商双方的效用总和较大。
4 实验
在实验室开发的多Agent原型系统中实现了本文提出的协商决策模型.为分析模型的性能,选取在线视频服务协商为实验用例.此协商的参与者为一个服务提供Agent(PA)和一个服务需求Agent(CA).协商包含5个协商项,即服务的价格、质量和响应时间等.协商双方的子效用函数采用式(1)的函数,y中的协商项权重础用随机数的方法产生.协商决策模型的算法用c#语言实现。两个协商Agent分别运行在两台通过局域网相连、配置为P4 2.0 G处理器、256 M内存、Windows)操作系统的PC机上.主要从两个方面来分析模型的性能:1)协商所需的回合数.在自治计算和电子商务的环境中这是协商的一个重要性能指标.为了加快协商的进程,协商的双方都希望协商的回合尽量得少就能达成协议.2)有效的协商结果(协商双方达成的合同).对协商双方来说,希望能从协商达成的合同中获得尽可能大的效用,其中效用值由每个Agent的效用函数V(Cn)计算得到(Ccn为协商成功双方达成的合同).如果协商失败,则协商双方的效用都为0.取系统中已有的协商历史数据作为支持向量机的训练样本,协商历史记录包括20次协商的数据,共562个建议.取样本的协商轨迹长度为3训练支持向量机,分别取模型函数为:
每一次协商,协商双方都使用相同的协商模型和模型函数.为了考查模型在不同协商项权重下的总体性能,对每个不同的模型函数参数,进行too次协商模拟,每次协商双方效用函数中的权重都是随机产生的,用协商结果的平均值作为最后的实验结果.首先比较在选用不同的模型函数时(ψ1与ψ2),本文提出的决策模型的性能变化.图5显示了当n变化时协商双方的效用总和(utility,即协商双方所得到的效用值的和)的变化情况.可以看到。对选用两个不同的模型函数ψ1,ψ2当n增大时,协商双方的效用总和没有明显的变化趋势.当选用模型函数,峨时,协商双方的效用总和较大。
上一条: 克服企业变革的阻力
下一条: “中国式管理”的自我超越