一种多智能体模态逻辑可满足性判定算法的制作方法

文档序号:15493338发布日期:2018-09-21 21:06阅读:232来源:国知局

本发明属于计算机知识表示与推理领域中的高级研究课题,涉及一种基于模型构造的带有公共知识的多智能体模态逻辑可满足性判定算法。



背景技术:

近年来人工智能技术发展迅速,并呈现出与计算机学科下多个领域结合的趋势。多智能体认知规划问题是一种协调多个智能体共同完成任务的前沿智能技术,与经典规划问题不同的是,认知规划问题假定每个智能体都具备私有的知识,并且会根据自身的知识来做出不同的动作,这就需要对智能体的知识状态进行建模。huang等人(xiaohuang,biqingfang,haiwan,andyongmeiliu.ageneralmulti-agentepistemicplannerbasedonhigher-orderbeliefchange.inproceedingsofthetwenty-sixthinternationaljointconferenceonartificialintelligence,ijcai2017,melbourne,australia,august19-25,2017,pages1093–1101,2017.)提出了一种基于知识表示与推理领域的建模框架,一个具体的知识被表示为一条多智能体模态逻辑公式;当智能体基于自身知识执行动作时,需要进行逻辑上的推理,即表示智能体知识的逻辑公式是否蕴含表示某一动作前提条件的逻辑公式。这一推理问题等价于判定两个模态逻辑公式的可满足性,对于两个逻辑公式φ和ψ,φ蕴含ψ等价于是不可满足的。

在huang等人的框架中使用的模态逻辑允许知识的多层嵌套,例如可以表示:智能体a知道智能体b知道某个知识φ,但知识的嵌套深度是有限的,因而不能建模智能体之间的公共知识。而将公共知识引入多智能体认知规划问题之后,问题的应用范围能够得到较大的拓展。例如,当一个规划问题实例涉及到一些智能体之间的协议时,智能体关于协议的知识需要通过公共知识来表示,huang的框架并不能很好的建模此类问题。

在框架中加入公共知识的建模,就会涉及到包含公共知识的多智能体模态逻辑的可满足性问题。halpern和moses的文献(josephy.halpernandyorammoses.aguidetocompletenessandcomplexityformodallogicsofknowledgeandbelief.artif.intell.,54(2):319–379,1992.)证明了包含公共知识的模态逻辑可满足性问题是可判定的,具体而言,在kn、kd45n、s5n等模态系统下,可满足性问题都是指数级的时间复杂度。在huang等人的工作中,他们提出了一种递归求解多智能体模态逻辑公式可满足性的算法,该算法作用在模态系统kd45n下,但是该算法不能处理包含公共知识的逻辑公式。



技术实现要素:

本发明的主要目的是提出一种多智能体模态逻辑可满足性判定算法,旨在对该huang等人的可满足性算法进行重新设计,首先基于其递归的思想,确保该算法易于实现;在递归求解某个公式的可满足性过程中,同时尝试构造它的模型,模型中的每个点对应于递归过程中生成的公式;利用模型的有穷性,可以避免引入公共知识后造成的无限递归的情形,使得该算法可以正确地求解包含公共知识的多智能体模态逻辑可满足性问题;最后,该算法作用于模态系统kn下。

为实现上述目的,本发明公开了一种多智能体模态逻辑可满足性判定算法,包括如下步骤:

s10把任意一个包含公共知识的多智能模态逻辑公式转换成范式形式,令为原子命题集合,为智能体集合,多智能模态逻辑公式由如下bnf定义:

其中kaφ表示智能体a知道知识φ,cφ表示所有智能体公共知道φ,并且令laφ和dφ作为的缩写。

s20对于一个模态项可以生成其后继公式用以递归地构造模型,后继公式集合genk(δ)为如下两个集合的并集:

其中λ∈λ。

s30完成预处理步骤将任意多智能体模态逻辑公式转化为析取范式φ后,调用函数checkk(φ),如果checkk(φ)返回了则可以根据算法运行结束的有向图g=(w,r)构造φ在kn下的模型。

优选地,所述多智能体模态逻辑的项定义如下:定义一个命题项是一个模态项,是一个模态项,其中φ0是命题项,ψa,λ是模态项的集合,φa,μ是模态项的析取的合取,如果所述φ是模态项的析取,则称模态公式φ是析取范式;如果φ是析取范式的合取,则称φ是合取析取范式。

优选地,所述30中checkk(φ)步骤如下:

输入析取范式φ,将g=(w,r)初始化为空的有向图,将mark初始化为空的键值对,返回函数satk(φ,⊥,a,1)的返回值,输出:-可满足,或⊥-不可满足,函数checkk(φ)完成数据初始化操作,并调用另一个递归函数satk,初始化为空的g和mark可以被satk全局访问。

优选地,所述函数satk(φ,φ′,i,n)的递归步骤如下:输入合取析取范式φ,模态项φ′,n=1,2;

(1)如果φ不是模态项,则进入下一步,否则进入第五步;

(2)将φ转换为析取范式∨δ;

(3)遍历集合δ中的每个模态项δ,如果返回

(4)返回⊥;

(5)如果φ′≠⊥,将(φ′,φ)n存入ri;

(6)如果φ∈w,转步骤7;否则转步骤8;

(7)如果φ在一条2-环上,返回⊥;否则返回mark[δ];

(8)将φ存入w,将φ:存入mark;

(9)生成后继公式集合

(10)如果下述条件均成立,返回否则将φ:⊥存入mark,返回⊥,

条件为:命题项φ0可满足;对于集合s1中的任何一个δa,对于集合λ中的任何一个λ,存在一个集合中的δa使得或存在一个集合中的δa使得

如果checkk(φ)返回了则可以根据算法运行结束的有向图g=(w,r)构造φ在kn下的模型。

优选地,根据g=(w,r)构造kn模型的步骤如下:移除w中使得mark[φ]=⊥的φ;将w中的δ重命名为wδ;构造一个赋值映射v使得v(wδ)满足公式δ中的φ0。

本发明技术方案与现有技术相比,本发明具有以下优势:

(1)本发明提供了一种易于实现的递归算法。算法中用到的checkk、satk等函数具有清晰的步骤,便于直接转化为计算机程序。

(2)当公共知识被包含在逻辑公式中后,生成后继公式集合的操作存在重复生成相同公式的情况,便导致递归函数无法终止,现有技术失效。本发明可以求解包含公共知识的多智能体模态逻辑公式的可满足性,相当于对包含公共知识的逻辑公式推理问题提供了一种解决方法,利于拓展多智能体认知逻辑的建模框架,增加对公共知识的表示和处理能力。

(3)本发明在求解可满足性的同时会构造公式的模型,对于解释公式的语义起到了帮助。

具体实施方式

下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

一种多智能体模态逻辑可满足性判定算法,包括如下步骤:

s10把任意一个包含公共知识的多智能模态逻辑公式转换成范式形式,令为原子命题集合,为智能体集合,多智能模态逻辑公式由如下bnf定义:

其中kaφ表示智能体a知道知识φ,cφ表示所有智能体公共知道φ,并且令laφ和dφ作为的缩写。

s20对于一个模态项可以生成其后继公式用以递归地构造模型,后继公式集合genk(δ)为如下两个集合的并集:

其中λ∈λ。

s30完成预处理步骤将任意多智能体模态逻辑公式转化为析取范式φ后,调用函数checkk(φ),如果checkk(φ)返回了则可以根据算法运行结束的有向图g=(w,r)构造φ在kn下的模型。

优选地,所述多智能体模态逻辑的项定义如下:定义一个命题项是一个模态项,是一个模态项,其中φ0是命题项,ψa,λ是模态项的集合,φa,μ是模态项的析取的合取,如果所述φ是模态项的析取,则称模态公式φ是析取范式;如果φ是析取范式的合取,则称φ是合取析取范式。

优选地,所述30中checkk(φ)步骤如下:

输入析取范式φ,将g=(w,r)初始化为空的有向图,将mark初始化为空的键值对,返回函数satk(φ,⊥,a,1)的返回值,输出:-可满足,或⊥-不可满足,函数checkk(φ)完成数据初始化操作,并调用另一个递归函数satk,初始化为空的g和mark可以被satk全局访问。

优选地,所述函数satk(φ,φ′,i,n)的递归步骤如下:输入合取析取范式φ,模态项φ′,n=1,2;

如果φ不是模态项,则进入下一步,否则进入步骤(5);

将φ转换为析取范式∨δ;

(1)遍历集合δ中的每个模态项δ,如果返回

(2)返回⊥;

(3)如果φ′≠⊥,将(φ′,φ)n存入ri;

(4)如果φ∈w,转步骤7;否则转步骤8;

(5)如果φ在一条2-环上,返回⊥;否则返回mark[δ];

(6)将φ存入w,将φ:存入mark;

(7)生成后继公式集合

(8)如果下述条件均成立,返回否则将φ:⊥存入mark,返回⊥,条

件为:命题项φ0可满足;对于集合s1中的任何一个δa,对于集合λ中的任何一个λ,存在一个集合中的δa使得或存在一个集合中的δa使得

如果checkk(φ)返回了则可以根据算法运行结束的有向图g=(w,r)构造φ在kn下的模型。

优选地,根据g=(w,r)构造kn模型的步骤如下:移除w中使得mark[φ]=⊥的φ;将w中的δ重命名为wδ;构造一个赋值映射v使得v(wδ)满足公式δ中的φ0。

实施例1:本发明对于不可满足的逻辑公式的求解步骤:

以析取范式为例,其中p为原子命题,智能体集合

首先计算φ的后继公式genk(φ)={δ1,δ2},其中此时对于有向图g=(w,r),有w={φ,δ1,δ2},

ra={(φ1,δ1)1,(φ,δ2)2}。

检测公式δ1,由于的命题部分是不可满足的,令mark[δ1]=⊥并返回⊥。

检测公式δ2,计算δ2的后继公式genk(δ2)={δ1,δ2},将(δ2,δ1)1和(δ2,δ2)2存入ra。由于mark[δ1]=⊥同时δ2位于2-环上,令mark[δ2]=⊥并返回⊥。

此时从φ出发的两个后继递归节点均返回⊥,于是φ也返回⊥,即φ是不可满足的。

实施例2:本发明对于可满足的逻辑公式的求解步骤:

以析取范式为例,其中p为原子命题,智能体集合

首先计算φ的后继公式genk(φ)={δ1,δ2},其中此时对于有向图g=(w,r),有w={φ,δ1,δ2},

ra={(φ,δ1)1,(φ,δ2)2}。

检测公式δ1,由于的命题部分是不可满足的,令mark[δ1]=⊥并返回⊥。

检测公式δ2,计算δ2的后继公式genk(δ2)={δ3,δ2},其中将δ3存入w,(δ3,δ1)1和(δ2,δ2)2存入ra。

检测公式δ3,由于的命题部分是可满足的且无后继公式,令且返回

δ2在获得δ3的返回值后,令且返回于是φ也返回

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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