一种基于因果图启发式的并行概率规划方法与流程

文档序号:11952276阅读:486来源:国知局
一种基于因果图启发式的并行概率规划方法与流程

本发明涉及人工智能、机器学习、并行概率规划等领域,特别涉及到了一种基于因果图启发式算法的并行概率规划方法设计。



背景技术:

智能规划是人工智能研究领域的一个热门分支,也是尤为重要的分支。它的主要思想是:对周围环境进行认识与分析,根据自己要实现的目标,对若干可供选择的动作及所提供的资源限制实行推理,从而综合指定出用以实现目标的规划。规划问题由领域描述(包括所有可执行的操作等)、初始状态和目标状态组成,规划问题的求解,就是利用推理或搜索等方法,以寻找一个从初始状态到目标状态的有效动作序列,这个动作序列就是所谓的规划(plan)解。

并行概率规划(PPP)领域,具有动作可并行和动作效果不确定两大特点,使得该领域问题能够更好的描述实际问题,对该领域问题的求解将带来更大的实用价值。由于动作可并行性和动作效果不确定性,导致问题的状态空间迅速增长,对大存储空间的要求甚至会导致无法实现,时间复杂度的增加不仅会使性能变差,甚至在时间约束下使得问题求解失败。而且,在现实问题中,相对难以获得的最优解,我们往往原意接受或更加需要高效易得的次优解。对于大规模空间的搜索,启发式方法表现了不错的性能和实用性。本发明以启发式方法为核心,通过设计启发式函数,来实现对状态空间的高效搜索,从而实现快速优质的求解。



技术实现要素:

本发明主要研究如何通过高效的算法设计,特别是基于因果图的启发式算法设计,设计一个高效而快速的规划问题求解方法。

为了实现发明目的,本发明采用的技术方案为通过推导因果图从而设计启发函数,同时编写相应的规划器,最后通过将并行不确定规划领域问题实例加载到规划器中进行测试和验证,如图1所示。主要步骤如下:

1.因果图推导和启发函数的设计

为了解决大规模搜索空间的问题,我们决定采用启发式的方法来解决计算量过大的问题,而因果图是对问题本身内涵知识的反应,提供了相当的启发信息。我们借助问题的因果图来得到启发信息,进而计算启发值从而得到启发式函数。

2.规划器程序设计

通过将基于因果图的启发式算法进行代码实现,编写高质量的规划器代码,从而实现对领域实例的求解。

3.算法检验和优化;

通过将通用的规划问题实例加载到规划器中,监测相应的参数,如规划时间、规划长度、总的动作数等,进一步优化算法,使其具有自动学习的能力,能够有效的处理新领域问题。

附图说明

图1因果图启发式的并行概率规划方法的流程

图2因果图启发式的并行概率规划方法的系统

具体实施方式

下面结合附图对本发明做进一步的说明。本发明针对基于因果图启发式算法设计、规划器实现和算法验证优化三个方面进行研究。图2为系统设计。

下面分别叙述各步骤的具体内容:

(1)因果图推导和启发式算法设计

结合确定性规划领域的成功方法,将启发式的思想应用到概率不确定性规划领域(PPP),在动作效果方面,借鉴并改进删除边的方法,对问题变量选择性放松删除效果。对于启发式函数的设计,借鉴SAS+及SAS+-1子任务的思想,利用因果图实现启发式函数的推导与快速计算。

1.1根据领域描述(领域描述由IPPC-2011的8个问题领域给出),提取各领域的多值规划模型Π(设该模型有,reward=r(x,y),其中x,y为命题变量)。为利于因果图的推导,结合SAS+-1的思想,通过拆分动作和组合状态变量变换模型动作为一元(每一动作只对一个状态变量产生作用),如针对电梯领域:

reward=EPRD*Σ(piegu*edu+piegd*!edu)+EPWD*Σ(piegu*!edu+piegd*edu)+PPW*Σ(pwu+pwd)

1.2根据模型Π,得到各个命题变量的域转移图。对于含参变量的处理,按参数拆分为多个变量,或将单一参数作为多值的值域。

1.3提取域转移图信息,得到各命题变量的因果图。依各命题变量为完全检索,只做紧邻的一层因果关系,通过层次迭代实现完整因果关系。

1.4借助因果图,设计启发函数。启发函数的设计,结合上面提到的几种方法的优点,对于reward的参数变量(x,y)使用“不删除”方式扩展(即前面提到的“删除动作效果的删除边”),每时间步乘以折扣值系数d来衰减影响,在部分命题变量的启发值之间使用加和式方法累加启发值,据此将命题变量分组,组内采用加和方法,组件使用最大代价法以保证可采纳。

h=max(h1,h2,...)

<mrow> <msub> <mi>h</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>&infin;</mi> </munderover> <msup> <mi>d</mi> <mi>j</mi> </msup> <mo>*</mo> <mrow> <mo>(</mo> <msub> <mi>&gamma;</mi> <mn>1</mn> </msub> <mo>*</mo> <mi>v</mi> <mo>(</mo> <mrow> <mi>p</mi> <mi>i</mi> <mi>e</mi> <mi>g</mi> <mi>u</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>+</mo> <msub> <mi>&gamma;</mi> <mn>2</mn> </msub> <mo>*</mo> <mi>v</mi> <mo>(</mo> <mrow> <mi>p</mi> <mi>i</mi> <mi>e</mi> <mi>g</mi> <mi>u</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>r</mi> <mrow> <msub> <mi>map</mi> <mi>t</mi> </msub> </mrow> </msub> </mrow>

γ1为可调参数,γ2=γ(α,β,EPRD,EPWD)依据当前楼层等候者的分布计算加权惩罚值,为根据时间步t的楼层等候者的分布来计算的等候惩罚值。

(2规划器编码实现

在程序开发阶段,利用java语言对算法加以实现,开发规划器。仍然像我们一直强调的,效率问题是重中之重,在优质的算法前提下,代码质量对于求解速度表现也是至关重要的。这一阶段需要提高代码能力(java的一些特殊用法,提高程序效率),阅读现行规划器代码,学习使用相关工具(如:内存数据库)和技巧(静态调优,等)。重点在于,实例化各领域问题和启发式的实现。

(3)测试和优化

我们将在IPPC的基准领域和一些自己设计的应用领域进行测试,并在测试进一步优化程序,最终论证基于因果图的启发式算法,确实能够求解大规模的概率规划问题,进而应用在实际问题当中。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1