基于强化学习和遗传算法的智能体行为树生成方法及系统

文档序号:35846973发布日期:2023-10-25 17:45阅读:138来源:国知局
基于强化学习和遗传算法的智能体行为树生成方法及系统

本发明涉及一种智能体行为树生成方法及系统,具体涉及一种基于强化学习和遗传算法的智能体行为树生成方法及系统,属于人工智能。


背景技术:

1、随着技术的进步,越来越多的应用场景需要实现人工智能行为。在人工智能领域中,行为树广泛用于描述智能体的行为,驱动智能体完成某一任务目标,常常应用于虚拟仿真、游戏、机器人、无人车等,例如在很多虚拟现实开发项目中,都需要用到行为树来管理整个程序情节的发展。行为树是一个包含逻辑节点和行为节点的树形结构,每次需要找出一个行为的时候,会从树的根节点出发,遍历各个节点,找出第一个和当前数据相符合的行为。

2、行为树通常由设计者人工设计和编辑而成,但是,人工构造行为树的耗时长,对设计者经验要求高。并且,构造的行为树通常是针对某类场景测试和优化,对新环境的适应度差,对每个环境都需要量身定制一个新的行为树。因此,需要一种可以自动生成行为树的方法,以节省人工编辑行为树的成本。

3、现有的解决方案是使用遗传算法来生成行为树,组合行为树的条件、动作、逻辑节点,生成不同的行为树,作为初代。测试行为树在游戏中控制智能体的效果,计算适应度函数,根据适应度函数筛选适应度低的行为树。留下适应度高的行为树作为子代,并对它们进行重组和变异操作,生成新的行为树。不断迭代上述过程,直到得到适应度达到阈值的行为树。但是,此类方法在计算适应度时,需要在每一个行为树结束后,提供一个奖励信息,而很多应用是具有延迟奖励的,无法提供有效的适应度函数,无法适用该方法。


技术实现思路

1、本发明的目的是针对现有技术存在的缺陷,为了解决智能体在利用遗传算法生成行为树时,要求在每一个行为树执行结束后都反馈一个奖励信息,导致无法应对具有延迟奖励的技术问题,创造性地提出一种基于强化学习和遗传算法的智能体行为树生成方法及系统。

2、本发明的创新点在于:将遗传算法生成的子代行为树加入强化学习的动作空间。使用强化学习调用生成的行为树驱动智能体,将强化学习对行为树的价值估计作为衡量适应度的参考。遗传算法根据适应度对行为树进行子代的筛选、重组和变异,反复迭代该过程,直到获得能够驱动智能体完成任务目标的行为树。由此实现在仅提供延迟奖励的实验环境下,即可生成能够驱动智能体完成任务目标的行为树。

3、本发明采用以下技术方案实现。

4、一种基于强化学习和遗传算法的智能体行为树生成方法,包括以下步骤:

5、步骤1:初始化行为树库。

6、具体地,设计一组行为树,覆盖所有可能用到的逻辑、条件和动作节点,作为行为树库。

7、步骤2:初始化动作空间。

8、具体地,设计一组行为树,作为强化学习的初始动作空间。

9、步骤3:重置累加的价值估计。

10、设置一个与动作空间大小相等的表,重置为0。

11、步骤4:进行强化学习训练。

12、使用强化学习进行一次训练迭代。以当前环境信息为输入,以对动作空间中行为树的价值估计为输出,选择价值最高的行为树进行实验,进而根据环境给的奖励值,更新对行为树的价值估计。

13、步骤5:判断行为树是否能完成目标。

14、判断强化学习选择的行为树是否能够独立完成任务,即,判断从初始状态开始,当前的行为树是否能够驱动智能体完成全部任务目标,若为是,说明当前的行为树已经达到算法目标,流程结束,若为否,返回步骤4。

15、步骤6:累加神经网络输出层的价值估计值。

16、将当前强化学习对每个行为树的价值估计进行累加。

17、步骤7:判断迭代次数是否超过阈值。

18、判断强化学习的迭代次数是否超过一个既定的阈值。若为是,进入步骤7,若为否,返回步骤3,进行新的一轮迭代。

19、步骤8:计算行为树适应度。

20、根据累积的行为树价值估计,计算行为树适应度。

21、步骤9:运行遗传算法,生成新的行为树。

22、根据行为树的适应度,保留父代中适应度最高的n个行为树,生成子代行为树,并替换其余行为树,保持行为树总数不变。

23、其中,生成子代行为树的过程包括重组和变异。所述重组,是对保留的父代行为树节点进行随机重组,生成新的子代行为树。所述变异,是从步骤1中的行为树库里取出节点/子树,对子代行为树的节点/子树进行随机替换。

24、步骤10:更新动作空间。

25、使用保留的父代行为树和生成的子代行为树更新动作空间,父代行为树的位置不变,子代行为树填补空缺位置。

26、进一步地,基于上述方法,本发明提出了一种基于强化学习和遗传算法的智能体行为树生成系统,包括行为树库模块、动作空间管理模块、强化学习模块、适应度计算模块和遗传算法模块。

27、其中,行为树库模块用于初始化并储存行为树库,即,实现上述方法的步骤1。

28、动作空间管理模块用于初始化动作空间、更新动作空间,即,实现上述方法的步骤2、步骤10。

29、强化学习模块用于重置累加的价值估计、进行强化学习训练、判断行为树是否能完成目标、累加神经网络输出层的价值估计值、判断迭代次数是否超过阈值,即,实现上述方法的步骤3、4、5、6和7。

30、适应度计算模块用于计算行为树适应度,即,实现上述方法的步骤8。

31、遗传算法模块用于运行遗传算法,生成新的行为树,即,实现上述方法的步骤9。

32、上述模块之间的连接关系如见图3所示,具体如下:

33、行为树库模块的输出端与动作空间管理模块的输入端、遗传算法模块的输入端分别相连,动作空间管理模块的输出端与强化学习模块的输入端相连,强化学习模块的输出端与适应度计算模块的输入端相连,适应度计算模块的输出端与遗传算法模块的输入端相连,遗传算法模块的输出端与动作空间管理模块的输入端相连。

34、有益效果

35、本发明,对比现有技术,当采用遗传算法生成行为树时,在场景具有延迟奖励不能为每个行为树的适应度计算提供输入的情况下,通过利用强化学习算法来评估行为树价值,为适应度计算提供输入,使遗传算法能够有效用于具有延迟奖励的场景下的行为树生成。



技术特征:

1.基于强化学习和遗传算法的智能体行为树生成方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于强化学习和遗传算法的智能体行为树生成方法,其特征在于,步骤1中,设计一组行为树,包括逻辑、条件和动作节点,作为行为树库。

3.如权利要求1所述的基于强化学习和遗传算法的智能体行为树生成方法,其特征在于,步骤2中,设计一组行为树,作为强化学习的初始动作空间。

4.基于强化学习和遗传算法的智能体行为树生成系统,其特征在于,包括行为树库模块、动作空间管理模块、强化学习模块、适应度计算模块和遗传算法模块;


技术总结
本发明提出了基于强化学习和遗传算法的智能体行为树生成方法及系统,属于人工智能技术领域。将遗传算法生成的子代行为树加入强化学习的动作空间。使用强化学习调用生成的行为树驱动智能体,将强化学习对行为树的价值估计作为衡量适应度的参考。遗传算法根据适应度对行为树进行子代的筛选、重组和变异,反复迭代该过程,直到获得能够驱动智能体完成任务目标的行为树。由此实现在仅提供延迟奖励的实验环境下,即可生成能够驱动智能体完成任务目标的行为树。本发明为游戏智能体、机器人、无人车等多种应用提供自动生成由行为树表达的控制策略,减少了成本。

技术研发人员:梁东晨,李朋,曹江
受保护的技术使用者:中国人民解放军军事科学院战争研究院
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1