技术领域
本发明涉及基于特定计算模型的计算机系统的技术领域,特别涉及一种人工智能领域的结构化表示智能体目标实现过程的方法。
背景技术
多智能体系统(Multi-Agent System, MAS)是指通过智能体间的交互和协作实现复杂智能的系统,用于解决单个智能体难以或者无法解决的问题,在城市交通、工业制造等重要领域都有广泛应用。
作为一种常见的智能体结构,BDI模型通过定义信念(Belief)、目标(Desire)以及意图(Intention)来构建智能体的心智状态,并根据心智状态的变化来解释智能体在环境中的自主行为,基于该模型构建的BDI智能体具有很强的自主能力、交互能力以及动态环境中的应变能力,此外其自主行为还具有良好的可验证性,被广泛应用于军事、航空航天等领域。
BDI智能体从预先给定的计划库中选择不同的计划(Plan)来实现目标;计划(Plan)规定了其执行的前提条件(Precondition)以及完成所需要的步骤,计划中的步骤可以是智能体能够直接执行的动作(actions)或者是需要通过计划去实现的子目标;在目标实现过程中,智能体承诺还需执行的步骤被称为智能体实现该目标的意图(intention),即实现该目标还需要做什么。
解决意图选择问题和计划选择问题需要对智能体目标的实现过程和步骤进行完整、客观、可重复再现的分析。
目前最常用的表示目标实现过程的方式是Thangarajah等人提出的目标计划树(goal-plan tree)结构,该方法采用“与或树”来表示智能体目标和计划之间的关系,从而将智能体慎思过程中的计划选择问题转化为树的搜索和遍历问题,通过目标计划树,智能体可以追踪到目标实现的完整过程并获取所有可能的目标实现路径。
然而,当前定义的目标计划树受限于其自身结构特点,限定了计划中的各个步骤必须严格按照预先设定的顺序执行,灵活性与表达性不足,无法表示真实的执行情况。现实环境中,在条件允许的情况下智能体可以随时调整目标实现步骤的执行顺序,在交换某些节点的操作顺序时,该顺序的变动并不会影响到最终的目标实现,而目标计划树则无法用于上述表述,最终限制了其在真实场景的应用。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的结构化表示智能体目标实现过程的方法。
本发明所采用的技术方案是,一种结构化表示智能体目标实现过程的方法,所述方法包括以下步骤:
步骤1:构建基于目标计划图的多元组G=(V,E
本发明中,V包括目标节点、计划节点以及动作节点;对于一个目标来说,可能包括一个或多个计划,任一计划完成则目标完成;对于一个计划来说,其中可能包括了子目标和动作,而子目标下又包括了一个或多个子计划,只有子目标和动作都完成的情况下,这个计划才算完成;同时,所有的子目标和动作都被称为步骤。
本发明中,目标分为顶层目标和子目标,顶层目标表示智能体想要达到的最高状态,图中所有计划、子目标和动作都为实现顶层目标服务,子目标在计划的执行过程中产生,无需提前指定实现的计划。
本发明中,集合E
本发明中,集合E
本发明中,集合E
本发明中,任何一组(x,y)只能属于E
本发明中,目标计划图是有向无环图。
步骤2:任一智能体对应有目标计划库,基于任一智能体的目标生成目标计划图;
步骤3:基于目标计划图,选择计划并构建实例;
步骤4:实现智能体目标实现过程的结构化执行。
优选地,所述步骤1中,初始状态下,所有V、E
优选地,所述步骤1中,节点为包括目标计划图中的所有目标节点、计划节点以及动作节点的集合,不同类型的有向边包括对应关系、从属关系和偏序执行关系。
优选地,所述步骤2中,对任一智能体生成目标计划图包括以下步骤:
步骤2.1:构建空计划集PS,将任一智能体的目标计划库中的所有计划加入PS;
步骤2.2:判断计划集PS是否为空,若是,则进行步骤2.6,否则,从PS中取出一个计划P
步骤2.3:判断计划P
若S是一个动作A
若S是一个子目标G
步骤2.4:根据步骤节点间的偏序执行关系,将存在偏序执行关系的步骤节点相连;
步骤2.5:找到计划P
步骤2.6:检查目标计划图,删除逻辑多余边,完成目标计划图的生成。
优选地,所述步骤2.4中,若存在不同的步骤节点N
优选地,所述步骤3包括以下步骤:
步骤3.1:智能体根据需求确定顶层目标G
步骤3.2:在生成的所有目标计划图中搜索关于G
步骤3.3:基于选定的目标计划图的多元组G=(V,E
步骤3.4:从目标G
步骤3.5:随机从N
优选地,任一所述节点设有状态值;所述状态值包括默认、执行中、成功和失败。
优选地,所有的节点的初始值为默认。
优选地,所述步骤4包括以下步骤:
步骤4.1:将N
步骤4.2:将P
步骤4.3:选择EX
若该步骤节点为动作节点,则直接执行;
若该步骤节点是子目标节点N
步骤4.4:更新可执行步骤集合EX
若步骤节点S
若步骤节点S
若所有计划均失败,则将对应的目标节点状态更新为失败。
本发明涉及一种优化的结构化表示智能体目标实现过程的方法,构建基于目标计划图的多元组G,多元组中包括目标计划图中的节点的集合及节点间不同类型的有向边集合,基于任一智能体的目标生成目标计划图,选择计划并构建实例后实现智能体目标实现过程的结构化执行;提供了更加灵活的表示智能体目标实现过程的结构,并给出了该结构的具体使用方式,基于“有向无环图”,使用图结构表示各步骤间的偏序执行依赖关系,并以此取代传统目标计划树中的严格全序关系,允许没有顺序依赖关系的步骤调换执行顺序甚至并行执行,可以更客观地表示更准确的目标实现方式,在所有节点基于目标计划库生成的前提下可重复再现。
本发明的有益效果在于:
(1)根据目标、计划、动作的逻辑关系对其进行图结构化表示,将计划中步骤节点的前置步骤节点设定为多个而不是一个,从而形成图结构,消除了严格按序线性执行的约束,能够更好地模拟智能体目标实现过程;
(2)由于步骤节点间无严格线性执行顺序,在表达逻辑关系时没有严格顺序约束限制,从而可以广泛地应用于不同复杂场景,解决了传统目标计划树表达性差的问题;
(3)根据计划体中各节点的可达性,可以清楚地知道一个计划中各步骤节点间能否并行,这样就对执行顺序有多种不同的选择,灵活性得到大幅度提高,可以被用于AI开发等人工智能领域。
附图说明
图1为本发明的目标计划图示意图;图中:
虚线边表示步骤与计划之间的从属关系,方向由计划节点指向步骤节点(行动或子目标);
带双箭头的实线边表示步骤间的偏序关系,方向由步骤节点指向依赖于该步骤的节点;
带单箭头的实线边表示目标和计划的对应关系,方向由目标节点指向计划节点;
图2为本发明的流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种结构化表示智能体目标实现过程的方法,本发明中,所有下标是为了标识当前情况下同为目标、子目标、计划、动作的不同的二者,作为标识用,而非序号。
如图1所示,存在顶层目标G
所述方法包括以下步骤:
步骤1:构建基于目标计划图的多元组G=(V,E
所述步骤1中,初始状态下,所有V、E
所述步骤1中,节点为包括目标计划图中的所有目标节点、计划节点以及动作节点的集合,不同类型的有向边包括对应关系、从属关系和偏序执行关系。
步骤2:任一智能体对应有目标计划库,基于任一智能体的目标生成目标计划图;
所述步骤2中,对任一智能体生成目标计划图包括以下步骤:
步骤2.1:构建空计划集PS,将任一智能体的目标计划库中的所有计划加入PS;
步骤2.2:判断计划集PS是否为空,若是,则进行步骤2.6,否则,从PS中取出一个计划P
步骤2.3:判断计划P
若S是一个动作A
若S是一个子目标G
步骤2.4:根据步骤节点间的偏序执行关系,将存在偏序执行关系的步骤节点相连;
所述步骤2.4中,若存在不同的步骤节点N
步骤2.5:找到计划P
步骤2.6:检查目标计划图,删除逻辑多余边,完成目标计划图的生成。
本发明中,步骤2.1中,事实上在最初是需要基于智能体的目标计划库构建多元组G的,本发明中默认G存在,且输出状态下,G中的V、E
本发明中,步骤2是为了找出所有的可以实现这个目标的关联节点,包括计划及计划下的动作、子目标。
本发明中,步骤2.6中的删除逻辑多余边为本领域常规技术,即对于一个计划中的各步骤节点逻辑关系的偏序执行关系结构中,若存在某个满足G的基本构建条件的有向边e,其即使被删除,各步骤节点间先后执行的逻辑约束依然不变,则e被称为逻辑多余边;举例来说,图1中的步骤节点A
步骤3:基于目标计划图,选择计划并构建实例;
所述步骤3包括以下步骤:
步骤3.1:智能体根据需求确定顶层目标G
步骤3.2:在生成的所有目标计划图中搜索关于G
步骤3.3:基于选定的目标计划图的多元组G=(V,E
任一所述节点设有状态值;所述状态值包括默认(default)、执行中(executing)、成功(success)和失败(fail)。
所有的节点的初始值为默认。
步骤3.4:从目标G
步骤3.5:随机从N
本发明中,开始执行时,EX
步骤4:实现智能体目标实现过程的结构化执行。
所述步骤4包括以下步骤:
步骤4.1:将N
步骤4.2:将P
步骤4.3:选择EX
若该步骤节点为动作节点,则直接执行;
若该步骤节点是子目标节点N
步骤4.4:更新可执行步骤集合EX
若步骤节点S
若步骤节点S
若所有计划均失败,则将对应的目标节点状态更新为失败。
本发明中,更新EX
本发明中,以动作A
本发明中,不断重复完成最前序步骤、添加可能存在的子目标所涉及的新的可执行集合,直至EX
本发明中,在实际的作业中,可以设置计数标识,即顶层目标为G
机译: 一种信息建模,表示和集成的信息进程与不同型号的知识表示的无需使用正式语言的方法,这是一种基于结构化数据的有限集合来呈现描述这些对象的半结构化数据的方法
机译: 用于信息建模的方法,并且代表不同知识表示模型的信息过程的任意对象,而无需集成和正式语言,以及用于基于结构化数据的有限集合描述所述对象的半结构化数据的方法
机译: 用于信息建模的方法,以及不同知识表示模型的信息过程的任意对象,而无需集成和正式语言,以及用于基于结构化数据的有限集合描述所述对象的半结构化数据的方法