CN112292696A - 确定执行设备的动作选择方针 - Google Patents
确定执行设备的动作选择方针 Download PDFInfo
- Publication number
- CN112292696A CN112292696A CN201980040669.4A CN201980040669A CN112292696A CN 112292696 A CN112292696 A CN 112292696A CN 201980040669 A CN201980040669 A CN 201980040669A CN 112292696 A CN112292696 A CN 112292696A
- Authority
- CN
- China
- Prior art keywords
- action
- state
- iteration
- execution device
- policy
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/47—Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/46—Computing the game score
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Abstract
本文公开了用于为软件实现应用生成动作选择方针的方法、系统和装置,该软件实现应用在包括受该应用支持的执行设备以及一个或多个其他设备的环境中执行动作。一种方法包括:对于当前迭代中执行设备在一种状态下的可能动作中的每个动作,获得前一次迭代中执行设备在该状态下的该动作的遗憾值;以及计算前一次迭代中执行设备在该状态下的该动作的参数化遗憾值;针对前一次迭代中可能动作中的每个动作,确定对应归一化遗憾值;根据归一化遗憾值,确定执行设备在该状态下的动作的动作选择方针;以及根据该动作选择方针控制执行设备的操作。
Description
技术领域
本文涉及确定执行设备的动作选择方针,以在包括执行设备以及一个或多个其他设备的环境中完成任务。
背景技术
两个或更多个参与方之间的策略交互可以通过涉及两个或更多个参与方(也称为玩家)的博弈来建模。在涉及两个或更多个玩家的不完美信息博弈(imperfectinformation games,IIG)中,玩家在做出决策之前只能部分地了解其对手。这类似于现实场景,例如贸易、交通路线规划和公开拍卖。许多现实生活场景可以表示为IIG,例如不同公司之间的商业竞争、拍卖场景中的竞标关系、欺诈方和反欺诈方之间的博弈关系。
求解IIG的方法具有很大的经济和社会效益。由于信息隐藏,因此玩家必须在对其对手信息不确定的情况下进行推理,并且玩家还需要采取行动以利用其对手对其自己的信息的不确定的优势。
发明内容
本文描述了用于确定执行设备的动作选择方针的技术,以在包括执行设备以及一个或多个其他设备的环境中完成任务,例如,在执行设备与一个或多个其他设备之间进行策略交互。例如,执行设备可以执行一种计算机实现的用于寻求执行设备与一个或多个其他设备之间的博弈的纳什均衡(Nash equilibrium)的方法。在一些实施例中,这些技术可以包括,例如,在执行用于求解不完美信息博弈(IIG)的反事实遗憾最小化(CFR)算法时执行参数化遗憾匹配(PRM),其可以降低计算复杂性和方差,同时提高CFR算法的收敛速度。
本文还描述了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。
本文还描述了用于实现本文所述的方法的系统。该系统包括一个或多个处理器以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。
根据本文所述的方法、系统和计算机介质可以包括本文描述的各个方面和特征的任何组合。也就是说,根据本文所述的方法不限于本文具体描述的各个方面和特征的组合,而是还包括所描述的各个方面和特征的任何组合。
在附图和以下描述中阐述了本公开的一个或多个实施例的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显现。
附图说明
图1是示出根据本文的实施例的单牌扑克(one-card poker)中的部分博弈树的示例的图示。
图2A是示出原始CFR和流式CFR的工作流的示例的图示,图2B示出根据本文的实施例的流式CFR的工作流的示例。
图3是根据本文的实施例的流式CFR算法的示例的伪代码。
图4是根据本文的实施例的用于执行流式CFR以确定软件应用的动作选择方针的处理的示例的流程图。
图5是示出根据本文的实施例的在部分博弈树上执行CFR算法时应用的原始遗憾匹配(RM)和参数化遗憾匹配(PRM)的示例的图示。
图6A是根据本文的实施例的使用参数化遗憾匹配(PRM)执行CFR以在两个或更多个参与方之间的策略交互中进行策略搜索的处理的示例的流程图。
图6B是根据本文的实施例的使用参数化遗憾匹配(PRM)确定软件应用的动作选择方针的处理的示例的流程图。
图7描绘了示出根据本文的实施例的计算机实现的用于提供与所述算法、方法、功能、处理、流程和过程相关联的计算功能的系统的示例的框图。
图8A是根据本文的实施例的装置的模块的示例的图示。
图8B是根据本文的实施例的另一装置的模块的示例的图示。
不同的附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本文描述了用于确定执行设备的动作选择方针的技术,以在包括执行设备以及一个或多个其他设备的环境中完成任务,例如,在执行设备与一个或多个其他设备之间进行策略交互。例如,执行设备可以执行一种计算机实现的用于寻求执行设备与一个或多个其他设备之间的博弈的纳什均衡的方法。在一些实施例中,这些技术可以包括例如,在执行用于求解不完美信息博弈(IIG)的反事实遗憾最小化(CFR)算法时执行参数化遗憾匹配(PRM),其可以降低计算复杂性和方差,同时提高CFR算法的收敛速度。
IIG可以表示一个或多个现实场景,诸如资源分配、产品/服务推荐、网络攻击预测和/或预防、交通路线规划、欺诈管理,其中涉及两个或更多个参与方(也称为玩家),且每个参与方可以具有关于另一参与方的决策的不完全或不完美信息。
纳什均衡是涉及两个或更多个玩家的IIG的典型解法。反事实遗憾最小化(CFR)是一种旨在近似找到大型博弈的纳什均衡的算法。CFR试图最小化整体的反事实遗憾。事实证明,所有迭代中的多个策略的平均值会收敛到纳什均衡。在求解博弈时,原始形式的CFR(也称为原始CFR、标准CFR、普通CFR或简称CFR)在每次迭代中遍历整个博弈树。因此,原始CFR需要大容量存储器处理大型零和扩展式博弈,例如单挑无限注德州扑克。在一些情况下,原始CFR可能无法用有限存储器处理大型博弈。
引入蒙特卡洛CFR(Monte Carlo CFR,MCCFR)以使反事实遗憾最小化。MCCFR可以计算反事实值(counterfactual value)的无偏估计,并避免遍历整个博弈树。由于在每次迭代中仅访问所有信息集的子集,因此MCCFR所需的存储空间比原始CFR少。
可以使用结果采样(outcome sampling)算法或外部采样(external sampling)算法来执行MCCFR。MCCFR中的结果采样算法的方差大,并且难以在较少的迭代步骤中收敛到近似纳什均衡解。MCCFR中的外部采样算法的方差比结果采样算法的方差小,但该方法呈现与CFR类似的缺点。当博弈树很大时,它需要非常大的存储空间,并且不能扩展到复杂的大规模IIG。
本文公开了一种流式CFR算法。与原始CFR算法相比,在一些实施例中,流式CFR算法的空间复杂度为原始CFR算法的大约一半。在一些实施例中,流式CFR算法只需要一个表格式存储器或单个神经网络来跟踪关键信息,同时收敛到由原始CFR产生的可比较结果。所公开的流式CFR算法可以被用于大型博弈,即使在存在存储器限制的情况下。在一些实施例中,所描述的技术可被用于例如在AI扑克、推荐平台和可由涉及两个或更多个参与方的博弈建模的许多其他应用中。
CFR及其变体可以在博弈树上使用遗憾匹配(RM)来求解博弈。RM算法可以基于遗憾的概念来构建策略。例如,RM算法可以试图最小化对于其在博弈每一步的决策的遗憾。与现有RM算法(例如下方针对式(5)所描述的原始RM)相比,本文公开了一种具有新参数的参数化遗憾匹配(PRM)算法,以减小原始RM的方差,并降低CFR算法的计算负荷。
注意,PRM算法不只可以用于原始CFR,还可用于原始CFR的变体,包括但不限于MCCFR和流式CFR。在一些实施例中,PRM算法不仅可以用于各种CFR算法,还可用于RM适用的任何其他算法或技术。例如,PRM可以用在除CFR算法以外的其他算法中用于替代原始RM,以减小原始RM的方差,并降低其他算法的计算负荷。
在一些实施例中,具有玩家有限集合N={0,1,...,n-1}的扩展式博弈可以表示如下。定义hv i为IIG中玩家i的隐藏变量。例如,在扑克游戏中,hv i可以指玩家i的私人牌。H指的是历史的有限集合。H的每个成员表示可能的历史(或状态),该历史包括每个玩家的隐藏变量和玩家所采取的L个动作(包括机会)。对于玩家i,h也可以表示为其中指的是对手的隐藏变量。空序列是H的成员。表达式表示hj是h的前提(prefix),其中且0<L’<L。表示终点历史,并且任何成员z∈Z不是任何其他序列的前提。A(h)={a:ha∈H}是非终点历史h∈H\Z之后的可用动作集合。玩家函数P将N∪{c}的成员分配给每个非终点历史,其中c表示机会玩家标识符(ID),其通常可以是例如-1。P(h)是在历史h之后采取动作的玩家。
历史{h∈H:P(h)=i}的Ii是玩家i的信息分划。集合Ii∈Ii是玩家i的信息集。Ii(h)指的是状态h下的信息集Ii。在一些实施例中,Ii只能记住玩家i观察到的信息,包括玩家i的隐藏变量和公开动作。因此,Ii表示IIG中的序列,即hv ia0a1...aL-1。在一些实施例中,对于Ii∈Ii和对于任何h∈Ii,集合A(h)可以由A(Ii)表示,并且玩家P(h)由P(Ii)表示。对于每个玩家i∈N,效用函数ui(z)定义终点状态z的收益。下面将讨论这些符号和定义的更详细解释并且将包括图1中所示的示例。
图1是根据本文的实施例示出的单牌扑克中的部分博弈树102和部分博弈树104的示例的图100。单牌扑克是双玩家IIG扑克。单牌扑克是扩展式博弈的示例。游戏规则定义如下。从一副X张牌中给每个玩家发一张牌。第一玩家可以过牌或下注。如果第一玩家下注,则第二玩家可以跟注或弃牌。如果第一玩家过牌,则第二玩家可以过牌或下注。如果第二玩家下注,则第一玩家可以弃牌或跟注。游戏在两次过牌、跟注或弃牌的情况下结束。弃牌玩家将损失1个筹码。如果游戏在两次过牌的情况下结束,则牌较高的玩家赢得1个筹码。如果游戏在跟注的情况下结束,则牌较高的玩家赢得2个筹码。
博弈树是有向图。博弈树的节点表示博弈中的位置(或玩家状态),并且博弈树的边可以表示博弈的玩家的行动或动作。在图1中,zi表示终点节点,表示终点状态,hi表示非终点节点。部分博弈树102和104各自具有表示机会的根节点h0。在第一部分博弈树102中存在19个不同的节点,对应于左侧树中的9个非终点节点hi(包括机会h0)和10个终点节点zi。
在第一部分博弈树102中,如左子树中的“0:Q 1:J”所示,将(Q,J)发给两个玩家(玩家0和玩家1),以及如右子树中的“0:Q 1:K”所示,将(Q,K)发给两个玩家。
从根节点到每个节点的轨迹是动作的历史。动作由博弈树的边(用箭头表示)旁边的字母(例如,F、C、P和B)或表达式(例如,“0:Q 1:J”)表示。字母F、C、P、B分别表示弃牌、跟注、过牌和下注。
在扩展式博弈中,hi指的是动作的历史。例如,如第一部分博弈树102中所示,h3包括动作0:Q 1:J和P。h7包括动作0:Q 1:J、P和B。h8包括动作0:Q 1:K、P和B。在第一部分博弈树102中,即h3是h7的前提。A(h3)={P,B}表示非终点历史h7之后的可用动作的集合是P和B。P(h3)=1表示在历史h3之后采取动作的玩家是玩家1。
在该IIG中,玩家1的私人牌对于玩家0是不可见的,因此对于玩家0来说h7和h8实际上是相同的。信息集可用于表示这些不可区分状态的集合。类似地,h1和h2在同一信息集中。对于右部分博弈树104,h′3和h′5在相同的信息集中;h′4和h′6在相同的信息集中。
通常,任何Ii∈I只能记住玩家i观察到的信息,包括玩家i的隐藏变量和公开动作。例如,如第一部分博弈树102中所示,h7和h8的信息集表示0:Q、P和B的序列。由于在该IIG中玩家0不区分h7和h8,如果I0是h7和h8的信息集,则I0=I0(h7)=I0(h8)。
策略分布σ={σi|σi∈Σi,i∈N}是所有玩家策略的集合,其中Σi是玩家i的所有可能策略的集合。σ-i指的是除了玩家i之外的所有玩家的策略。对于玩家i∈N,策略σi(Ii)是函数,它将A(Ii)上的动作分布分配给信息集Ii。σi(a|h)表示在状态h由玩家i∈N∪{c}采取动作a的概率。在IIG中,如果两个或更多个状态具有相同的信息集,则这两个或更多个状态具有相同的策略。即,Ii=Ii(h1)=Ii(h2),σi(Ii)=σi(h1)=σi(h2),σi(a|Ii)=σi(a|h1)=σi(a|h2)。例如,I0是h7和h8的信息集,则I0=I0(h7)=I0(h8),σ0(I0)=σ0(h7)=σ0(h8),σ0(a|I0)=σ0(a|h7)=σ0(a|h8)。在图1中,相同的阴影(灰色阴影除外)被用来表示在对应状态下设置的相同信息。
对于玩家i,策略分布σ的预期博弈效用被表示为其是所有可能终点节点的预期收益。给定固定策略分布σ-i,玩家i的针对实现收益最大化的任何策略 是最佳回应。对于双玩家的扩展式博弈,纳什均衡是策略分布以使每个玩家的策略是对对手的最佳回应。∈纳什均衡是纳什均衡的近似,其策略分布σ*满足:
对于玩家i和策略分布σ,状态h下的反事实值(counterfactual value,CFV)vi σ(h)可以定义为
采取动作a的动作反事实值可以表示为vi σ(a|h)=vi σ(ha),并且采取该动作的遗憾是
ri σ(a|h)=vi σ(a|h)-vi σ(h) (2)。
然后,可以根据式(4)计算动作a在T次迭代之后的累计遗憾:
其中Ri 0(a|Ii)=0。定义Ri T,+(a|Ii)=max(Ri T(a|Ii),0),可以例如基于遗憾匹配(RM),根据如下式(5)更新T+1迭代处的当前策略(或迭代策略或行为策略):
其中S0(a|Ii)=0。
在迭代t中流式CFR的迭代策略可由式(9)定义:
其中,αt(Ii)是第t次迭代中Ii的学习率,且σi 0(a|Ii)=0。当t接近无穷大时,学习率αt(Ii)接近0。例如,αt(Ii)可以设置为1/t或其他值。利用式(9),可以获得下一次迭代中的迭代策略。在足够的迭代之后,由流式CFR获得的迭代策略分布可以收敛到近似的纳什均衡。据证明,由式(9)定义的迭代策略分布可以在两玩家零和博弈中收敛到一组纳什均衡。
在求解博弈时,原始CFR在每次迭代中遍历整个博弈树。因此,原始CFR可能无法用有限的存储器处理大型博弈。引入蒙特卡洛CFR(MCCFR)以使反事实遗憾最小化。MCCFR可以计算反事实值的无偏估计并避免遍历整个博弈树。由于在每次迭代中仅访问所有信息集的子集,因此MCCFR所需的存储空间比原始CFR少。
例如,定义Q={Q1,Q2,...,Qm},其中Qj∈Z是每次迭代中的采样终点历史的块,使得Qj涵盖集合Z。通常,根据指定的采样方案,不同的Qj可能会重叠。可以使用几种采样方案。
图2A是示出原始CFR和流式CFR的工作流200的示例的图示,图2B示出根据本文的实施例的流式CFR的工作流205的示例。如图所示,原始CFR和流式CFR两者都可以以迭代的方式执行。图2A和图2B分别示出四次迭代,t=1、2、3或4。上标1、2、3或4表示第t次迭代。原始CFR和流式CFR可以包括更多迭代。为了简化表达式,省略 和中的每个下面的下标i。
如图2B中流式CFR的工作流205所示,在第一次迭代中,t=1,例如,根据式(8),可以基于初始遗憾值211来计算增量策略213。例如,根据式(9),可以基于增量策略213和初始迭代策略σ0(a|I)=0来计算迭代策略σ1(a|I)215。基于迭代策略σ1(a|I)215,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略的更新遗憾值221。
迭代策略的更新遗憾值221可被用于在下一次迭代t=2中例如根据式(8)计算更新增量策略223。例如,根据式(9),可以基于增量策略223和第一次迭代中的迭代策略σ1(a|I)215来计算迭代策略σ2(a|I)225。类似地,基于迭代策略σ2(a|I)225,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略σ2(a|I)225的更新遗憾值231。
类似地,在下一次迭代中,t=3,基于更新遗憾值231,例如,可以根据式(8)来计算更新增量策略233。例如,根据式(9),可以基于增量策略233和迭代策略σ2(a|I)225来计算迭代策略σ3(a|I)235。基于迭代策略σ3(a|I)235,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略σ3(a|I)235的更新遗憾值241。
在下一次迭代中,t=4,基于更新遗憾值241,例如,可以根据式(8)来计算更新增量策略243。例如,根据式(9),可以基于增量策略244和迭代策略σ3(a|I)235来计算迭代策略σ4(a|I)245。基于迭代策略σ4(a|I)245,例如,根据式(4),可以基于反事实值通过递归地遍历博弈树来计算迭代策略σ4(a|I)245的更新遗憾值(未示出)。更新遗憾值可被用于计算下一次迭代的增量策略。流式CFR可以重复上述迭代,直到获得收敛。
注意,在流式CFR中,如图2B所示,当前迭代中的增量策略(例如,第T次迭代中的)可以基于前一次迭代中动作的遗憾值(例如,第(T-1)次迭代中的)来计算,而不是任何其他先前迭代(例如,第(T-2)次迭代、第(T-3)次迭代)中动作的任何遗憾值。而当前迭代中的迭代策略(例如,第T次迭代中的σT(a|I))可以基于第(T-1)次迭代中动作的迭代策略(例如,第(T-1)次迭代中的σT-1(a|I))和当前迭代中动作的增量策略(例如,第T次迭代中的)来计算。因而,仅当前迭代中的迭代策略(例如,第T次迭代中的σT(a|I))需要被存储来计算下一次迭代中的更新迭代策略(第(T+1)次迭代中的σT+1(a|I))。这与原始CFR不同。例如,对于当前迭代(例如,第T次迭代),原始CFR基于所有t=1,2,…,T迭代中的累计遗憾和平均策略进行。
如图2A中原始CFR的工作流200所示,在第一次迭代中,t=1,例如,根据式(5),可以基于初始累计遗憾R0(a|I)212来计算迭代策略σ1(a|I)214。例如,根据式(6),可以基于迭代策略σ1(a|I)214和初始平均策略σ0(a|I)=0来计算平均策略210。基于迭代策略σ1(a|I)214,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略的更新遗憾值216。例如,根据式(4),可以基于216的迭代策略和初始累计遗憾R0(a|I)212来计算动作a在第一次迭代后的更新累计遗憾R1(a|I)222。
在第二次迭代中,t=2,例如,根据式(5),可以基于更新累计遗憾R1(a|I)222来计算迭代策略σ2(a|I)224。例如,根据式(6),可以基于迭代策略σ2(a|I)224和第一次迭代中的平均策略210来计算平均策略220。基于迭代策略σ2(a|I)224,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略的更新遗憾值226。例如,根据式(4),可以基于226的迭代策略和累计遗憾R1(a|I)222来计算动作a在第二次迭代之后的更新累计遗憾R2(a|I)232。
在第三次迭代中,t=3,例如,根据式(5),可以基于更新累计遗憾R2(a|I)232来计算迭代策略σ3(a|I)234。例如,根据式(6),可以基于迭代策略σ3(a|I)234和第二次迭代中的平均策略220来计算平均策略230。基于迭代策略σ3(a|I)234,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略的更新遗憾值236。例如,根据式(4),可以基于236的迭代策略和累计遗憾R2(a|I)232来计算动作a在第三次迭代之后的更新累计遗憾R3(a|I)242。
在第四次迭代中,t=4,例如,根据式(5),可以基于更新累计遗憾R3(a|I)242来计算迭代策略σ4(a|I)244。例如,根据式(6),可以基于迭代策略σ4(a|I)244和第三次迭代中的平均策略230来计算平均策略240。基于迭代策略σ4(a|I)244,例如,根据式(3),可以基于反事实值通过递归地遍历博弈树来计算迭代策略的更新遗憾值(未示出)。类似地,例如,根据式(4),可以基于的迭代策略和累计遗憾R3(a|I)242来计算动作a在第四次迭代之后的更新累计遗憾R4(a|I)(未示出)。原始CFR可以重复以上迭代,直到获得收敛。
如图2A中原始CFR的工作流200所示,原始CFR需要在每次迭代中跟踪至少两个值,即,所有t=1,2,…,T迭代中的累计遗憾和平均策略因为原始CFR的每次迭代不仅取决于前一次迭代的遗憾和策略,而且取决于前一次迭代之前的所有迭代中的遗憾和策略。另一方面,流式CFR的每次迭代可以在不知道前一次迭代之前的任何迭代(例如,第(T-2)次迭代、第(T-3)次迭代)中的任何遗憾值或策略的情况下进行。例如,流式CFR可以仅需要存储迭代策略(例如,σ1(a|I)215、σ2(a|I)225、σ3(a|I)235、σ4(a|I)245,如图2A中的灰色块所示),而原始CFR需要存储每次迭代中的累计遗憾(例如,R0(a|I)212、R1(a|I)222、R2(a|I)232和R3(a|I)242)以及平均策略(例如,210、220、230和240,如图2B中的灰色块所示)。因而,流式CFR比原始CFR需要更少的存储空间(例如,一半的存储空间),从而提高了存储器效率。
图3是根据本文的实施例的流式CFR算法的示例的伪代码300。在一些实施例中,流式CFR算法是迭代算法。在每次迭代t中,对于玩家0和玩家1调用函数SCFR以更新增量策略和迭代策略分别如伪代码300的第25行和第26行所示。增量策略使用如伪代码300的第29-33行中定义的函数CalculateStrategy来更新。函数CalculateStrategy是式(8)的示例性实施方式。迭代策略可根据式(9)来更新。函数SCFR返回每个信息集的反事实值作为输出,该反事实值通过递归地遍历博弈树来计算,如伪代码300的第4-27行所示。
图4是根据本文的实施例的用于执行流式反事实遗憾最小化(CFR)以确定软件应用的动作选择方针的处理的示例的流程图,例如,用于在两方或更多方之间的策略交互中进行策略搜索。处理400可以是上述关于图2-3的流式CFR算法的示例。在一些实施例中,处理400可以以迭代的方式来执行,例如,通过执行两次或更多次迭代来执行。在一些实施例中,两方或更多方之间的策略交互可以由涉及两个或更多个玩家的不完美信息博弈(IIG)建模。在一些实施例中,可以执行处理400以求解IIG。IIG可以表示一个或多个涉及两个或更多个参与方的现实场景,诸如资源分配、产品/服务推荐、网络攻击预测和/或预防、交通路线规划、欺诈管理等,各参与方可能对其他参与方的决策有不完全或不完美信息。例如,IIG可以表示至少涉及第一玩家和第二玩家的协作产品服务推荐服务。第一玩家可以是,例如,具有客户(或用户)信息、产品和服务信息、客户的购买历史等的在线零售商。第二玩家可以是,例如,具有客户的社交网络数据的社交网络平台,拥有客户的财务信息的银行或其他金融机构、汽车经销商或在预测和向该客户推荐产品和服务时可能拥有客户偏好、需求、财务状况、位置等客户信息的任何其他参与方。第一玩家和第二玩家可各自拥有该玩家不想与其他人共享的专有数据。第二玩家只能在不同时间向第一玩家提供部分信息。因此,第一玩家对第二玩家的信息只有有限访问权。在一些实施例中,处理400可以被执行以向具有第二参与方的有限信息的参与方作出推荐,例如,利用有限信息计划路线。
为了方便,处理400将被描述为由数据处理装置执行,例如位于一个或多个位置、并根据本文进行适当编程的一个或多个计算机组成的系统来执行。例如,图7的计算机系统700经适当编程后,可以执行处理400。
在402,在第一次迭代(即t=1次迭代)中初始化参与方在一个状态下的动作的迭代策略。在一些实施例中,该迭代策略可以被初始化,例如,基于现有策略、均匀随机策略(例如,基于均匀概率分布的策略)或其他策略(例如,基于不同概率分布的策略)来初始化。例如,如果系统从现有CFR方法(例如,原始CFR或MCCFR方法)热启动,则可以从现有策略分布初始化迭代策略,以克隆现有遗憾和策略。
在一些实施例中,两个或更多个参与方之间的策略交互可以通过不完美信息博弈(IIG)来建模。作为示例,IIG表示包括参与方和第二参与方的协作产品服务推荐服务。该参与方对第二参与方的信息具有有限访问权。参与方的状态包括由第二参与方提供的信息的历史,参与方的动作包括响应于由第二参与方提供的信息的历史的动作,以向客户提供产品服务推荐。
在404,确定是否满足收敛条件。收敛条件可用于确定是否继续或终止迭代。在一些实施例中,收敛条件可以基于策略σ的可利用性。根据可利用性的定义,可利用性应大于或等于0。越小的可利用性表明越好的策略。也就是,在足够的迭代之后,收敛策略的可利用性应该接近0。例如,在扑克中,当可利用性小于1时,时间平均策略被视为良好的策略,并确定满足收敛条件。在一些实施例中,收敛条件可以基于预定次数的迭代。例如,在小型博弈中,迭代可以由可利用性容易地确定。也就是,如果可利用性足够小,则处理400可以终止。在大型游戏中,可利用性是难以识别的,典型地,可以指定用于迭代的较大参数。在每次迭代之后,可以获得新策略分布,其优于旧策略分布。例如,在大型博弈中,处理400可以在足够次数的迭代之后终止。
如果满足收敛条件,则不需要进一步迭代。处理400进行至416,其中迭代策略(当前迭代中的最新策略)被输出。如果收敛条件没有得到满足,则t加1,处理400进行至下一次迭代,其中t>1。
在当前迭代(例如,第t次迭代)中,在406,在第(t-1)次迭代中参与方在该状态下的动作的迭代策略(例如,在第(t-1)次迭代中由信息集Ii表示的参与方的状态下,动作a的迭代策略)被识别。在第(t-1)次迭代中参与方在该状态下的动作的迭代策略表示在第(t-1)次迭代中参与方在该状态下采取动作的可能性。
在408,在第(t-1)次迭代中参与方在该状态下的动作的遗憾值(例如,)是基于在第(t-1)次迭代中参与方在该状态下的动作的迭代策略来计算的。在一些实施例中,基于第(t-1)次迭代中参与方在该状态下的动作的迭代策略来计算第(t-1)次迭代中参与方在该状态下的动作的遗憾值包括:基于第(t-1)次迭代中参与方在该状态下的动作的迭代策略来计算第(t-1)次迭代中参与方在该状态下的动作的遗憾值,而不是第(t-1)次迭代之前的任何迭代中参与方在该状态下的动作的任何遗憾值。
在一些实施例中,基于第(t-1)次迭代中参与方在该状态下的动作的迭代策略来计算第(t-1)次迭代中参与方在该状态下的动作的遗憾值包括:基于参与方在该状态下的动作的反事实值与参与方的状态的反事实值之间的差来计算第(t-1)次迭代中参与方在该状态下的动作的遗憾值(例如,根据式(3)),其中,参与方在该状态下的动作的反事实值与参与方的状态的反事实值是通过递归地遍历表示在第(t-1)次迭代中两方或更多方之间的策略交互的博弈树来计算的(例如,如图3中伪代码的第4-27行所示)。
在410,第t次迭代中参与方在该状态下的动作的增量策略(例如,)基于第(t-1)次迭代中参与方在该状态下的动作的遗憾值来计算,而不是第(t-1)次迭代之前的任何迭代中参与方在该状态下的动作的任何遗憾值。在一些实施例中,在第t次迭代中参与方在该状态下的动作的增量策略是根据式(8)基于在第(t-1)次迭代中参与方在该状态下的动作的遗憾值来计算的,而不是第(t-1)次迭代之前的任何迭代中参与方在该状态下的动作的任何遗憾值。例如,在第t次迭代中参与方在该状态下的动作的增量策略是根据以下式基于在第(t-1)次迭代中参与方在该状态下的动作的遗憾值来计算的,而不是第(t-1)次迭代之前的任何迭代中参与方在该状态下的动作的任何遗憾值:
其中,a表示动作,Ii表示参与方的状态,表示在第t次迭代中参与方在该状态下的动作的增量策略,表示在第(t-1)次迭代中参与方在该状态下的动作的遗憾值,|A(Ii)|表示参与方在该状态下的总可用动作的数量。
在412,在第t次迭代中参与方在该状态下的动作的迭代策略基于在第(t-1)次迭代中参与方在该状态下的动作的迭代策略和在第t次迭代中参与方在该状态下的动作的增量策略的加权和来计算。例如,在第t次迭代中参与方在该状态下的动作的迭代策略是根据式(9)基于在第(t-1)次迭代中参与方在该状态下的动作的迭代策略和在第t次迭代中参与方在该状态下的动作的增量策略的加权和来计算的。在一些实施例中,在第(t-1)次迭代中参与方在该状态下的动作的迭代策略和在第t次迭代中参与方在该状态下的动作的增量策略的加权和包括:由第t次迭代中的第一学习率缩放(scale)的在第(t-1)次迭代中参与方在该状态下的动作的迭代策略和由第t次迭代中的第二学习率缩放的在第t次迭代中参与方在该状态下的动作的增量策略的总和。当t接近无穷大时,第一学习率接近1;当t接近无穷大时,第二学习率接近0。在一些实施例中,第一学习率为(t-1)/t,第二学习率为1/t。
在414,第t次迭代中参与方在该状态下的动作的迭代策略被存储,例如,用以计算第(t+1)次迭代中参与方在该状态下的动作的迭代策略。在一些实施例中,第t次迭代中参与方在该状态下的动作的迭代策略可被存储在存储器中(例如,在存储器中的表格中或者其他数据结构中)。在一些实施例中,在第t次迭代中参与方在该状态下的动作的迭代策略可以被神经网络存储。例如,神经网络可被用以学习在第t次迭代中参与方在该状态下的动作的迭代策略,例如,用以预测第(t+1)次迭代中参与方在该状态下的动作的迭代策略。在一些实施例中,相比于原始CFR,流式CFR算法只需要一半的存储大小或单个神经网络而不是双神经网络来跟踪关键信息,同时收敛到原始CFR产生的可比较结果。
在416,响应于确定收敛条件得到满足,第t次迭代中参与方在该状态下的动作的迭代策略被输出。在一些实施例中,在第t次迭代中参与方在该状态下的动作的迭代策略可以被用以近似纳什均衡并且用作CFR算法的输出。在一些实施例中,参与方在该状态下的动作的迭代策略可以包括由IIG建模的现实场景中玩家的一系列动作。例如,在协作产品服务推荐场景中,参与方在该状态下的动作的迭代策略可以包括,例如,响应于由第二玩家提供的信息的一系列动作,基于第一玩家的信息的、给客户的相应产品服务推荐,以及由第二玩家提供的信息。参与方在该状态下的动作的迭代策略可以包括由IIG建模的其他现实场景中的其他信息。
图5是示出根据本文实施例在部分博弈树上执行CFR算法时分别应用的原始遗憾匹配(RM)和参数化遗憾匹配(PRM)的示例500a和500b的图示。在示例500a和500b中,部分博弈树包括根节点0和根节点0的三个子节点1、2和3,三个子节点1、2和3与具有相等概率的三个可能动作a1、a2和a3对应。节点0、1、2和4分别对应于信息集I0、I1、I2和I3。假设节点0、1、2和3的CFV分别为:v(I0)=1,v(I1)=1,v(I2)=1-∈,v(I3)=1+∈,其中∈∈[0,1]是一个小的正数。因此,在给定信息集I0的情况下采取动作a1,a2和a3的遗憾值分别是r(a1|I0)=0,r(a2|I0)=-∈,和r(a2|I0)=∈。
根据式(5)的原始遗憾匹配(RM)将导致σ(a1|I0)=σ(a2|I0)=0以及σ(a3|I0)=1。也就是说,尽管执行动作a1、a2和a3的遗憾很接近,但在下一次迭代中动作a1和a2的策略为0,而动作a3的执行概率为1。这样,尽管各个动作的遗憾是相似的,但玩家在下一次迭代中的行为将大不相同。在一些实施例中,如果使用蒙特卡洛CFR,则较大的方差可能导致节点1和2的子节点无采样或欠采样。可能无法获得节点1和2的子节点的信息,或者可能需要大量的迭代才能获得。
此外,根据式(3),尽管子节点仍将在下一次迭代中被访问,但策略σ(a1|I0)和σ(a2|I0)的零值可能导致对手玩家在这两个节点1和2的任何子节点处的所有CFV均为零。因此,在原始RM下存在无用计算。
在一些实施例中,修改后的RM可用于减小原始RM的方差并减小CFR算法的计算负荷。可以将两个新参数引入原始RM,并将修改后的RM称为参数化RM(PRM)。具体来说,定义函数(x)+γ,β=max(x,γ)β,其中γ是一个用作下限(flooring cutoff)的小的非负数,且β是非负的。如果γ=0且β=1,则(x)+γ,β可简化为(x)+。PRM可以根据式(10)基于遗憾值Rt-1(a|I)计算在第(t-1)次迭代中参与方(例如,玩家i)在状态I下的可能动作a的参数化遗憾值Rt -1,+γ,β(a|I):
Rt-1,+γ,β(a|I)=max(Rt-1(a|I),γ)β (10)
使用PRM,可以基于参数化遗憾值Rt-1,+γ,β(a|I)来更新第t+1次迭代时的当前策略(或迭代策略、行为策略),例如,根据式(11):
也就是说,第(t)次迭代中参与方在状态I下的动作a的策略σt,+γ,β(a|I),是被第(t-1)次迭代中参与方在状态I下的所有多个可能动作(即,)的参数化遗憾值的和归一化处理后的参数化遗憾值Rt-1,+γ,β(a|I)。参数β可用于控制归一化并改变每个累计遗憾的大小。在一些实施例中,参数β可以是1到2之间的值。在一些实验中,β=1.2导致原始CFR的时间平均策略达到更好收敛。在一些实施例中,参数γ可以是0到10-1之间的值。在一些实验中,对于10-9<γ<10-1,γ=10-6导致原始CFR的时间平均策略达到最佳收敛。
请注意,与式(5)所示基于是否成立有两个分支的原始RM相比,在PRM中,参数化遗憾值Rt-1,+γ,β(a|I)以及所有可能动作的参数化遗憾值的总和将因非负下限遗憾值γ而始终大于零。非负下限遗憾值γ可以减少或消除策略经计算为零的情况发生的可能性。
如示例500b所示,使用非负下限遗憾值γ,在给定信息集I0的情况下,采取动作a1、a2和a3的遗憾值分别是r(a1|I0)=γ、r(a2|I0)=γ-∈和r(a3|I0)=γ+∈。在一些实施例中,非负下限遗憾值γ可以是不小于∈的值。相应地,根据PRM,对应的结果策略σ(a1|I0)、σ(a2|I0)和σ(a3|I0)将不为零。对手玩家在这三个节点1、2和3的任何子节点处的CFV不大可能为零。在PRM下,在下一次迭代中访问子节点不会成为无用计算。
此外,在原始CFR中,当累计遗憾Rt(a|Ii)为较大的负值时,尽管迭代k之后的大多数遗憾rk(a|Ii)几乎为正值,但仍可能需要很多迭代来将Rt(a|Ii)改为正值,而只有正累计遗憾可以导致非零行为策略。在PRM算法中,非负下限遗憾值γ可以帮助信息集更适应这种场景。参数β指示多项式遗憾匹配算法,并可用于改变每个累计遗憾的大小。
图6A是根据本文的实施例的执行CFR的处理600a的示例的流程图,该CFR用于使用参数化遗憾匹配(PRM)确定软件应用的动作选择方针。注意PRM可以应用于原始CFR、MCCFR、流式CFR或CFR算法的任何其他变体。例如,如图3所示,PRM可以利用同步更新在流式CFR中使用。例如,在流式CFR中使用PRM时,增量策略可以根据式(11)而非式(8),使用函数CalculateStrategy来更新,如图3中伪代码300的第29-33行所示。此外,PRM可用于利用同时更新或交替更新,来替换任何CFR算法或任何其他使用RM的算法中使用的原始RM。
处理600a可以是以上关于图5所述应用PRM算法的示例。在一些实施例中,可以结合CFR算法以迭代方式执行处理600a,例如,通过执行两次或更多次迭代来执行。在一些实施例中,两个或更多个玩家之间的策略交互可以通过涉及两个或更多个玩家的不完美信息博弈(IIG)来建模。在一些实施例中,可以执行处理600a以求解IIG。IIG可以表示涉及两个或更多个参与方的一个或多个现实场景,例如资源分配、产品/服务推荐、网络攻击预测和/或预防、交通路线规划、欺诈管理等,各参与方可能对另一参与方的决策有不完全或不完美的信息。例如,IIG可以表示至少涉及第一玩家和第二玩家的协作产品服务推荐服务。第一玩家可以是,例如,具有客户(或用户)信息、产品和服务信息、客户的购买历史等的在线零售商。第二玩家可以是,例如,具有客户的社交网络数据的社交网络平台,拥有客户的财务信息的银行或其他金融机构、汽车经销商或在预测和向该客户推荐产品和服务时可能拥有客户偏好、需求、财务状况、位置等客户信息的任何其他参与方。第一玩家和第二玩家可各自拥有该玩家不想与其他人共享的专有数据。第二玩家只能在不同时间向第一玩家提供部分信息。因此,第一玩家对第二玩家的信息只有有限访问权。在一些实施例中,可以执行处理600a以向具有第二参与方的有限信息的参与方作出推荐,利用有限信息计划路线。
为了方便,处理600a将被描述为由数据处理装置执行,例如位于一个或多个位置、并根据本文进行适当编程的一个或多个计算机组成的系统来执行。例如,图7的计算机系统700经适当编程后,可以执行处理600a。
在602,第一次迭代(即,t=1迭代)中初始化参与方(例如,玩家i)在状态(例如,由该状态的信息集I来表示)下的动作a的策略σ0(a|I)。在一些实施例中,例如,可以基于现有策略、均匀随机策略(例如,基于均匀概率分布的策略)或另一策略(例如,基于不同概率分布的策略)来初始化策略σ0(a|I)。例如,如果系统从现有的CFR方法(例如,原始CFR、MCCFR或流式CFR方法)热启动,则可以根据现有策略分布初始化该策略,以克隆现有的遗憾和策略。
在一些实施例中,策略σ0(a|I)可以是平均策略的初始值,例如对于原始CFR算法,如式(6)所描述的,或可以是迭代策略的初始值,例如对于流式CFR算法,如式(9)所描述的。
在一些实施例中,两个或更多个参与方之间的策略交互可以通过不完美信息博弈(IIG)来建模。作为示例,IIG表示涉及参与方和第二参与方的协作产品服务推荐服务。该参与方对第二参与方的信息具有有限访问权。参与方的状态包括由第二参与方提供的信息的历史,参与方的动作包括响应于由第二参与方提供的信息的历史的动作,以向客户提供产品服务推荐。
在当前迭代604(例如,第t次迭代,其中,t>=1)中,对于在第(t-1)次迭代中参与方在状态I下的多个可能动作中的每个动作a,在606,获得在第(t-1)次迭代中参与方在状态I下的动作a的遗憾值Rt-1(a|I)。在一些实施例中,遗憾值Rt-1(a|I)是基于在第(t-1)次迭代中参与方在状态I下的动作a的参数化策略σt-1,+γ,β(a|I)来计算的(例如,根据下文612所述的技术)。
在一些实施例中,例如,对于原始CFR,遗憾值Rt-1(a|I)可以是第(t-1)次迭代后在参与方在状态I下的动作a的累计遗憾(例如,如式(4)所述的其中T=t-1),或在第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾(例如,如式(4)所述的其中T=t-1)。
在遗憾值Rt-1(a|I)是迭代遗憾的情况下,迭代遗憾可以基于在第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)和在第(t-1)次迭代中参与方的状态I的之差来计算,例如,根据式(3)。在一些实施例中,和是通过基于在第(t-1)次迭代中参与方在状态I下的动作a的参数化策略σt-1,+γ,β(a|I),递归地遍历表示两方或更多方之间的策略交互的博弈树来计算的。
在遗憾值Rt-1(a|I)是第(t-1)次迭代后在参与方在状态I下的动作a的累计遗憾(例如,如式(4)所述的)的情况下,遗憾值Rt-1(a|I)是基于第(t-2)次迭代后在参与方在状态I下的动作a的遗憾值Rt-2(a|I)以及第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾计算出的,如式(4)所述。
在一些实施例中,例如,对于流式CFR来说,遗憾值Rt-1(a|I)可以是在第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾(例如,如式(3)所述的其中σ=σt-1,+γ,β(a|I))。在这种情况下,遗憾值Rt(a|I)是基于在第(t-1)次迭代中参与方在状态I下的动作a的反事实值与参与方的状态I的之间的差计算出的,例如,根据式(3)。在一些实施例中,和是基于第(t-1)次迭代中的策略σt-1,+γ,β(a|I),通过递归地遍历表示两方或更多方之间的策略交互的博弈树计算出的,例如,根据图3中的伪代码300的6-27行所示的操作。
在608,根据Rt-1,+γ,β(a|I)=max(Rt-1(a|I),γ)β,基于遗憾值Rt-1(a|I),计算在第(t-1)次迭代中参与方在状态I下的动作a的参数化遗憾值Rt-1,+γ,β(a|I),其中γ是非负下限遗憾值,β大于1。
在610,将第(t)次迭代中参与方在状态I下的动作a的参数化策略σt,+γ,β(a|I)确定为经第(t-1)次迭代中参与方在状态I下的所有多个可能动作的参数化遗憾值之和所归一化的参数化遗憾值Rt-1,+γ,β(a|I),例如,根据式(11)。
在612,可基于参数化策略σt,+γ,β(a|I),计算在第(t)次迭代中参与方在状态I下的动作a的策略σt(a|I)。
在一些实施例中,例如,对于原始CFR而言,策略σt(a|I)可以是从第1次到第(t)次迭代中参与方在状态I下的动作a的平均策略平均策略可以基于由第t次迭代中参与方的状态I的到达概率所加权的参数化策略σt,+γ,β(a|I)来确定,例如,如式(6)所述。
在一些实施例中,例如,对于流式CFR而言,策略σt(a|I)可以是第(t)次迭代中参与方在状态I下的动作a的迭代策略迭代策略可以基于参数化策略σt,+γ,β(a|I)和第(t-1)次迭代中参与方在状态I下的动作a的迭代策略的加权和来计算,例如,如式(9)所示的。在这种情况下,参数化策略σt,+γ,β(a|I)是第(t)次迭代中在参与方在状态I下的动作a的增量策略。在一些实施例中,与平均策略不同,参数化策略σt,+γ,β(a|I)或迭代策略并不是基于第(t-1)次迭代之前的任何一次迭代中参与方在该状态下的动作的任何遗憾值计算出的。
在确定了第(t)次迭代中参与方在状态I下的动作a的策略σt(a|I)后,在614,确定是否满足收敛条件。收敛条件可用于确定是否继续或终止迭代。在一些实施例中,收敛条件可以基于策略σ(例如,策略σt(a|I)))的可利用性。根据可利用性的定义,可利用性应大于或等于0。越小的可利用性表明越好的策略。也就是,在足够的迭代之后,收敛策略的可利用性应该接近0。例如,在扑克中,当可利用性小于1时,时间平均策略被视为良好的策略,并确定满足收敛条件。
在一些实施例中,收敛条件可以基于预定次数的迭代。例如,在小型博弈中,迭代可以由可利用性容易地确定。也就是,如果可利用性足够小,则处理600a可以终止。在大型游戏中,可利用性是难以识别的,典型地,可以指定用于迭代的较大参数。在每次迭代之后,可以获得新策略分布,其优于旧策略分布。例如,在大型博弈中,处理600a可以在足够次数的迭代之后终止。
如果满足收敛条件,则不需要进一步迭代。处理600a进行至616,其中,将策略σt(a|I)输出用以近似纳什均衡,并作为CFR算法的输出,例如,作为参与方的推荐策略。如所描述的,策略σt(a|I)可以是,例如,原始CFR算法得出的平均策略或流式CFR得出的迭代策略
在一些实施例中,策略σt(a|I)可以包括由IIG建模的现实场景中玩家的一系列动作。例如,在协作产品服务推荐场景中,参与方在一个状态下的动作的迭代策略可以包括,例如,响应于由第二玩家提供的信息的一系列动作,基于第一玩家的信息、给客户的相应产品服务推荐,以及由第二玩家提供的信息。
如果未满足收敛条件,则t增加1,且处理600a返回至604,以进行下一次迭代604,即第(t+1)次迭代。例如,在606,在第(t+1)次迭代中,获得在第(t)次迭代中参与方在状态I下的动作a的遗憾值Rt(a|I),例如,通过基于在第(t)次迭代中在612处获得的策略σt(a|I)计算Rt(a|I),其中,策略σt(a|I)是基于第(t)次迭代中在610处获得的参数化策略σt,+γ,β(a|I)计算出的。处理600a进行至608以基于遗憾值Rt(a|I)计算在第(t)次迭代中参与方在状态I下的动作a的参数化遗憾值Rt,+γ,β(a|I),至610以基于参数化遗憾值Rt,+γ,β(a|I)确定第(t+1)次迭代中参与方在状态I下的动作a的参数化策略σt,+γ,β(a|I),至612以基于参数化策略σt+1,+γ,β(a|I)计算在第(t+1)次迭代中参与方在状态I下的动作a的策略σt+1(a|I),以及至614以确定是否满足收敛条件。
图6B是根据本文实施例的使用参数化遗憾匹配(PRM)确定软件应用的动作选择方针的处理600b的示例的流程图。在一些实施例中,处理600b可用于自动控制、机器人或任何其他涉及动作选择的应用。在一些实施例中,可以执行处理600b以为软件实现应用生成动作选择方针(例如策略),该软件实现应用在包括受应用支持的执行方以及一个或多个其他参与方的环境中执行动作。动作选择方针指定了选择多个可能动作中的每个可能动作的对应概率。例如,执行设备可以在为执行设备确定动作选择方针并根据该动作选择方针控制执行设备的操作时执行处理600b。处理600a可以是处理600b的示例,例如,在执行CFR以在两方或更多方之间的策略交互中进行策略搜索时。
在一些实施例中,执行设备可以执行处理600,以生成用于在包括执行设备以及一个或多个其他设备的环境中完成任务(例如寻找纳什均衡)的动作选择方针(例如策略)。在一些实施例中,执行设备可以执行处理600以根据动作选择方针控制执行设备的操作。
在一些实施例中执行设备可以包括数据处理装置,例如位于一个或多个位置并根据本文经过适当编程的,由一个或多个电脑组成的系统。例如,图5的计算机系统500经适当编程后,可以执行处理600。执行设备可以与执行方或玩家相关联。执行方或玩家以及一个或多个其他参与方(例如,与一个或多个其他设备相关联的一个或多个其他参与方)可以是环境中的参与者或玩家,例如,用于在执行方与一个或多个其他方之间的策略交互中进行策略搜索。
在一些实施例中,环境可以通过涉及两个或更多个玩家的不完美信息博弈(IIG)来建模。在一些实施例中,可以执行处理600以求解IIG,例如,由受到应用支持的执行方来执行。IIG可以表示涉及两个或更多个参与方的一个或多个现实场景,例如资源分配、产品/服务推荐、网络攻击预测和/或预防、交通路线规划、欺诈管理等,各参与方可能对另一参与方的决策有不完全或不完美的信息。例如,IIG可以表示至少涉及第一玩家和第二玩家的协作产品服务推荐服务。第一玩家可以是,例如,具有客户(或用户)信息、产品和服务信息、客户的购买历史等的在线零售商。第二玩家可以是,例如,具有客户的社交网络数据的社交网络平台,拥有客户的财务信息的银行或其他金融机构、汽车经销商或在预测和向该客户推荐产品和服务时可能拥有客户偏好、需求、财务状况、位置等客户信息的任何其他参与方。第一玩家和第二玩家可各自拥有该玩家不想与其他人共享的专有数据。第二玩家只能在不同时间向第一玩家提供部分信息。因此,第一玩家对第二玩家的信息只有有限访问权。在一些实施例中,可以执行处理600以向具有第二参与方的有限信息的参与方作出推荐,利用有限信息计划路线。
在652,在第一次迭代中初始化执行设备的动作选择方针,例如,在第一次迭代,即t=1迭代,中执行设备(例如玩家i)在状态(例如,由该状态的信息集I表示)下的动作a的策略σ1(a|I)。执行设备的状态是由执行设备采取的动作的历史导致的。在一些实施例中,动作选择方针可被初始化,例如,根据图6A中608所述的技术。
在多次迭代的每一次,以及对于在当前迭代654(例如第t次迭代)中执行设备(例如玩家i)在该状态(例如,由该状态的信息集I表示)下的多个可能动作中的每个动作(例如动作a),在656,获得前一次迭代(例如第(t-1)次迭代)中执行设备在该状态下的动作的遗憾值(例如,参与方在状态I下的动作a的遗憾值Rt-1(a|I)),例如,根据如图6A中606所述的技术。执行设备在该状态下的动作的遗憾值表示该执行设备在该状态下采取该动作后的收益(例如CFV)以及该执行设备在该状态下的收益之差。
例如,前一次迭代中执行设备在该状态下的动作的遗憾值是基于前一次迭代中执行设备在该状态下的动作的第一反事实值(CFV)和前一次迭代中执行设备在该状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于前一次迭代中执行设备在该状态下的动作的动作选择方针,递归地遍历表示环境的博弈树计算出的。
又如,前一次迭代中执行设备在状态的下的动作的遗憾值是基于在前一次迭代之前的一次迭代后执行设备在该状态下的动作的遗憾值计算出的累计遗憾,以及基于前一次迭代中执行设备在该状态下的动作的第一反事实值(CFV)与前一次迭代中执行设备在该状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于前一次迭代中执行设备在该状态下的动作的动作选择方针,递归地遍历表示环境的博弈树计算出的。
在658,计算前一次迭代中执行设备在该状态下的动作的参数化遗憾值(例如Rt -1,+γ,β(a|I)),例如,根据图6A中608所述的技术。例如,计算参数化遗憾值可以包括,在657,确定非负下限遗憾值(例如γ)和当前迭代中执行设备在该状态下的动作的遗憾值(例如,Rt-1(a|I))中的最大值,以及,在659,通过将确定的最大值增加为它的β次方,例如Rt-1,+γ,β(a|I)=max(Rt-1(a|I),γ)β,其中β是大于1的固定值,计算参数化遗憾值(例如Rt-1,+γ,β(a|I))。在一些实施例中,β小于2。在一些实施例中,非负下限遗憾值小于10-1。
在660,根据前一次迭代中执行设备在该状态下的多个可能动作的参数化遗憾值,针对前一次迭代中多个可能动作中的每一个确定对应归一化遗憾值,例如,根据式(11)的右半部分。
在662,根据前一次迭代中多个可能动作中的每一个的归一化遗憾值,确定当前迭代中执行设备的参数化动作选择方针(例如,在第(t)次迭代中参与方在状态I下的动作a的参数化策略σt,+γ,β(a|I)),例如,根据基于图6A中610所述的技术的式(11)。
在664,根据执行设备在该状态下的动作的参数化动作选择方针(例如σt,+γ,β(a|I)),确定执行设备在该状态下的动作的动作选择方针(例如,在第(t)次迭代中参与方在状态I下的动作a的策略σt(a|I)),例如,根据图6A中612所述的技术。动作选择方针指定了选择多个可能动作的状态的概率。
在一些实施例中,当前迭代中执行设备在该状态下的动作的动作选择方针是从第一次迭代到当前迭代的平均动作选择方针,其中,当前迭代中执行设备在该状态下的动作的平均动作选择方针是基于经当前迭代中执行设备的状态的对应到达概率加权的、执行设备在该状态下的动作的参数化动作选择方针确定的。
在一些实施例中,当前迭代中执行设备在该状态下的动作的动作选择方针是当前迭代中执行设备在该状态下的动作的迭代动作选择方针,其中,当前迭代中执行设备在该状态下的动作的迭代动作选择方针是基于当前迭代中执行设备在该状态下的动作的参数化动作选择方针与前一次迭代中执行设备在该状态下的动作的迭代动作选择方针的加权和确定的。
在666,确定是否满足收敛条件。收敛条件可以用于确定是否继续或终止迭代。在一些实施例中,可以确定收敛条件,例如,根据图6A中614所述的技术。如果未满足收敛条件,则t增加1,处理600b返回654以进行下一次迭代(例如第(t+1)次迭代)。如果满足收敛条件,则不需要进一步迭代。处理600b进行至668,其中执行设备的操作由软件实现应用根据动作选择方针控制。例如,动作选择方针可以作为软件实现应用的输出,以自动地控制执行设备在每个状态下的动作,例如,通过基于动作选择方针在多个可能动作中选择可能性最高的动作。
图7描绘了示出根据本文的实施例的计算机实现的用于提供与所描述的算法、方法、功能、处理、流程和程序相关联的计算功能的系统的示例的框图。图7是示出根据本公开的实施例的计算机实现的用于提供与所描述的算法、方法、功能、处理、流程和程序相关联的计算功能的系统700的示例的框图。在所示的实施例中,系统700包括计算机702和网络730。
所示的计算机702旨在包含任何计算设备,例如服务器、台式计算机、膝上型计算机/笔记本计算机、无线数据端口、智能电话、个人数据助理(PDA)、平板计算机、这些设备中的一个或多个处理器、另一计算设备或计算设备的组合,包括计算设备的物理或反事实实例、或计算设备的物理或反事实实例的组合。另外,计算机702可以包括输入设备,例如小键盘、键盘、触摸屏,另一输入设备或可以接受用户信息的输入设备的组合,以及传达与计算机702的操作相关联的信息的输出设备,包括图形类型的用户界面(UI)(或GUI)或其他UI上的数字数据、视觉、音频、另一种类型的信息或各种类型的信息的组合。
计算机702可以在分布式计算系统中充当客户端、网络组件、服务器、数据库的角色或另一持续性设备、另一角色或用于执行本公开中描述的主题的角色的组合。所示的计算机702可通信地与网络730耦接。在一些实施例中,计算机702的一个或多个组件可以被配置为在包括基于云计算的环境、本地环境、全局环境、另一环境或环境组合的环境中操作。
在高级别上,计算机702是可操作用于接收、发送、处理、存储或管理与所描述的主题相关联的数据和信息的电子计算设备。根据一些实施例,计算机702还可包括服务器或与服务器可通信地耦接,包括应用服务器、电子邮件服务器、网络服务器、高速缓存服务器、流数据服务器、另一服务器或服务器的组合。
计算机702可以通过网络730(例如,来自另一计算机702上执行的客户端软件应用)接收请求,并通过使用软件应用或软件应用的组合处理接收的请求来响应接收的请求。另外,还可以从内部用户(例如,从命令控制台或通过另一内部访问方法)、外部或第三方或者其他实体、个人、系统或计算机向计算机702发送请求。
计算机702的每个组件可以使用系统总线703进行通信。在一些实施例中,计算机702的任何或所有组件,包括硬件、软件或者硬件和软件的组合,可以使用应用编程接口(API)712、服务层713、或者API 712和服务层713的组合通过系统总线703进行接口连接。API 712可以包括用于例程、数据结构和对象类的规范。API 712可以是独立于计算机语言的或依赖于计算机语言的,并且是指完整的接口、单个函数或甚至一组API。服务层713向计算机702或可通信地耦接到计算机702的其他组件(无论是否示出)提供软件服务。使用服务层713的所有服务客户可访问计算机702的功能诸如由服务层713提供的软件服务通过定义的接口提供可重用的、定义的功能。例如,该接口可以是用以JAVA、C++、另一种计算语言、或以可扩展标记语言(XML)格式、另一种格式或多种格式的组合提供数据的计算机语言的组合编写的软件。虽然示出为计算机702的集成组件,但是替代实施例可以将API 712或服务层713示出为与计算机702的其他组件有关的独立组件或可通信地耦接到计算机702的其他组件(无论是否示出)。此外,在不脱离本公开的范围的情况下,API 712或服务层713的任何或所有部分可以被实现为另一软件模块、企业应用或硬件模块的子模块(a child or asub-module)。
计算机702包括接口704。尽管示出为单个接口704,但是可以根据计算机702的特定需要、期望或特定实施例使用两个或更多个接口704。接口704被计算机702用来与在分布式环境中通信地链接到网络730的另一计算系统(无论是否示出)进行通信。通常,接口704可操作地与网络730通信,并且包括以软件、硬件或者软件和硬件的组合编码的逻辑。更具体地说,接口704可以包括支持与通信相关联的一个或多个通信协议的软件,以使得网络730或接口704的硬件可操作地在所示计算机702之内和所示计算机702之外通信物理信号。
计算机702包括处理器705。尽管示出为单个处理器705,但是可以根据计算机702的特定需要、期望或特定实施例使用两个或更多个处理器705。通常,处理器705执行指令并操纵数据以执行计算机702的操作以及本公开中所描述的任何算法、方法、功能、处理、流程和程序。
计算机702还包括数据库706,该数据库706可以保存用于计算机702的数据、通信地链接到网络730的另一组件(无论是否示出)的数据、或者计算机702和另一组件的组合的数据。例如,数据库706可以是存储与本公开一致的存储数据的内存、常规数据库或另一类型的数据库。在一些实施例中,根据计算机702的特定需要、期望或特定实施例以及所描述的功能,数据库706可以是两个或更多个不同数据库类型的组合(例如,混合内存和常规数据库)。尽管被示为单个数据库706,但是可以根据计算机702的特定需求、期望或特定实施例以及所描述的功能来使用相似或不同类型的两个或更多个数据库。尽管数据库706被示为计算机702的集成组件,但在替代实施例中,数据库706可以在计算机702的外部。作为示例,数据库706可以包括上述CFR算法的遗憾值715和策略716。
计算机702还包括存储器707,该存储器707可以保存用于计算机702的数据、通信地链接到网络730的另一组件(无论是否示出)的数据、或者计算机702和另一组件的组合的数据。存储器707可以存储与本公开一致的任何数据。在一些实施例中,根据计算机702的特定需要、期望或特定实施例以及所描述的功能,存储器707可以是两种或更多种不同类型的存储器的组合(例如,半导体和磁存储设备的组合)。尽管被示为单个存储器707,但是可以根据计算机702的特定需求、期望或特定实施例以及所描述的功能来使用相似或不同类型的两个或更多个存储器707。尽管存储器707被示为计算机702的集成组件,但在替代实施例中,存储器707可以在计算机702的外部。
应用708是算法软件引擎,其提供根据计算机702的特定需要、期望或特定实施例的功能,特别是关于本公开中描述的功能。例如,应用708可以用作一个或多个组件、模块或应用。此外,尽管被示为单个应用708,但是应用708可以被实现为计算机702上的多个应用708。另外,尽管被示为与计算机702集成,但是在替代实施例中,应用708可以在计算机702的外部。
计算机702还可以包括电源714。电源714可包括可被配置为用户可更换的可充电电池或用户不可更换的不可充电电池。在一些实施例中,电源714可以包括功率转换或管理电路(包括充电、备用或另一电源管理功能)。在一些实施例中,电源714可以包括电源插头,以允许将计算机702插入壁式插座或另一电源中,从而例如为计算机702供电或为可充电电池充电。
可以存在与包含计算机702的计算机系统关联或在其外部的任何数量的计算机702,每个计算机702通过网络730进行通信。此外,在不脱离本公开的范围的情况下,术语“客户端”、“用户”或其他适当的术语可以适当地互换使用。此外,本公开预期许多用户可以使用一个计算机702,或者一个用户可以使用多个计算机702。
图8A是根据本文的实施例的装置800a的模块的示例的图示。在一些实施例中,装置800a可以执行用于软件实现应用的计算机实现方法,以生成软件实现应用来生成要在环境中执行的可操作输出,其中,该环境包括由应用支持的应用方以及一个或多个其他参与方。在一些实施例中,该方法用表示不完美信息博弈(IIG)的数据来表示环境、参与方的可能动作以及应用可获得的关于其他参与方的不完美信息,其中,应用通过以迭代的方式(例如,通过执行两次或更多次迭代)执行反事实遗憾最小化(CFR)以在参与方之间的策略交互中进行策略搜索来确定可操作输出。
装置800a可以对应于上述实施例,且装置800a包括以下:获得模块801,用于对于在第(t-1)次迭代中参与方在状态I的多个可能动作中的每个动作a,获得在第(t-1)次迭代中参与方在状态I下的动作a的遗憾值Rt-1(a|I),其中t>=1;第一计算模块802,用于基于遗憾值Rt-1(a|I),根据Rt-1,+γ,β(a|I)=max(Rt-1(a|I),γ)β,计算在第(t-1)次迭代中参与方在状态I下的动作a的参数化遗憾值Rt-1,+γ,β(a|I),其中,γ是非负下限遗憾值,且β大于1;以及确定模块803,用于将第(t)次迭代中参与方在状态I下的动作a的参数化策略σt,+γ,β(a|I)确定为经第(t-1)次迭代中参与方在状态I下的所有多个可能动作的参数化遗憾值的和所归一化的参数化遗憾值Rt-1,+γ,β(a|I)。
在可选实施例中,IIG表示涉及参与方和第二参与方的协作产品服务推荐服务,其中,该参与方对第二参与方的信息具有有限访问权,其中,该参与方的状态包括由第二参与方提供的信息的历史,该参与方的动作包括响应于第二参与方提供的信息的历史的动作,以向客户提供产品服务推荐。
在可选实施例中,其中,0<γ<10-1。
在可选实施例中,其中,1<β<2。
在可选实施例中,装置800a还包括第二计算模块804,用于基于参数化策略σt,+γ,β(a|I),计算第(t)次迭代中参与方在状态I下的动作a的策略σt(a|I)。
在可选实施例中,装置800a还包括输出模块805,用于响应于确定满足收敛条件,输出策略σt(a|I)作为参与方的推荐策略。
在可选实施例中,其中,遗憾值Rt-1(a|I)是基于参数化策略σt-1,+γ,β(a|I)的、在第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾其中,迭代遗憾是基于第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)和第(t-1)次迭代中参与方的状态I的之差计算出的,其中,和是通过基于第(t-1)次迭代中参与方在状态I下的动作a的策略σt-1(a|I)递归地遍历表示两个或更多个参与方之间的策略交互的博弈树计算出的。
在可选实施例中,遗憾值Rt-1(a|I)是第(t-1)次迭代后参与方在状态I下的动作a的累计遗憾,其中,遗憾值Rt-1(a|I)是基于第(t-2)次迭代后参与方在状态I下的动作a的遗憾值Rt-2(a|I)与第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾计算出的,其中,迭代遗憾是基于第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)与第(t-1)次迭代中参与方的状态I的之差计算出的,其中,和是通过基于第(t-1)次迭代中参与方在状态I下的动作a的策略σt-1(a|I)递归地遍历表示两方或更多方之间的策略交互的博弈树计算出的。
在可选实施例中,策略σt(a|I)是第(t)次迭代中参与方在状态I下的动作a的迭代策略其中,迭代策略是基于参数化策略σt,+γ,β(a|I)和第(t-1)次迭代中参与方在状态I下的动作a的迭代策略的加权和计算出的。
在可选实施例中,遗憾值Rt-1(a|I)是基于参数化策略σt-1,+γ,β(a|I)的、第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾其中,迭代遗憾是基于第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)和第(t-1)次迭代中参与方的状态I的之差计算出的,其中,和是通过基于第(t-1)次迭代中参与方在状态I下的动作a的策略σt-1(a|I),递归地遍历表示两方或更多方之间的策略交互的博弈树计算出的。
在先前实施例中所示的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型实施例设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、摄像电话、智能手机、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏机、平板电脑、可穿戴设备,或这些设备的任何组合。
对于装置中每个模块的功能和作用的实施过程,可以参考前述方法中相应步骤的实施过程。为了简单起见,这里省略了细节。
由于装置实施例基本上对应于方法实施例,因此对于相关部分,可以参考方法实施例中的相关描述。前面描述的装置实施例仅仅是示例。被描述为独立部分的模块可以是物理上独立的或者不是物理上独立的,显示为模块的部分可以是物理模块或者不是物理模块,可以位于一个位置,或者可以分布在多个网络模块上。部分或全部模块可基于实际需求来选择,以达到本文的解决方案的目的。本领域的普通技术人员无需创造性的努力即可理解和实现本申请的实施例。
再次参考图8A,图8A可以被解释为示出了数据处理装置的内部功能模块和结构,该数据处理装置用于执行反事实遗憾最小化(CFR),以在两个或更多个玩家之间的策略交互中进行策略搜索。在一些实施例中,两个或更多个玩家之间的策略交互可以由包含两个或更多个玩家的不完美信息博弈(IIG)来建模。在一些实施例中,数据处理装置可以执行用于软件实现应用的计算机实现方法,以生成要在环境中执行的可操作输出,其中该环境包括由应用支持的应用方以及一个或多个其他参与方,该方法利用表示不完美信息博弈(IIG)的数据来表示环境、参与方的可能动作、以及应用可获得的关于其他参与方的不完美信息,其中应用通过以迭代方式执行反事实遗憾最小化(CFR)以在参与方之间的策略交互中进行策略搜索来确定可操作输出。执行主体本质上可以是电子设备,电子设备包括以下:一个或多个处理器以及存储器,该存储器被配置成存储一个或多个处理器的可执行指令。
图8B是根据本文的实施例的装置800b的模块的示例的图示。在一些实施例中,装置800b可以执行用于为软件实现应用生成动作选择方针的计算机实现方法,该软件实现应用在包括受应用支持的执行设备以及一个或多个其他参与方的环境中供在环境中执行动作。
装置800b可以对应于上述实施例,且装置800b包括下述模块:获得模块851,用于在多次迭代中的每次迭代,以及对于当前迭代中执行设备在一个状态下的多个可能动作中的每个动作,其中,执行设备的状态是由执行设备采取的动作的历史导致的,获得前一次迭代中执行设备在该状态下的动作的遗憾值,其中,执行设备在该状态下的动作的遗憾值表示执行设备在该状态采取该动作后的收益与执行设备在该状态的收益之差;计算模块852,用于计算前一次迭代中执行设备在该状态下的动作的参数化遗憾值,其中计算模块包括确定子模块,用于确定非负下限遗憾值和前一次迭代中执行设备在该状态下的动作的遗憾值中的最大值,以及计算子模块,用于通过将确定的最大值增加为它的β次方来计算参数化遗憾值,其中β是大于1的固定值;第一确定模块853,用于根据前一次迭代中执行设备在该状态下的多个可能动作的参数化遗憾值,确定前一次迭代中多个可能动作中的每个的对应归一化遗憾值;第二确定模块854,用于根据归一化遗憾值,确定执行设备在该状态下的动作的参数化动作选择方针;第三确定模块855,用于根据执行设备在该状态下的动作的参数化动作选择方针,确定执行设备在该状态下的动作的动作选择方针,其中,该动作选择方针指定了选择多个可能动作的状态的概率;以及第一控制模块856,用于根据动作选择方针控制执行设备的操作。
在可选实施例中,非负下限遗憾值小于10-1。
在可选实施例中,β小于2。
在可选实施例中,基于当前迭代中执行设备在该状态下的动作的动作选择方针,确定是否满足收敛条件。
在可选实施例中,前一次迭代中执行设备在该状态下的动作的遗憾值是基于前一次迭代中执行设备在该状态下的动作的第一反事实值(CFV)和前一次迭代中执行设备在该状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于前一次迭代中执行设备在该状态下的动作的动作选择方针,递归地遍历表示环境的博弈树计算出的。
在可选实施例中,又如,前一次迭代中执行设备在该状态下的动作的遗憾值是基于在前一次迭代之前的一次迭代后执行设备在该状态下的动作的遗憾值计算出的累计遗憾,以及基于前一次迭代中执行设备在该状态下的动作的第一反事实值(CFV)与前一次迭代中执行设备在该状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于前一次迭代中执行设备在该状态下的动作的动作选择方针,递归地遍历表示环境的博弈树计算出的。
在可选实施例中,当前迭代中执行设备在该状态下的动作的动作选择方针是从第一次迭代到当前迭代的平均动作选择方针,其中,当前迭代中执行设备在该状态下的动作的平均动作选择方针是基于经当前迭代中执行设备的状态的对应到达概率加权的、执行设备在该状态下的动作的参数化动作选择方针确定的。
在可选实施例中,当前迭代中执行设备在该状态下的动作的动作选择方针是当前迭代中执行设备在该状态下的动作的迭代动作选择方针,其中,当前迭代中执行设备在该状态下的动作的迭代动作选择方针是基于当前迭代中执行设备在该状态下的动作的参数化动作选择方针与前一次迭代中执行设备在该状态下的动作的迭代动作选择方针的加权和确定的。
在先前实施例中所示的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型实施例设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、摄像电话、智能手机、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏机、平板电脑、可穿戴设备,或这些设备的任何组合。
对于装置中每个模块的功能和作用的实施过程,可以参考前述方法中相应步骤的实施过程。为了简单起见,这里省略了细节。
由于装置实施例基本上对应于方法实施例,因此对于相关部分,可以参考方法实施例中的相关描述。前面描述的装置实施例仅仅是示例。被描述为独立部分的模块可以是物理上独立的或者不是物理上独立的,显示为模块的部分可以是物理模块或者不是物理模块,可以位于一个位置,或者可以分布在多个网络模块上。部分或全部模块可基于实际需求来选择,以达到本文的解决方案的目的。本领域的普通技术人员无需创造性的努力即可理解和实现本申请的实施例。
再次参考图8B,图8B可被解释为示出数据处理装置的内部功能模块和结构,该数据处理装置用于为软件实现应用生成动作选择方针,该软件实现应用在包括由应用支持的执行设备以及一个或多个其他参与方的环境中执行动作。执行主体本质上可以是电子设备,电子设备包括以下:一个或多个处理器以及存储器,该存储器被配置成存储一个或多个处理器的可执行指令。
本文中描述的技术产生一种或多种技术效果。在一些实施例中,所描述的技术可以由执行设备执行,以生成动作选择方针,从而在包括执行设备以及一个或多个其他设备的环境中完成任务。在一些实施例中,所描述的技术可以确定软件实现应用的动作选择方针,该软件实现应用在包括由应用支持的执行设备以及一个或多个其他参与方的环境中执行动作。在一些实施例中,所描述的技术可被用于自动控制、机器人或涉及动作选择的任何其他应用中。
在一些实施例中,所描述的采样技术可以帮助以更有效的方式找到例如资源分配、产品/服务推荐、网络攻击预测和/或预防、交通路线规划、欺诈管理等的现实场景的更好策略,所述策略可以由各参与方之间的策略交互(例如,涉及两个或更多个参与方的IIG)来建模或表示。在一些实施例中,所描述的技术可以提高反事实遗憾最小化(CFR)算法在寻找纳什(Nash)均衡以求解代表一个或多个现实场景的博弈时的收敛速度。在一些实施例中,所描述的技术可以在寻找由IIG建模的现实场景的最佳策略时提高计算效率并减少CFR算法的计算负荷,例如,在针对CFR算法的每次迭代更新策略和遗憾值时,通过使用增量策略,而不是累计遗憾或平均策略。在一些实施例中,所公开的流式CFR算法可以节省存储空间并提供更快的收敛。例如,所公开的流式CFR算法可以仅需要现有CFR算法所需的存储空间的量的一半,同时收敛到由原始CFR产生的可比较结果。公开的流式CFR算法可以被用于大型博弈,即使有存储限制。
在一些实施例中,所公开的PRM算法可以减少CFR算法的计算负荷并通过引入非负下限遗憾值γ提供更快的收敛,以减小或消除策略被计算为零的情况的概率。在一些实施例中,所公开的PRM算法可以节省原始RM将累计遗憾从负数变为正数所需的迭代次数。在一些实施例中,所公开的PRM算法参数可以通过引入归一化大小参数β进一步提高收敛,以控制归一化并改变每个累计遗憾的大小。在一些实施例中,所公开的PRM算法可以用于原始CFR、MCCFR、流式CFR或任何使用RM算法的其他类型的算法。
所描述的主题的实施例可以单独地或组合地包括一个或多个特征。
例如,在第一实施例中,一种用于软件实现应用的计算机实现方法,以生成在环境中执行的可操作输出,其中,该环境包括受该应用支持的应用方以及一个或多个其他参与方,该方法用表示不完美信息博弈(IIG)的数据来表示该环境、参与方的可能动作以及应用可获得的关于其他参与方的不完美信息,其中,应用通过以迭代方式执行反事实遗憾最小化(CFR)以在参与方之间的策略交互中进行策略搜索来确定可操作输出,其中,执行CFR包括:在两次或更多次迭代中的第t次迭代,其中t>=1,对于第(t-1)次迭代中参与方在状态I下的多个可能动作中的每个动作a,获得第(t-1)次迭代中参与方在状态I下的动作a的遗憾值Rt-1(a|I);基于遗憾值Rt-1(a|I),根据Rt-1,+γ,β(a|I)=max(Rt-1(a|I),γ)β,计算第(t-1)次迭代中参与方在状态I下的动作a的参数化遗憾值Rt-1,+γ,β(a|I),其中,γ是非负下限遗憾值,且β大于1;将第(t)次迭代中参与方在状态I下的动作a的参数化策略σt,+γ,β(a|I)确定为经第(t-1)次迭代中参与方在状态I下的所有多个可能动作的参数化遗憾值之和所归一化的参数化遗憾值Rt-1,+γ,β(a|I)。
上述和其他所描述的实施例可以各自可选地包括一个或多个以下特征:
第一特征,与以下特征中的任一个特征可组合的,其中,IIG表示涉及参与方和第二参与方的协作产品服务推荐服务,其中,该参与方对第二参与方的信息具有有限访问权,其中,该参与方的状态包括由第二参与方提供的信息的历史,该参与方的动作包括响应于第二参与方提供的信息的历史的动作,以向客户提供产品服务推荐。
第二特征,与以下特征中的任一个特征可组合的,其中,0<γ<10-1。
第三特征,与以下特征中的任一个特征可组合的,其中,1<β<2。
第四特征,与以下特征中的任一个特征可组合的,其中,还包括:基于参数化策略σt,+γ,β(a|I),计算第(t)次迭代中参与方在状态I下的动作a的策略σt(a|I)。
第五特征,与以下特征中的任一个特征可组合的,其中,还包括:响应于在第(t)次迭代后确定满足收敛条件,输出策略σt(a|I)作为参与方的推荐策略。
第六特征,与以下特征中的任一个特征可组合的,其中,策略σt(a|I)是基于经第t次迭代中参与方的状态I的到达概率所加权的参数化策略σt,+γ,β(a|I)的、从第一次迭代到第(t)次迭代中参与方在状态I下的动作a的平均策略
第七特征,与以下特征中的任一个特征可组合的,其中,遗憾值Rt-1(a|I)是基于参数化策略σt-1,+γ,β(a|I)的、在第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾其中,迭代遗憾是基于第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)和第(t-1)次迭代中参与方的状态I的之差计算出的,其中,和是通过基于第(t-1)次迭代中参与方在状态I下的动作a的策略σt-1(a|I)递归地遍历表示两个或更多个参与方之间的策略交互的博弈树计算出的。
第八特征,与以下特征中的任一个特征可组合的,其中,遗憾值Rt-1(a|I)是第(t-1)次迭代后参与方在状态I下的动作a的累计遗憾,其中,遗憾值Rt-1(a|I)是基于第(t-2)次迭代后参与方在状态I下的动作a的遗憾值Rt-2(a|I)与第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾计算出的,其中,迭代遗憾是基于第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)与第(t-1)次迭代中参与方的状态I的之差计算出的,其中 和是通过基于第(t-1)次迭代中参与方在状态I下的动作a的策略σt-1(a|I)递归地遍历表示两方或更多方之间的策略交互的博弈树计算出的。
第九特征,与以下特征中的任一个特征可组合的,其中,策略σt(a|I)是第(t)次迭代中参与方在状态I下的动作a的迭代策略其中,迭代策略是基于参数化策略σt,+γ,β(a|I)和第(t-1)次迭代中参与方在状态I下的动作a的迭代策略的加权和计算出的。
第十特征,与以下特征中的任一个特征可组合的,其中,遗憾值Rt-1(a|I)是基于参数化策略σt-1,+γ,β(a|I)的、第(t-1)次迭代中参与方在状态I下的动作a的迭代遗憾其中,迭代遗憾是基于第(t-1)次迭代中参与方在状态I下的动作a的反事实值(CFV)和第(t-1)次迭代中参与方的状态I的之差计算出的,其中,和是通过基于第(t-1)次迭代中参与方在状态I下的动作a的策略σt-1(a|I),递归地遍历表示两方或更多方之间的策略交互的博弈树计算出的。
在第二实施例中,一种执行设备的计算机实现方法,用于生成动作选择方针,以在包括执行设备以及一个或多个其他设备的环境中完成任务,该方法包括:在多次迭代中的每次迭代,以及对于当前迭代中执行设备在一个状态下的多个可能动作中的每个动作,其中,执行设备的状态是由执行设备采取的动作的历史导致的,获得前一次迭代中执行设备在该状态下的动作的遗憾值,其中,执行设备在该状态下的动作的遗憾值表示执行设备在该状态下采取该动作后的收益与执行设备在该状态下的收益之差;以及计算前一次迭代中执行设备在该状态下的动作的参数化遗憾值,包括:确定非负下限遗憾值和前一次迭代中执行设备在该状态下的动作的遗憾值中的最大值;通过将确定的最大值增加为它的β次方来计算参数化遗憾值,其中β是大于1的固定值;根据前一次迭代中执行设备在该状态下的多个可能动作的参数化遗憾值,确定前一次迭代中多个可能动作中的每个的对应归一化遗憾值;根据归一化遗憾值,确定执行设备在该状态下的动作的参数化动作选择方针;根据执行设备在该状态下的动作的参数化动作选择方针,确定执行设备在该状态下的动作的动作选择方针,其中,该动作选择方针指定了选择多个可能动作的状态的概率;以及根据动作选择方针控制执行设备的操作。
上述和其他所描述的实施例可以各自可选地包括一个或多个以下特征:
第一特征,与以下特征中的任一个特征可组合的,其中,非负下限遗憾值小于10-1。
第二特征,与以下特征中的任一个特征可组合的,其中,β小于2。
第三特征,与以下特征中的任一个特征可组合的,其中,基于当前迭代中执行设备在该状态下的动作的动作选择方针,确定是否满足收敛条件。
第四特征,与以下特征中的任一个特征可组合的,其中,前一次迭代中执行设备在该状态下的动作的遗憾值是基于前一次迭代中执行设备在该状态下的动作的第一反事实值(CFV)和前一次迭代中执行设备在该状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于前一次迭代中执行设备在该状态下的动作的动作选择方针,递归地遍历表示环境的博弈树计算出的。
第五特征,与以下特征中的任一个特征可组合的,其中,前一次迭代中执行设备在该状态下的动作的遗憾值是基于在前一次迭代之前的一次迭代后执行设备在该状态下的动作的遗憾值计算出的累计遗憾,以及基于前一次迭代中执行设备在该状态下的动作的第一反事实值(CFV)与前一次迭代中执行设备在该状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于前一次迭代中执行设备在该状态下的动作的动作选择方针,递归地遍历表示环境的博弈树计算出的。
第六特征,与以下特征中的任一个特征可组合的,其中,当前迭代中执行设备在该状态下的动作的动作选择方针是从第一次迭代到当前迭代的平均动作选择方针,其中,当前迭代中执行设备在该状态下的动作的平均动作选择方针是基于经当前迭代中执行设备的状态的对应到达概率加权的、执行设备在该状态下的动作的参数化动作选择方针确定的。
第七特征,与以下特征中的任一个特征可组合的,其中,当前迭代中执行设备在该状态下的动作的动作选择方针是当前迭代中执行设备在该状态下的动作的迭代动作选择方针,其中,当前迭代中执行设备在该状态下的动作的迭代动作选择方针是基于当前迭代中执行设备在该状态下的动作的参数化动作选择方针与前一次迭代中执行设备在该状态下的动作的迭代动作选择方针的加权和确定的。
在本文中描述的主题的实施例以及动作和操作可以以数字电子电路、有形实现的计算机软件或固件、计算机硬件(包括本文中公开的结构及其结构等同物)、或者它们中的一个或多个的组合实现。本文中描述的主题的实施例可以实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上,用于由数据处理装置执行或控制数据处理装置的操作。例如,计算机程序载体可以包括具有编码在其上或者存储在其上的指令的一个或多个计算机存储介质。载体可以是有形的非暂态计算机可读介质,诸如磁盘、磁光盘或者光盘、固态驱动器、随机存储区存储器(RAM)、只读存储器(ROM)、或者其他类型的介质。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电信号、光信号或电磁信号,其被生成来编码信息用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序,也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎性语言、说明或程序性语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由数据通信网络互联的在一个或多个位置的一台或多台计算机。
计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。
用于执行计算机程序的处理器包括例如通用微处理器和专用微处理器以及任何种类的数字计算机的任一个或多个处理器。通常,处理器将从耦接至该处理器的非暂态计算机可读介质接收用于执行的计算机程序的指令以及数据。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或者多处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。
本文中描述的过程和逻辑流程可通过一台或多台计算机或处理器执行一个或多个计算机程序来进行,以通过对输入数据进行运算并生成输出进行操作。过程和逻辑流程也可以由例如FPGA、ASIC、GPU等的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用或专用微处理器或者两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机还将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如磁盘、磁光盘或光盘、固态驱动器、或者任何其他类型的非暂态计算机可读介质。但是,计算机不需要具有这样的设备。因此,计算机可以耦接至一个或多个存储设备,诸如本地和/或远程的一个或多个存储器。例如,计算机可以包括作为计算机的组成部件的一个或多个本地存储器,或者计算机可以耦接至处于云网络中的一个或多个远程存储器。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
组件可以通过诸如直接或经由一个或多个中间组件彼此交互性地电连接或光学连接而彼此耦接。如果一个组件集成到另一个组件中,部件也可以耦接至彼此。例如,集成到处理器(例如,L2缓存组件)中的存储组件耦接至处理器。
为了提供与用户的交互,本文中描述的主题的实施例可以在计算机上实现或配置为与该计算机通信,该计算机具有:显示设备,例如,LCD(液晶显示器)监视器,用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用(app)进行交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息并接收来自用户的响应消息来与用户交互。
本文使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
虽然本文包含许多具体实施细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文中在多个单独实施例的上下文中描述的多个特定特征也可以在单个实施例中组合地实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在一些情况下,多任务并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或者打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (10)
1.一种执行设备的计算机实现的方法,用于生成动作选择方针,以在包括所述执行设备以及一个或多个其他设备的环境中完成任务,所述方法包括:
在多次迭代中的每次迭代,以及对于当前迭代中所述执行设备在一种状态下的多个可能动作中的每个动作,其中,所述执行设备的所述状态是由所述执行设备采取的动作的历史导致的,
获得前一次迭代中所述执行设备在所述状态下的所述动作的遗憾值,其中,所述执行设备在所述状态下的所述动作的遗憾值表示所述执行设备在所述状态下采取所述动作的收益与所述执行设备在所述状态下的收益之差;以及
计算所述前一次迭代中所述执行设备在所述状态下的所述动作的参数化遗憾值,包括:
确定非负下限遗憾值和所述前一次迭代中所述执行设备在所述状态下的所述动作的遗憾值中的最大值,以及
通过将所述确定的最大值增加为它的β次方来计算参数化遗憾值,其中β是大于1的固定值;
根据所述前一次迭代中所述执行设备在所述状态下的所述多个可能动作的参数化遗憾值,确定所述前一次迭代中所述多个可能动作中的每个动作的对应归一化遗憾值;
根据所述归一化遗憾值,确定所述执行设备在所述状态下的所述动作的参数化动作选择方针;
根据所述执行设备在所述状态下的所述动作的参数化动作选择方针,确定所述执行设备在所述状态下的所述动作的动作选择方针,其中,所述动作选择方针指定了选择所述多个可能动作的所述状态的概率;以及
根据所述动作选择方针控制所述执行设备的操作。
2.根据前述任一权利要求所述的方法,其中,所述非负下限遗憾值小于10-1。
3.根据前述任一权利要求所述的方法,其中,β小于2。
4.根据前述任一权利要求所述的方法,还包括基于所述当前迭代中所述执行设备在所述状态下的所述动作的动作选择方针,确定是否满足收敛条件。
5.根据权利要求1至4中任一项所述的方法,其中,所述前一次迭代中所述执行设备在所述状态下的所述动作的遗憾值是基于前一次迭代中所述执行设备在所述状态下的所述动作的第一反事实值CFV和所述前一次迭代中所述执行设备在所述状态下的第二CFV之差计算出的迭代累计遗憾,其中,所述第一CFV和所述第二CFV是通过基于所述前一次迭代中所述执行设备在所述状态下的所述动作的动作选择方针递归地遍历表示所述环境的博弈树计算出的。
6.根据权利要求1至4中任一项所述的方法,其中,所述前一次迭代中所述执行设备在所述状态下的所述动作的遗憾值是基于在所述前一次迭代之前的一次迭代后所述执行设备在所述状态下的所述动作的遗憾值计算出的累计遗憾,以及基于所述前一次迭代中所述执行设备在所述状态下的所述动作的第一反事实值CFV与所述前一次迭代中所述执行设备在所述状态下的第二CFV之差计算出的迭代累计遗憾,其中,第一CFV和第二CFV是通过基于所述前一次迭代中所述执行设备在所述状态下的所述动作的动作选择方针,递归地遍历表示所述环境的博弈树计算出的。
7.根据权利要求1至4中任一项所述的方法,其中,所述当前迭代中所述执行设备在所述状态下的所述动作的动作选择方针是从第一次迭代到所述当前迭代的平均动作选择方针,其中,所述当前迭代中所述执行设备在所述状态下的所述动作的平均动作选择方针是基于经所述当前迭代中所述执行设备的所述状态的对应到达概率加权的、所述执行设备在所述状态下的所述动作的参数化动作选择方针确定的。
8.根据权利要求1至4中任一项所述的方法,其中,所述当前迭代中所述执行设备在所述状态下的所述动作的动作选择方针是所述当前迭代中所述执行设备在所述状态下的所述动作的迭代动作选择方针,其中,所述当前迭代中所述执行设备在所述状态下的所述动作的迭代动作选择方针是基于所述当前迭代中所述执行设备在所述状态下的所述动作的参数化动作选择方针与所述前一次迭代中所述执行设备在所述状态下的所述动作的迭代动作选择方针的加权和确定的。
9.一种执行用于生成动作选择方针的软件实现应用的系统,用于在包括执行设备以及一个或多个其他设备的环境中完成任务,所述系统包括:
一个或多个处理器;以及
一个或多个计算机可读存储器,耦接到所述一个或多个处理器且其上存储有指令,所述指令能够被所述一个或多个处理器执行以执行权利要求1至8中任一项所述的方法。
10.一种用于生成动作选择方针的装置,用于在包括执行设备以及一个或多个其他设备的环境中完成任务,所述装置包括用于执行权利要求1至8中任一项所述的方法的多个模块。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/086993 WO2020227958A1 (en) | 2019-05-15 | 2019-05-15 | Determining action selection policies of execution device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112292696A true CN112292696A (zh) | 2021-01-29 |
Family
ID=70972993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980040669.4A Pending CN112292696A (zh) | 2019-05-15 | 2019-05-15 | 确定执行设备的动作选择方针 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10675537B1 (zh) |
CN (1) | CN112292696A (zh) |
SG (1) | SG11202001804QA (zh) |
WO (1) | WO2020227958A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112041875B (zh) * | 2019-12-12 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 确定执行设备的动作选择方针 |
CN112533681A (zh) * | 2020-04-02 | 2021-03-19 | 支付宝(杭州)信息技术有限公司 | 确定执行设备的动作选择方针 |
CN111905373A (zh) * | 2020-07-23 | 2020-11-10 | 深圳艾文哲思科技有限公司 | 一种基于博弈论和纳什均衡的人工智能决策方法及系统 |
CN115450770B (zh) * | 2022-08-15 | 2023-07-07 | 东风柳州汽车有限公司 | 一种基于油耗最优驾驶策略的商用车控制方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140039913A1 (en) | 2012-07-31 | 2014-02-06 | Tuomas W. Sandholm | Medical treatment planning via sequential games |
WO2017026533A1 (ja) | 2015-08-11 | 2017-02-16 | 株式会社フォワードサイエンスラボラトリ | 三重水素吸収材、重水中からの三重水素の分離方法 |
US10057367B2 (en) | 2016-03-02 | 2018-08-21 | Huawei Technologies Canada Co., Ltd. | Systems and methods for data caching in a communications network |
US10176443B2 (en) * | 2016-08-09 | 2019-01-08 | Conduent Business Services, Llc | Method and system for dispatching of vehicles in a public transportation network |
CN106296006A (zh) * | 2016-08-10 | 2017-01-04 | 哈尔滨工业大学深圳研究生院 | 非完备信息博弈中风险与收益均衡的最少遗憾的评估方法 |
US10694526B2 (en) | 2016-09-30 | 2020-06-23 | Drexel University | Adaptive pursuit learning method to mitigate small-cell interference through directionality |
US11138513B2 (en) | 2017-06-13 | 2021-10-05 | Princeton University | Dynamic learning system |
US20190163515A1 (en) | 2017-11-24 | 2019-05-30 | Wipro Limited | Method and system for resolving anomaly events occurring in a virtual environment in real-time |
US20190392309A1 (en) | 2018-06-21 | 2019-12-26 | Denso International America, Inc. | LSTM Training For Neural Network Based Course Of Action Selection |
CN109361482A (zh) * | 2018-09-04 | 2019-02-19 | 中国人民解放军陆军工程大学 | 一种基于非合作博弈确定多用户选择信道感知顺序的方法 |
-
2019
- 2019-05-15 CN CN201980040669.4A patent/CN112292696A/zh active Pending
- 2019-05-15 SG SG11202001804QA patent/SG11202001804QA/en unknown
- 2019-05-15 WO PCT/CN2019/086993 patent/WO2020227958A1/en active Application Filing
- 2019-12-12 US US16/712,092 patent/US10675537B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10675537B1 (en) | 2020-06-09 |
SG11202001804QA (en) | 2020-12-30 |
WO2020227958A1 (en) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157316B1 (en) | Determining action selection policies of an execution device | |
JP7219228B2 (ja) | 当事者の間の戦略的対話における戦略探索 | |
CN112292696A (zh) | 确定执行设备的动作选择方针 | |
US10769544B2 (en) | Sampling schemes for strategy searching in strategic interaction between parties | |
US11204803B2 (en) | Determining action selection policies of an execution device | |
CN112292699A (zh) | 确定执行设备的动作选择方针 | |
CN112470123B (zh) | 确定执行设备的动作选择方针 | |
TWI763120B (zh) | 執行設備的計算機實現的方法、用於執行軟體實現應用的系統和用於為軟體實現應用生成動作選擇方針的裝置 | |
CN112292698A (zh) | 确定执行设备的动作选择方针 | |
TWI770671B (zh) | 用於產生動作選擇方針的方法、用於為軟體實現應用產生動作選擇方針的系統和裝置 | |
TWI757971B (zh) | 確定執行設備的動作選擇方針 |
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 |