CN113398593A - 多智能体分层控制方法、装置、存储介质及电子设备 - Google Patents

多智能体分层控制方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN113398593A
CN113398593A CN202110806069.3A CN202110806069A CN113398593A CN 113398593 A CN113398593 A CN 113398593A CN 202110806069 A CN202110806069 A CN 202110806069A CN 113398593 A CN113398593 A CN 113398593A
Authority
CN
China
Prior art keywords
agent
behavior data
macro
individual
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110806069.3A
Other languages
English (en)
Inventor
徐侃
陈沫
徐博磊
叶均杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110806069.3A priority Critical patent/CN113398593A/zh
Publication of CN113398593A publication Critical patent/CN113398593A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供一种多智能体分层控制方法、装置、存储介质及电子设备;涉及计算机技术领域。所述方法包括:获取智能体的初始宏观行为数据;从个体层面和群体层面利用适应度函数计算初始宏观行为数据的适应度值;根据适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据父代宏观行为数据生成子代宏观行为数据;对每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到每个智能体的优化宏观行为数据;利用效用函数确定每个智能体的优化宏观行为数据对应的微观行为数据。本公开基于遗传算法和效用系统分别对多智能体的宏观操作和微观操作进行控制,可以实现多智能体之间高度协作,以及提高了调整智能体行为数据的效率。

Description

多智能体分层控制方法、装置、存储介质及电子设备
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种多智能体分层控制方法、多智能体分层控制装置、计算机可读存储介质以及电子设备。
背景技术
随着游戏领域的不断发展,在游戏中设置智能体以代替真实玩家进行操作或者和真实玩家进行对战,已经成为了一种非常普遍的操作方式。
现有技术中,智能体通常都是采用行为树或者有限状态机等专家规则系统进行游戏操作的选择,比如说可以预先设计特定的游戏场景,之后智能体基于当前遇到的游戏场景,执行指定的游戏动作。
然而,通过人工调整规则控制智能体时,需要耗费大量时间,导致控制智能体进行游戏操作的效率较低。而且,预先设定游戏场景和对应的游戏动作的实现方式,会使得多智能体在同一场景下行为表现一致,降低了真实玩家的游戏体验。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种多智能体分层控制方法、多智能体分层控制装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致控制智能体进行游戏操作的效率较低,以及智能体在特定场景下表现固定的问题。
根据本公开的第一方面,提供一种多智能体分层控制方法,所述方法包括:
获取所述每个智能体的初始宏观行为数据,所述初始宏观行为数据用于表示所述每个智能体在完成目标任务时依次执行的动作;
从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值;
根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据;
对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据;
利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,所述微观行为数据用于表示所述每个智能体在执行每个动作时的位置变化。
在本公开的一种示例性实施例中,所述获取所述每个智能体的初始宏观行为数据,包括:
将所述每个智能体在完成目标任务时执行的动作进行随机编码,得到所述每个智能体的宏观行为数据集合,所述宏观行为数据集合由所述每个智能体的m组初始宏观行为数据组成,其中,每组初始宏观行为数据用于表示一个个体的宏观行为序列。
在本公开的一种示例性实施例中,所述从个体层面利用预设的适应度函数计算所述初始宏观行为数据的适应度值,包括:
获取任一智能体的每组初始宏观行为数据中每个动作对应的基础属性数据;
将所述基础属性数据通过加权计算得到所述每个动作对于所述智能体的收益;
根据所述每个动作对于所述智能体的收益和所述每个动作对应的权重因子,得到每个个体的个体适应度值。
在本公开的一种示例性实施例中,由所述每个智能体中的任意一个个体共同组成一个群体;
所述从群体层面利用预设的适应度函数计算所述初始宏观行为数据的适应度值,包括:
获取所述群体中每个智能体中的个体与其他智能体中的个体之间的关联属性数据;
将所述关联属性数据通过加权计算得到所述每个智能体中的个体与其他智能体中的个体之间的联合收益;
根据所述每个智能体的个体与其他智能体中的个体之间的联合收益,得到每个个体的群体适应度值。
在本公开的一种示例性实施例中,所述根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,包括:
从所述父代宏观行为数据中随机选取两个群体;
将所述两个群体中的个体进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
在本公开的一种示例性实施例中,所述根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,还包括:
从所述父代宏观行为数据中随机选取两个个体;
将所述两个个体的宏观行为数据进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
在本公开的一种示例性实施例中,所述对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,包括:
获取所述每个智能体中每个子代个体的适应度值;
当所述子代个体的适应度值和初始个体的适应度值大于第一适应度阈值时,将所述子代个体和所述初始个体作为所述每个智能体的优化个体;
当所述子代个体的适应度值和所述初始个体的适应度值大于第二适应度阈值且小于所述第一适应度阈值时,根据适应度值的大小确定所述子代个体和所述初始个体被选取为优化个体的概率;
根据所述概率从所述子代个体和所述初始个体中选取所述每个智能体的优化个体。
在本公开的一种示例性实施例中,所述对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,还包括:
依次从所述每个智能体的初始个体和子代个体中随机选取两个群体;
根据所述两个群体的群体适应度值选取所述每个智能体的优化个体。
在本公开的一种示例性实施例中,所述利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,包括:
确定所述每个智能体的优化宏观行为数据后,获取所述每个智能体的当前属性数据;
在效用系统中将所述当前属性数据通过加权计算得到每一个预设位置的收益;
根据所述每一个预设位置的收益确定所述每个智能体在执行每个动作时的位置变化。
根据本公开的第二方面,提供一种多智能体分层控制装置,包括:
宏观数据获取模块,用于获取所述每个智能体的初始宏观行为数据,所述初始宏观行为数据用于表示所述每个智能体在完成目标任务时依次执行的动作;
宏观数据量化模块,用于从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值;
子代数据生成模块,用于根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据;
优化数据生成模块,用于对所述每个智能体的父代宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据;
微观数据确定模块,用于利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,所述微观行为数据用于表示所述每个智能体在执行每个动作时的位置变化。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开示例实施方式所提供的多智能体分层控制方法中,通过获取所述每个智能体的初始宏观行为数据,从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值,根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据。一方面,基于遗传算法和效用系统分别对多智能体的宏观操作和微观操作进行控制,无需使用监督学习获取大量的优质样本以及人工进行大量标注,也无需通过强化学习对大量的运算资源进行试错,简化了控制智能体的方式;另一方面,采用遗传算法可以在迭代过程中选择局部最优解,使得智能体的表现高拟人化,以及实现了多智能体之间的高度协作;再一方面,将效用系统应用于个体微观操作方面,将原有复杂的行为树拆分成最简单的行为,避免了专业人员通过人工调整专家规则,进一步提高了调整智能体行为数据的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了可以应用本公开实施例的一种多智能体分层控制方法及装置的示例性系统架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图3示意性示出了根据本公开的一个实施例的多智能体分层控制方法的流程图;
图4中示意性示出了根据本公开的一个实施例的确定个体适应度值的流程图;
图5中示意性示出了根据本公开的一个实施例的确定群体适应度值的流程图;
图6中示意性示出了根据本公开的一个实施例的从群体层面生成子代宏观行为数据的流程图;
图7中示意性示出了根据本公开的一个实施例的从个体层面生成子代宏观行为数据的流程图;
图8中示意性示出了根据本公开的一个实施例的从个体层面选取优化个体的流程图;
图9中示意性示出了根据本公开的一个实施例的从群体层面选取优化个体的流程图;
图10中示意性示出了根据本公开的一个实施例的确定微观行为数据的流程图;
图11中示意性示出了根据本公开的一个实施例的在微观层面智能体位于初始位置的示意图;
图12中示意性示出了根据本公开的一个实施例的在微观层面得到智能体周围各个位置的分数的示意图;
图13示意性示出了根据本公开的一个实施例的多智能体分层控制装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种多智能体分层控制方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括服务器101、网络102、终端设备103以及智能体104、105和106中的一个或多个。其中,服务器101可以是用于为终端设备103提供后台服务的游戏服务器,在玩家通过终端设备103进行游戏操作时游戏服务器可以控制智能体104、105、106中的一个或多个与玩家进行交互。网络102用以在服务器101和终端设备103之间提供通信链路的介质,如网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。智能体104、105和106可以理解为游戏人工智能(Artificial Intelligence,AI),智能体104、105和106在不同游戏场景下可以是不同的AI模型。例如,在竞速类游戏中可以是赛车AI模型,而在竞技类游戏中可以是三维人体AI模型。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器101可以是多个服务器组成的服务器集群等。
本公开实施例所提供的多智能体分层控制方法一般由服务器101执行,相应地,多智能体分层控制装置一般设置于服务器101中,服务器分别利用遗传算法和效用系统可以对每个智能体的宏观操作和微观操作进行控制,以生成高拟人化的游戏AI。但本领域技术人员容易理解的是,本公开实施例所提供的多智能体分层控制方法也可以由终端设备103执行,相应的,多智能体分层控制装置也可以设置于终端设备103中,本示例性实施例中对此不做特殊限定。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的方法和装置中限定的各种功能。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3至图10所示的各个步骤等。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
以下对本公开实施例的技术方案进行详细阐述:
随着游戏领域的不断发展,在游戏中设置智能体以代替真实玩家进行操作或者和真实玩家进行对战,已经成为了一种非常普遍的操作方式。以拥有众多玩家的竞技类游戏为例,竞技类游戏可以分为对称式竞技游戏和非对称竞技游戏,其中,对称式竞技游戏是指游戏双方在玩法、资源和能力等各方面均对等的情况下进行作战,如1v1,5v5等竞技模式。非对称式竞技游戏是指游戏双方在玩法、资源和能力等各方面均不对等的情况下进行作战,如1v2、1v4等竞技模式。
目前,智能体即游戏AI通过采用监督学习或者强化学习的方式在对称式竞技游戏中得到了广泛应用。但是,将游戏AI应用到非对称式竞技游戏中,并对游戏AI进行控制时可能会存在以下问题:
1、游戏AI通常都是采用行为树或者有限状态机等专家规则系统进行游戏操作的选择,比如说可以预先设计特定的游戏场景,之后智能体基于当前遇到的游戏场景,执行指定的游戏动作。通过人工调整规则控制游戏AI时,需要耗费大量时间,导致控制游戏AI进行游戏操作的效率较低;
2、预先设定游戏场景和对应的游戏动作的实现方式,会使得多智能体在同一场景下行为表现一致,容易被玩家识别出是游戏AI,进而降低了真实玩家的游戏体验。而且,没有考虑到游戏AI之间的相互协作,以完善游戏AI的控制方式。
基于上述一个或多个问题,本示例实施方式提供了一种多智能体分层控制方法。参考图3所示,该多智能体分层控制方法可以包括以下步骤S310至步骤S350:
步骤S310.获取所述每个智能体的初始宏观行为数据,所述初始宏观行为数据用于表示所述每个智能体在完成目标任务时依次执行的动作;
步骤S320.从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值;
步骤S330.根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据;
步骤S340.对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据;
步骤S350.利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,所述微观行为数据用于表示所述每个智能体在执行每个动作时的位置变化。
在本公开示例实施方式所提供的多智能体分层控制方法中,通过获取所述每个智能体的初始宏观行为数据,从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值,根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据。一方面,基于遗传算法和效用系统分别对多智能体的宏观操作和微观操作进行控制,无需使用监督学习获取大量的优质样本以及人工进行大量标注,也无需通过强化学习对大量的运算资源进行试错,简化了控制智能体的方式;另一方面,采用遗传算法可以在迭代过程中选择局部最优解,使得智能体的表现高拟人化,以及实现了多智能体之间的高度协作;再一方面,将效用系统应用于个体微观操作方面,将原有复杂的行为树拆分成最简单的行为,避免了专业人员通过人工调整专家规则,进一步提高了调整智能体行为数据的效率。
一种示例实施方式中,可以以非对称式竞技游戏中的1v4竞技模式为例进行说明。例如,游戏一方可以为真实玩家,匹配到的游戏另一方可以为游戏AI,如四个智能体。在游戏操作的过程中,可以将每个游戏角色的个体行为分为宏观行为和微观行为,便于分别从宏观和微观两层对每个智能体进行控制,以提高智能体在游戏过程中的表现效果。其中,对于游戏场景中的每个智能体,智能体的微观行为可以是智能体在游戏过程中的用于改变自身位置的操作,如向前、向后、向左或向右移动。智能体的宏观行为可以包括:智能体初始位置选择、不同任务之间的选择、在同一任务中的目标选择、技能选择、技能目标选择等。
可以对智能体的宏观行为做进一步说明,在某一游戏场景中,示例性的:
智能体初始位置选择:智能体可以选择出生地点;
不同任务之间的选择:从出生地点出发后,可以从草药任务、木材任务、铁矿石任务和炼丹房任务选择一个任务作为第一个目标任务。或者,在炼丹前选择先采集草药还是先伐木,在炼丹时选择继续炼丹还是去营救队友等,可以从预设的并行任务中进行选择;
在同一任务中的目标选择:如在草药任务中选择哪一个地点去采集草药,在木材任务中选择哪一个地点去伐木,在铁矿石任务中选择哪一个地点去开采,在炼丹房任务中选择哪一个地点炼丹等;
技能选择:在采集草药时选择采摘技能,在伐木时选择某一道具并释放砍伐技能等;
技能目标选择:确定技能释放时的目标攻击对象。
本示例中,可以利用遗传算法通过模拟生物基因遗传对每个智能体的宏观行为进行选择,以得到在不同场景下可以执行合理动作且高拟人化的智能体。遗传算法可以包括基因编码、种群初始化、交叉、变异和选择等步骤,其中,每个步骤的优化都会影响到遗传算法整体的优化结果。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S310中,获取所述每个智能体的初始宏观行为数据。
宏观行为数据可以用于表示每个智能体在完成目标任务时依次执行的动作。示例性的,智能体A需要完成草药任务、木材任务,其中,可以去B点和C点采集草药,可以去D点和E点伐木,在采集草药时可以选择技能F和技能G,伐木时可以选择技能H和技能I。在不同的游戏环境中,在无法确定每个智能体依次执行哪些动作才是比较合理的选择时,可以将智能体可能选择的动作进行随机组合,如智能体A的一组宏观行为数据可以是:出生地点→B点选择技能F采药→D点选择技能H伐木,另一组宏观行为数据可以是:出生地点→C点选择技能G采药→E点选择技能H伐木。
一种示例中,为了能够按照基因的方式对宏观行为数据进行遗传迭代,可以将每个智能体在完成目标任务时执行的动作进行随机编码,得到对应的宏观行为序列。优选的,本示例中可以将每个动作进行字符编码,编码后的基因可以由字母、单词、数字等组成。示例性的,智能体A在出生地点为A1,在B点采集草药为A2,在C点采集草药为A3,采集草药时选择技能F为A4,选择技能G为A5,在D点伐木为A6,在E点伐木为A7,伐木时选择技能H为A8,选择技能I为A9。可以将智能体A的一组宏观行为数据出生地点→B点选择技能F采药→D点选择技能H伐木→出生地点编码为A1 A2A4A6A8A1,编码得到的宏观行为序列即为智能体的初始宏观行为数据。其他示例中,也可以采用二进制编码、值编码的编码方式对每个动作进行编码,本示例中对此不做具体限定。
随机编码完成后,可以得到每个智能体的宏观行为数据集合,也就是宏观行为序列种群,宏观行为序列种群可以由每个智能体的m个宏观行为序列组成,其中,每个宏观行为序列对应于智能体的一个个体,可以表示该个体在完成目标任务时依次执行的动作。参考表1所示,pop1、pop2、pop3和pop4可以分别表示四个智能体对应的宏观行为序列种群,每个宏观行为序列种群中有m个个体,如pop1中的宏观行为序列A2A1A5A7A3A1、A7A3A1A2A1A5等分别对应于该种群中的m个个体。
表1
Figure BDA0003166610140000131
在步骤S320中,从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值。
每个智能体的初始宏观行为数据中包括m个宏观行为序列,需要对每个宏观行为序列进行量化,以便于实现宏观行为序列的优胜劣汰。例如,智能体A在炼丹前应选择先去采草药还是伐木,如果采草药优先级更高时,应选择去B点还是C点采集,需要对对应的宏观行为序列进行评价,以得到优化的宏观行为序列。
一种示例中,参考图4所示,可以根据步骤S410至步骤S430从个体层面对每个个体的宏观行为序列进行评价:
步骤S410.获取任一智能体的每组初始宏观行为数据中每个动作对应的基础属性数据。
以智能体A的一个宏观行为序列A2A1A5A7A3A1为例,可以表示在B点采集草药后回到出生地点,去C点选择技能D伐木后在E点开采完又回到了出生地点。由于序列中相邻行为之间的耦合度较高,可以将每个行为进行单独解耦,也就是对每个行为分别进行评价。
从个体层面对每个个体的宏观行为序列进行评价时,需要结合每个个体的基础属性数据确定该个体中的每个行为可以为智能体带来的收益。其中,基础属性数据可以包括智能体的状态信息如智能体可以移动的距离、敌人与智能体的距离等。
步骤S420.将所述基础属性数据通过加权计算得到所述每个动作对于所述智能体的收益。
具体的,可以根据:
fit(Ai)=w1x1+w2x2+w3x3+… (1)
得到每个动作为智能体带来的收益。其中,fit(Ai)表示动作Ai为智能体带来的收益,如当前智能体A去B点采集草药,该动作为智能体A带来的收益,收益越大,表明智能体执行该动作时表现更好。xi为执行动作Ai时对应的基础属性数据。wi表示基础属性数据对应的权重,wi∈(0,1)。
步骤S430.根据所述每个动作对于所述智能体的收益和所述每个动作对应的权重因子,得到每个个体的个体适应度值。
当执行某一动作的时间与当前时间的间隔越大时,该动作此时可以为智能体带来的收益越无法确定。因此,可以采用折扣因子γ∈(0,1)描述该动作对应的权重,离当前时间越远时,权重越小,为智能体带来的收益越小。
具体的,可以根据个体适应度函数:
indivi_fit(A6A5A7...)=fit(A6)+γfit(A5)+γ2fit(A7)+… (2)
得到每个个体的个体适应度值。其中,indivi_fit(A6A5A7...)表示个体A6A5A7...的个体适应度值。fit(A6)、fit(A5)和fit(A7)等表示每个动作为智能体带来的收益。可以看出,A6为当前时刻执行的动作,动作A5离当前时刻较远,可以用γ表示A5离当前时刻的间隔程度,动作A7相较动作A5更远,可以用γ2表示A7离当前时刻的间隔程度。需要说明的是,在遗传学领域,适应度是指生物个体对环境的适应程度,而在本示例中,适应度指每个游戏AI个体可以为智能体带来的收益,个体的适应度越高,表示智能体的该宏观行为序列为该智能体带来的收益越多,即智能体在执行该宏观行为序列时表现更好,反之表示智能体在执行该宏观行为序列时表现更差。
在非对称式竞技游戏中,从个体层面对每个个体的宏观行为序列进行评价外,还需要考虑到每个个体之间的联系,也就是从群体层面对每个个体的宏观行为序列进行评价。具体的,参考图5所示,可以根据步骤S510至步骤S530从群体层面对每个个体的行为序列进行评价,其中,可以由每个智能体中的任意一个个体共同组成一个群体。例如,在表1中,一个群体可以包括智能体pop1、pop2、pop3和pop4中的第i个个体,即每个群体对应于表1中每行的所有个体。
步骤S510.获取所述群体中每个智能体中的个体与其他智能体中的个体之间的关联属性数据。
一种示例中,当智能体A与智能体B在同一时刻去同一地点采集草药时,对群体收益有一个较大的负收益。从群体层面对每个个体的宏观行为序列进行评价时,需要结合群体中每个智能体中的个体与其他智能体中的个体之间的关联属性数据确定该个体与其他智能体中的个体的联合收益。也就是将个体的宏观行为序列与其他个体的宏观行为序列联合考虑,例如,此时智能体A先去M点采集草药,再去N点伐木,智能体B也先去M点采集草药,再去L点开采铁矿石,需要确定两个个体之间的联合收益。本示例中,关联属性数据可以包括其他智能体的宏观行为序列排序,其他智能体完成任务所需的时间等。
步骤S520.将所述关联属性数据通过加权计算得到所述每个智能体中的个体与其他智能体中的个体之间的联合收益。
具体的,可以根据:
Figure BDA0003166610140000151
得到每个智能体中的个体与其他智能体中的个体之间的联合收益。其中,
Figure BDA0003166610140000152
表示第j个智能体的第i个个体与其他智能体中的个体之间的联合收益,联合收益越大,表明第j个智能体在执行第i个宏观行为序列时表现更好。yi为智能体与其他个体之间的关联属性数据。θi表示关联属性数据对应的权重,θi∈(0,1)。
步骤S530.根据所述每个智能体的个体与其他智能体中的个体之间的联合收益,得到每个个体的群体适应度值。
本示例中,对于四个智能体的不同宏观行为序列,如智能体A去M点采草药,智能体B去N点伐木,智能体C去L点开采铁矿石,智能体D去P点炼丹,需要评估这四个宏观行为序列的联合收益。对应于在个体层面将每个行为进行单独解耦,为避免高耦合度,可以将四个宏观行为序列的适应度函数进行解耦。
具体的,可以根据群体适应度函数:
Figure BDA0003166610140000161
得到每个群体的群体适应度值。其中,groupfit(i)表示第i个群体的群体适应度值,也即第i个群体每个个体的群体适应度值。
Figure BDA0003166610140000162
Figure BDA0003166610140000163
Figure BDA0003166610140000164
分别表示第i个群体的每个个体与其他个体相关联所带来的收益。α,β,γ,ρ为常数。在本示例中,个体的群体适应度越高,表示该个体可以与其他个体相互协作的能力更强。
在步骤S330中,根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据。
为了进一步扩大解空间,可以基于初始宏观行为序列生成更多新的宏观行为序列。示例性的,可以选取将每个初始宏观行为序列的群体适应度值进行排序,如降序排序,可以将排名前五的初始宏观行为序列作为父代宏观行为序列,用于生成下一代宏观行为序列,即子代宏观行为序列。也可以将群体适应度值大于群体适应度阈值的初始宏观行为序列作为父代宏观行为序列,例如,当预设的群体适应度阈值为7时,可以将群体适应度值大于7的初始宏观行为序列作为父代宏观行为序列。其他示例中,也可以根据个体适应度值的大小选取一部分初始宏观行为序列作为父代宏观行为序列,如可以将个体适应度值排名前五的初始宏观行为序列作为父代宏观行为序列。还可以同时根据个体适应度值的大小和群体适应度值的大小选取父代宏观行为序列,如可以从群体适应度值排名前十的初始宏观行为序列中选取个体适应度值排名前五的初始宏观行为序列作为父代宏观行为序列,本公开中对此不做具体限定。
一种示例中,参考图6所示,可以根据步骤S610和步骤S620从个体层面生成新的宏观行为序列。
步骤S610.从所述父代宏观行为数据中随机选取两个个体。
智能体A的一个个体对应的初始宏观行为序列可以是去M点采集草药→N点伐木→L点开采铁矿石等从当前时刻到未来时刻的10个行为。示例性的,对于任一个智能体,可以在父代个体中随机选择两个个体,以利用遗传算法中的交叉算子、变异算子产生新的个体。可以分别从个体层面和群体层面对新的个体进行评估。
步骤S620.将所述两个个体的宏观行为数据进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
示例性的,可以利用交叉算子随机交换两个父代宏观行为序列中部分时刻的宏观行为,以生成新的宏观行为序列。在遗传学领域,交叉是指子代的基因一部分来自于父亲,另一部分来自母亲,交叉即表示这一基因遗传的过程。本示例中的交叉是指两个父代宏观行为序列中部分行为的相互置换,从而生成两个子代宏观行为序列的过程。其中,每个子代宏观行为序列的部分行为来自其中一个父代宏观行为序列,其余部分则来自另一个父代宏观行为序列。也可以利用变异算子将两个父代宏观行为序列中部分时刻的宏观行为变异为任一个可能出现在个体中的宏观行为。在遗传学领域,变异是指生物个体的某一基因受到环境等因素影响而发生改变,从而产生不同于上一代基因的现象,适当的突变有利于提高基因的多样性。本示例中的变异是指子代宏观行为序列中的某一宏观行为发生变化,从而产生不同于父代宏观行为序列中的宏观行为。
一种示例中,可以采用Subtour Exchange Crossover(子路径交叉)算子进行父代宏观行为序列中部分宏观行为的交换。其中,父代1、父代2为从任一智能体的m个初始宏观行为序列中随机选出的两个父代宏观行为序列,可以分别在两个父代宏观行为序列中随机选择n个位置,保持该n个位置中的宏观行为不变,按照被选中位置处宏观行为的出现顺序,交换这两个父代宏观行为序列中的宏观行为的位置,子代1、子代2为新生成的两个子代宏观行为序列。可以将新生成的两个子代宏观行为序列加入智能体的m个初始宏观行为序列中,则该智能体当前可以有m+2个宏观行为序列。
示例性的,父代1、父代2分别为A1A2A3A4A5A6A7、A6A5A1 A7A2A3A4,随机选择的3个位置可以分别为A3、A4、A5和A5、A3、A4,使得这3个位置的宏观行为保持不变,并按照这3个位置处宏观行为的出现顺序依次交换两个父代宏观行为序列中的宏观行为的位置,则子代1、子代2分别为A1A2A5A3A4A6A7和A6A3A1A7A2A4A5。具体的,交叉过程如表2所示:
表2
Figure BDA0003166610140000181
另一种示例中,还可以通过变异生成新宏观行为序列。具体的,可以从任一智能体的m个初始宏观行为序列中随机选取两个父代宏观行为序列,父代宏观行为序列中的每一个位置,即每一时刻的宏观行为都可以等可能的变异为任一个可能出现在个体中的宏观行为。
示例性的,父代1、父代2分别为A1A2A3A4A5A6A7和A6A5A1 A7A2A3A4,发生变异的位置可以分别为A1、A4、A7和A5、A2,如可以分别变异为A9、A7、A3和A3、A10,即进行多点变异,则得到的子代1、子代2分别为A9A2A3A7A5A6A3和A6A3A1A7A10A3A4。具体的,变异过程如表3所示:
表3
Figure BDA0003166610140000182
其他示例中,从个体层面生成新的宏观行为序列时,不仅可以通过交叉算子随机交换两个父代宏观行为序列中部分时刻的宏观行为,以生成新的宏观行为序列。同时,也可以通过变异生成更多的新宏观行为序列。在产生新的宏观行为序列时,交叉算子可以让两个父代宏观行为序列进行区间内的交配,提高了全局搜索能力,变异算子将两个父代宏观行为序列中的部分位置进行改变,提高了局部搜索能力。
一种示例中,参考图7所示,可以根据步骤S710和步骤S720从群体层面生成新的宏观行为序列。
步骤S710.从所述父代宏观行为数据中随机选取两个群体。
群体序列中的每一个维度为
Figure BDA0003166610140000183
即第j个智能体所对应的第i个宏观行为序列,为该智能体所对应的10个行为总和。由于群体序列较短,长度只有4,即j=1、2、3、4。可以从父代宏观行为序列中随机选取两个群体,如
Figure BDA0003166610140000191
分别表示第i个群体和第k个群体,在群体层面每个群体又可以看作一个个体。
步骤S720.将所述两个群体中的个体进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
示例性的,可以将
Figure BDA0003166610140000192
分别作为父代1、父代2。本示例中,可以从父代1、父代2随机选择1个位置进行序列之间的交换,即进行单点交叉。其他示例中,也可以进行两点交叉、一致交叉等交叉方式。在单点交叉中,如可以选取父代1中的
Figure BDA0003166610140000193
和父代2中的
Figure BDA0003166610140000194
进行交换,交换后得到子代1、子代2分别为
Figure BDA0003166610140000195
Figure BDA0003166610140000196
具体的,交叉过程如表4所示:
表4
Figure BDA0003166610140000197
另一种示例中,还可以通过变异生成新的宏观行为序列。示例性的,父代1、父代2分别为
Figure BDA0003166610140000198
优选的,可以随机选择1个位置进行等可能变异,即进行单点变异。在单点变异中,如可以选取父代1中的
Figure BDA0003166610140000199
和父代2中的
Figure BDA00031666101400001910
进行变异,变异后得到子代1、子代2分别为
Figure BDA00031666101400001911
具体的,变异过程如表5所示:
表5
Figure BDA00031666101400001912
其他示例中,从群体层面生成新的宏观行为序列时,不仅可以通过交叉算子随机交换两个父代宏观行为序列中部分时刻的宏观行为,以生成新的宏观行为序列。同时,也可以通过变异生成更多的新宏观行为序列。在产生新的宏观行为序列时,交叉算子可以让两个父代宏观行为序列进行区间内的交配,提高了全局搜索能力,变异算子将两个父代宏观行为序列中的部分位置进行改变,提高了局部搜索能力。
在步骤S340中,对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据。
生成子代宏观行为序列后,加上每个智能体的初始宏观行为序列,构成了一个更大的解空间。可以对新的解空间内所有宏观行为序列进行选择,以使得遗传算法收敛到全局最优。
一种示例中,参考图8所示,可以根据步骤S810至步骤S840从个体层面对所有宏观行为序列进行选择。
步骤S810.获取所述每个智能体中每个子代个体的适应度值。
生成子代宏观行为序列后,可以通过步骤S410至步骤S430计算每个子代个体的个体适应度值,以及可以通过步骤S510至步骤S530计算每个子代个体的群体适应度值,具体细节此处不再赘述。
步骤S820.当所述子代个体的适应度值和初始个体的适应度值大于第一适应度阈值时,将所述子代个体和所述初始个体作为所述每个智能体的优化个体。
得到每个智能体的所有个体(初始宏观行为序列和子代宏观行为序列)的个体适应度值后,可以将个体适应度值进行排序,如降序排序。根据排序后的个体适应度值将所有个体分为优秀、一般和较差三类。一种示例中,可以设定两个适应度阈值,分别为第一适应度阈值ε和第二适应度阈值μ。例如,当个体的个体适应度值大于第一适应度阈值ε时,表明该个体属于优秀个体,可以将该个体作为智能体筛选出的优化个体。其中,优秀个体的个体适应度值较大,基因较优异,不需要经过个体层面的选择,可以直接进入下一代。
步骤S830.当所述子代个体的适应度值和所述初始个体的适应度值大于第二适应度阈值且小于所述第一适应度阈值时,根据适应度值的大小确定所述子代个体和所述初始个体被选取为优化个体的概率。
示例性的,当个体的个体适应度值大于第二适应度阈值μ且小于第一适应度阈值ε时,表明该个体属于一般个体。容易理解的是,当个体的个体适应度值小于第二适应度阈值μ时,表明该个体属于较差个体。其中,较差的个体基因较差,可以在个体层面过程中直接舍弃。
一种示例中,可以利用轮盘赌选择算法从个体层面对一般个体进行选择时。在轮盘赌选择算法中,每个一般个体被选中进入下一代的概率与其个体适应度值的大小成正比,即每个一般个体的进化概率为该个体的个体适应度值占总个体适应度值的比例。一种具体实施例中,一般个体的个体适应度值可以分别为7、2、3、3、5。
每个一般个体被选择到下一代的概率为:
Figure BDA0003166610140000211
其中,P(xi)为第i个一般个体被选择到下一代的概率,f(xi)为第i个一般个体的个体适应度值。例如,对于个体适应度值为2的一般个体,其被选择到下一代的概率为:
Figure BDA0003166610140000212
类似的,可以得到5个一般个体被选择到下一代的概率分别为:0.35、0.1、0.15、0.15、0.25。
由于所有一般个体被选择到下一代的概率总和为1,可以把每个一般个体按比例P(xi)放入0-1的区间里,以计算每个一般个体的累计概率:
Figure BDA0003166610140000213
例如,对于个体适应度值为2的一般个体,该个体的累计概率为:
Q(x1)=0.35+0.1=0.45 (8)
类似的,可以得到5个一般个体的累计概率分别为:0.35、0.45、0.60、0.75、1。可知,一般个体1位于累计概率区间(0,0.35],一般个体2位于累计概率区间(0.35,0.45],一般个体3位于累计概率区间(0.45,0.60],一般个体4位于累计概率区间(0.60,0.75],一般个体5位于累计概率区间(0.75,1]。
步骤S840.根据所述概率从所述子代个体和所述初始个体中选取所述每个智能体的优化个体。
得到每个一般个体的累计概率后,可以在[0,1]区间内按均匀分布生成随机数r,以根据r选择一般个体k。具体的,可以根据:
Q[k-1]<r≤Q[k] (9)
当r满足公式9时,确定对应的累计概率区间,并根据累计概率区间选择一般个体进入下一代。例如,当随机数r=0.70时,有0.60<0.70≤0.75。因此,可以选择适应度值为0.15的第四个一般个体进入下一代。可以重复生成M个随机数r,对应的可选出M个子代,该M个子代即为智能体筛选出的优化个体。其他示例中,也可以采用排名选择算法计算每个一般个体被选择到下一代的概率,具体的,可以根据:
Figure BDA0003166610140000221
其中,rank(xi)为第i个一般个体的个体适应度值排名。
另一种示例中,参考图9所示,可以根据步骤S910和步骤S920从群体层面对所有宏观行为序列进行选择。
步骤S910.依次从所述每个智能体的初始个体和子代个体中随机选取两个群体。
目前,每个智能体对应的种群中可以包括初始个体和子代个体。本示例中,可以采用二元锦标赛选择算子,每次从种群中随机选取两个群体,并从这两个群体筛选出优化个体。需要说明的是,群体层面的个体与个体层面的个体不同。例如,群体层面的个体可以是
Figure BDA0003166610140000222
而个体层面的个体可以是
Figure BDA0003166610140000223
或者可以是A2A1A5A7A3A1
步骤S920.根据所述两个群体的群体适应度值选取所述每个智能体的优化个体。
参考表6所示,在群体层面有5个个体,分别为
Figure BDA0003166610140000224
Figure BDA0003166610140000225
每个个体的群体适应度值可以分别为4,7,1,3,9,10。
表6
Figure BDA0003166610140000226
Figure BDA0003166610140000231
可以从这个5个个体中随机选取两个个体,如抽到群体适应度值分别为7和3的两个个体时,由于7>3,可以将群体适应度值为7的个体放入下一代中。然后,可以把这两个个体放回,继续随机选取下一轮的两个个体。不断重复,直到下一代的规模达到初始规模。示例性的,初始宏观行为序列集合中包括100个个体,经过增加新序列、交叉和变异后变为200个个体,当选取出的优化个体数量达到100个个体时,停止从群体层面选取优化个体。
在步骤S350中,利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据。本示例中,微观行为数据可以用于表示每个智能体在执行每个动作时的位置变化。
经过步骤S310至步骤S340,每个个体可以互相协作的去完成相应的任务。在完成目标任务的过程中,需要确定每个个体应该沿路线A还是路线B。当确定沿路线A时,需要确定每个智能体在执行每个动作时的位置变化,如往左走还是往右走。
一种示例中,参考图10所示,可以根据步骤S1010至步骤S1030确定每个智能体的优化宏观行为数据对应的微观行为数据。
在步骤S1010中.确定所述每个智能体的优化宏观行为数据后,获取所述每个智能体的当前属性数据。
每个智能体的当前属性数据可以包括与敌人的距离、完成目标任务的收益、技能伤害值和个体状态如智能体可以移动的距离等。
步骤S1020.在效用系统中将所述当前属性数据通过加权计算得到每一个预设位置的收益。
参考图11所示,当智能体的初始位置为方格中心位置时,在智能体周围可以有8个可移动的位置,即向上、下、左、右、左上、右上、左下、右下八个方向移动。在智能体确定目标和技能后,如去A点采集草药。在微观层面需要考虑该智能体下一步如何移动,也就是应该移动至8个位置中的哪一个位置。
一种示例中,可以将8个可移动的位置分别输入Utility系统(效用系统)中,在Utility系统中可以通过效用分数描述智能体想要向某一位置移动的期望程度。具体的,Utility系统可以结合环境信息利用效用函数分别计算每个位置的效用分数,以便于决策系统可以根据得到的每个位置的效用分数确定该智能体的目标点位。示例性的,通过Utility系统计算每个位置的效用分数时,可以将该智能体的当前属性数据通过加权计算得到每一个位置的收益。
步骤S1030.根据所述每一个预设位置的收益确定所述每个智能体在执行每个动作时的位置变化。
将每一个位置的收益归一化后,可以得到智能体周围8个可移动的位置的效用分数,对应的归一化区间可以为[0,100]。参考图12所示,可以计算得到8个可移动的位置的效用分数分别为:20、17、15、70、10、30、23和9。利用决策系统可以从8个效用分数中选择最高效用分数对应的位置作为该智能体的目标点位,如在图12中智能体右边的格子分数最高为70分,即智能体下一步可以往右移动一步。然后,以该位置为方格中心位置,计算智能体周围8个可移动的位置的效用分数,直到智能体抵达目标位置为止。
在本方法中,提供了一种基于遗传算法和Utility系统的多智能体分层控制方法,个体宏观行为采用遗传算法进行并行计算,微观行为采用效用系统进行计算,使得尽可能降低运算量的同时,在局内游戏AI表现更加多元化。例如,当智能体的个体行为,以及与其他智能体之间的协作表现较差时,只需要对效用系统,以及适应度函数进行一定程度的数值微调即可。也就是说只需要通过设置适应度函数和效用函数,就可以生成表现较好的游戏AI。
在本公开示例实施方式所提供的多智能体分层控制方法中,通过获取所述每个智能体的初始宏观行为数据,从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值,根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据。一方面,基于遗传算法和效用系统分别对多智能体的宏观操作和微观操作进行控制,无需使用监督学习获取大量的优质样本以及人工进行大量标注,也无需通过强化学习对大量的运算资源进行试错,简化了控制智能体的方式;另一方面,采用遗传算法可以在迭代过程中选择局部最优解,使得智能体的表现高拟人化,以及实现了多智能体之间的高度协作;再一方面,将效用系统应用于个体微观操作方面,将原有复杂的行为树拆分成最简单的行为,避免了专业人员通过人工调整专家规则,进一步提高了调整智能体行为数据的效率。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种多智能体分层控制装置。该装置可以应用于一服务器或终端设备。参考图13所示,该多智能体分层控制装置1300可以包括宏观数据获取模块1310、宏观数据量化模块1320、子代数据生成模块1330、优化数据生成模块1340以及微观数据确定模块1350,其中:
宏观数据获取模块1310,用于获取所述每个智能体的初始宏观行为数据,所述初始宏观行为数据用于表示所述每个智能体在完成目标任务时依次执行的动作;
宏观数据量化模块1320,用于从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值;
子代数据生成模块1330,用于根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据;
优化数据生成模块1340,用于对所述每个智能体的父代宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据;
微观数据确定模块1350,用于利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,所述微观行为数据用于表示所述每个智能体在执行每个动作时的位置变化。
在一种可选的实施方式中,宏观数据获取模块1310被配置为用于:将所述每个智能体在完成目标任务时执行的动作进行随机编码,得到所述每个智能体的宏观行为数据集合,所述宏观行为数据集合由所述每个智能体的m组初始宏观行为数据组成,其中,每组初始宏观行为数据用于表示一个个体的宏观行为序列。
在一种可选的实施方式中,宏观数据量化模块1320包括:
基础属性数据获取模块,用于获取任一智能体的每组初始宏观行为数据中每个动作对应的基础属性数据;
第一收益确定模块,用于将所述基础属性数据通过加权计算得到所述每个动作对于所述智能体的收益;
个体适应度确定模块,用于根据所述每个动作对于所述智能体的收益和所述每个动作对应的权重因子,得到每个个体的个体适应度值。
在一种可选的实施方式中,由所述每个智能体中的任意一个个体共同组成一个群体,宏观数据量化模块1320还包括:
关联属性数据获取模块,用于获取所述群体中每个智能体中的个体与其他智能体中的个体之间的关联属性数据;
第二收益确定模块,用于将所述关联属性数据通过加权计算得到所述每个智能体中的个体与其他智能体中的个体之间的联合收益;
群体适应度确定模块,用于根据所述每个智能体的个体与其他智能体中的个体之间的联合收益,得到每个个体的群体适应度值。
在一种可选的实施方式中,子代数据生成模块1330包括:
群体确定模块,用于从所述父代宏观行为数据中随机选取两个群体;
第一生成模块,用于将所述两个群体中的个体进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
在一种可选的实施方式中,子代数据生成模块1330还包括:
个体确定模块,用于从所述父代宏观行为数据中随机选取两个个体;
第二生成模块,用于将所述两个个体的宏观行为数据进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
在一种可选的实施方式中,优化数据生成模块1340包括:
个体适应度获取模块,用于获取所述每个智能体中每个子代个体的适应度值;
第一优化个体确定模块,用于当所述子代个体的适应度值和初始个体的适应度值大于第一适应度阈值时,将所述子代个体和所述初始个体作为所述每个智能体的优化个体;
第二优化个体确定模块,用于当所述子代个体的适应度值和所述初始个体的适应度值大于第二适应度阈值且小于所述第一适应度阈值时,根据适应度值的大小确定所述子代个体和所述初始个体被选取为优化个体的概率;根据所述概率从所述子代个体和所述初始个体中选取所述每个智能体的优化个体。
在一种可选的实施方式中,优化数据生成模块1340还包括:
个体随机选取模块,用于依次从所述每个智能体的初始个体和子代个体中随机选取两个群体;
第三优化个体确定模块,用于根据所述两个群体的群体适应度值选取所述每个智能体的优化个体。
在一种可选的实施方式中,微观数据确定模块1350包括:
当前属性数据获取模块,用于确定所述每个智能体的优化宏观行为数据后,获取所述每个智能体的当前属性数据;
第三收益确定模块,用于在效用系统中将所述当前属性数据通过加权计算得到每一个预设位置的收益;
位置变化确定模块,用于根据所述每一个预设位置的收益确定所述每个智能体在执行每个动作时的位置变化。
上述多智能体分层控制装置中各模块的具体细节已经在对应的多智能体分层控制方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种多智能体分层控制方法,其特征在于,所述方法包括:
获取所述每个智能体的初始宏观行为数据,所述初始宏观行为数据用于表示所述每个智能体在完成目标任务时依次执行的动作;
从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值;
根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据;
对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据;
利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,所述微观行为数据用于表示所述每个智能体在执行每个动作时的位置变化。
2.根据权利要求1所述的多智能体分层控制方法,其特征在于,所述获取所述每个智能体的初始宏观行为数据,包括:
将所述每个智能体在完成目标任务时执行的动作进行随机编码,得到所述每个智能体的宏观行为数据集合,所述宏观行为数据集合由所述每个智能体的m组初始宏观行为数据组成,其中,每组初始宏观行为数据用于表示一个个体的宏观行为序列。
3.根据权利要求2所述的多智能体分层控制方法,其特征在于,所述从个体层面利用预设的适应度函数计算所述初始宏观行为数据的适应度值,包括:
获取任一智能体的每组初始宏观行为数据中每个动作对应的基础属性数据;
将所述基础属性数据通过加权计算得到所述每个动作对于所述智能体的收益;
根据所述每个动作对于所述智能体的收益和所述每个动作对应的权重因子,得到每个个体的个体适应度值。
4.根据权利要求3所述的多智能体分层控制方法,其特征在于,由所述每个智能体中的任意一个个体共同组成一个群体;
所述从群体层面利用预设的适应度函数计算所述初始宏观行为数据的适应度值,包括:
获取所述群体中每个智能体中的个体与其他智能体中的个体之间的关联属性数据;
将所述关联属性数据通过加权计算得到所述每个智能体中的个体与其他智能体中的个体之间的联合收益;
根据所述每个智能体的个体与其他智能体中的个体之间的联合收益,得到每个个体的群体适应度值。
5.根据权利要求4所述的多智能体分层控制方法,其特征在于,所述根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,包括:
从所述父代宏观行为数据中随机选取两个群体;
将所述两个群体中的个体进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
6.根据权利要求3所述的多智能体分层控制方法,其特征在于,所述根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据,还包括:
从所述父代宏观行为数据中随机选取两个个体;
将所述两个个体的宏观行为数据进行交叉和/或变异,得到所述每个智能体的子代宏观行为数据。
7.根据权利要求3所述的多智能体分层控制方法,其特征在于,所述对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,包括:
获取所述每个智能体中每个子代个体的适应度值;
当所述子代个体的适应度值和初始个体的适应度值大于第一适应度阈值时,将所述子代个体和所述初始个体作为所述每个智能体的优化个体;
当所述子代个体的适应度值和所述初始个体的适应度值大于第二适应度阈值且小于所述第一适应度阈值时,根据适应度值的大小确定所述子代个体和所述初始个体被选取为优化个体的概率;
根据所述概率从所述子代个体和所述初始个体中选取所述每个智能体的优化个体。
8.根据权利要求3所述的多智能体分层控制方法,其特征在于,所述对所述每个智能体的初始宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据,还包括:
依次从所述每个智能体的初始个体和子代个体中随机选取两个群体;
根据所述两个群体的群体适应度值选取所述每个智能体的优化个体。
9.根据权利要求1所述的多智能体分层控制方法,其特征在于,所述利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,包括:
确定所述每个智能体的优化宏观行为数据后,获取所述每个智能体的当前属性数据;
在效用系统中将所述当前属性数据通过加权计算得到每一个预设位置的收益;
根据所述每一个预设位置的收益确定所述每个智能体在执行每个动作时的位置变化。
10.一种多智能体分层控制装置,其特征在于,包括:
宏观数据获取模块,用于获取所述每个智能体的初始宏观行为数据,所述初始宏观行为数据用于表示所述每个智能体在完成目标任务时依次执行的动作;
宏观数据量化模块,用于从个体层面和群体层面分别利用预设的适应度函数计算所述初始宏观行为数据的适应度值;
子代数据生成模块,用于根据所述适应度值的大小选取一部分初始宏观行为数据作为父代宏观行为数据,并根据所述父代宏观行为数据生成所述每个智能体的子代宏观行为数据;
优化数据生成模块,用于对所述每个智能体的父代宏观行为数据和子代宏观行为数据进行选择,得到所述每个智能体的优化宏观行为数据;
微观数据确定模块,用于利用效用函数确定所述每个智能体的优化宏观行为数据对应的微观行为数据,所述微观行为数据用于表示所述每个智能体在执行每个动作时的位置变化。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-9任一项所述方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-9任一项所述的方法。
CN202110806069.3A 2021-07-16 2021-07-16 多智能体分层控制方法、装置、存储介质及电子设备 Pending CN113398593A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110806069.3A CN113398593A (zh) 2021-07-16 2021-07-16 多智能体分层控制方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110806069.3A CN113398593A (zh) 2021-07-16 2021-07-16 多智能体分层控制方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN113398593A true CN113398593A (zh) 2021-09-17

Family

ID=77686616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110806069.3A Pending CN113398593A (zh) 2021-07-16 2021-07-16 多智能体分层控制方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN113398593A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116747521A (zh) * 2023-08-17 2023-09-15 腾讯科技(深圳)有限公司 控制智能体进行对局的方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070281A1 (en) * 2007-06-01 2009-03-12 Solomon Research Llc System for hybridized efficient genetic algorithms to solve bi-objective optimization problems with application to network computing
CN107479380A (zh) * 2017-08-25 2017-12-15 东北大学 基于演化博弈理论的多智能体协调控制方法
CN110109358A (zh) * 2019-05-17 2019-08-09 电子科技大学 一种基于反馈的混合多智能体协同控制方法
CN110559664A (zh) * 2019-09-19 2019-12-13 湘潭大学 一种基于多目标优化的游戏英雄出装推荐方法及系统
CN111514585A (zh) * 2020-03-17 2020-08-11 清华大学 智能体的控制方法及系统、计算机装置以及存储介质
CN111582469A (zh) * 2020-03-23 2020-08-25 成都信息工程大学 多智能体协作信息处理方法、系统、存储介质、智能终端
US20200285995A1 (en) * 2019-03-05 2020-09-10 Hrl Laboratories, Llc Robust, scalable and generalizable machine learning paradigm for multi-agent applications
CN112381470A (zh) * 2021-01-12 2021-02-19 深圳市城市交通规划设计研究中心股份有限公司 基于智能体的交通流量分配方法、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090070281A1 (en) * 2007-06-01 2009-03-12 Solomon Research Llc System for hybridized efficient genetic algorithms to solve bi-objective optimization problems with application to network computing
CN107479380A (zh) * 2017-08-25 2017-12-15 东北大学 基于演化博弈理论的多智能体协调控制方法
US20200285995A1 (en) * 2019-03-05 2020-09-10 Hrl Laboratories, Llc Robust, scalable and generalizable machine learning paradigm for multi-agent applications
CN110109358A (zh) * 2019-05-17 2019-08-09 电子科技大学 一种基于反馈的混合多智能体协同控制方法
CN110559664A (zh) * 2019-09-19 2019-12-13 湘潭大学 一种基于多目标优化的游戏英雄出装推荐方法及系统
CN111514585A (zh) * 2020-03-17 2020-08-11 清华大学 智能体的控制方法及系统、计算机装置以及存储介质
CN111582469A (zh) * 2020-03-23 2020-08-25 成都信息工程大学 多智能体协作信息处理方法、系统、存储介质、智能终端
CN112381470A (zh) * 2021-01-12 2021-02-19 深圳市城市交通规划设计研究中心股份有限公司 基于智能体的交通流量分配方法、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李井颂;钱谦;孙铭会;: "用于游戏NPC路径规划的改进遗传算法", 传感器与微系统, no. 06, 31 December 2017 (2017-12-31) *
李少保;赵春晓;: "基于多Agent遗传算法求解迷宫游戏", 北京建筑工程学院学报, no. 03, 30 September 2011 (2011-09-30) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116747521A (zh) * 2023-08-17 2023-09-15 腾讯科技(深圳)有限公司 控制智能体进行对局的方法、装置、设备及存储介质
CN116747521B (zh) * 2023-08-17 2023-11-03 腾讯科技(深圳)有限公司 控制智能体进行对局的方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109621422B (zh) 电子棋牌决策模型训练方法及装置、策略生成方法及装置
Drake et al. Recent advances in selection hyper-heuristics
Nayyar et al. Evolutionary computation: theory and algorithms
CN111617478B (zh) 游戏阵容强度的预测方法、装置、电子设备及存储介质
Holland Genetic algorithms
Charity et al. Baba is y’all: Collaborative mixed-initiative level design
CN111282267B (zh) 信息处理方法、装置、介质及电子设备
Kaveh et al. Orchard Algorithm (OA): A new meta-heuristic algorithm for solving discrete and continuous optimization problems
Kelly et al. Emergent solutions to high-dimensional multitask reinforcement learning
Yi et al. An efficient modified harmony search algorithm with intersect mutation operator and cellular local search for continuous function optimization problems
WO2019184777A1 (zh) 用于竞速类ai模型的ai参数配置方法、装置、设备及存储介质
CN112052948B (zh) 一种网络模型压缩方法、装置、存储介质和电子设备
CN111701240B (zh) 虚拟物品的提示方法、装置、存储介质和电子装置
CN110458295B (zh) 基于人工智能的棋牌关卡生成方法、训练方法及装置
CN113398593A (zh) 多智能体分层控制方法、装置、存储介质及电子设备
Yu Vegetation evolution: an optimization algorithm inspired by the life cycle of plants
CN113893547A (zh) 一种基于适应度函数的数据处理方法、系统及存储介质
Mantere Improved ant colony genetic algorithm hybrid for sudoku solving
Baldominos et al. Learning levels of mario ai using genetic algorithms
Yuan et al. Ensemble strategy learning for imperfect information games
Purmonen Predicting game level difficulty using deep neural networks
Gong et al. Automated team assembly in mobile games: a data-driven evolutionary approach using a deep learning surrogate
CN113642226A (zh) 基于多目标进化算法的公平机器学习模型的训练方法
CN113946604A (zh) 分阶段围棋教学方法、装置、电子设备及存储介质
Lee et al. An ontology-based fuzzy inference system for computer Go applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination