程序化策略的综合需要在计算机程序的大型不可微空间中进行搜索。当前的搜索算法使用自对弈方法来指导搜索。这些方法的问题在于,指导函数通常提供的搜索信号较弱。这是因为自对弈函数仅衡量程序相对于其他程序的表现。因此,虽然对失败程序的微小更改可能不会将其转变为获胜程序,但这种更改可能代表着朝着获胜程序迈出的一步。在本文中,我们引入了一种双层搜索算法,该算法同时在程序空间和状态特征空间中进行搜索。特征空间中的每次搜索迭代都会定义程序空间中的搜索试图实现的一组目标特征(即,在遵循程序中编码的策略时观察到的特征)。我们假设自对弈函数和基于特征的函数的组合为综合提供了更强的搜索信号。虽然这两个函数都用于指导程序空间中的搜索,但自对弈函数用于指导特征空间中的搜索,以便选择更有可能导致获胜程序的目标特征。我们在实时战略游戏 MicroRTS 中评估了我们的双层算法。我们的结果表明,双层搜索综合了比仅在程序空间中搜索的方法更强大的策略。此外,我们的方法综合的策略在模拟锦标赛中获得了最高的获胜率,其中包括来自最近两次 MicroRTS 比赛的最佳代理。
主要关键词