技术领域
[0001] 本发明涉及分布式计算领域,特别涉及一种时间敏感的多方数据融合激励方法。
相关背景技术
[0002] 激励技术是公平合理的资源交换及分配的核心方法,其主体内容是合理的机制设计,长 期以来受到学术及工业界的广泛关注。机制设计起源于上世纪60年代。占优策略激励相容 的概念由Hurwicz在1972年正式提出。搜索引擎的主要收入来源是关键字拍卖,其使用的 是广义二价拍卖(GSP)模型。而在资源分配领域应用广泛的背包拍卖是由MuAlem和Nisan 提出。另一方面,基于近似算法的算法机制设计领域也在快速发展。Briest以背包问题的经 典FPTAS近似算法为基础给出了计算可行且性质良好的背包拍卖机制。类似的,Lehmann等 人以集合覆盖问题为基础,利用贪心算法实现了性质良好的机制。
[0003] 这些激励技术应用于许多方面,包括频谱分配、众包、医疗等。在众包领域有大量的激 励机制,但他们大都是针对移动场景设计,分析数据采集与共享流程中的激励问题,并且主 要着眼于数据共享,与的多方数据融合计算场景不符。而在多方计算的联邦学习领域,现有 方法主要解决多方计算的算法性能和计算安全,其大多假设参与计算的各方具有主动提供计 算和数据的积极性,对于激励机制的研究极少。
[0004] 在大数据时代,分布式计算是综合利用数据及计算资源的有效手段。多方计算更是充分 发挥各自优势创造更大价值的重要方法。激励技术的引入可以在理性人的假设下,保证参与 者真实地表达自身对计算任务的需求程度。结合社会福利最大化的分配机制,可以保证任务 分配公平有效,优化系统总体效率,有效促进数据融合的顺利进行。
具体实施方式
[0041] 为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作 进一步地详细描述。
[0042] 参见图1,本发明的一种时间敏感的多方轨迹数据融合激励方法,首先以AOE网来描述 多方轨迹数据融合的拓扑依赖关系,并收集来自参与者的标的信息;即任务信息的发布后, 接收参与者提交标的;然后进行分配和支付处理,本发明采用近似求解时间限制下的社会福 利最大化问题并导出相应分配结果。由于问题的NP困难性,本发明分别以收益增量、收益花 费增量比两种不同的键值,结合全局对比、长链优先两种不同排序方式,来综合确定各子任 务在贪心流程中的优先顺序。本发明的支付结果由分配结果及迈尔森引理确定,保证了总体 机制的占优策略激励相容特性。
[0043] 参见图2,对于轨迹数据融合任务T,其存在子任务集合SubTask,定义ST=|SubTask|。因 地理上的数据分布差异或数据融合顺序的内在固有结构,这些子任务之间的同步等待问题存 在拓扑序关系。为了描述这种关系,本发明以AOE网进行建模。每个子任务SubTaski拥有竞 争该任务的参与者列表listi,每个参与者agentu∈listi有关于任务SubTaski的私密估值vali (即真实价值)以及其完成该计算任务所需时间timefromagenti。每个列表中只能产生也必 须产生一名胜出者,来完成该子任务的计算。此处假定所有参与者仅参与一项子任务的竞争。 最重要的限制条件是:所有子任务的胜出者确定后,总任务的完成时间finishedtime≤某一 阈值timelimit。
[0044] 机制中以虚拟代币作为货币。机制中有n个参与者agent可以进入多方数据融合任务T的 竞拍环节。
[0045] 参与者agenti拥有私密值0≤vali=INCENT-costi,其中,INCENT是平台方给予胜 出者的每单位计算任务的固定奖赏,由多方数据融合任务发起者确定。costi表示参与者agenti的计算成本,且0≤costi≤INCENT,否则,参与者agenti应当退出此次竞拍来避免自己受 损。即vali表示agenti执行相应多方数据融合任务带来的真实价值。其vali只对参与者agenti可见,平台方及其余参与者不可见。在机制中,每个参与者会提交自己的标的bi,形成标的 向量bid。
[0046] 分配函数allocation(bid)也是一个向量,表示了机制对参与者分配的多方数据融合任务 数量。agenti的效用函数定义为准线性函数utilityi=vali*allocationi-paymenti。总社 会福利SW定义为 其是所有参与者的效用函数与平台方收益的总和。 即: 其中,allocationi表示分配
值,paymenti表示 平台方收益,即参与者所需支付的价格。
[0047] 本具体实施方式中,拍卖机制的具体流程步骤如下:
[0048] S1:如图3所示,对于计算任务T,构建有向无环图(DAG)D=(V,E),集合V是所有同 步节点的集合。有向边<u,v>∈E表示子任务的进行。另有关于有向边的函数t(e),可以看 做是DAG中有向边的权值,其值是子任务e由该任务的胜出者进行计算所需时长。
[0049] S2:以启发式算法确定社会福利最大化优化目标下的分配规则,其具体子流程如下:
[0050] S21:对于任意子任务竞争列表中的任意参与者i,j,若vali<valj,且timefromagenti>timefromagentj,则置allocationi=0,并将参与者agenti从该竞 争列表中删除。然后将各个竞争者列表listi中的参与者各自按照timefromagent关键字 递增排序。此时每个listi的第一位参与者称为该子任务的基准参与者base。
[0051] S22:初始化分配方案S,其中子任务SubTaski的胜出者是其基准参与者base。
[0052] S23:以最长路径算法确定计算任务是否能够完成。
[0053] 具体的是:根据转移方程dp[i]=max{dp[k]+t(<k,i>)|<k,i>∈E},dp[源]=0, 计算分配方案S所需总计算时间ftime=dp[汇]。其中,dp[i]表示以顶点i结尾的最长路径的 长度,t(<k,i>)表示k,i之间有向边的距离。即,首先基于各个子任务的dp[i],再累加得到 dp[汇]。
[0054] 若ftime>finishedtime,任务无法在给定时限内完成,输出错误信息。算法终止。
[0055] S24:初始化相对标的列表为:
[0056] rlist={(relativei,timefromagenti)|1≤i≤n,且agenti并非基准参与者},[0057] 相对标的值relativei有如下两种计算方式:
[0058] 1)相对标的值是替换基准参与者所增加的整体收益,relativei=bidi-bidbase,bidi是 参与者agenti的真实标的,base是参与者agenti所属子任务的基准参与者,bidbase表示基准 参与者的真实标的。
[0059] 2)相对标的值是替换基准参与者所带来的收益增量与时长增量的比值,relativei= (bidi-bidbase)/(timefromagenti-timefromagentbase),bidi是参与者agenti的真实标的, base是参与者agenti所属子任务的基准参与者,imefromagentbase是基准参与者完成该计算 任务所需时间。
[0060] 然后对相对标的列表rlist进行排序,具体的方式有以下两种,可根据具体情形选择。两 种排序策略的示例如图5所示。
[0061] 1)第一种排序方法的思想是在全局范围内优先选择relativei值较大的参与者替换其基准 参与者。对相对标的列表rlist以二元组的第一关键字relativei进行递减排序。
[0062] 2)第二种排序方式是优先考虑AOE网络中的较长的有向路。
[0063] 具体方法是:对AOE网D=(V,E)的边集进行划分route1={e1,e2,...ek},route2= {ek+1,ek+2,...eu}…routex={es,es+1,...ev},依次经过routei中的有向边可以得到AOE网中 的一条有向路,且|route1|≥|route2|≥…≥|routex|,route1∪route2∪…∪routex=E。
[0064] 另有函数edgeind(routei)=i,其表示了相应边子集的优先级。假定该边集的划分是唯一 且确定的(若存在相同长度的有向路,则人为指定其先后顺序)。该划分的一个示例如图4 所示,其中相同虚线类型的有向边属于同一个划分子集。然后将相对标的列表扩展为 exrlist={(relativei,timefromagenti,edgeind(routev))|1≤i≤ n,agenti并非基准参与者},
[0065] 其中,routev是参与者agenti所属子任务SubTaskm对应的有向边e所在的划分子集。接 着,对exrlist以第一关键字relativei进行递减排序。然后对exrlist以第三关键字edgeind进 行递增稳定排序。最后将排序完成的扩展相对标的列表exrlist中的第三关键字edgeind删除, 并以其作为新的相对标的列表rlist。
[0066] S25:置所有子任务为未访问状态。
[0067] S26:若当前rlist为空,则根据分配方案S中的胜出者信息确定分配结果。
[0068] S27:选出列表rlist中首位相对标的对应的参与者agentk。同时将该相对标的从rlist中删 除。
[0069] S28:若参与者agentk所在的子任务SubTasku处于已访问状态,则返回步骤S26继续执 行。
[0070] S29:构造新的分配方案S′=S,其中SubTasku的胜出者更改为参与者agentk。以与步 骤S23相同的最长路径算法来判断新的分配方案S′是否能够满足时间限制条件。若S′的计算任 务能够在finishedtime时间内完成,则令当前的分配方案S=S′,同时置SubTasku为已访问 状态。否则,返回步骤S26继续执行。
[0071] S3:在分配规则的基础上应用迈尔森引理得到相应的价格规则,其具体流程如下:
[0072] S31:执行步骤S2,得到分配向量allocation。对每个参与者agenti,若其是胜出者,即 allocationi=1,则执行步骤S32来计算其需支付的价格。否则,其所需支付的价格 paymenti=0,继续执行步骤S33。
[0073] S32:假设步骤S24中单调递减的原始相对标的序列为 b=b1b2b3…bk(bi实际是步骤S24中描述的二元组),将其中与agenti属于同一竞争列表的所 有相对标的bu...全部删除,得到新的原始标的序列b′。重新以序列b′执行 步骤S2,获得各个胜出者产生时对应的DAG序列GS=G1,G2,G3…Gu,每个Gi是步骤S29中 的一个新的分配方案S′所对应的DAG(主要是各边上的胜出者信息)。
[0074] 1)若agenti不是基准参与者。假设agenti的相对标的 在DAG序列GS中的相对位置 是: Gj,Gj+1,...Gu。则依次遍历j≤v≤u,在有向无环图(DAG)Gv的基础上, 将agenti置为所属子任务的胜出者,得到新的分配方案S′,然后以与步骤S23相同的最长路 算法来判断S′是否满足时间限制条件finishedtime。若否,则参与者agenti所需支付的价格 为:
[0075]
[0076] 其中,bidi是agenti的真实标的。
[0077] 2)若agenti是基准参与者。假设与agenti所属同一子任务的其余相对标的在DAG序列GS 中的位次是G1,G2,...,z1,...,z2,...,zk,...Gu。不断减少bidi,直到z1,...zk中首次出现新的胜出 者,减少量为Δb。若Δb>bidi,则paymenti=0。否则paymenti=bidi-Δb。
[0078] S33:根据payment向量确定各个参与者所需支付的价格,即参与者agenti的价格是 paymenti。
[0079] 以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述, 均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过 程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。