书签 分享 收藏 举报 版权申诉 / 9

基于状态演算的智能主体推理算法及编程语言.pdf

  • 上传人:a****
  • 文档编号:177736
  • 上传时间:2018-01-31
  • 格式:PDF
  • 页数:9
  • 大小:620.56KB
  • 摘要
    申请专利号:

    CN201410146738.9

    申请日:

    2014.04.12

    公开号:

    CN104090744A

    公开日:

    2014.10.08

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):G06F 9/44申请公布日:20141008|||文件的公告送达IPC(主分类):G06F 9/44收件人:江苏盛世云图物联科技有限公司文件名称:第一次审查意见通知书|||实质审查的生效IPC(主分类):G06F 9/44申请日:20140412|||公开

    IPC分类号:

    G06F9/44

    主分类号:

    G06F9/44

    申请人:

    江苏盛世云图物联科技有限公司

    发明人:

    吴庆; 朱会娟; 施炜雷; 史晓亮

    地址:

    215500 江苏省常熟市东南开发区东南大道68号1栋科创大厦

    优先权:

    专利代理机构:

    代理人:

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种基于状态演算的智能主体推理算法及编程语言,其基于公理集合论,引入正、负流集合来定义状态。本发明克服了流演算在状态表示上的固有缺陷,给出基于不完全状态的状态公式和知识表示方法,避免了一般用模态逻辑表示知识在实现上的困难。本发明给出了状态演算的公理系统和前推推理机制,证明了状态知识更新公理为表示和推理框架问题给出了一种自然有效的解决方案。本发明提出并实现了约束逻辑程序设计语言STEX。

    权利要求书

    1.  一种基于状态演算的智能主体推理算法,基于公理集合论,引入正、负流集合来定义状态,其特征在于:State(s)的状态知识公式Ω(State(s))是由Knows(f,State(s))、Knows(N(f),State(s))以及普通原子公式通过逻辑连接词∧、 所构成的式子,即 








    其中,f、是流,为n个两两不同的变量向量(n≥1),的非空子集,Ω、Ω1和Ω2为状态知识表达式。Knows(f,State(s))、Knows(N(f),State(s))、 称为原子状态知识公式。 

    2.
      根据权利要求1所述的基于状态演算的智能主体推理算法,其特征在于:状态演算中情景项服从情景公理SA,Situation Axioms,即 


    公理(SA1)和(SA2)刻画了情景出现的先后顺序。 

    3.
      根据权利要求1所述的基于状态演算的智能主体推理算法,其特征在于:提出并实现约束逻辑程序设计语言STEX,State Calculus Executor,假设<F,o,φ>是一个状态演算符号, 一个STEX的状态公式△(z)可以表示为下列列表: 
    z=[[f1,...,fn,[g1,...,gm],o] 。

    4.
      根据权利要求3所述的基于状态演算的智能主体推理算法,其特征在于:对o通过以下形式加以约束: 
    (1)Holds(f,o); 
    (2)NotHolds(f,o); 
    (3)AllHolds(f,o); 
    (4)AllNotHolds(f,o); 
    (5)OrHolds([f1,...,fn,N(g1),...,N(gn)],o); 
    (6)算术约束式; 
    其中fi(1≤i≤n)为在状态z下成立的流,gj(1≤j≤m)为在状态z下不成立的流,OrHolds约束中析取列表的元素N(gj)(1≤j≤m)表示NotHolds(gj,o),fi(1≤i≤n)表示Holds(f≤o),它们之间是析取的关系。 

    5.
      一种如权利要求1所述基于状态演算的智能主体推理算法的编程语言,其特征在于:智能主体在复杂动态环境下自主更新状态,根据意图进行自主推理和动态规划,通过自主行为实现给定的目标,同时对其他主体或环境发生的动作做出及时的反应。 

    说明书

    基于状态演算的智能主体推理算法及编程语言
    技术领域
    本发明涉及一种基于状态演算的智能主体推理算法及编程语言,属于智能主体技术领域。 
    背景技术
    尽管主体理论与技术为复杂分布式系统的开发和实现提供了新途径,然而如何赋予主体更高的智能,即如何更好地实现主体的知识表示和推理,在理论与实现技术上还存在许多尚未解决的问题。这一直是人工智能和计算机科学等领域的研究热点。 
    主体作为一种智能的软件实体,它活动在动态变化的环境中,要求具备一定的知识和能力,而不是完全的知识和能力。就知识而言,主体要具有一定的领域知识,要具有信念、目标与意图等心智状态,主体的知识和心智状态应该随环境的变化而改变。就能力而言,主体能够在动态的、不完全可知的环境中,通过自身动作以及与环境的交互更新自己的知识和心智状态,能够根据心智状态进行自主推理和动态规划,通过自主行为改变环境以实现给定目标,能够对于外因突发事件做出及时响应,能够与其它主体进行交互与协作,共同完成给定的任务。 
    如果把“世界”看成一个绝对完整的动态系统,那么状态演算研究的动态系统是从“世界”中分离出的一部分。换言之,状态演算研究的动态系统不是一个孤立和封闭的系统,它存在于一定的环境(即世界动态系统)之中,并与环境存在着必然的联系,这种动态系统的状态仅仅对应于环境状态的一部分,因此这种动态系统状态的构成(组成状态的属性)是不完全的,并且随着与其环境交互会发生改变。 
    状态演算是基于公理集合论,引入正、负流集合来定义状态,克服了流演算在状态表示上的固有缺陷,给出基于不完全状态的状态公式和知识表示方法,避免了一般用模态逻辑表示知识在实现上的困难,给出状态演算的公理系统和前推推理机制,证明了状态知识更新公理为表示和推理框架问题给出了一种自然有效的解决方案,其中框架问题(frame problem)是人工智能中行动推理的三大问题之首。 
    发明内容
    本发明的目的在于提供一种基于状态演算的智能主体推理算法及编程语言。 
    实现本发明的技术方案为:基于状态演算的智能主体推理算法,该算法基于公理集合论,引入正、负流集合来定义状态,State(s)的状态知识公式Ω(State(s))是由Knows(f,State(s))、Knows(N(f),State(s))、以及普通原子公式通过逻辑连接词∧、 所构成的式子,即 
    Ω(State(s))=defKNOWS(Ω,State(s))]]>
    KNOWS(&Not;Ω,State(s))=def&Not;KNOWS(Ω,State(s))]]>

    KNOWS(f,State(s))=defKnows(f,State(s))]]>
    KNOWS(N(f,)State(s))=defKnows(N(f,)State(s))]]>
    KNOWS(SomeArg(x&RightArrow;1,f(x&RightArrow;)),State(s))=defKnows(SomeArg(x&RightArrow;1,f(x&RightArrow;)),State(s))]]>
    KNOWS(NSomeArg(x&RightArrow;1,f(x&RightArrow;)),State(s))=dfKnows(N(SomeArg(x&RightArrow;1,f(x&RightArrow;))),State(s))]]>
    KNOWS(P(t&RightArrow;),State(s))=dfeP(t&RightArrow;)]]>
    其中,f、是流,为n个两两不同的变量向量(n≥1),的非空子集,Ω、Ω1和Ω2为状态知识表达式。Knows(f,State(s))、Knows(N(f),State(s))、 称为原子状态知识公式。 
    进一步地,状态演算中情景项服从情景公理SA,SituationAxioms,即 
    (SA1),(&ForAll;s)(&Not;s<S0)]]>
    (SA2),(&ForAll;s,a,s')(s<Do(a,s')&LeftRightArrow;s<=s')]]>
    公理(SA1)和(SA2)刻画了情景出现的先后顺序。 
    更进一步地,该算法提出并实现约束逻辑程序设计语言STEX,State Calculus Executor,假设<F,o,φ>是一个状态演算符号,一个STEX的状态公式Δ(z)可以表示为下列列表: 
    z=[[f1,...,fn,[g1,...,gm],o] 
    进一步地对o通过以下形式加以约束: 
    (1)Holds(f,o); 
    (2)NotHolds(f,o); 
    (3)AllHolds(f,o); 
    (4)AllNotHolds(f,o); 
    (5)OrHolds([f1,...,fn,N(g1),...,N(gn)],o); 
    (6)算术约束式; 
    其中fi(1≤i≤n)为在状态z下成立的流,gj(1≤j≤m)为在状态z下不成立的流,OrHolds约束中析取列表的元素N(gj)(1≤j≤m)表示NotHolds(gj,o),fi(1≤i≤n)表示Holds(f,o),它们之间是析取的关系。 
    一种基于状态演算的智能主体推理算法的编程语言,其智能主体在复杂动态环境下自主更新状态,根据意图进行自主推理和动态规划,通过自主行为实现给定的目标,同时对其他主体或环境发生的动作做出及时的反应。 
    本发明的技术优点在于:1)基于公理集合论,引入正、负流集合来定义状态,克服了流演算在状态表示上的固有缺陷,给出基于不完全状态的状态公式和知识表示方法,避免了一般用模态逻辑表示知识在实现上的困难;2)本发明给出了状态演算的公理系统和前推推理机制,证明了状态知识更新公理为表示和推理框架问题给出了一种自然有效的解决方案;3)本发明提出并实现了约束逻辑程序设计语言STEX。 
    附图说明
    图1为情景前推推理公式情景演变图。 
    具体实施方式
    下面将结合实施例,对本发明实施例中的技术方案作进一步地描述。 
    本发明一种基于状态演算的智能主体推理算法及编程语言。 
    1)提出智能主体的推理算法——状态演算 
    状态演算基于公理集合论,引入正、负流集合来定义不完全状态,以此来刻画动态系统的状态,进而刻画关于动态系统状态的知识,克服了流演算在状态表示上的固有缺陷。主体本身可以看成存在于一定的环境中的动态系统,主体的状态会随主体与环境的交互而改变。 
    状态演算中的公理和公式如下: 
    1)状态演算中的状态知识公式 
    关于State(s)的状态知识公式Ω(State(s))是指由Knows(f,State(s))、Knows(N(f),State(s))、 以及普通原子公式 通过逻辑连接词∧、所构成的式子,即 
    Ω(State(s))=defKNOWS(Ω,State(s))]]>
    KNOWS(&Not;Ω,State(s))=def&Not;KNOWS(Ω,State(s))]]>

    KNOWS(f,State(s))=defKnows(f,State(s))]]>
    KNOWS(N(f,)State(s))=defKnows(N(f,)State(s))]]>
    KNOWS(SomeArg(x&RightArrow;1,f(x&RightArrow;)),State(s))=defKnows(SomeArg(x&RightArrow;1,f(x&RightArrow;)),State(s))]]>
    KNOWS(NSomeArg(x&RightArrow;1,f(x&RightArrow;)),State(s))=defKnows(N(SomeArg(x&RightArrow;1,f(x&RightArrow;))),State(s))]]>
    KNOWS(P(t&RightArrow;),State(s))=dfeP(t&RightArrow;)]]>
    其中,f、是流,为n个两两不同的变量向量(n≥1),的非空子集,Ω、Ω1和Ω2为状态知识表达式。Knows(f,State(s))、Knows(N(f),State(s))、 称为原子状态知识公式。 
    2)状态演算中情景项服从情景公理SA(Situation Axioms),即 
    (SA1),(&ForAll;s)(&Not;s<S0)]]>
    (SA2),(&ForAll;s,a,s')(s<Do(a,s')&LeftRightArrow;s<=s')]]>
    公理(SA1)和(SA2)刻画了情景出现的先后顺序,具体如图1所示的情景前推推理公式情景演变。 
    提出并实现约束逻辑程序设计语言STEX(State Calculus Executor),假设<F,o,φ>是一个状态演算符号,一个STEX的状态公式△(z)可以表示为下列列表: 
    z=[[f1,...,fn],[g1,...,gm],o] 
    并且对o通过以下形式加以约束: 
    (1)Holds(f,o); 
    (2)NotHolds(f,o); 
    (3)AllHolds(f,o); 
    (4)A11NotHolds(f,o); 
    (5)OrHolds([f1,...,fn,N(g1),...,N(gn)],o); 
    (6)算术约束式。 
    其中fi(1≤i≤n)为在状态z下成立的流,gj(1≤j≤m)为在状态z下不成立的流。OrHolds约束中析取列表的元素N(gj)(1≤j≤m)表示NotHolds(gj,o),fi(1≤i≤n)表示Holds(f,o),它们之间是析取的关系。 
    部分STEX语言源码: 
    eq_Flu(Fx,Fy):- 
    functor(Fx,F,M),funetor(Fy,G,N), 
    F=G,M=N->Fx=..[_|ArgX],Fy=..[_|ArgY],and_eq_Arg(ArgX,ArgY,D),call(D). 
    and_eq_Arg([],[],(0#=0)). 
    and_eq_Arg([X|Xl],[Y|Y1],D):-and_eq_Arg(X1,Y1,D1),D=((X#=Y)#∧D1). 
    neq_Flu(Fx,Fy):- 
    functor(Fx,F,M),functor(Fy,G,N), 
    (F=G,M=N->Fx=..[_|ArgX],Fy=.. [_|rgY],or_neq_Arg(ArgX,ArgY,D),call(D);true). 
    or_neq_Arg([],[],(0#\=0)). 
    or_neq_Arg([X|X1],[Y|Y1],D):-orneq_Arg(X1,Y1,D1),D=((X#\=Y)#∨D1). 
    all_holds(F,O)<=>all_holds(F,(0#=0),O). 
    all_holds(F,C,[Zp,Zn,O])<=>nonvar(Zp),intersectionNull(Zp,Zn)->    %2 
    all_holds(F,C,Zp,Zn,O). 
    ... 
    \+(F1=G22,call(C))->all_not_holds(F,C,Z2,[],O); 
    F=..[_|ArgX],G=..[_|ArgY],or_neq_Arg(ArgX,ArgY,C1), 
    all_not_holds(F,(C#∧C1),Z2,[],O). 
    allnot_holds(F,C,[],[],O)<=>all_not_holds(F,C,O). 
    knows(F,[Zp,Zn,O]):-\+not_holds(F,[Zp,Zn,O]). 
    knows_not(F,[Zp,Zn,O]):-\+holds(F,[Zp,Zn,O]). 
    knows_Arg(X,F,[Zp,Zn,O]):-inst_ho1ds(F,Zp),unique_inst(X). 
    knowsExp(n(P),O):-!,prim_fluent(P),knows_not(P,O). 
    knowsExp(someArg(V,P),O):-!,prim_fluent(P),subvs(V,P,V1,P1), 
    knows_Arg(V1,P1,O). 
    knowsExp(n(someArg(V,P)),O):-!,prim_fluent(P),subvs(V,P,V1,P1), 
    knows_not_Arg(V1,P1,O). 
    knowsExp(P,O):-\+prim_fluent(P),call(P). 
    plus_(O,[],O). 
    plus_([Zp,Zn,O],[F|Fs],[Zp2,Zn2,O2]):- 
    (\+nonground(F),(member(G,Zp),F==G;member(G,Zn),F==G)-> 
    union(Zp,[F],Zpl),subtract(Zn,[F],Znl),Ol=O; 
    abolish(F,[Zp,Zn,O],[Zpt,Znl,O1]),union(Zpt,[F],Zpl)), 
    plus_([Zpl,Znl,O1],Fs,[Zp2,Zn2,O2]). 
    minus._(O,[],O). 
    ...... 
    update([Zp,Zn,O],Peff,Neff,[Zp2,Zn2,O2]):- 
    intersectionNull(Peff,Neff), 
    plus_([Zp,Zn,O],Peff,[Zpl,Znl,O1]), 
    minus_([Zpl,Znl,O1],Neff,[Zp2,Zn2,O2]). 
    状态演算及其STEX语言能很好地刻画智能主体在复杂动态环境下自主更新状态,根据意图进行自主推理和动态规划,通过自主行为实现给定的目标,同时能对其他主体或环境发生的动作做出及时的反应。 
    本发明通过对人工智能领域中现有知识表示方法进行分析与比较,以及对现有行动推理形式化系统(STRIPS系统、情景演算、事件演算和流演算)的基本思想、推理机制等进行分析与研究。根据现有的形式化系统的不足之处,结合一阶谓词逻辑知识表示法,提出了较为适用的行动推理形式化系统—状态演算。在状态演算的理论基础之上,吸收逻辑程序设计语言FLUX(基于流演算理论的)的合理成分,提出并实现了约束逻辑程序设计语言STEX(State Calculus Executor)。STEX具有强大的约束求解功能和推理能力,它允许简洁的程序和支持模块化,非常适用于人工智能的复杂策略编程。且由于约束的可表达性和合理的不完全推理机制,STEX中的推理在内部状态表示的规模上是线性的,因此STEX具有优越的计算性能,STEX非常适合用于agent长期控制。 

    关 键  词:
    基于 状态 演算 智能 主体 推理 算法 编程 语言
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于状态演算的智能主体推理算法及编程语言.pdf
    链接地址:https://www.zhuanlichaxun.net/p-177736.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1