背景技术:
1、本说明书涉及多智能体系统中的智能体合作。
2、系统使用神经网络。神经网络是机器学习模型,其采用一个或多个非线性单元层来预测接收到的输入的输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层——即下一个隐藏层或输出层——的输入。网络的每一层根据相应参数集合的当前值从接收到的输入生成输出。
技术实现思路
1、本说明书描述了使智能体能够以改进其集体效率的方式相互合作的技术。智能体可以考虑其他智能体的行为来修改其行为,从而可以实现比每个智能体独立行动更好的总体结果。
2、在一个方面,描述了一种控制第一智能体在环境中执行任务的计算机实施的方法,在该环境中第一智能体与环境中执行一个或多个其他任务的一个、两个或更多个其他智能体交互。
3、第一智能体在多个时间步中的每个时间步处获得表征环境状态的状态表示,并使用动作选择子系统处理状态表示以生成策略输出,使用状态表示确定其他智能体的预测动作,并使用策略输出并取决于预测动作来选择要执行的动作。
4、在一个或多个时间步处,第一智能体与第二智能体协商合约(contract),该合约定义了对可以由第一智能体选择的动作的限制以及对可以由第二智能体选择的动作的限制。
5、这涉及第一智能体通过确定一个或多个得分来确定是否提议合约,所述一个或多个得分表示在提议合约的情况下有和没有提议合约的情况下,在后续时间步处的对第一智能体的环境状态的期望值。这是通过模拟i)在没有提议合约的情况下和ii)在考虑提议合约中对动作的限制的影响的情况下第一智能体和其他智能体的未来动作的影响来完成的。取决于得分来将提议合约传送给第二智能体,并且响应于从第二智能体接收到接受提议合约的指示,考虑提议合约中对第一智能体的动作的限制,选择第一智能体要执行的动作。
6、可以实施本说明书中描述的主题的特定实施例,以实现以下一个或多个优点。
7、为智能体配备如上所述的协商合约的能力有助于智能体学习合作以执行其相应的任务。以该方式配备的智能体可以能够执行它们原本无法执行的任务,或者它们可以能够更有效地执行任务,例如比原本更快或消耗更少的资源。一般而言,有通信的智能体的表现优于非通信的智能体,并且可以通过合作存在可观的增益。
8、所述技术有助于就有利于双方的合约达成一致。例如,如果合约仅有利于第一智能体,则第二智能体不太可能达成该合约。由于所述技术有助于识别有利于双方的合约,因此增强了智能体当中进行有益合作的可能性。智能体还可以施加制裁以阻碍破坏达成的合约。在实施方式中,智能体能够在环境中同时行动。
9、技术的实施方式不依赖于可能表示单点故障的中央协调机构。代替地,所述技术可以在分散的——例如对等——设置中实现。这有助于在广泛的应用中部署技术,并且还可以帮助提供鲁棒性。此外,智能体之间为达成合约而进行的通信量可以相对小。
10、所述技术可用于动作空间非常大的环境中,例如组合环境。例如,每个智能体可能具有可以在每个时间步执行的大量可能的动作。这导致潜在合约的巨大空间。所述技术可以在这样的动作空间中有效使用。
11、在附图和以下描述中阐述本说明书主题的一个或多个实施例的细节。主题的其他特征、方面和优点根据说明书、附图和权利要求将变得显而易见。
1.一种控制第一智能体在环境中执行任务的计算机实现的方法,在所述环境中所述第一智能体与执行一个或多个其他任务的一个或多个其他智能体交互,
2.根据权利要求1所述的方法,进一步包括:所述第一智能体确定是否接受所提议的合约;并且其中,在考虑所提议的合约中对所述第一智能体的所述动作的所述限制的情况下来选择所述第一智能体的所述动作进一步依赖于所述第一智能体接受所提议的合约。
3.根据权利要求1或权利要求2所述的方法,其中,确定所述后续时间步处的对所述第一智能体的所述环境的所述状态的所述期望值包括:使用所述动作选择子系统对所述第一智能体在该时间步处的一个或多个可能的动作进行采样,并且,对于所述一个或多个动作中的每个动作并且对于所述其他智能体中的每个其他智能体:
4.根据权利要求1、权利要求2或权利要求3所述的方法,其中,模拟所述智能体的所述未来动作包括,对于每个智能体:
5.根据权利要求1至4中任一项所述的方法,其中,所述合约定义了动作的类,所述动作对可能由所述第一智能体和所述第二智能体两者选择的所述动作定义了相同或对应的限制;所述方法进一步包括:
6.根据权利要求1至4中任一项所述的方法,其中,所述合约定义了必须由所述第一智能体选择的第一动作和必须由所述第二智能体选择的第二动作;其中,所述一个或多个得分包括协定得分,所述协定得分表示当所述第一智能体和所述第二智能体分别选择所述第一动作和所述第二动作时,在所述后续时间步处的对所述第一智能体和所述第二智能体两者的所述环境的所述状态的期望值,所述方法进一步包括:
7.根据权利要求6所述的方法,其中,所述协定得分包括以下项的乘积:i)当所述第一智能体和所述第二智能体分别选择所述第一动作和所述第二动作时,在所述后续时间步处的对所述第一智能体的所述环境的所述状态的所述期望值与所述第一基线值的差;以及ii)当所述第一智能体和所述第二智能体分别选择所述第一动作和所述第二动作时,在所述后续时间步处的对所述第二智能体的所述环境的所述状态的所述期望值与所述第二基线值之间的差。
8.根据权利要求6或权利要求7所述的方法,其中,所述第一基线值包括当所述第一智能体选择所述第一动作并且由所述第二智能体选择的动作不受限制时,在所述后续时间步处的对所述第一智能体的所述环境的所述状态的所述期望值;并且其中,所述第二基线值包括当所述第二智能体选择所述第二动作并且由所述第一智能体选择的动作不受限制时,在所述后续时间步处对所述第二智能体的所述环境的所述状态的所述期望值。
9.根据权利要求6或权利要求7所述的方法,
10.根据权利要求6至权利要求9中任一项所述的方法,进一步包括:通过确定多个候选提议合约并且选择具有最高协定得分的候选提议合约作为所提议的合约来确定针对所述第二智能体的所提议的合约。
11.根据权利要求6至权利要求10中任一项所述的方法,进一步包括:通过确定多个候选提议合约并且选择所述候选提议合约之一作为所提议的合约来确定所述第二智能体的所提议的合约,其中,确定所述候选提议合约包括:
12.根据权利要求11中所述的方法,其中,所述组合是加权组合,以对所述第二智能体的所述提议合约的值进行加权。
13.根据权利要求1至12中任一项所述的方法,进一步包括:
14.根据权利要求1至13中任一项所述的方法,其中,所述环境是真实世界环境,其中,至少所述第一智能体包括机器人或自主驾驶载具,其中,所述任务和所述其他任务中的每一个包括导航通过所述环境的路径,其中,所述动作包括控制所述智能体在所述环境中的移动的动作,并且其中,所述期望回报与以下中的一个或多个的度量有关:所述任务的效能;以及执行所述任务的物理成本。
15.根据权利要求1至13中任一项所述的方法,其中,所述环境是计算环境,其中,所述智能体中的每个智能体包括计算作业调度智能体,其中,所述任务和所述其他任务中的每一个包括执行计算机程序,其中,动作包括将一个或多个作业分配给一个或多个计算硬件资源的动作,并且其中,所述期望回报与执行所述任务的时间度量、执行所述任务的能量成本、执行所述任务的计算成本以及执行所述任务的可靠性有关。
16.根据权利要求1至13中任一项所述的方法,其中,所述环境是分组通信网络环境,其中,所述智能体中的每个智能体包括用于通过所述通信网络路由数据分组的路由器,其中,所述任务和所述其他任务中的每一个包括分组路由任务,其中,动作包括用于路由所述数据分组的路由动作,并且其中,所述期望回报与一个或多个分组路由度量有关。
17.根据权利要求1至13中任一项所述的方法,其中,所述环境是电力分布环境,其中,所述智能体中的每个智能体被配置为控制电力从与所述智能体相关联的节点通过一个或多个电力分布链路到一个或多个其他节点的路由,其中,所述任务和所述其他任务中的每一个包括将电力从发电机分布到电力消费者的任务,其中,动作包括用于控制所述节点之间的电力的所述路由的控制动作,并且其中,所述期望回报与所述电力分布链路中的一个电力分布链路上的损失有关、或与关于所述电力分布链路中的一个电力分布链路的频率或相位不匹配有关、或与所述电力分布链路中的一个电力分布链路的过载有关。
18.根据权利要求1至13中任一项所述的方法,其中,所述环境是真实世界的制造环境,其中,至少所述第一智能体包括控制系统,所述控制系统被配置为控制机械、化学或生物产品的制造,其中,所述任务和所述其他任务中的每一个包括制造所述机械、化学或生物产品或另一机械、化学或生物产品或其中间体或组件的任务,其中,动作包括控制动作,所述控制动作用于控制机器或制造单元的使用以用于处理固体或液体材料以制造所述产品或其中间体或组件,或控制所述产品或其中间体或组件在所述制造环境中的移动,并且其中,所述期望回报与以下中的一个或多个的度量有关:所述任务的效能;以及执行所述任务的物理成本。
19.计算机可读指令,或存储计算机可读指令的一个或多个计算机存储介质,所述计算机可读指令在由一个或多个计算机执行时,使所述一个或多个计算机实施根据权利要求1至18中任一项所述的方法。
20.一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时,使所述一个或多个计算机执行根据权利要求1至18中任一项所述的方法的相应操作。