本发明属于计算机知识表示与推理领域中的高级研究课题,涉及一种基于模型构造的带有公共知识的多智能体模态逻辑可满足性判定算法。
背景技术:
近年来人工智能技术发展迅速,并呈现出与计算机学科下多个领域结合的趋势。多智能体认知规划问题是一种协调多个智能体共同完成任务的前沿智能技术,与经典规划问题不同的是,认知规划问题假定每个智能体都具备私有的知识,并且会根据自身的知识来做出不同的动作,这就需要对智能体的知识状态进行建模。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把任意一个包含公共知识的多智能模态逻辑公式转换成范式形式,令
其中
s20对于一个模态项
s30完成预处理步骤将任意多智能体模态逻辑公式转化为析取范式φ后,调用函数checkk(φ),如果checkk(φ)返回了
优选地,所述多智能体模态逻辑的项定义如下:定义一个命题项是一个模态项,
优选地,所述30中checkk(φ)步骤如下:
输入析取范式φ,将g=(w,r)初始化为空的有向图,将mark初始化为空的键值对,返回函数satk(φ,⊥,a,1)的返回值,输出:
优选地,所述函数satk(φ,φ′,i,n)的递归步骤如下:输入合取析取范式φ,模态项φ′,
(1)如果φ不是模态项,则进入下一步,否则进入第五步;
(2)将φ转换为析取范式∨δ;
(3)遍历集合δ中的每个模态项δ,如果
(4)返回⊥;
(5)如果φ′≠⊥,将(φ′,φ)n存入ri;
(6)如果φ∈w,转步骤7;否则转步骤8;
(7)如果φ在一条2-环上,返回⊥;否则返回mark[δ];
(8)将φ存入w,将φ:
(9)生成后继公式集合
(10)如果下述条件均成立,返回
条件为:命题项φ0可满足;对于集合s1中的任何一个δa,
如果checkk(φ)返回了
优选地,根据g=(w,r)构造kn模型的步骤如下:移除w中使得mark[φ]=⊥的φ;将w中的δ重命名为wδ;构造一个赋值映射v使得v(wδ)满足公式δ中的φ0。
本发明技术方案与现有技术相比,本发明具有以下优势:
(1)本发明提供了一种易于实现的递归算法。算法中用到的checkk、satk等函数具有清晰的步骤,便于直接转化为计算机程序。
(2)当公共知识被包含在逻辑公式中后,生成后继公式集合的操作存在重复生成相同公式的情况,便导致递归函数无法终止,现有技术失效。本发明可以求解包含公共知识的多智能体模态逻辑公式的可满足性,相当于对包含公共知识的逻辑公式推理问题提供了一种解决方法,利于拓展多智能体认知逻辑的建模框架,增加对公共知识的表示和处理能力。
(3)本发明在求解可满足性的同时会构造公式的模型,对于解释公式的语义起到了帮助。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
一种多智能体模态逻辑可满足性判定算法,包括如下步骤:
s10把任意一个包含公共知识的多智能模态逻辑公式转换成范式形式,令
其中
s20对于一个模态项
s30完成预处理步骤将任意多智能体模态逻辑公式转化为析取范式φ后,调用函数checkk(φ),如果checkk(φ)返回了
优选地,所述多智能体模态逻辑的项定义如下:定义一个命题项是一个模态项,
优选地,所述30中checkk(φ)步骤如下:
输入析取范式φ,将g=(w,r)初始化为空的有向图,将mark初始化为空的键值对,返回函数satk(φ,⊥,a,1)的返回值,输出:
优选地,所述函数satk(φ,φ′,i,n)的递归步骤如下:输入合取析取范式φ,模态项φ′,
如果φ不是模态项,则进入下一步,否则进入步骤(5);
将φ转换为析取范式∨δ;
(1)遍历集合δ中的每个模态项δ,如果
(2)返回⊥;
(3)如果φ′≠⊥,将(φ′,φ)n存入ri;
(4)如果φ∈w,转步骤7;否则转步骤8;
(5)如果φ在一条2-环上,返回⊥;否则返回mark[δ];
(6)将φ存入w,将φ:
(7)生成后继公式集合
(8)如果下述条件均成立,返回
件为:命题项φ0可满足;对于集合s1中的任何一个δa,
如果checkk(φ)返回了
优选地,根据g=(w,r)构造kn模型的步骤如下:移除w中使得mark[φ]=⊥的φ;将w中的δ重命名为wδ;构造一个赋值映射v使得v(wδ)满足公式δ中的φ0。
实施例1:本发明对于不可满足的逻辑公式的求解步骤:
以析取范式
首先计算φ的后继公式genk(φ)={δ1,δ2},其中
ra={(φ1,δ1)1,(φ,δ2)2}。
检测公式δ1,由于
检测公式δ2,计算δ2的后继公式genk(δ2)={δ1,δ2},将(δ2,δ1)1和(δ2,δ2)2存入ra。由于mark[δ1]=⊥同时δ2位于2-环上,令mark[δ2]=⊥并返回⊥。
此时从φ出发的两个后继递归节点均返回⊥,于是φ也返回⊥,即φ是不可满足的。
实施例2:本发明对于可满足的逻辑公式的求解步骤:
以析取范式
首先计算φ的后继公式genk(φ)={δ1,δ2},其中
ra={(φ,δ1)1,(φ,δ2)2}。
检测公式δ1,由于
检测公式δ2,计算δ2的后继公式genk(δ2)={δ3,δ2},其中
检测公式δ3,由于
δ2在获得δ3的返回值
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。