様々な図面における同様の参照番号および名称は、同様の要素を示す。
本明細書の実装形態は、たとえば、不完全情報ゲーム(IIG)を解くことによって、当事者の間の戦略的対話における戦略探索のためのコンピュータ実装方法を含む。IIGは、2人以上の当事者(プレーヤとも呼ばれる)を伴う、リソース割振り、製品/サービス推奨、サイバー攻撃予測および/または防止、トラフィックルーティング、不正管理などのような、1つまたは複数の実世界シナリオを表すことができ、各当事者は、他方の当事者の決定についての不十分または不完全な情報を有し得る。より詳細には、本明細書は、IIGを解く際に反事実的後悔最小化(CFR)アルゴリズムを実施するためのサンプリング方式の例について記載し、この方式は、CFRアルゴリズムの収束速度を改善しながら、計算複雑性および分散を低減することができる。本明細書は、ニューラルネットワークを用いて反事実的後悔最小化(CFR)を実施するための技法についても記載し、この技法は、ニューラルネットワークの汎化能力により、メモリ空間を節約し、より速い収束を提供することができる。
ナッシュ均衡は、2人以上のプレーヤを伴う、IIGのための典型的なソリューションである。反事実的後悔最小化(CFR)は、大型ゲームのためのナッシュ均衡を近似的に見つけるように設計されたアルゴリズムである。CFRは、全体としての反事実リグレットを最小限にしようとする。すべての反復における戦略の平均は、ナッシュ均衡に収束するはずであることが証明されている。ゲームを解くとき、元の形でのCFR(オリジナルCFR、標準CFR、バニラCFR、または単にCFRとも呼ばれる)が、各反復においてゲームツリー全体を横断する。したがって、オリジナルCFRは、heads-up no-limit Texas Hold'emなどの、大型のゼロ和展開形ゲーム用には大容量メモリを要求する。いくつかの事例では、オリジナルCFRは、限られたメモリでは大型ゲームを扱うことができない。
反事実リグレットを最小限にするために、モンテカルロCFR(MCCFR)が導入された。MCCFRは、反事実値の公平な推定を計算し、ゲームツリー全体を横断するのを避けることができる。すべての情報集合の部分集合のみが各反復において訪問されるので、MCCFRは、オリジナルCFRよりも小さいメモリを要求する。
MCCFRは、結果サンプリングアルゴリズムまたは外部サンプリングアルゴリズムを用いて実施され得る。MCCFRにおける結果サンプリングアルゴリズムは、大きい分散を有し、より少ない反復ステップにおいて近似ナッシュ均衡解に収束するのは難しい。MCCFRにおける外部サンプリングアルゴリズムは、結果サンプリングアルゴリズムよりも小さい分散を有するが、この方法は、CFRの欠点と同様である。ゲームツリーは、大きいときには、非常に大きいメモリ空間を要求し、複雑な大規模IIGに拡張することができない。
本明細書は、堅牢サンプリング方式を開示する。堅牢サンプリング方式では、各プレーヤは、現在の決定点においてサンプリングするのに、一様サンプリング方法を使い、他方の当事者は、対応する戦略に従ってサンプリングする。異なる反復に対応する到達確率は固定されてよい。堅牢サンプリング方式は、外部サンプリングよりもメモリ効率的でありながら、MCCFRにおける結果サンプリング方式よりも小さい分散を有することが証明され得る。いくつかの実施形態では、堅牢サンプリング方式は、MCCFRに、より速い収束でナッシュ均衡を解かせることができる。
本明細書は、深さ依存サンプリング方式を開示する。深さ依存サンプリング方式は、終端状態から離れた別の状態よりも終端状態に近い(または初期もしくは開始状態により近い)状態に、より高いサンプリング確率を割り振ることができる。いくつかの実施形態では、深さ依存サンプリング方式は、終端状態により近い、より多くの状態をサンプリングさせることができ、IIGのより万遍のない(well-around)情報を提供し、したがって、既存のサンプリング方式と比較して、MCCFRの収束レートを改善することができる。
本明細書は、二重ニューラルCFRアルゴリズムをさらに開示する。CFRおよびMCCFRなど、既存のCFR方法は、すべての情報集合についての累積リグレットおよび平均戦略を記録するのに、2つの大容量表ベースメモリを使う。そのような表による表現は、これらの方法を、限られた時間および空間をもつ大型の展開型ゲームに適用しにくくさせる。
対照的に、二重ニューラルCFRアルゴリズムは、IIGの近似ナッシュ均衡を計算するのに、2つのニューラルネットワークを使う。たとえば、ニューラルネットワークの一方は、累積リグレットを学習するのに使うことができ、他方は、平均戦略プロファイルの累積分子を学習するのに使うことができる。これらの2つのネットワークの助けを受けると、二重ニューラルCFRアルゴリズムは、2つの大容量表ベースメモリを使う必要はない。コンパクトなニューラルネットワークの汎化能力に基づいて、累積リグレットおよび平均戦略が学習され、もたらされ得る。開示する二重ニューラルCFRアルゴリズムは、2つの大容量表メモリの必要なく、より少ない計算負荷を要求する際に、MCCFRの利益を保つことができる。開示する二重ニューラルCFRアルゴリズムは、メモリ制約があっても、大型ゲームにおいて使うことができる。いくつかの実施形態では、二重ニューラル方法は、既存の技法よりも少ない反復で、より低い可搾取量を達成し得る。さらに、いくつかの実施形態では、二重ニューラルCFRは、不十分な表戦略から、初期化の後も絶えず向上し得る。
いくつかの実施形態では、記載する技法は、たとえば、AIポーカー、推奨プラットフォーム、ならびに多くの他のAIおよび機械学習アプリケーションにおいて使うことができる。記載する技法は、モンテカルロ方法を使い、ゲームツリー全体用の変数は要求しない。
いくつかの実施形態では、プレーヤの有限集合N={0,1,...,n-1}をもつ展開型ゲームは、以下のように表され得る。h
v iを、IIGにおけるプレーヤiの隠れた変数と定義する。たとえば、ポーカーゲームにおいて、h
v iは、プレーヤiの非公開カードを指すことができる。Hは、履歴の有限集合を指す。Hの各メンバー
は、可能履歴(または状態)を示し、これは、各プレーヤの隠れた変数と、チャンスを含む、プレーヤによってとられるL個のアクションとを含む。プレーヤiについて、hは、
として示すこともでき、ここで、
は、対戦相手の隠れた変数を指す。空のシーケンスφは、Hのメンバーである。表現
は、h
jがhのプレフィックスであることを示し、ここで、
であり、0<L'<Lである。Z⊆Hは終端履歴を示し、どのメンバー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は、本明細書の実施形態による、1枚ポーカーにおける部分的ゲームツリー102および104の例を示す図100である。1枚ポーカーとは、ポーカーの2プレーヤIIGである。1枚ポーカーは、展開型ゲームの例である。ゲーム規則は、以下のように定義される。各プレーヤは、X枚のカードからなる一組から、1枚のカードを配られる。第1のプレーヤは、パスまたはベットすることができる。第1のプレーヤがベットした場合、第2のプレーヤはコールまたはフォールドすることができる。第1のプレーヤがパスした場合、第2のプレーヤはパスまたはベットすることができる。第2のプレーヤがベットした場合、第1のプレーヤはフォールドまたはコールすることができる。ゲームは、2回のパス、1回のコール、または1回のフォールドで終わる。フォールドプレーヤは、1チップを失うことになる。2回のパスでゲームが終わった場合、より高いカードをもっているプレーヤが1チップを勝ち取る。1回のコールでゲームが終わった場合、より高いカードをもっているプレーヤが2チップを勝ち取る。
ゲームツリーは有向グラフである。ゲームツリーのノードは、ゲームにおける位置(またはプレーヤの状態)を表し、ゲームツリーの辺はゲームのプレーヤの動きまたはアクションを表すことができる。図1において、ziは、終端状態を表す終端ノードを示し、hiは非終端ノードを示す。部分的ゲームツリー102および104の各々は、チャンスを表すルートノードh0を有する。第1の部分ツリー102には19個の別個のノードがあり、左ツリー中の、チャンスh0を含む9つの非終端ノードhiおよび10個の終端ノードziに対応する。
第1の部分ツリー102では、2人のプレーヤ(プレーヤ0およびプレーヤ1)は、左サブツリーにおいて「0:Q 1:J」と示されるように(クイーン、ジャック)を、および右サブツリーにおいて「0:Q 1:K」と示されるように(クイーン、キング)を配られる。
ルートノードから各ノードへの軌線は、アクションの履歴である。アクションは、ゲームツリーの辺(矢印によって示される)の隣の文字(たとえば、F、C、P、およびB)または表現(たとえば、「0:Q 1:J」)によって提示される。文字F、C、P、Bは、それぞれ、フォールド、コール、パス、およびベットを指す。
展開型ゲームにおいて、h
iはアクションの履歴を指す。たとえば、第1の部分ツリー102に示すように、h
3はアクション0:Q、1:JおよびPを含む。h
7は、アクション0:Q、1:J、PおよびBを含む。h
8は、アクション0:Q、1:K、PおよびBを含む。第1の部分ツリー102において、
であり、つまり、h
3はh
7のプレフィックスである。A(h
3)={P,B}は、非終端履歴h
3の後の利用可能アクションの集合がPおよびBであることを示す。P(h
3)=1は、履歴h
3の後にアクションをとるプレーヤがプレーヤ1であることを示す。
IIGでは、プレーヤ1の非公開カードはプレーヤ0には見えず、したがって、h7およびh8は実際には、プレーヤ0にとって同じである。情報集合は、これらの区別されない状態の集合を示すのに使うことができる。同様に、h1およびh2は同じ情報集合の中にある。右部分ツリー104について、h'3およびh'5は、同じ情報集合の中にあり、h'4およびh'6は、同じ情報集合の中にある。
通常、任意のIi∈Iiは、プレーヤiの隠れた変数および公開アクションを含む、プレーヤiによって観察される情報を覚えておくだけでよい。たとえば、第1の部分ツリー102に示すように、h7およびh8の情報集合は、0:Q、P、およびBのシーケンスを示す。h7およびh8は、IIGにおけるプレーヤ0によって区別されないので、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では、2つ以上の状態が同じ情報集合を有する場合、2つ以上の状態は同じ戦略を有する。つまり、∀h1,h2∈Ii、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の任意の戦略
が最適応答である。2人のプレーヤの展開型ゲームに対して、ナッシュ均衡は、各プレーヤの戦略が対戦相手にとって最適応答であるような戦略プロファイル
である。∈ナッシュ均衡は、ナッシュ均衡の近似であり、その戦略プロファイルσ*は、
を満足する。
戦略σ
iの可搾取量は、
と定義され得る。戦略は、∈
i(σ
i)=0である場合、搾取不可能である。ポーカーなどの大型2プレーヤゼロ和ゲームでは、
は、計算するのが困難な場合がある。ただし、プレーヤが位置を交替した場合、ゲームのペアの値はゼロであり、すなわち、
である。戦略プロファイルσの可搾取量は、
と定義され得る。
CFRなどの反復方法に対して、σ
tは、第tの反復における戦略プロファイルを指し得る。履歴hの状態到達確率は、プレーヤがσに従ってアクションをとる場合、π
σ(h)によって示すことができる。空のシーケンスに対して、
である。到達確率は、各プレーヤのコントリビューションに従って、
に分解することができ、ここで、
および
である。
情報集合I
iの到達確率(情報集合到達確率とも呼ばれる)は、
と定義され得る。
である場合、状態h'からhへの間隔状態到達確率は、π
σ(h',h)と定義することができ、したがってπ
σ(h',h)=π
σ(h)/π
σ(h')である。到達確率
、
、
、および
が同様に定義され得る。
大型でゼロ和のIIGにおいて、CFRは、ナッシュ均衡を計算するための効率的方法であると証明されている。1人のプレーヤの状態到達確率は、対戦相手の隠れた変数の事後確率に比例することが証明されており、すなわち、
であり、ここでh
v iおよびI
iはある特定のhを示す。
プレーヤiおよび戦略プロファイルσに対して、状態hにおける反事実値(CFV)v
i σ(h)は、
と定義されてよく、ここで、
は、対戦相手の隠れた変数の近似された事後分布に関する、プレーヤiの予期される報酬である。アクションaをとるアクション反事実値は、v
i σ(a|h)=v
i σ(ha)と示すことができ、このアクションをとるリグレットは、r
i σ(a|h)=v
i σ(a|h)-v
i σ(h)である。
同様に、情報集合I
iのCFVは、
と定義することができ、情報集合I
iを与えられたアクションaのリグレットは、
と定義することができる。
次いで、T回の反復の後のアクションaの累積リグレットは、式(2)
に従って算出することができ、上式で、R
i 0(a|I
i)=0である。R
i T,+(a|I
i)=max(R
i T(a|I
i),0)と定義すると、T+1反復における現在の戦略(または挙動戦略)は、たとえば、以下の式(3)に従って、リグレットマッチングに基づいて更新され得る。
反復1からTまでの平均戦略
は、
と定義することができ、上式で、
は、第tの反復におけるI
iの情報集合到達確率を示し、対応する現在の戦略
を重み付けするのに使われる。
を反復tにおける追加分子と定義すると、平均戦略
の累積分子は、
と定義することができ、上式で、S
0(a|I
i)=0である。
ゲームを解くとき、オリジナルCFRは、各反復においてゲームツリー全体を横断する。これにより、オリジナルCFRは、限られたメモリでは大型ゲームを扱うことができない。反事実リグレットを最小限にするために、モンテカルロCFR(MCCFR)が導入された。MCCFRは、反事実値の公平な推定を計算し、ゲームツリー全体を横断するのを避けることができる。すべての情報集合の部分集合のみが各反復において訪問されるので、MCCFRは、オリジナルCFRよりも小さいメモリを要求する。
たとえば、Q={Q1,Q2,...,Qm}を定義し、ここで、Qj∈Zは、Qjが集合Zに広がるような、各反復におけるサンプリング終端履歴のブロックである。概して、異なるQjは、指定されたサンプリング方式に従って重複を有し得る。いくつかのサンプリング方式が使われてよい。
図2は、本明細書の実施形態による異なるサンプリング方式の例を示す図200である。具体的には、サブプロットAは、ゲームツリーの外部サンプリング方式202の例を示し、サブプロットBは、ゲームツリーの結果サンプリング方式204の例を示し、サブプロットCは、ゲームツリーの堅牢サンプリング方式206の例を示す。
図2に示すように、円はプレーヤ0ノードを表し、矩形はプレーヤ1ノードを表し、三角形はチャンスノードを表す。実線の辺または矢印は、サンプリングされるアクションを提示し、破線の辺または矢印は、サンプリングされないアクションを提示する。影付きノードは、サンプリングされるノードを提示し、ブランクノードは、サンプリングされないノードを提示する。
プレーヤ0の更新を一例としてとると、サブプロットAに示す外部サンプリング方式202を用いて、プレーヤ0ノードは、プレーヤ0ノードのすべての分岐を横断し、非プレーヤ0ノード(たとえば、プレーヤ1ノードおよびチャンスノード)は、対応するサンプリング戦略に従って、分岐をランダムにサンプリングする。
結果サンプリング方式は、異なるプレーヤを区別しない。サブプロットBに示すように、結果サンプリング方式204は、対応するサンプリング戦略に従って、すべてのプレーヤについて、1つの分岐をランダムにサンプリングする。したがって、結果サンプリング方式の下では、ただ1つの軌線がサンプリングされることになる。
サブプロットCに示すように、堅牢サンプリング方式206は、プレーヤ0についての一様分布に従って、k個の分岐をランダムに選択し、対応するサンプリング戦略に従って、非プレーヤ0ノードについての1つの分岐に対してランダムサンプリングを実施する。kの値を変えることによって、堅牢サンプリング方式は、たとえば、実際のメモリ必要性またはシステム仕様に依存して、複数の経路、または単一の経路をサンプリングすることができる。外部サンプリング方式とは異なり、堅牢サンプリング方式は、すべての可能アクションの知識および現在のプレーヤiの決定点における変数を毎回要求するわけではない。
いくつかの実施形態では、外部サンプリングおよび結果サンプリング方式において、各ブロックQ
j∈QはZの分割を表す。q
Qjを、ブロックQ
jを検討する確率と定義し、ここで、
である。
を、特定の終端履歴zを検討する確率と定義する。いくつかの実施形態では、バニラCFRは、MCCFRの特殊ケースと見なすことができ、Q={Z}は、1つのブロックを含むだけであり、q
Q1=1である。
結果サンプリング方式では、∀Qj∈Q、|Qj|=1および|Qj|=|Z|となるように、ただ1つの軌線がサンプリングされることになる。情報集合Iiについて、反事実値のサンプル推定値は、
である。
MCCFRにおけるサンプリング反事実値は、CFR:
における実際の反事実値の公平な推定であることが証明されている。
σ
rsをサンプリング戦略プロファイルとして定義し、ここで、
は、プレーヤiについてのサンプリング戦略であり、
は、プレーヤiを除くプレーヤについてのサンプリング戦略である。いくつかの実施形態では、外部サンプリングと結果サンプリングの両方について、
である。サンプリングされたアクションa∈A(I
i)のリグレットは、
と定義することができ、ここで、
は、
によって重み付けられた新規効用である。T回の反復の後のアクションaの累積リグレットについてのサンプル推定値は、
と定義することができる。
堅牢サンプリングに対して、サンプリングプロファイルは、
と定義することができ、ここで、プレーヤiは、各情報集合I
iについてのサンプリング戦略
に従って、k個のアクションをランダムに選択することができ、他のプレーヤは、戦略σ
-iに従って1つのアクションをランダムに選択することができる。
いくつかの実施形態では、プレーヤiが、情報集合I
iにおける離散一様分布unif(0,|A(I
i)|)に従ってmin(k,|A(I
i)|)個のアクションをランダムに選択した、つまり、
である場合、サンプリング戦略またはプロファイル
に従ってアクションをプレーヤiがとった場合の情報集合I
iの到達確率は、
によって算出することができ、重み付き効用
は、サンプリングプロファイルσ
rs(k)を与えられた場合の各反復における定数であってよく、低分散を有する。さらに、重み付き効用は、対戦相手の戦略の明示的知識をそれ以上要求しないので、堅牢サンプリングが、オンラインリグレット最小化のために使われ得る。
表記を簡素化するために、k=maxはk=max
Ii∈I|A(I
i)|を指すものとする。k=maxであり、プレーヤiが情報集合I
iにおける離散一様分布unif(0,|A(I
i)|)、∀
i∈N、∀I
i∈L
i、∀
a∈A(I
i)、
に従ってk個のアクションをランダムに選択する場合、堅牢サンプリングは、k=max
Ii∈I|A(I
i)|であるときの外部サンプリングと同様であってよい。
k=1および
であり、ただ1つの履歴zがこのケースにおいてサンプリングされる場合、
である。
アクションaが状態hにおいてサンプリングされない、すなわち、
である場合、リグレットは、
である。この場合、堅牢サンプリングは、k=1および
であるときの結果サンプリングと同様である。
k=1であり、プレーヤiが、情報集合I
iにおける離散一様分布unif(0,|A(I
i)|)に従って1つのアクションをランダムに選択する場合、堅牢サンプリングは結果サンプリングと同様であってよい。たとえば、k=1であり、プレーヤiが、情報集合I
iにおける離散一様分布unif(0,|A(I
i)|)に従って1つのアクションをランダムに選択する場合、
は定数であり、∃h∈I
iであり、a∈A
rs(k)(I
i)に対して、
である。
アクションaが状態hにおいてサンプリングされない、すなわち、
である場合、リグレットは、
である。結果サンプリングと比較して、この場合の堅牢サンプリングは、定数
により、より低い分散を有する。
図3は、本明細書の実施形態による、堅牢サンプリングMCCFRの例の擬似コード300である。擬似コード300の行1〜5に示すように、全体としての堅牢サンプリングMCCFRは、反復の総数、すなわちt個の入力をもつ反復アルゴリズムである。各反復t内で、関数堅牢サンプリングMCCFR(RS-MCCFR)が、累積リグレットRt(・|Ii)および平均戦略分子St(a|Ii)を更新するために、プレーヤ0およびプレーヤ1に対して呼び出される(行3および4に示すように)。関数RS-MCCFRは、擬似コード300の行6〜30に示すように定義され得る。関数RS-MCCFRは、各情報集合の反事実値を出力として戻す。いくつかの実施形態では、反事実値は、反事実リグレットを算出するのに使われ得る。したがって、累積リグレットおよび時間平均戦略が相応して取得され得る。
具体的には、関数RS-MCCFRは、図2に関連して上述したように、堅牢サンプリング方式に従ってアクションをサンプリングする。擬似コード300の行16に示すように、k個の異なるアクションが、堅牢サンプリング戦略
に従って、A
rs(k)(I
i)としてサンプリングされ、収集され得る。
いくつかの実施形態では、深さ依存サンプリング方式が、ゲームツリーによって表される、ゲームの、より偏りのない、または万遍のない情報を提供するのに使われ得る。たとえば、サンプリング戦略
は、ゲームツリーにおける状態hの深さの関数であり得る。たとえば、サンプリング戦略
は、終端状態により近い状態が、初期状態(たとえば、ゲームツリーのルートによって表される)により近い状態よりも高い、サンプリングされる確率を有するように設計されてよい。一例として、深さ依存サンプリング方式は、異なる深さをもつ異なる状態のサンプリング確率に異なる重みを適用することによって実装され得る。そのような深さ依存サンプリングは、終端状態により近い状態についてのより多くの情報を提供するのを助けることができ、これは、通常、初期状態により近いものよりも多くの、終端状態により近い状態があり(たとえば、ゲームツリーの分岐構造により)、これらのノードは、既存のサンプリング方式の下では、サンプリングされた軌線中のルートノードにより近いノードよりも低い、サンプリングされるチャンスを有するので、有利であり得る。
いくつかの実施形態では、深さ依存サンプリング方式は、堅牢サンプリング、結果サンプリング、外部サンプリング、またはどの他の適切なサンプリングアルゴリズムとの組合せでも使われ得る。たとえば、深さ依存サンプリング方式は、堅牢サンプリング、結果サンプリング、および外部サンプリングのいずれかの分散および収束速度をさらに改善することができるが、それは、後者の3つのサンプリング方式は、プレーヤの状態の異なるアクション(たとえば、ゲームツリーのノードの異なる分岐によって表される)の中で、水平サンプリングにより焦点を合わせるからである。
図4は、本明細書の実施形態による、ゲームツリー410に適用される二重ニューラルCFRアルゴリズムの例400を示す図である。二重ニューラルCFRアルゴリズム400は、ゲームツリー410によって表されるようなIIGの近似ナッシュ均衡を計算するのに、2つのニューラルネットワーク420および430を使う。図4に示すように、一方のニューラルネットワーク420が、累積リグレットを取得するために使われ、RegretSumNetwork(RSN)と呼ばれる。他方のニューラルネットワーク430は、平均戦略を取得するために使われ、AveStrategyNetwork(ASN)と呼ばれる。
いくつかの実施形態では、CFRアルゴリズムの反復更新は、2つの戦略、すなわち、現在の戦略σ
i t(a|I
i)、および∀i∈N、∀I
i∈I
i、∀a∈A(I
i)、∀t∈{1,...,T}に対する平均戦略
を維持する。したがって、2つのニューラルネットワーク420および430は、それぞれ、これらの2つの戦略を反復方式で記録するように設計され得る。いくつかの実施形態では、ニューラルネットワークが、各反復において新たな追加サンプルに基づいてトレーニングまたは最適化されるので、二重ニューラルCFRアルゴリズムの例400は、二重増分CFRアルゴリズムと呼ばれる場合がある。
式(3)によると、現在の戦略σ
t+1(a|I
i)は、累積リグレットR
t(a|I
i)によって計算され得る。いくつかの実施形態では、戦略が使われるとき、分母における正規化は容易に計算され得るので、式(3)における分子のみが追跡される。情報集合I
iおよびアクションaが与えられると、
として示されるニューラルネットワークRSN420は、R
t(a|I
i)を学習するのに使うことができ、ここで、
は、第tの反復におけるRSN420中のパラメータである。
図4に示されるように、メモリ
404は、
と定義され得る。
の各メンバーは、訪問された情報集合I
iおよび対応するリグレット
を含んでよく、ここで、Q
jは、第tの反復におけるサンプリングされたブロックである。式(2)によると、
は、以下の最適化、すなわち
を使って推定され得る。式(4)によると、近似ナッシュ均衡は、T回の反復にわたる、すべての前の戦略の重み付き平均である。累積リグレットと同様、
として示される別のニューラルネットワークASN430が、平均戦略の分子を学習するのに使われ得る。別のメモリ
406を、
と定義する。
の各メンバーは、訪問された情報集合I
iおよび
の値を含んでよく、ここで、Q
jは、第tの反復におけるサンプリングされたブロックである。次いで、ASN430のパラメータ
が、以下の公式によって推定され得る。
いくつかの実施形態では、各反復において、
と
の両方が、以下で図7に関して記載するミニバッチ確率論的勾配降下方法などの勾配降下方法に従って式(7)および式(8)における目標を最適化することによって最適化され得る。
いくつかの実施形態では、複数の反復において、
を集約し、保存するのに大きいメモリが利用可能である場合、平均戦略は、各反復において更新する必要はない。メモリ
が満杯である場合、増分値は、式(8)を最適化することによって学習され得る。
いくつかの実施形態では、各反復において、情報集合の小さい部分集合のみがサンプリングされ、これは、ニューラルネットワークRSN420およびASN430が、観察されないか、またはサンプリングされない情報集合の値を忘れることにつながり得る。この問題に対処するために、前の反復からのニューラルネットワークパラメータが現在の反復の初期化として使われてよく、これは、更新にオンライン学習/適応特質を与える。さらに、ニューラルネットワークの汎化能力により、少数の情報集合からのサンプルさえも、新たなニューラルネットワークを更新するのに使うことができ、新たに更新されたニューラルネットワークは、累積リグレットおよび平均戦略についての良好な値を生じ得る。
いくつかの実施形態では、反復tの数が増すと、R
i t(a|I
i)の値はますます大きくなる場合があり、可能性としては、ニューラルネットワークが学習するのを難しくする。この問題に対処するために、累積リグレットは、その範囲をより安定させるために、
倍だけ正規化され得る。これは、オンライン学習のリグレット境界から理解することができる。より具体的には、Δ=max
Ii,a,t|R
t(a|I
i)-R
t-1(a|I
i)|、∀I
i∈I、a∈A(I
i)、t∈{1,...,T}とする。
であり、ここで、|A|=max
Ii∈I|A(I
i)|である。いくつかの実施形態では、ニューラルネットワークRSN420は、
を追跡し、それを
によって更新するのに使うことができ、ここで、
である。
いくつかの実施形態では、二重増分CFRアルゴリズムにおいて、メモリ
および
は、たとえば、メモリ
および
の限られたサイズにより、各反復の後でクリアされてよい。いくつかの実施形態では、たとえば大型ゲームにおいて、累積リグレットおよび平均戦略を学習するのにニューラルネットワークを使う二重増分CFRアルゴリズムを用いても、メモリ
および
のサイズは、各反復についての累積リグレットおよび平均戦略を記録するために、依然として非常に大きい必要があり得る。
いくつかの実施形態では、限られたメモリだが無限反復を用いて平均戦略を絶えず改善するため、および/またはメモリサイズに対する要件をさらに軽減するために、異なる反復にわたるサンプリングされた累積リグレットおよび平均戦略を保存するために、ならびに累積リグレットおよび平均戦略を動的に学習するために2つのリザーバMRおよびMSを使う二重リザーバCFRアルゴリズムが使われ得る。
いくつかの実施形態では、T回の反復の後の平均累積リグレットは、式(2)を書き換えることによって、式(10)に従って取得され得る。
同様に、平均戦略は、式(4)に示すように累積戦略の正規化であってよく、これは、その到達確率
による重み付き平均戦略
である。
いくつかの実施形態では、2つの一様なリザーバM
RおよびM
Sが、それぞれ、サンプリングされた
および
を保存するのに使われ得る。具体的には、M
Rは、サンプルを
に保存するためのリザーバであってよく、M
Sは、サンプルを
に保存するためのリザーバであってよい。新たなサンプルが、リザーバサンプリングアルゴリズムによってリザーバの中に挿入され得る。リザーバサンプリングは、n個の項目を含むリストからk個の項目をランダムに選ぶためのランダムアルゴリズムのファミリーを含む。たとえば、リザーバが満杯でない場合、新たなサンプルがリザーバに直接追加されてよい。リザーバが満杯である場合、新たなサンプルが、たとえば、先入れ先出し(FIFO)原理に従って、または一様ランダム分布もしくは別の分布に従って、古いサンプルと置き換わり得る。
二重増分CFRアルゴリズムと二重リザーバCFRアルゴリズムの両方が、オンライン学習における考え方を利用し、それぞれ、更新リグレットおよび平均戦略を学習するために2つのニューラルネットワークを使うことに留意されたい。いくつかの実施形態では、ASNは、各反復において更新される必要はなく、RSNは、新たな挙動戦略を生じるように、モンテカルロサンプリングの後で最適化される必要があり得る。たとえば、新たな挙動戦略が、ゲームツリーを横断するのに使われるとき、RSNは、反復の度に更新される必要があり得る。一方、ASNは、挙動戦略の重み付き平均である最終近似ナッシュ均衡として使われ得る。ASNは、二重ニューラルCFRアルゴリズムの出力として働き得る。サンプルをすべて保存するための十分大きいデータストアがある場合、最終ステップにおいて平均戦略を最適化することが必要とされるだけである。実際、大型ゲームの場合、大きいデータストアは非常に高価であり得る。したがって、平均戦略は、データストア(たとえば、リザーバ
)が満杯である場合、増分的に最適化され得る。したがって、二重ニューラルCFRアルゴリズムは2つの変形を含み得る。二重増分アルゴリズムでは、ニューラルネットワーク(たとえば、RSNおよびASNの一方または両方)は増分サンプルのみによって最適化され、二重リザーバアルゴリズムでは、ニューラルネットワーク(たとえば、RSNおよびASNの一方または両方)は、リザーバ中のサンプルすべてによって最適化され得る。
二重ニューラルCFRアルゴリズムおよび二重リザーバCFRアルゴリズムは、異なるサンプル集合体を有する。二重増分CFR用に、ニューラルネットワークは、新たに追加されたサンプルに基づいて最適化される。二重リザーバCFR用に、ニューラルネットワークは、固定サイズリザーバ中のサンプルに基づいて最適化される。さらに、二重リザーバ方法では、平均戦略は、最小二乗誤差ではなく最大対数尤度によって最適化され得る。
図5は、本明細書の実施形態による、二重ニューラルCFRアルゴリズムの例の擬似コード500である。二重ニューラルCFRアルゴリズムの例は、二重ニューラルCFRアルゴリズムまたは二重リザーバCFRアルゴリズムを使うという選択肢を含む。
擬似コード500の行3〜7は、第1の反復における初期化戦略の例を示す。たとえば、システムが、既存のCFR方法(たとえば、表ベースのCFRもしくはMCCFR方法または二重ニューラルCFR方法)からウォームスタートする場合、ニューラルネットワークは、累積リグレットおよび戦略をクローニングするように、既存の戦略プロファイルから初期化されてよい。ウォームスタート初期化がない場合、二重ニューラルCFRアルゴリズムは、反復t=1においてRSNおよびASNにおけるパラメータをランダムに初期化することによってスタートしてよい。
いくつかの実施形態では、二重増分CFRアルゴリズムが使われる場合、擬似コード500の行8に示すように、この反復におけるサンプリングされた情報集合に対する、反事実リグレットと平均戦略の分子とを戻すのに、サンプリング方法が使われ得る。この反復における、サンプリングされた情報集合に対する反事実リグレットおよび平均戦略の分子は、それぞれ、メモリ
および
に保存されてよい。サンプリング方法は、たとえば、図7に関して記載するミニバッチ堅牢サンプリング方法アルゴリズムを含み得る。いくつかの実施形態では、この反復における、サンプリングされた情報集合に対する反事実リグレットは合計されて、たとえば、以下の式(11)および図7に関して記載するミニバッチMCCFRアルゴリズムに従って、情報集合による
で合計値を与えることができる。いくつかの実施形態では、
の中の複製された記録は削除されてよい。
いくつかの実施形態では、二重リザーバCFRアルゴリズムが使われる場合、この反復における、サンプリングされた情報集合に対する、反事実リグレットおよび平均戦略の分子(二重増分CFRアルゴリズムにおいてメモリ
および
に保存されたものなど)は、それぞれ、リザーバM
RおよびM
Sに保存されてよい。リザーバM
RおよびM
Sの一方または両方が満杯である場合、リザーバサンプリングが使われ得る。
擬似コード500の行13〜15に示すように、この反復における、サンプリングされた情報集合に対する、これらの反事実リグレットおよび平均戦略の分子は、図6に示すNeuralAgentアルゴリズムによって、2つのニューラルネットワーク、すなわちRSNおよびASNを最適化し、RSNおよびASN(たとえば、
および
)のパラメータ(たとえば、
および
)を戻すのに使うことができる。
図6は、本明細書の実施形態による、二重ニューラルCFRアルゴリズムに関連してニューラルネットワークを最適化するためのアルゴリズムの例の擬似コード600である。このアルゴリズムの例は、NeuralAgentアルゴリズムと呼ばれる。記載する二重ニューラルCFRアルゴリズムは、二重ニューラルCFRアルゴリズムにおいて使われる一方または両方のニューラルネットワークを最適化するための、他のアルゴリズムを使うことができる。
β
epochをトレーニングエポックと、β
lrを学習レートと、β
lossを早期停止または終了のための基準と、β
reを、最後に最小損失を得てからの反復の回数に対する上限と、θ
t-1を、最適化するためのパラメータと、f(・|θ
t-1)をニューラルネットワークと、Mを、情報集合および対応する目標を構成するトレーニングサンプルと定義する。表記を簡素化するために、ニューラルネットワークのパラメータの集合を示すのにβ*を使う。たとえば、
および
は、それぞれ、RSNおよびASNにおけるパラメータの集合を指す。注意深く設計されたNeuralAgentアルゴリズムは、ニューラルネットワークRSNおよびASNを最適化する際の、可搾取量の比較的高い収束レートを取得し得ることを、実験が示している。擬似コード600は、説明コメント付きのNeuralAgentアルゴリズムの詳細を示す。
いくつかの実施形態では、既存のオプティマイザは、潜在的鞍点または局所的最小により、比較的十分低い損失を戻すことができない。比較的高い正確さおよび低い最適化損失を取得するために、スケジューラは特に、損失が低下するのをやめたときに学習レートを低減するように設計される。具体的には、スケジューラは、メトリック量、たとえば、平均二乗誤差を読み取り、いくつかのエポックについて改善が見られない場合、学習レートは、ある倍率だけ低減される。さらに、損失がβre個のエポックにおいて低下するのをやめると、学習レートは、オプティマイザとスケジューラの両方においてリセットされてよい。勾配クリッピング機構が、パラメータ勾配の規模を制限し、オプティマイザを、絶壁(steep cliff)の付近においてより良好に振る舞わせるのに使われ得る。各エポックの後、最良パラメータは更新されることになる。最も低い損失が、指定された基準βloss未満になると、早期停止機構が使われる。
実験において、ニューラルネットワークのハイパーパラメータは次のように設定されてよい。たとえば、RSNに対して、ニューラルバッチサイズは256であり、学習レートβ
lr=0.001である。エポックの数および損失の収束レートに基づいて学習レートを低減することになるスケジューラは、ニューラルエージェントが高い正確さを取得するのを助ける。10個のエポックの後に損失が改善するのをやめたとき、学習レートは、0.5だけ低減され得る。このスケジューラにおけるすべてのパラメータの学習レートに対する下限は、10
-6である。アルゴリズムが潜在的な局所的最小または鞍点に収束するのを避けるために、学習レートは、たとえば、0.001にリセットされ、オプティマイザがより優れた性能を学習するのを助けることができる。
は、T個のエポックの後の最も低い損失を達成するための最良パラメータである。エポックtに対する平均損失が、指定された基準β
loss=10
-4未満である場合、オプティマイザは、早期停止を行ってよい。一例として、β
epoch=2000と設定し、オプティマイザを2000個の最大エポックで更新する。
ASNに対して、早期停止基準の損失は10-5と設定されてよい。15個のエポックの後に損失が改善するのをやめたとき、学習レートは、0.7だけ低減され得る。ASNにおける他のハイパーパラメータは、RSNのものと同様であり得る。
図7は、本明細書の実施形態による、ミニバッチMCCFRアルゴリズムの例の擬似コード700である。ミニバッチMCCFRアルゴリズム(Mini-Batch-MCCFR-NNとして示される)は、ゲームのサンプリングされた情報集合に対する、反事実リグレットおよび平均戦略の分子を取得するためのサンプリングアルゴリズムを含む。ある反復において1つのブロックをサンプリングするだけであり、起点CFVの公平推定器を提供する、従来の結果サンプリングおよび外部サンプリングとは異なり、ミニバッチサンプリング技法は、1回の反復においてb個のブロックをランダムにサンプリングすることができる。擬似コード700に示すミニバッチMCCFRアルゴリズムの例は、上述した堅牢サンプリングに基づく。いくつかの実施形態では、ミニバッチMCCFRアルゴリズムは、深さ依存サンプリング方式など、他のサンプリング方式と関連して使うことができる。ミニバッチMCCFRアルゴリズムは、ゲームのサンプリングされた情報集合に対する、反事実リグレットおよび平均戦略の分子を取得するためのアルゴリズムの例であることに留意されたい。二重ニューラルCFRアルゴリズムは、ゲームのサンプリングされた情報集合に対する、反事実リグレットおよび平均戦略の分子を取得するための他のアルゴリズムを使うことができる。
Q
jは、第jのときの堅牢サンプリング方式に従ってサンプリングされた終端のブロックを示すものとすると、情報集合I
iに対するb個のミニバッチをもつミニバッチCFVは、以下のように定義することができる。
さらに、
は、I
iの反事実値の公平推定器であること、すなわち
が示され得る。
同様に、アクションaの累積ミニバッチリグレットは、
であり、上式で、
である。いくつかの実施形態では、ミニバッチMCCFRは、b個のブロックを並行してサンプリングし、MCCFRがより速く収束するのを助けることができる。
ミニバッチMCCFRは、累積ミニバッチリグレット
を更新するのに、リグレットマッチングアルゴリズムを使うことに留意されたい。いくつかの実施形態では、ミニバッチMCCFRの変形体として、ミニバッチMCCFR+アルゴリズムが、累積ミニバッチリグレット
を反復Tまで、
によって更新するのに使われてよく、上式で、(x)
+=max(x,0)である。いくつかの実施形態では、ミニバッチMCCFR+は、適切なミニバッチサイズを指定しているとき、ミニバッチMCCFRよりも速く収束することがわかる。
擬似コード700に示す関数Mini-Batch-MCCFR-NNは、ミニバッチサンプリング方法を提示し、ここで、b個のブロックが並行してサンプリングされることになる。このミニバッチ方法は、MCCFRが、CFVのより正確な推定を達成するのを助けることができる。並列サンプリングは、この方法を、実際に効率的にする。
擬似コード700の行1〜6に示すように、Mini-Batch-MCCFR-NNは、反復の総数、すなわちt個の入力をもつ反復アルゴリズムである。各反復内で、MCCFR-NN関数が、プレーヤ0およびプレーヤ1について呼び出され(行4および5に示すように)、この反復における、サンプリングされた情報集合に対する、反事実リグレットおよび平均戦略の分子が、戻され、メモリ
および
にそれぞれ保存される。
関数MCCFR-NNは、擬似コード700の行8〜33に示すように定義され得る。関数MCCFR-NNは、表によるMCCFRのようにゲームツリーを横断し、これは、ルート履歴
からスタートする。I
iを、hの情報集合と定義する。プレーヤiは、堅牢サンプリングに従ってk個のアクションをサンプリングすることになると仮定する。次いで、関数は以下のように定義され得る。(1)履歴が終端である場合(たとえば、h∈Z)、関数は、重み付き効用を戻す。(2)履歴がチャンスプレーヤである場合(たとえば、P(I
i)=-1,)、1つのアクションa∈A(I
i)が、戦略σ
-i(I
i)に従ってサンプリングされ得る。次いで、このアクションは、履歴に追加されることになり、すなわち、h←haとなる。(3)P(I
i)=iである場合、現在の戦略は、RSNによって予測される累積リグレットによって更新され得る。次いで、指定されたサンプリング戦略プロファイル
(たとえば、深さ依存サンプリングを用いるか、または用いない堅牢サンプリング)に従って、k個のアクションをサンプリングする。再帰的更新の後、I
iにおける各アクションの反事実値およびリグレットが取得され得る。訪問されたノードについて、それらの反事実リグレットおよび対応する平均戦略の分子は、
および
にそれぞれ記憶されてよい。(4)P(I
i)が対戦相手である場合、ただ1つのアクションが、戦略σ
-i(I
i)に従ってサンプリングされることになる。
図8は、本明細書の実施形態による、MCCFRを実施するためのサンプリングプロセス800の例のフローチャートである。サンプリングプロセス800は、2人以上の当事者の間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するための、上述した深さ依存サンプリング方式の例であり得る。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。IIGは、2人以上の当事者を伴う、リソース割振り、製品/サービス推奨、サイバー攻撃予測および/または防止、トラフィックルーティング、不正管理などのような、1つまたは複数の実世界シナリオを表すことができ、各当事者は、他方の当事者の決定についての不十分または不完全な情報を有し得る。一例として、IIGは、少なくとも第1のプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表すことができる。第1のプレーヤは、たとえば、顧客(またはユーザ)情報、製品およびサービス情報、顧客の購入履歴などを有するオンライン小売業者であってよい。第2のプレーヤは、たとえば、顧客のソーシャルネットワーキングデータを有するソーシャルネットワークプラットフォーム、顧客の財務情報を有する銀行または別の金融機関、車販売店、または顧客への製品およびサービスの予測および推奨における顧客の嗜好、必要性、財務状況、ロケーションなどについての顧客の情報を有し得る、どの他の当事者であってもよい。第1のプレーヤおよび第2のプレーヤは各々、他者とは共有したくない固有データを有し得る。第2のプレーヤは、異なるときに第1のプレーヤに部分情報を提供するだけでよい。したがって、第1のプレーヤは、第2のプレーヤの情報への限定アクセスを有するだけであり得る。便宜上、プロセス800は、1つまたは複数のロケーションにあるとともに、本明細書に従って適切にプログラムされた1つまたは複数のコンピュータからなるシステムなどのデータ処理装置によって実施されるものとして記載される。たとえば、適切にプログラムされた、図10のコンピュータシステム1000が、プロセス800を実施し得る。
810において、データ処理装置が、第1のプレーヤの第1の状態における、第1のプレーヤのN1個の可能アクションを識別する。いくつかの実施形態では、IIGは、ゲームツリー(たとえば、ゲームツリー102、104、202、204または206)によって表され得る。第1のプレーヤの第1の状態は、ゲームツリーの第1のノード(たとえば、ゲームツリー102における、プレーヤ0のノードh1)によって表すことができ、N1個の可能アクションは、ゲームツリーの第1のノードの辺または分岐(たとえば、ゲームツリー102における、プレーヤ0のノードh1のPおよびB辺)であり得る。協調型製品サービス推奨サービスの例では、第1のプレーヤの第1の状態は、第2のプレーヤによって提供される情報の履歴を含み、第1のプレーヤのN1個の可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、N1個の可能アクションを含む。第1のプレーヤの第1の状態および可能アクションは、IIGによってモデル化される他の実世界シナリオにおける他の特徴を含み得る。
820において、データ処理装置は、第1のプレーヤの第1の状態におけるN1個の可能アクションの中から、第1のサンプリング確率で可能アクションをサンプリングする。いくつかの実施形態では、データ処理装置は、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からk1個の可能アクションをサンプリングすることができ、k1個の可能アクションの各々は、同じ第1のサンプリング確率でサンプリングされる。
830において、データ処理装置は、第1のプレーヤの第2の状態における、第1のプレーヤのN2個の可能アクションを識別し、第1のプレーヤの第1の状態は、第1のプレーヤの第2の状態よりもIIGの開始状態に近い。ゲームツリー102の例では、第1のプレーヤの第2の状態は、たとえば、h7ノードであってよく、このノードは、第1のプレーヤの第1の状態(たとえば、ゲームツリー102におけるプレーヤ0のノードh1)よりも、ゲームツリー102の開始状態(たとえば、h0ノード)から離れている。
840において、データ処理装置は、第1のプレーヤの第2の状態におけるN2個の可能アクションの中から、第2のサンプリング確率で可能アクションをサンプリングし、第1のサンプリング確率は、第2のサンプリング確率未満である。いくつかの実施形態では、データ処理装置は、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からk2個の可能アクションをサンプリングし、k2個の可能アクションの各々は、同じ第2のサンプリング確率でサンプリングされる。
850において、データ処理装置は、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいて、CFRを実施する。いくつかの実施形態では、CFRは、図3および/または図7に関して記載した例示的技法に従って実施され得る。
いくつかの実施形態では、IIGを解いたことから得られた、第1のプレーヤの戦略が出力される。戦略は、IIGによってモデル化された実世界シナリオにおける、第1のプレーヤの一連のアクションを含み得る。たとえば、協調型製品サービス推奨シナリオにおいて、IIGを解いたことから得られた、第1のプレーヤの戦略は、たとえば、第2のプレーヤによって提供された情報に応答する一連のアクション、第1のプレーヤの情報および第2のプレーヤによって提供された情報に基づく、顧客への対応する製品サービス推奨を含み得る。IIGを解いたことから得られる、第1のプレーヤの出力戦略は、IIGによってモデル化される、他の実世界シナリオにおける他の情報を含み得る。
いくつかの実施形態では、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいてCFRを実施することは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションのリグレット値を(たとえば、式(1a)および/または式(2)に従って)算出することと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションのリグレット値を(たとえば、式(1a)および/または式(2)に従って)算出することと、N1個の可能アクションの中からの可能アクションのリグレット値に基づいて、第1の状態における第1のプレーヤの第1の戦略を(たとえば、式(3)に従って)更新することと、N2個の可能アクションの中からの可能アクションのリグレット値に基づいて、第2の状態における第1のプレーヤの第2の戦略を(たとえば、式(3)に従って)更新することとを含む。
いくつかの実施形態では、データ処理装置は、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からのk1個の可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からのk2個の可能アクションに基づいて、CFRを実施する。
いくつかの実施形態では、堅牢サンプリングが、深さ依存サンプリングに関連して実施され得る。たとえば、第1のサンプリング確率はk1/N1であり、第2のサンプリング確率はk2/N2である。したがって、可能アクションは、一様分布に従ってサンプリングされる。
いくつかの実施形態では、プレーヤの各状態について複数の可能アクションが訪問されるように、2<=k1<=N1および2<=k2<=N2である。
いくつかの実施形態では、k1=k2であり、したがって、第1のプレーヤの第1の状態および第2の状態において、等しい数のサンプルが選択され、または訪問される。
同様に、深さ依存サンプリングは、第2のプレーヤに関連して実施され得る。たとえば、データ処理装置は、第2のプレーヤの第1の状態における、第2のプレーヤのM1個の可能アクションを識別する。データ処理装置は、第2のプレーヤの第1の状態におけるM1個の可能アクションの中から、第3のサンプリング確率で可能アクションをサンプリングする。データ処理装置は、第2のプレーヤの第2の状態における、第2のプレーヤのM2個の可能アクションを識別し、第2のプレーヤの第1の状態は、第2のプレーヤの第2の状態よりもIIGの開始状態に近い。データ処理装置は、第1のプレーヤの第2の状態における、M2個の可能アクションの中から、第4のサンプリング確率で可能アクションをサンプリングし、第3のサンプリング確率は、第4のサンプリング確率未満である。
いくつかの実施形態では、深さ依存サンプリングは、第1のプレーヤと第2のプレーヤの両方に関連して実施され得る。いくつかの実施形態では、データ処理装置は、第2のプレーヤの第1の状態における、第2のプレーヤのM1個の可能アクションを識別し、第1のプレーヤの第1の状態(たとえば、ゲームツリー102におけるプレーヤ0の状態h1)は、第2のプレーヤの第1の状態(たとえば、ゲームツリー102におけるプレーヤ1の状態h4)よりも、IIGの開始状態(たとえば、h0状態)に近い。データ処理装置は、第2のプレーヤの第1の状態におけるM1個の可能アクションの中から、第3のサンプリング確率で可能アクションをサンプリングし、第3のサンプリング確率は、第1のサンプリング確率よりも大きい。
図9は、本明細書の実施形態による、MCCFRを実施するための二重ニューラルCFRアルゴリズム900の例のフローチャートである。サンプリングプロセス900は、2人以上のプレーヤの間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するための、図4〜図7に関して上述した二重リザーバCFRアルゴリズムの例であり得る。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。IIGは、2人以上の当事者を伴う、リソース割振り、製品/サービス推奨、サイバー攻撃予測および/または防止、トラフィックルーティング、不正管理などのような、1つまたは複数の実世界シナリオを表すことができ、各当事者は、他方の当事者の決定についての不十分または不完全な情報を有し得る。一例として、IIGは、少なくとも第1のプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表すことができる。第1のプレーヤは、たとえば、顧客(またはユーザ)情報、製品およびサービス情報、顧客の購入履歴などを有するオンライン小売業者であってよい。第2のプレーヤは、たとえば、顧客のソーシャルネットワーキングデータを有するソーシャルネットワークプラットフォーム、顧客の財務情報を有する銀行または別の金融機関、車販売店、または顧客への製品およびサービスの予測および推奨における顧客の嗜好、必要性、財務状況、ロケーションなどについての顧客の情報を有し得る、どの他の当事者であってもよい。第1のプレーヤおよび第2のプレーヤは各々、他者とは共有したくない固有データを有し得る。第2のプレーヤは、異なるときに第1のプレーヤに部分情報を提供するだけでよい。したがって、第1のプレーヤは、第2のプレーヤの情報への限定アクセスを有するだけであり得る。便宜上、プロセス900は、1つまたは複数のロケーションにあるとともに、本明細書に従って適切にプログラムされた1つまたは複数のコンピュータからなるシステムなどのデータ処理装置によって実施されるものとして記載される。たとえば、適切にプログラムされた、図10のコンピュータシステム1000が、プロセス900を実施し得る。
910において、データ処理装置が、第1のニューラルネットワークのパラメータおよび第2のニューラルネットワークのパラメータを初期化する。第1のニューラルネットワーク(たとえば、RegretSumNetwork(RSN)420)は、プレーヤの状態における可能アクションのリグレット値を予測するために使われ得る。協調型製品サービス推奨サービスの例では、プレーヤの状態は、第2のプレーヤによって提供された情報の履歴を含み、プレーヤの可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、可能アクションを含む。第2のニューラルネットワーク(たとえば、AveStrategyNetwork(ASN)430)は、プレーヤの状態における可能アクションの戦略値を予測するために使われ得る。いくつかの実施形態では、データ処理装置は、ウォームスタートに従って、たとえば、それぞれ、前の反復における、または既存のCFRアルゴリズムに基づいて取得された、第1のニューラルネットワークのパラメータまたは第2のニューラルネットワークのパラメータに基づいて、パラメータを初期化する。いくつかの実施形態では、データ処理装置は、第1のニューラルネットワークのパラメータおよび第2のニューラルネットワークのパラメータをランダムに初期化する。
920において、データ処理装置は、いくつかのリグレットサンプルを第1のデータストア(たとえば、リザーバM
R)に記憶し、いくつかのリグレットサンプルの各々は、プレーヤの状態、およびプレーヤの状態における可能アクションのリグレット値を含む。いくつかの実施形態では、プレーヤの状態における可能アクションのリグレット値は、プレーヤの状態における可能アクションの反事実値に基づいて算出された、プレーヤの状態における可能アクションの反事実リグレット値を含む。たとえば、各リグレットサンプルは、リグレットタプル
を含み得る。いくつかの実施形態では、いくつかのリグレットサンプルは、プレーヤと少なくとも別のプレーヤとの間の戦略的対話における戦略探索における反事実的後悔最小化(CFR)アルゴリズムの2回以上の反復において取得される。いくつかの実施形態では、CFRアルゴリズムは、堅牢サンプリングCFRアルゴリズムを含む。
いくつかの実施形態では、IIGを解く際の、CFRアルゴリズムの2回以上の反復の各々において、データ処理装置は、サンプリング方式に従って、プレーヤの第2の状態におけるいくつかの可能アクションの中から可能アクションをサンプリングし、プレーヤの第2の状態における可能アクションの反事実値を(たとえば、式(1)に従って)算出し、プレーヤの第2の状態における可能アクションの反事実値に基づいて、プレーヤの第2の状態における可能アクションのリグレット値を(たとえば、式(1a)および/または式(2)に従って)算出し、リグレットマッチングアルゴリズムに従って、プレーヤの第2の状態における可能アクションのリグレット値に基づいて、プレーヤの第2の状態における可能アクションの更新された戦略を(たとえば、式(3)に従って)算出し、プレーヤの第2の状態における可能アクションの更新された戦略に基づいて、プレーヤの第2の状態における可能アクションの戦略値を(たとえば、式(4)および/または式(5)に従って)算出する。
いくつかの実施形態では、データ処理装置は、(たとえば、MCCFRの別の反復を実施することによって)新たなリグレットサンプルを取得することができる。データ処理装置は、リザーバサンプリングアルゴリズムに従って、新たなリグレットサンプルを第1のデータストアの中に記憶することができる。たとえば、リザーバサンプリングアルゴリズムに従って、新たなリグレットサンプルを第1のデータストアの中に記憶することは、第1のデータストアが満杯であるかどうかを判断することと、第1のデータストアが満杯であると判断したことに応答して、第1のデータストア中のいくつかのリグレットサンプルのうちの1つを、新たなリグレットサンプルで置き換えることとを含む。
930において、データ処理装置は、いくつかの戦略サンプルを第2のデータストア(たとえば、リザーバMS)に記憶し、いくつかの戦略サンプルの各々は、プレーヤの状態、およびプレーヤの状態における可能アクションの戦略値を含む。いくつかの実施形態では、プレーヤの状態における可能アクションの戦略値は、平均戦略の分子を含む。たとえば、いくつかの戦略サンプルの各々は、戦略タプル(Ii, st(a|Ii))を含み得る。
940において、データ処理装置は、たとえば、式(7)に従って、第1のデータストア中のいくつかのリグレットサンプルに基づいて、プレーヤの状態における可能アクションのリグレット値を予測するための、第1のニューラルネットワークのパラメータを更新する。いくつかの実施形態では、第1のニューラルネットワークのパラメータは、図6に示すNeuralAgentアルゴリズム、またはニューラルネットワークを最適化するための、どの他のアルゴリズムに従って更新されてもよい。
950において、データ処理装置は、たとえば、式(8)に従って、第2のデータストア中のいくつかの戦略サンプルに基づいて、プレーヤの状態における可能アクションの戦略値を予測するための、第2のニューラルネットワークのパラメータを更新する。いくつかの実施形態では、第2のニューラルネットワークのパラメータは、図6に示すNeuralAgentアルゴリズム、またはニューラルネットワークを最適化するための、どの他のアルゴリズムに従って更新されてもよい。
960において、データ処理装置は、プレーヤの第1の状態、およびプレーヤの第1の状態における第1の可能アクションを識別する。
970において、データ処理装置は、第1のニューラルネットワークのパラメータを使って、プレーヤの第1の状態における第1の可能アクションの第1のリグレット値を予測する。いくつかの実施形態では、プレーヤの第1の状態における第1の可能アクションの予測される第1のリグレット値は、CFRアルゴリズムの次の反復において使われ得る。
980において、データ処理装置は、第2のニューラルネットワークのパラメータを使って、プレーヤの第1の状態における第1の可能アクションの第1の戦略値を予測する。いくつかの実施形態では、プレーヤの第1の状態における第1の可能アクションの予測される第1の戦略値は、CFRアルゴリズムの次の反復において使われ得る。いくつかの実施形態では、プレーヤの第1の状態における第1の可能アクションの予測される第1の戦略値は、近似ナッシュ均衡を算出するのに使われ、CFRアルゴリズムの出力として働き得る。いくつかの実施形態では、プレーヤの第1の状態における第1の可能アクションの予測される第1の戦略値は、IIGによってモデル化される実世界シナリオにおける、第1のプレーヤの一連のアクションを含み得る。たとえば、協調型製品サービス推奨シナリオでは、プレーヤの第1の状態における第1の可能アクションの予測される第1の戦略値は、たとえば、第2のプレーヤによって提供された情報に応答する一連のアクション、第1のプレーヤの情報および第2のプレーヤによって提供された情報に基づく、顧客への対応する製品サービス推奨を含み得る。プレーヤの第1の状態における第1の可能アクションの予測される第1の戦略値は、IIGによってモデル化される他の実世界シナリオにおける他の情報を含み得る。
図10は、本明細書の実施形態による、記載するアルゴリズム、方法、機能、プロセス、フロー、および手順に関連付けられた計算機能性を提供するのに使われるコンピュータ実装システムの例を示すブロック図を示す。図10は、本開示の実施形態による、記載するアルゴリズム、方法、機能、プロセス、フロー、および手順に関連付けられた計算機能性を提供するのに使われるコンピュータ実装システム1000の例を示すブロック図である。図示する実施形態では、システム1000は、コンピュータ1002およびネットワーク1030を含む。
示されるコンピュータ1002は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、スマートフォン、個人情報端末(PDA)、タブレットコンピュータ、これらのデバイス内の1つもしくは複数のプロセッサ、別のコンピューティングデバイス、またはコンピューティングデバイスの物理もしくは仮想インスタンスを含むコンピューティングデバイスの組合せ、またはコンピューティングデバイスの物理もしくは仮想インスタンスの組合せなど、どのコンピューティングデバイスも包含することが意図されている。さらに、コンピュータ1002は、キーパッド、キーボード、タッチスクリーン、別の入力デバイスなどの入力デバイス、またはユーザ情報を受諾することができる入力デバイスの組合せと、グラフィカルタイプユーザインターフェース(UI)(もしくはGUI)または他のUI上で、デジタルデータ、ビジュアル、オーディオ、別のタイプの情報、または情報のタイプの組合せを含む、コンピュータ1002の動作に関連付けられた情報を伝える出力デバイスとを含み得る。
コンピュータ1002は、クライアント、ネットワーク構成要素、サーバ、データベースとして、分散型コンピューティングシステムにおける役割を、または別の持続性、別の役割、もしくは本開示に記載する主題を実施するための役割の組合せを果たし得る。示されるコンピュータ1002は、ネットワーク1030と通信可能に結合される。いくつかの実施形態では、コンピュータ1002の1つまたは複数の構成要素は、クラウドコンピューティングベース、ローカル、グローバル、別の環境を含む環境、または環境の組合せにおいて動作するように構成され得る。
上位レベルにおいて、コンピュータ1002は、記載する主題に関連付けられたデータおよび情報を受信し、送信し、処理し、記憶し、または管理するように動作可能な電子コンピューティングデバイスである。いくつかの実施形態によると、コンピュータ1002はまた、アプリケーションサーバ、eメールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組合せを含むサーバを含むか、またはサーバと通信可能に結合され得る。
コンピュータ1002は、(たとえば、別のコンピュータ1002上で実行するクライアントソフトウェアアプリケーションから)ネットワーク1030を介して要求を受信し、ソフトウェアアプリケーション、またはソフトウェアアプリケーションの組合せを使って、受信した要求を処理することによって、受信した要求に応答することができる。さらに、要求は、内部ユーザ(たとえば、コマンドコンソールから、もしくは別の内部アクセス方法によって)、外部もしくは第三者、または他のエンティティ、個人、システム、もしくはコンピュータから、コンピュータ1002へ送られてもよい。
コンピュータ1002の構成要素の各々は、システムバス1003を使って通信し得る。いくつかの実施形態では、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含む、コンピュータ1002の構成要素のいずれかまたはすべてが、アプリケーションプログラミングインターフェース(API)1012、サービスレイヤ1013、またはAPI1012とサービスレイヤ1013の組合せを使って、システムバス1003を介してインターフェースすることができる。API1012は、ルーチン、データ構造、オブジェクトクラス向けの仕様を含み得る。API1012は、コンピュータ言語非依存または依存のいずれかであり、完全インターフェース、単一の機能、またはAPIのセットさえも指し得る。サービスレイヤ1013は、コンピュータ1002、またはコンピュータ1002に通信可能に結合される他の構成要素(示されるかどうかにかかわらず)にソフトウェアサービスを提供する。コンピュータ1002の機能性は、サービスレイヤ1013を使って、すべてのサービス消費者にとってアクセス可能であり得る。サービスレイヤ1013によって提供されるものなどのソフトウェアサービスは、定義されたインターフェースを通して、再利用可能な、定義された機能性を提供する。たとえば、インターフェースは、JAVA、C++、別のコンピューティング言語、または拡張マークアップ言語(XML)フォーマット、別のフォーマット、もしくはフォーマットの組合せでデータを提供するコンピューティング言語の組合せで書かれたソフトウェアであってよい。コンピュータ1002の統合構成要素として示されているが、代替実施形態は、API1012またはサービスレイヤ1013を、コンピュータ1002の他の構成要素またはコンピュータ1002に通信可能に結合される他の構成要素(示されるかどうかにかかわらず)と関係したスタンドアロン構成要素として示し得る。その上、API1012またはサービスレイヤ1013のいずれかまたはすべての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、企業アプリケーション、またはハードウェアモジュールの子またはサブモジュールとして実装され得る。
コンピュータ1002は、インターフェース1004を含む。単一のインターフェース1004として示されているが、コンピュータ1002の特定の必要性、要望、または特定の実施形態に従って、2つ以上のインターフェース1004が使われてよい。インターフェース1004は、コンピュータ1002によって、分散型環境においてネットワーク1030に通信可能にリンクされている別のコンピューティングシステム(示されるかどうかにかかわらず)と通信するために使われる。概して、インターフェース1004は、ネットワーク1030と通信するように動作可能であり、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せで符号化された論理を含む。より具体的には、インターフェース1004は、ネットワーク1030またはインターフェース1004のハードウェアが、示されるコンピュータ1002内および外で物理信号を通信するように動作可能であるように、通信に関連付けられた1つまたは複数の通信プロトコルをサポートするソフトウェアを含み得る。
コンピュータ1002は、プロセッサ1005を含む。単一のプロセッサ1005として示されているが、コンピュータ1002の特定の必要性、要望、または特定の実施形態に従って、2つ以上のプロセッサ1005が使われてよい。概して、プロセッサ1005は、コンピュータ1002の動作と、本開示に記載するあらゆるアルゴリズム、方法、機能、プロセス、フロー、および手順とを実施するために、命令を実行し、データを操作する。
コンピュータ1002は、コンピュータ1002のためのデータを保持することができるデータベース1006、ネットワーク1030に通信可能にリンクされた別の構成要素(示されるかどうかにかかわらず)、またはコンピュータ1002と別の構成要素の組合せも含む。たとえば、データベース1006は、本開示に一致するデータを記憶する、インメモリの、従来の、または別のタイプのデータベースであってよい。いくつかの実施形態では、データベース1006は、コンピュータ1002の特定の必要性、要望、または特定の実施形態および記載する機能性に従って、2つ以上の異なるデータベースタイプ(たとえば、ハイブリッドインメモリおよび従来のデータベース)の組合せであってよい。単一のデータベース1006として示されているが、同様または異なるタイプの2つ以上のデータベースが、コンピュータ1002の特定の必要性、要望、または特定の実施形態および記載する機能性に従って使われてよい。データベース1006はコンピュータ1002の一体型構成要素として示されているが、代替実施形態では、データベース1006は、コンピュータ1002にとって外部であってよい。一例として、データベース1006は、リグレットサンプル1026を記憶する、上に記載したリザーバMR1016および戦略サンプル1028を記憶するリザーバMS1018を含み得る。
コンピュータ1002は、コンピュータ1002のためのデータを保持することができるメモリ1007、ネットワーク1030に通信可能にリンクされた別の構成要素もしくは複数の構成要素(示されるかどうかにかかわらず)、またはコンピュータ1002と別の構成要素の組合せも含む。メモリ1007は、本開示に一致するどのデータも記憶することができる。いくつかの実施形態では、メモリ1007は、コンピュータ1002の特定の必要性、要望、または特定の実施形態および記載する機能性に従って、2つ以上の異なるタイプのメモリの組合せ(たとえば、半導体と磁気ストレージの組合せ)であってよい。単一のメモリ1007として示されているが、2つ以上のメモリ1007または同様もしくは異なるタイプが、コンピュータ1002の特定の必要性、要望、または特定の実施形態および記載する機能性に従って使われてよい。メモリ1007はコンピュータ1002の一体型構成要素として示されているが、代替実施形態では、メモリ1007は、コンピュータ1002にとって外部であってよい。
アプリケーション1008は、特に本開示に記載する機能性に関して、コンピュータ1002の特定の必要性、要望、または特定の実施形態に従って機能性を提供する、アルゴリズムによるソフトウェアエンジンである。たとえば、アプリケーション1008は、1つまたは複数の構成要素、モジュール、またはアプリケーションとして働き得る。さらに、単一のアプリケーション1008として示されているが、アプリケーション1008は、コンピュータ1002上で複数のアプリケーション1008として実装されてよい。さらに、コンピュータ1002と一体として示されているが、代替実施形態では、アプリケーション1008は、コンピュータ1002にとって外部であってよい。
コンピュータ1002は、電源1014も含み得る。電源1014は、ユーザまたは非ユーザ交換可能のいずれかであるように構成され得る充電可能または非充電可能バッテリーを含み得る。いくつかの実施形態では、電源1014は、電力変換または管理回路(充電、スタンバイ、もしくは別の電源管理機能を含む)を含み得る。いくつかの実施形態では、電源1014は、コンピュータ1002を壁面ソケットにプラグ接続させる電力プラグまたは、たとえば、コンピュータ1002に電力供給し、もしくは充電可能バッテリーを充電するための別の電力源を含み得る。
コンピュータ1002を含む、コンピュータシステムに関連付けられるか、または外部の、任意の数のコンピュータ1002があってよく、各コンピュータ1002はネットワーク1030を介して通信する。さらに、「クライアント」、「ユーザ」という用語、または他の適切な用語が、必要に応じて、本開示の範囲から逸脱することなく、交換可能に使われてよい。その上、本開示は、多くのユーザが1つのコンピュータ1002を使い得ること、または1人のユーザが複数のコンピュータ1002を使い得ることを企図している。
図11は、本明細書の実施形態による装置1100のモジュールの例の図である。装置1100は、2人以上のプレーヤの間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するためのデータ処理装置の例示的実施形態であり得る。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。一例として、IIGは、少なくとも第1のプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表し、第1のプレーヤは、第2のプレーヤの情報への制限付きアクセスを有する。装置1100は、上述した実施形態に対応してよく、装置1100は、第1のプレーヤの第1の状態における、第1のプレーヤのN1個の可能アクションを識別するための第1の識別モジュール1101と、第1のプレーヤの第1の状態におけるN1個の可能アクションの中から、第1のサンプリング確率で可能アクションをサンプリングするための第1のサンプリングモジュール1102と、第1のプレーヤの第2の状態における、第1のプレーヤのN2個の可能アクションを識別するための第2の識別モジュール1103であって、第1のプレーヤの第1の状態は、第1のプレーヤの第2の状態よりもIIGの開始状態に近い、第2の識別モジュール1103と、第1のプレーヤの第2の状態におけるN2個の可能アクションの中から、第2のサンプリング確率で可能アクションをサンプリングするための第2のサンプリングモジュール1104であって、第1のサンプリング確率は、第2のサンプリング確率未満である、第2のサンプリングモジュール1104と、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいて、CFRを実施するための処理モジュール1105とを含む。いくつかの実施形態では、第1のプレーヤの第1の状態は、第2のプレーヤによって提供された情報の履歴を含み、第1のプレーヤのN1個の可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、N1個の可能アクションを含む。
任意選択の実施形態において、処理モジュールは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションのリグレット値を算出するための第1の算出モジュールと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションのリグレット値を算出するための第2の算出モジュールと、N1個の可能アクションの中からの可能アクションのリグレット値に基づいて、第1の状態における第1のプレーヤの第1の戦略を更新するための第1の更新モジュールと、N2個の可能アクションの中からの可能アクションのリグレット値に基づいて、第2の状態における第1のプレーヤの第2の戦略を更新するための第2の更新モジュールとを含む。
任意選択の実施形態において、第1のサンプリングモジュールは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からk1個の可能アクションをサンプリングし、k1個の可能アクションの各々は、同じ第1のサンプリング確率でサンプリングされ、第2のサンプリングモジュールは、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からk2個の可能アクションをサンプリングし、k2個の可能アクションの各々は、同じ第2のサンプリング確率でサンプリングされる。
任意選択の実施形態において、処理モジュールは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からのk1個の可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からのk2個の可能アクションに基づいて、CFRを実施する。
任意選択の実施形態において、第1のサンプリング確率はk1/N1であり、第2のサンプリング確率はk2/N2である。
任意選択の実施形態において、2<=k1<=N1および2<=k2<=N2である。
任意選択の実施形態において、k1=k2である。
任意選択の実施形態において、装置1100は、第2のプレーヤの第1の状態における、第2のプレーヤのM1個の可能アクションを識別するための第3の識別モジュールと、第2のプレーヤの第1の状態におけるM1個の可能アクションの中から、第3のサンプリング確率で可能アクションをサンプリングするための第3のサンプリングモジュールと、第2のプレーヤの第2の状態における、第2のプレーヤのM2個の可能アクションを識別するための第4の識別モジュールであって、第2のプレーヤの第1の状態は、第2のプレーヤの第2の状態よりもIIGの開始状態に近い、第4の識別モジュールと、第1のプレーヤの第2の状態における、M2個の可能アクションの中から、第4のサンプリング確率で可能アクションをサンプリングするための第4のサンプリングモジュールであって、第3のサンプリング確率は、第4のサンプリング確率未満である、第4のサンプリングモジュールとをさらに含む。
任意選択の実施形態において、装置1100は、第2のプレーヤの第1の状態における、第2のプレーヤのM1個の可能アクションを識別するための第5の識別モジュールであって、第1のプレーヤの第1の状態は、第2のプレーヤの第1の状態よりもIIGの開始状態に近い、第5の識別モジュールと、第2のプレーヤの第1の状態におけるM1個の可能アクションの中から、第3のサンプリング確率で可能アクションをサンプリングするための第5のサンプリングモジュールであって、第3のサンプリング確率は、第1のサンプリング確率よりも大きい、第5のサンプリングモジュールとをさらに含む。
前の実施形態に示されたシステム、装置、モジュール、またはユニットは、コンピュータチップもしくはエンティティを使うことによって実装され得るか、または特定の機能を有する製品を使うことによって実装され得る。典型的な実施形態デバイスがコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、eメール受信および送付デバイス、ゲームコンソール、タブレットコンピュータ、装着可能デバイス、またはこれらのデバイスの任意の組合せであってもよい。
装置の中の各モジュールの機能および役割の実施形態プロセスについて、前の方法における対応するステップからなる実施形態プロセスへの参照が行われる場合がある。詳細については、簡単のために、ここでは省く。
装置実施形態は基本的に、方法実施形態に対応するので、関連部分について、方法実施形態における関連記述に対して参照が行われる場合がある。前に記載した装置実施形態は、例にすぎない。別個の部分として記述されるモジュールは、物理的に別個であってもなくてもよく、モジュールとして表示される部分は、物理モジュールであってもなくてもよく、ある位置に位置決めされ得るか、またはいくつかのネットワークモジュール上で分散され得る。モジュールの一部または全部が、本明細書のソリューションの目的を達成するために、実際の需要に基づいて選択されてよい。当業者は、本出願の実施形態を理解し、創造的努力なしで実装することができよう。
再度図11を参照すると、これは、2人以上のプレーヤの間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するためのデータ処理装置の内部機能モジュールおよび構造を示していると解釈することができる。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。本質的な実行本体は電子デバイスであってよく、電子デバイスは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサの実行可能命令を記憶するように構成されたメモリとを含む。
1つまたは複数のプロセッサは、第1のプレーヤの第1の状態における、第1のプレーヤのN1個の可能アクションを識別することと、第1のプレーヤの第1の状態におけるN1個の可能アクションの中から、第1のサンプリング確率で可能アクションをサンプリングすることと、第1のプレーヤの第2の状態における、第1のプレーヤのN2個の可能アクションを識別することであって、第1のプレーヤの第1の状態は、第1のプレーヤの第2の状態よりもIIGの開始状態に近い、ことと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中から、第2のサンプリング確率で可能アクションをサンプリングすることであって、第1のサンプリング確率は、第2のサンプリング確率未満である、ことと、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいて、CFRを実施することとを行うように構成される。
任意選択で、1つまたは複数のプロセッサは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションのリグレット値を算出し、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションのリグレット値を算出し、N1個の可能アクションの中からの可能アクションのリグレット値に基づいて、第1の状態における第1のプレーヤの第1の戦略を更新し、N2個の可能アクションの中からの可能アクションのリグレット値に基づいて、第2の状態における第1のプレーヤの第2の戦略を更新するように構成される。
任意選択で、1つまたは複数のプロセッサは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からk1個の可能アクションをサンプリングすることであって、k1個の可能アクションの各々は、同じ第1のサンプリング確率でサンプリングされる、ことと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からk2個の可能アクションをサンプリングすることであって、k2個の可能アクションの各々は、同じ第2のサンプリング確率でサンプリングされる、こととを行うように構成される。
任意選択で、1つまたは複数のプロセッサは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からのk1個の可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からのk2個の可能アクションに基づいて、CFRを実施するように構成される。
任意選択で、第1のサンプリング確率はk1/N1であり、第2のサンプリング確率はk2/N2である。
任意選択で、2<=k1<=N1および2<=k2<=N2である。
任意選択で、k1=k2である。
任意選択で、1つまたは複数のプロセッサは、第2のプレーヤの第1の状態における、第2のプレーヤのM1個の可能アクションを識別することと、第2のプレーヤの第1の状態におけるM1個の可能アクションの中から、第3のサンプリング確率で可能アクションをサンプリングすることと、第2のプレーヤの第2の状態における、第2のプレーヤのM2個の可能アクションを識別することであって、第2のプレーヤの第1の状態は、第2のプレーヤの第2の状態よりもIIGの開始状態に近い、ことと、第1のプレーヤの第2の状態における、M2個の可能アクションの中から、第4のサンプリング確率で可能アクションをサンプリングすることであって、第3のサンプリング確率は、第4のサンプリング確率未満である、こととを行うように構成される。
任意選択で、1つまたは複数のプロセッサは、第2のプレーヤの第1の状態における、第2のプレーヤのM1個の可能アクションを識別することであって、第1のプレーヤの第1の状態は、第2のプレーヤの第1の状態よりもIIGの開始状態に近い、ことと、第2のプレーヤの第1の状態におけるM1個の可能アクションの中から、第3のサンプリング確率で可能アクションをサンプリングすることであって、第3のサンプリング確率は、第1のサンプリング確率よりも大きい、こととを行うように構成される。
図12は、本明細書の実施形態による別の装置1200のモジュールの例の図である。装置1200は、2人以上のプレーヤの間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するためのデータ処理装置の例示的実施形態であり得る。装置1200は上述した実施形態に対応してよく、装置1200は、いくつかのリグレットサンプルを第1のデータストアに記憶するための第1の記憶モジュール1201であって、いくつかのリグレットサンプルの各々は、プレーヤの状態、およびプレーヤの状態における可能アクションのリグレット値を含み、いくつかのリグレットサンプルは、プレーヤと少なくとも別のプレーヤとの間の戦略的対話における戦略探索における反事実的後悔最小化(CFR)アルゴリズムの2回以上の反復において取得される、第1の記憶モジュール1201と、いくつかの戦略サンプルを第2のデータストアに記憶するための第2の記憶モジュール1202であって、いくつかの戦略サンプルの各々は、プレーヤの状態、およびプレーヤの状態における可能アクションの戦略値を含む、第2の記憶モジュール1202と、第1のデータストア中のいくつかのリグレットサンプルに基づいて、プレーヤの状態における可能アクションのリグレット値を予測するための、第1のニューラルネットワークのパラメータを更新するための第1の更新モジュール1203と、第2のデータストア中のいくつかの戦略サンプルに基づいて、プレーヤの状態における可能アクションの戦略値を予測するための、第2のニューラルネットワークのパラメータを更新するための第2の更新モジュール1204とを含む。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。一例として、IIGは、少なくともプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表し、プレーヤは、第2のプレーヤの情報への制限付きアクセスを有し、プレーヤの状態は、第2のプレーヤによって提供された情報の履歴を含み、プレーヤの可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、可能アクションを含む。
上記および他の記載される実施形態は各々、任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
任意選択の実施形態において、装置1200は、プレーヤの第1の状態、およびプレーヤの第1の状態における第1の可能アクションを識別するための識別モジュールと、第1のニューラルネットワークのパラメータを使って、プレーヤの第1の状態における第1の可能アクションの第1のリグレット値を予測するための第1の予測モジュールと、第2のニューラルネットワークのパラメータを使って、プレーヤの第1の状態における第1の可能アクションの第1の戦略値を予測するための第2の予測モジュールとをさらに含む。
任意選択の実施形態において、第1の記憶モジュールは、新たなリグレットサンプルを取得すること、およびリザーバサンプリングアルゴリズムに従って、新たなリグレットサンプルを第1のデータストアの中に記憶することが可能である。
任意選択の実施形態において、リザーバサンプリングアルゴリズムに従って、新たなリグレットサンプルを第1のデータストアの中に記憶することは、第1のデータストアが満杯であるかどうかを判断することと、第1のデータストアが満杯であると判断したことに応答して、第1のデータストア中のいくつかのリグレットサンプルのうちの1つを、新たなリグレットサンプルで置き換えることとを含む。
任意選択の実施形態において、CFRアルゴリズムは堅牢サンプリングCFRアルゴリズムを含む。
任意選択の実施形態において、プレーヤの状態における可能アクションの戦略値は、平均戦略の分子を含む。
任意選択の実施形態において、プレーヤの状態における可能アクションのリグレット値は、プレーヤの状態における可能アクションの反事実値に基づいて算出された、プレーヤの状態における可能アクションの反事実リグレット値を含む。
任意選択の実施形態において、装置1200は、プレーヤと少なくとも別のプレーヤとの間の戦略的対話における戦略探索における反事実的後悔最小化(CFR)アルゴリズムの2回以上の反復の各々において、サンプリング方式に従って、プレーヤの第2の状態におけるいくつかの可能アクションの中から、可能アクションをサンプリングするためのサンプリングモジュールと、プレーヤの第2の状態における可能アクションの反事実値を算出するための第1の算出モジュールと、プレーヤの第2の状態における可能アクションの反事実値に基づいて、プレーヤの第2の状態における可能アクションのリグレット値を算出するための第2の算出モジュールと、リグレットマッチングアルゴリズムに従って、プレーヤの第2の状態における可能アクションのリグレット値に基づいて、プレーヤの第2の状態における可能アクションの更新された戦略を算出するための第3の算出モジュールと、プレーヤの第2の状態における可能アクションの更新された戦略に基づいて、プレーヤの第2の状態における可能アクションの戦略値を算出するための第4の算出モジュールとをさらに含む。
任意選択の実施形態において、装置1200は、前の反復における第1のニューラルネットワークのパラメータに基づいて、第1のニューラルネットワークのパラメータを初期化するための第1の初期化モジュールと、前の反復における第2のニューラルネットワークのパラメータに基づいて、第2のニューラルネットワークのパラメータを初期化するための第2の初期化モジュールとをさらに含む。
前の実施形態に示されたシステム、装置、モジュール、またはユニットは、コンピュータチップもしくはエンティティを使うことによって実装され得るか、または特定の機能を有する製品を使うことによって実装され得る。典型的な実施形態デバイスがコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、eメール受信および送付デバイス、ゲームコンソール、タブレットコンピュータ、装着可能デバイス、またはこれらのデバイスの任意の組合せであってもよい。
装置の中の各モジュールの機能および役割の実施形態プロセスについて、前の方法における対応するステップからなる実施形態プロセスへの参照が行われる場合がある。詳細については、簡単のために、ここでは省く。
装置実施形態は基本的に、方法実施形態に対応するので、関連部分について、方法実施形態における関連記述に対して参照が行われる場合がある。前に記載した装置実施形態は、例にすぎない。別個の部分として記述されるモジュールは、物理的に別個であってもなくてもよく、モジュールとして表示される部分は、物理モジュールであってもなくてもよく、ある位置に位置決めされ得るか、またはいくつかのネットワークモジュール上で分散され得る。モジュールの一部または全部が、本明細書のソリューションの目的を達成するために、実際の需要に基づいて選択されてよい。当業者は、本出願の実施形態を理解し、創造的努力なしで実装することができよう。
再度図12を参照すると、これは、2人以上のプレーヤの間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するためのデータ処理装置の内部機能モジュールおよび構造を示していと解釈することができる。本質的な実行本体は電子デバイスであってよく、電子デバイスは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサの実行可能命令を記憶するように構成されたメモリとを含む。
1つまたは複数のプロセッサは、いくつかのリグレットサンプルを第1のデータストアに記憶することであって、いくつかのリグレットサンプルの各々は、プレーヤの状態、およびプレーヤの状態における可能アクションのリグレット値を含み、いくつかのリグレットサンプルは、プレーヤと少なくとも別のプレーヤとの間の戦略的対話における戦略探索における反事実的後悔最小化(CFR)アルゴリズムの2回以上の反復において取得される、ことと、いくつかの戦略サンプルを第2のデータストアに記憶することであって、いくつかの戦略サンプルの各々は、プレーヤの状態、およびプレーヤの状態における可能アクションの戦略値を含む、ことと、第1のデータストア中のいくつかのリグレットサンプルに基づいて、プレーヤの状態における可能アクションのリグレット値を予測するための、第1のニューラルネットワークのパラメータを更新することと、第2のデータストア中のいくつかの戦略サンプルに基づいて、プレーヤの状態における可能アクションの戦略値を予測するための、第2のニューラルネットワークのパラメータを更新することとを行うように構成される。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。一例として、IIGは、少なくともプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表し、プレーヤは、第2のプレーヤの情報への制限付きアクセスを有し、プレーヤの状態は、第2のプレーヤによって提供された情報の履歴を含み、プレーヤの可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、可能アクションを含む。
任意選択で、1つまたは複数のプロセッサは、プレーヤの第1の状態、およびプレーヤの第1の状態における第1の可能アクションを識別し、第1のニューラルネットワークのパラメータを使って、プレーヤの第1の状態における第1の可能アクションの第1のリグレット値を予測し、第2のニューラルネットワークのパラメータを使って、プレーヤの第1の状態における第1の可能アクションの第1の戦略値を予測するように構成される。
任意選択で、1つまたは複数のプロセッサは、新たなリグレットサンプルを取得し、リザーバサンプリングアルゴリズムに従って、新たなリグレットサンプルを第1のデータストアの中に記憶するように構成される。
任意選択で、1つまたは複数のプロセッサは、第1のデータストアが満杯であるかどうかを判断し、第1のデータストアが満杯であると判断したことに応答して、第1のデータストア中のいくつかのリグレットサンプルのうちの1つを、新たなリグレットサンプルで置き換えるように構成される。
任意選択で、CFRアルゴリズムは、堅牢サンプリングCFRアルゴリズムを含む。
任意選択で、プレーヤの状態における可能アクションの戦略値は、平均戦略の分子を含む。
任意選択で、プレーヤの状態における可能アクションのリグレット値は、プレーヤの状態における可能アクションの反事実値に基づいて算出された、プレーヤの状態における可能アクションの反事実リグレット値を含む。
任意選択で、1つまたは複数のプロセッサは、プレーヤと少なくとも別のプレーヤとの間の戦略的対話における戦略探索における反事実的後悔最小化(CFR)アルゴリズムの2回以上の反復の各々において、サンプリング方式に従って、プレーヤの第2の状態におけるいくつかの可能アクションの中から、可能アクションをサンプリングし、プレーヤの第2の状態における可能アクションの反事実値を算出し、プレーヤの第2の状態における可能アクションの反事実値に基づいて、プレーヤの第2の状態における可能アクションのリグレット値を算出し、リグレットマッチングアルゴリズムに従って、プレーヤの第2の状態における可能アクションのリグレット値に基づいて、プレーヤの第2の状態における可能アクションの更新された戦略を算出し、プレーヤの第2の状態における可能アクションの更新された戦略に基づいて、プレーヤの第2の状態における可能アクションの戦略値を算出するように構成される。
任意選択で、1つまたは複数のプロセッサは、前の反復における第1のニューラルネットワークのパラメータに基づいて、第1のニューラルネットワークのパラメータを初期化し、前の反復における第2のニューラルネットワークのパラメータに基づいて、第2のニューラルネットワークのパラメータを初期化するように構成される。
本主題の記載された実施形態は、1つまたは複数の特徴を、単独で、または組合せとして含み得る。たとえば、第1の実施形態は、2人以上のプレーヤの間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するためのコンピュータ実装方法である。方法は、第1のプレーヤの第1の状態における第1のプレーヤのN1個の可能アクションを識別するステップと、第1のサンプリング確率で第1のプレーヤの第1の状態におけるN1個の可能アクションの中から可能アクションをサンプリングするステップと、第1のプレーヤの第2の状態における第1のプレーヤのN2個の可能アクションを識別するステップであって、第1のプレーヤの第1の状態は第1のプレーヤの第2の状態よりもIIGの開始状態に近い、ステップと、第2のサンプリング確率で第1のプレーヤの第2の状態におけるN2個の可能アクションの中から可能アクションをサンプリングするステップであって、第1のサンプリング確率は第2のサンプリング確率未満である、ステップと、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいて、CFRを実施するステップとを含む。いくつかの実施形態では、2人以上のプレーヤ間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。一例として、IIGは、少なくとも第1のプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表し、第1のプレーヤは、第2のプレーヤの情報への制限付きアクセスを有し、第1のプレーヤの第1の状態は、第2のプレーヤによって提供された情報の履歴を含み、第1のプレーヤのN1個の可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、N1個の可能アクションを含む。
上記および他の記載される実施形態は各々、任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
以下の特徴のうちのいずれとも組合せ可能な第1の特徴において、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいてCFRを実施することは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションのリグレット値を計算することと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションのリグレット値を計算することと、N1個の可能アクションの中からの可能アクションのリグレット値に基づいて、第1の状態における第1のプレーヤの第1の戦略を更新することと、N2個の可能アクションの中からの可能アクションのリグレット値に基づいて、第2の状態における第1のプレーヤの第2の戦略を更新することとを含む。
以下の特徴のうちのいずれとも組合せ可能な第2の特徴は、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からk1個の可能アクションをサンプリングすることであって、k1個の可能アクションの各々は同じ第1のサンプリング確率でサンプリングされる、ことと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からk2個の可能アクションをサンプリングすることであって、k2個の可能アクションの各々は同じ第2のサンプリング確率でサンプリングされる、こととをさらに含む。
以下の特徴のうちのいずれとも組合せ可能な第3の特徴は、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からのk1個の可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からのk2個の可能アクションに基づいてCFRを実施することをさらに含む。
以下の特徴のうちのいずれとも組合せ可能な第4の特徴において、第1のサンプリング確率はk1/N1であり、第2のサンプリング確率はk2/N2である。
以下の特徴のうちのいずれとも組合せ可能な第5の特徴において、2<= k1<= N1 および 2<= k2 <= N2である。
以下の特徴のうちのいずれとも組合せ可能な第6の特徴において、k1 = k2である。
以下の特徴のうちのいずれとも組合せ可能な第7の特徴は、第2のプレーヤの第1の状態における第2のプレーヤのM1個の可能アクションを識別することと、第3のサンプリング確率で第2のプレーヤの第1の状態におけるM1個の可能アクションの中から可能アクションをサンプリングすることと、第2のプレーヤの第2の状態における第2のプレーヤのM2個の可能アクションを識別することであって、第2のプレーヤの第1の状態は第2のプレーヤの第2の状態よりもIIGの開始状態に近い、ことと、第4のサンプリング確率で第1のプレーヤの第2の状態におけるM2個の可能アクションの中から可能アクションをサンプリングすることであって、第3のサンプリング確率は第4のサンプリング確率未満である、こととをさらに含む。
以下の特徴のうちのいずれとも組合せ可能な第8の特徴は、第2のプレーヤの第1の状態における第2のプレーヤのM1個の可能アクションを識別することであって、第1のプレーヤの第1の状態は第2のプレーヤの第1の状態よりもIIGの開始状態に近い、ことと、第3のサンプリング確率で第2のプレーヤの第1の状態におけるM1個の可能アクションの中から可能アクションをサンプリングすることであって、第3のサンプリング確率は第1のサンプリング確率よりも大きい、こととをさらに含む。
第2の実施形態において、システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されるとともに、第1の実施形態および上述した特徴のうちの1つまたは複数の、その任意選択の組合せのいずれかの方法を実施するように、1つまたは複数のプロセッサによって実行可能な命令を記憶した1つまたは複数のコンピュータ可読メモリとを含む。
第3の実施形態において、2人以上のプレーヤ間の戦略的対話における戦略探索のための反事実的後悔最小化(CFR)を実施するための装置。装置は、第1のプレーヤの第1の状態における第1のプレーヤのN1個の可能アクションを識別するための第1の識別モジュールと、第1のサンプリング確率で第1のプレーヤの第1の状態におけるN1個の可能アクションの中から可能アクションをサンプリングするための第1のサンプリングモジュールと、第1のプレーヤの第2の状態における第1のプレーヤのN2個の可能アクションを識別するための第2の識別モジュールであって、第1のプレーヤの第1の状態は第1のプレーヤの第2の状態よりもIIGの開始状態に近い、第2の識別モジュールと、第2のサンプリング確率で第1のプレーヤの第2の状態におけるN2個の可能アクションの中から可能アクションをサンプリングするための第2のサンプリングモジュールであって、第1のサンプリング確率は第2のサンプリング確率未満である、第2のサンプリングモジュールと、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションに基づいて、CFRを実施するための処理モジュールとを含む。いくつかの実施形態では、2人以上のプレーヤの間の戦略的対話は、2人以上のプレーヤを伴う不完全情報ゲーム(IIG)によってモデル化され得る。一例として、IIGは、少なくとも第1のプレーヤおよび第2のプレーヤを伴う協調型製品サービス推奨サービスを表し、第1のプレーヤは、第2のプレーヤの情報への制限付きアクセスを有し、第1のプレーヤの第1の状態は、第2のプレーヤによって提供された情報の履歴を含み、第1のプレーヤのN1可能アクションは、製品サービス推奨を顧客に提供するための、第2のプレーヤによって提供された情報の履歴に応答する、N1可能アクションを含む。
上記および他の記載される実施形態は各々、任意選択で、以下の特徴のうちの1つまたは複数を含み得る。
以下の特徴のうちのいずれとも組合せ可能な第1の特徴において、処理モジュールは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からの可能アクションのリグレット値を計算するための第1の計算モジュールと、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からの可能アクションのリグレット値を計算するための第2の計算モジュールと、N1個の可能アクションの中からの可能アクションのリグレット値に基づいて、第1の状態における第1のプレーヤの第1の戦略を更新するための第1の更新モジュールと、N2個の可能アクションの中からの可能アクションのリグレット値に基づいて、第2の状態における第1のプレーヤの第2の戦略を更新するための第2の更新モジュールとを含む。
以下の特徴のうちのいずれとも組合せ可能な第2の特徴において、第1のサンプリングモジュールは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からk1個の可能アクションをサンプリングし、k1個の可能アクションの各々は同じ第1のサンプリング確率でサンプリングされ、第2のサンプリングモジュールは、第1のプレーヤの第2の状態におけるN2個の可能アクションの中からk2個の可能アクションをサンプリングし、k2個の可能アクションの各々は同じ第2のサンプリング確率でサンプリングされる。
以下の特徴のうちのいずれとも組合せ可能な第3の特徴において、処理モジュールは、第1のプレーヤの第1の状態におけるN1個の可能アクションの中からのk1個の可能アクションおよび第1のプレーヤの第2の状態におけるN2個の可能アクションの中からのk2個の可能アクションに基づいて、CFRを実施する。
以下の特徴のうちのいずれとも組合せ可能な第4の特徴において、第1のサンプリング確率はk1/N1であり、第2のサンプリング確率はk2/N2である。
以下の特徴のうちのいずれとも組合せ可能な第5の特徴において、2<= k1<= N1 および 2<= k2 <= N2である。
以下の特徴のうちのいずれとも組合せ可能な第6の特徴において、k1 = k2である。
以下の特徴のうちのいずれとも組合せ可能な第7の特徴は、第2のプレーヤの第1の状態における第2のプレーヤのM1個の可能アクションを識別するための第3の識別モジュールと、第3のサンプリング確率で第2のプレーヤの第1の状態におけるM1個の可能アクションの中から可能アクションをサンプリングするための第3のサンプリングモジュールと、第2のプレーヤの第2の状態における第2のプレーヤのM2個の可能アクションを識別するための第4の識別モジュールであって、第2のプレーヤの第1の状態は第2のプレーヤの第2の状態よりもIIGの開始状態に近い、第4の識別モジュールと、第4のサンプリング確率で第1のプレーヤの第2の状態におけるM2個の可能アクションから可能アクションをサンプリングするための第4のサンプリングモジュールであって、第3のサンプリング確率は第4のサンプリング確率未満である、第4のサンプリングモジュールとをさらに含む。
以下の特徴のうちのいずれとも組合せ可能な第8の特徴は、第2のプレーヤの第1の状態における第2のプレーヤのM1個の可能アクションを識別するための第5の識別モジュールであって、第1のプレーヤの第1の状態は第2のプレーヤの第1の状態よりもIIGの開始状態に近い、第5の識別モジュールと、第3のサンプリング確率で第2のプレーヤの第1の状態におけるM1個の可能アクションの中から可能アクションをサンプリングするための第5のサンプリングモジュールであって、第3のサンプリング確率は第1のサンプリング確率よりも大きい、第5のサンプリングモジュールとをさらに含む。
本明細書に記載する主題ならびにアクションおよび動作の実施形態は、デジタル電子回路機構で、または有形に実施されるコンピュータソフトウェアもしくはファームウェアで、本明細書において開示した構造およびそれらの構造的等価物を含むコンピュータハードウェアで、またはそれらのうちの1つもしくは複数の、組合せで実装することができる。本明細書において説明される主題の実施形態は、1つまたは複数のコンピュータプログラムとして、たとえば、データ処理装置によって実行するか、またはデータ処理装置の動作を制御するための、コンピュータプログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして、実装することができる。たとえば、コンピュータプログラムキャリアが、命令を符号化または記憶した1つまたは複数のコンピュータ可読記憶媒体を含み得る。キャリアは、磁気、光磁気、もしくは光ディスク、固体状態ドライブ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、または他のタイプの媒体など、有形の非一時的コンピュータ可読媒体であってよい。代替または追加として、キャリアは、データ処理装置による実行のために、適切な受信機装置への送信用の情報を符号化するように生成される、人工的に生成された伝搬信号、たとえば、機械生成された電気、光学、または電磁信号であってよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の、組合せであるか、またはその一部であってよい。コンピュータ記憶媒体は、伝播される信号ではない。
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコードと呼ばれるか、またはそれらとして知られている場合もあり、コンパイル型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含む、どの形のプログラミング言語でも書かれてよく、スタンドアロンプログラムとして、またはモジュール、構成要素、エンジン、サブルーチン、もしくはコンピューティング環境における実行に適した他の単位として、を含む、どの形でも展開することができ、環境は、1つまたは複数のロケーションにある、データ通信ネットワークによって相互接続された1つまたは複数のコンピュータを含み得る。
コンピュータプログラムが、ファイルシステム内のファイルに対応してよいが、そうである必要はない。コンピュータプログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語ドキュメントに記憶された1つもしくは複数のスクリプトを保持するファイル部分に、問題になっているプログラムに専用の単一のファイルに、または複数の協調ファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイルに記憶することができる。
コンピュータプログラムの実行のためのプロセッサは、例として、汎用および特殊目的マイクロプロセッサの両方、ならびにどの種類のデジタルコンピュータのどの1つまたは複数のプロセッサも含む。概して、プロセッサが、実行用の、コンピュータプログラムの命令ならびにデータを、プロセッサに結合された非一時的コンピュータ可読媒体から受信することになる。
「データ処理装置」という用語は、例として、プログラム可能プロセッサ、1つのコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するための、あらゆる種類の装置、デバイス、および機械を包含する。データ処理装置は、特殊目的論理回路機構、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(グラフィックス処理ユニット)を含むことができる。装置はまた、ハードウェアに加え、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の、組合せを構成するコードを含むことができる。
本明細書に記載したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって動作を実施するための1つまたは複数のコンピュータプログラムを実行する1つまたは複数のコンピュータまたはプロセッサによって実施され得る。プロセスおよび論理フローは、特殊目的論理回路機構、たとえば、FPGA、ASIC、もしくはGPUによって、または特殊目的論理回路機構と1つもしくは複数のプログラムされたコンピュータの組合せによって実施されてもよい。
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは特殊目的マイクロプロセッサもしくは両方、またはどの他の種類の中央処理ユニットに基づいてもよい。概して、中央処理ユニットは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの要素は、命令を実行するための中央処理ユニットと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとを含み得る。中央処理ユニットおよびメモリは、特殊目的論理回路要素によって補完することも、その中に組み込むこともできる。
概して、コンピュータはまた、1つまたは複数の記憶デバイスを含むか、あるいは1つまたは複数の記憶デバイスからデータを受信し、またはそこへデータを転送するために動作可能に結合されることになる。記憶デバイスは、たとえば、磁気、光磁気、もしくは光ディスク、固体状態ドライブ、またはどの他のタイプの非一時的コンピュータ可読媒体であってもよい。ただし、コンピュータは、そのようなデバイスを有する必要はない。したがって、コンピュータは、ローカルおよび/またはリモートである、1つまたは複数のメモリなど、1つまたは複数の記憶デバイスに結合され得る。たとえば、コンピュータは、コンピュータの一体型構成要素である1つもしくは複数のローカルメモリを含んでよく、またはコンピュータは、クラウドネットワーク中にある1つもしくは複数のリモートメモリに結合されてよい。その上、コンピュータは、別のデバイス、たとえば、ほんのいくつかの例を挙げれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
構成要素は、直接または1つもしくは複数の仲介構成要素を介して、のいずれかで、電気的または光学的など、通信可能に互いに接続されることによって、互い「に結合され」得る。構成要素はまた、構成要素のうちの1つが他の構成要素に統合される場合、互い「に結合され」得る。たとえば、プロセッサに統合される記憶構成要素(たとえば、L2キャッシュ構成要素)は、プロセッサ「に結合される」。
ユーザとの対話を提供するために、本明細書に記載する主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、たとえば、LCD(液晶ディスプレイ)モニタと、ユーザがコンピュータに入力を提供し得るための入力デバイス、たとえば、キーボードおよびポインティングデバイス、たとえば、マウス、トラックボールまたはタッチパッドとを有するコンピュータ上で実装されるか、またはコンピュータと通信するように構成され得る。他の種類のデバイスも、ユーザとの対話を可能にするのに使われることが可能であり、たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバックでも、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからのインプットは、音響、発話、または触覚インプットを含む、どの形でも受信されることが可能である。さらに、コンピュータは、ユーザによって使われるデバイスへドキュメントを送信し、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのデバイス上のウェブブラウザへウェブページを送信することによって、またはユーザデバイス、たとえば、スマートフォンもしくは電子タブレット上で稼動するアプリと対話することによって、ユーザと対話することができる。また、コンピュータは、パーソナルデバイス、たとえば、メッセージングアプリケーションを稼動しているスマートフォンにテキストメッセージまたは他の形のメッセージを送り、ユーザから引き換えに応答メッセージを受信することによって、ユーザと対話することができる。
本明細書は、「ように構成される」という用語を、システム、装置、およびコンピュータプログラム構成要素との関連で使っている。1つまたは複数のコンピュータからなるシステムが特定の動作またはアクションを実施するように構成されることは、システムが、動作の際にシステムに動作またはアクションを実施させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。1つまたは複数のコンピュータプログラムが、特定の動作またはアクションを実施するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、動作またはアクションを装置に実施させる命令を含むことを意味する。特殊目的論理回路機構が、特定の動作またはアクションを実施するように構成されることは、回路機構が、動作またはアクションを実施する電子論理を有することを意味する。
本明細書は、多くの具体的な実施形態詳細を含むが、これらは、請求項自体によって定義される、特許請求されているものの範囲において、限定と解釈されるべきではなく、特定の実施形態に特有であり得る特徴の記述として解釈されるべきである。また、別個の実施形態の文脈において本明細書で説明したいくつかの特徴は、単一の実施形態において組み合わせて実現することができる。逆に、単一の実施形態の文脈において記載される様々な特徴はまた、複数の実施形態において別々に、またはどの適切な部分組合せでも実現することができる。さらに、特徴は、いくつかの組合せで働くものとして上記で説明され、初めにそのように特許請求される場合さえあるが、特許請求された組合せからの1つまたは複数の特徴は、場合によってはその組合せから削除することができ、請求される組合せは、部分組合せ、または部分組合せの変形形態を対象とすることができる。
同様に、動作は、特定の順序において図面に示され、請求項に具陳されているが、これは、そのような動作が図示された特定の順序において、もしくは順次に実施されることを必要とするか、または、所望の結果を達成するためにすべての示された動作が実施されることを必要とするものと理解されるべきではない。いくつかの状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上述した実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、記載したプログラム構成要素およびシステムは概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることを理解されたい。
本主題の特定の実施形態について記載した。他の実施形態は、以下の特許請求の範囲内である。たとえば、請求項に具陳されるアクションは、異なる順序で実施され、依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するのに、図示される特定の順序、または順番を必ずしも要求しない。いくつかのケースでは、マルチタスキングおよび並列処理が有利であり得る。