IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7473073ポリシー生成装置、制御方法、及びプログラム
<>
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図1
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図2
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図3
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図4
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図5
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図6
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図7
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図8
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図9
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図10
  • 特許-ポリシー生成装置、制御方法、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】ポリシー生成装置、制御方法、及びプログラム
(51)【国際特許分類】
   G06Q 10/00 20230101AFI20240416BHJP
   G06N 5/04 20230101ALI20240416BHJP
   G06N 20/00 20190101ALI20240416BHJP
【FI】
G06Q10/00
G06N5/04
G06N20/00 160
【請求項の数】 8
(21)【出願番号】P 2023504142
(86)(22)【出願日】2020-07-29
(65)【公表番号】
(43)【公表日】2023-08-09
(86)【国際出願番号】 JP2020029145
(87)【国際公開番号】W WO2022024280
(87)【国際公開日】2022-02-03
【審査請求日】2023-01-19
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】モハメド ヤセル ファルコ オスマン
【審査官】藤原 拓也
(56)【参考文献】
【文献】特開2002-175438(JP,A)
【文献】国際公開第2019/146044(WO,A1)
【文献】特開2020-13568(JP,A)
【文献】米国特許出願公開第2012/0290485(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 5/04
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
メイン交渉器について受諾モデルを取得し、
記取得した受諾モデルを利用してオファーポリシーを生成し、
記生成したオファーポリシーを出力し、
各前記メイン交渉器は互いに異なるパートナー交渉器と交渉を行い、
前記オファーポリシーは、各前記メイン交渉器についてのオファー列を含み、
前記メイン交渉器についての前記オファー列は、そのメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含み、
前記オファーポリシーの変更は、各前記メイン交渉器について、
そのメイン交渉器について重み付き全体効用の周辺分布を算出し
在の前記オファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換することを含み、
前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、
前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、
前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、
前記メイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、
前記オファー列の下における前記全体効用の期待値は、前記メイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される、ポリシー生成装置。
【請求項2】
記オファーポリシーの変更を、前記オファーポリシーの変更によって前記オファーポリシーが変化しなくなるまで、繰り返し実行する、請求項1に記載のポリシー生成装置。
【請求項3】
特定メイン交渉器についての前記重み付き全体効用の周辺分布の算出は、
前記特定のメイン交渉器からの各結果について、前記特定のメイン交渉器以外の各前記交渉器についての前記結果をサンプルして、前記特定のメイン交渉器についてのその結果と前記サンプルされた結果との下での前記重み付き全体効用を算出することと、
前記特定のメイン交渉器からの各結果について算出された前記重み付き全体効用の集合を、前記特定のメイン交渉器についての前記重み付き全体効用の周辺分布として扱うこととを含む、請求項1又は2に記載のポリシー生成装置。
【請求項4】
記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力する、請求項1から3いずれか一項に記載のポリシー生成装置。
【請求項5】
記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力し、
前記オファーポリシーの前記再生成は、変化前の前記受諾モデルの下における前記結果の集合の下における前記重み付き全体効用に対して変化率を掛けることで、その結果の集合の下における前記重み付き全体効用を算出することを含み、
前記変化率は、変化前の前記受諾モデルの下における前記結果のその集合の発生確率に対する、前記変化した受諾モデルの下における前記結果のその集合の発生確率の比率である、請求項3に記載のポリシー生成装置。
【請求項6】
前記現在のオファーポリシーにおける前記メイン交渉器の前記オファー列の置換は、そのメイン交渉器の前記新たなオファー列を生成することを含み、
前記メイン交渉器の前記新たなオファー列を生成することは、
そのメイン交渉器について起こりうる各結果について候補位置を初期化することと、
前記新たなオファー列に挿入されるべきオファーと、そのオファーが挿入されるべき前記オファー列内の位置とが決定される決定処理を実行することと、前記決定されたオファーを前記新たなオファー列における前記決定された位置に挿入することとを繰り返し行うことを含み、
前記決定処理は、
起こりうる各結果について、その結果が前記新たなオファーポリシーにおけるその結果の前記候補位置に挿入されるという仮定の下で、前記新たなオファーポリシーの下における前記効用期待値を算出することと、
前記効用期待値が最大化される前記結果を前記新たなオファー列に挿入すべき前記結果として決定し、かつ、前記決定された結果の前記候補位置を、前記決定された結果が挿入されるべき前記オファー列内の位置として決定することと、
前記決定された結果について算出された前記効用期待値よりも小さい前記効用期待値を持つ各結果の前記候補位置をインクリメントすることとを含む、請求項1から5いずれか一項に記載のポリシー生成装置。
【請求項7】
コンピュータによって実行される制御方法であって、
各メイン交渉器について受諾モデルを取得し
前記取得した受諾モデルを利用してオファーポリシーを生成し
前記生成したオファーポリシーを出力することを含み、
各メイン交渉器は異なるパートナー交渉器と交渉を行い、
前記オファーポリシーは、各メイン交渉器についてのオファー列を含み、
前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含み、
前記オファーポリシーの変更は、各前記メイン交渉器について、
そのメイン交渉器について重み付き全体効用の周辺分布を算出し
在の前記オファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換することを含み、
前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、
前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、
前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、
前記メイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、
前記オファー列の下における前記全体効用の期待値は、前記メイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される、制御方法。
【請求項8】
プログラムであって、
各メイン交渉器について受諾モデルを取得し
前記取得した受諾モデルを利用してオファーポリシーを生成し
前記生成したオファーポリシーを出力することをコンピュータに実行させ
各メイン交渉器は異なるパートナー交渉器と交渉を行い、
前記オファーポリシーは、各メイン交渉器についてのオファー列を含み、
前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含み、
前記オファーポリシーの変更は、各前記メイン交渉器について、
そのメイン交渉器について重み付き全体効用の周辺分布を算出し
在の前記オファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換することを含み、
前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、
前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、
前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、
前記メイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、
前記オファー列の下における前記全体効用の期待値は、前記メイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される、プログラム
【発明の詳細な説明】
【技術分野】
【0001】
本開示は全体として、並列して複数のパーティーと自動的に交渉する技術に関する。
【背景技術】
【0002】
交渉は、自己本位なパーティーたちが合意に達するためのプロセスである。自動交渉においては、1つ以上の交渉パーティーが、人工知能(AI: artificially intelligent)エージェントなどのコンピュータを用いて、自動的に交渉を行う。自動化されたビジネスオペレーションのために AI を利用することが増えていることにより、自動交渉への関心が増加している。
【0003】
自動交渉に関するいくつかの開示が存在する。特許文献1は、複数の顧客との、自動的な値引きと値段の交渉のための方法を開示する。非特許文献1は、自動エージェントが複数の不特定な相手と並行して交渉できるようにする技術を開示する。
【0004】
特許文献1と非特許文献1の双方において、現在の交渉のそれぞれ(各顧客や各相手など)について、効用が独立して定義されている。なお、エージェントが受け取る効用は、その交渉戦略の品質を評価するための基準を表す(効用が大きいほど、交渉戦略の品質が高い。)。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許出願公開第2014‐0279168号明細書
【非特許文献】
【0006】
【文献】Williams, Colin R.、Valentin Robu、Enrico H. Gerding、及び Nicholas R. Jennings、「Negotiating concurrently with unknown opponents in complex, real time domains」、20th European Conference on Artificial Intelligence、2012年8月
【発明の概要】
【発明が解決しようとする課題】
【0007】
一つの交渉の効用は、他の交渉の結果と独立して正確に判断することはできない。例えば、買い手は、他の交渉の結果による売値や、現在交渉中である他の売り手も考慮しない限り、10ドルの商品を買うことについての効用を判断できない。前述したような効用の精度の低さにより、特許文献1や非特許文献1で開示されている手法では、並行している交渉全体の品質を正確に評価することは難しい。
【0008】
本開示の目的の一つは、並行する複数の交渉全体の品質を正確に考慮して、複数のパーティーと並行して交渉できるようにする技術を提供する。
【課題を解決するための手段】
【0009】
本開示は、少なくとも1つのプロセッサと、命令が格納されている記憶部とを有するポリシー生成装置を提供する。
前記少なくとも1つのプロセッサは、前記命令を実行することで、各メイン交渉器について受諾モデルを取得し、各前記メイン交渉器は異なるパートナー交渉器と交渉を行い、前記取得した受諾モデルを利用してオファーポリシーを生成し、前記オファーポリシーは、各前記メイン交渉器についてのオファー列を含み、前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、前記生成したオファーポリシーを出力する様に構成される。
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含む。
前記オファーポリシーの変更は、各前記メイン交渉器について、そのメイン交渉器について重み付き全体効用の周辺分布を算出し、前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、そのメイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、前記現在のオファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換し、前記オファー列の下における前記全体効用の期待値は、そのメイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される。
【0010】
本開示は、コンピュータによって実行される制御方法をさらに提供する。この制御方法は、各メイン交渉器について受諾モデルを取得し、各前記メイン交渉器は異なるパートナー交渉器と交渉を行い、前記取得した受諾モデルを利用してオファーポリシーを生成し、前記オファーポリシーは、各前記メイン交渉器についてのオファー列を含み、前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記生成したオファーポリシーを出力することを含む。
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含む。
前記オファーポリシーの変更は、各前記メイン交渉器について、そのメイン交渉器について重み付き全体効用の周辺分布を算出し、前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、そのメイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、前記現在のオファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換し、前記オファー列の下における前記全体効用の期待値は、そのメイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される。
【0011】
本開示は、プログラムが格納されている非一時的なコンピュータ可読記憶媒体をさらに提供する。このプログラムは、コンピュータに、本開示の制御方法を実行させる。
【発明の効果】
【0012】
本開示によれば、並行する複数の交渉全体の品質を正確に考慮して、複数のパーティーと並行して交渉できるようにする技術を提供することができる。
【図面の簡単な説明】
【0013】
図1図1は、メインパーティーと複数のパートナーパーティーとの間における交渉を例示する図である。
図2図2は、実施形態1のポリシー生成装置の機能構成の例を表すブロック図である。
図3図3は、ストレージデバイスに格納されている受諾モデルの例をテーブル形式で表す。
図4図4は、ポリシー生成装置を実現するコンピュータのハードウエア構成の例を示すブロック図である。
図5図5は、実施形態1のポリシー生成装置によって実行される処理の流れの例を示すフローチャートである。
図6図6は、オファーポリシーを生成する処理の流れの例を表すフローチャートを示す。
図7図7は、メイン交渉器32-eについての効用期待値の近似解を算出する処理の流れの例を表すフローチャートを示す。
図8図8は、GCA アルゴリズムの擬似コードの例を示す。
図9図9は、QGCA の擬似コードを例を示す。
図10図10は、実施形態2における処理の基本的な流れを表すフローチャートを示す。
図11図11は、実施形態2のポリシー生成装置の機能構成の例を表すブロック図を示す。
【発明を実施するための形態】
【0014】
以降、本開示に係る実施形態が、図面を参照しながら説明される。複数の図面に亘り、同じ要素には同じ符号が割り当てられ、冗長な説明は適宜省略される。
【0015】
実施形態1
<環境>
この実施形態において、1つのメインパーティーと複数のパートナーパーティーの存在が仮定される。メインパーティーは、様々な目的で、複数のパートナーパーティーのそれぞれと交渉する。例えばメインパーティーはファーストフード会社である一方、パートナーパーティーはそのファーストフード会社へ原材料を売る売り手である。ファーストフード会社は、低いコストで高い品質の原材料を得るために、複数の売り手と交渉しうる。交渉の結果、ファーストフード会社は、交渉が合意に達した売り手から原材料を得る(すなわち、買う)。
【0016】
メインパーティーは、1つ以上のコンピュータを利用して、パートナーパーティーと交渉する。図1は、メインパーティーと複数のパートナーパーティーとの間における交渉を例示する図である。図1において、メインパーティー10は交渉装置30を操作する一方で、各パートナーパーティー20は交渉装置40を操作する。さらに、交渉装置30は、複数のメイン交渉器32を実行する一方で、交渉装置40はパートナー交渉器42を実行する。メインパーティー10がパートナーパーティー20-1と交渉する時には、交渉装置30で動作するメイン交渉器32-1が、パートナーパーティー20-1によって操作されている交渉装置40で動作するパートナー交渉器42-1との交渉を実行する。なお、メイン交渉器32は1つ以上のパートナー交渉器42と交渉しうる。メイン交渉器32は、例えば、交渉装置30で動作するプロセス又はスレッドでありうる。同様に、パートナー交渉器42は、例えば、交渉装置40上で動作するプロセス又はスレッドでありうる。
【0017】
なお、メインパーティーは買い手である必要はなく、売り手でもよい。この場合、例えばメインパーティーは複数のパートナーパーティーと交渉を行い、1つ以上のパートナーパーティーへ商品を売る。
【0018】
なお、1つ以上のメイン交渉器32を実行する交渉装置30が、複数存在してもよい。さらに、交渉装置40は、複数のパートナー交渉器42を実行してもよい。この場合、対応するパートナーパーティーは、メインパーティーと複数の交渉を行いうる。パートナーパーティーが複数種類の材料をメインパーティーに売りたいとする。この場合、パートナーパーティーは、各種類の材料について、メインパーティーと交渉をしうる。
【0019】
この実施形態において、メイン交渉器32は、オファー列に応じて交渉を行う。オファー列は、メイン交渉器32が対応するパートナー交渉器42へ順に提供するオファーの列を表す。オファーは、メイン交渉器32が得たい結果を表す。以下、オファーと結果は交換可能に用いられる。メイン交渉器32が、原材料 X1 を買うためにパートナー交渉器42と交渉するとする。この場合、オファーは、量とコストのペアを表しうる。量は、メインパーティーがいくつの原材料をパートナーパーティーから購入したいのかを表す。コストは、パートナーパーティーが材料のためにいくらのお金をパートナーパーティーへ支払うのかを表す。メインパーティーが合計3つのオファーをパートナーパーティーへ提供可能であるとすると、オファー列は、量とコストの3つのペアの列を表す(例えば、{(量=q1,コスト=c1),(量=q2,コスト=c2),(量=q3,コスト=c3)})。
【0020】
以下、メイン交渉器32-eから提供されるオファー列は、π^e で表される。e はメイン交渉器32のインデックスを表す。オファー列π^e における i 番目のオファーは、π^e[i] で表される。メイン交渉器32の総数(すなわち、並行する交渉の総数)は、N で表される。各メイン交渉器32が提供可能なオファーの総数は、T で表される。
【0021】
各メイン交渉器32は、対応するオファー列に応じた交渉をラウンドロビンで行う。これは、交渉の i ラウンド目においてメイン交渉器32-1からメイン交渉器32-Nによって提供されるオファーがそれぞれ、π^1[i] からπ^N[i] であることを意味する。各メイン交渉器32は、そのオファーが受け入れられるまで、対応するパートナー交渉器42と交渉を行う。このような方法による交渉のアルゴリズムの例は、SAOP(Stacked Alternating Offers Protocol)である。
【0022】
<ポリシー生成装置100の概要>
実施形態1のポリシー生成装置100は、各メイン交渉器32についてオファー列を生成する(図1参照)。以下、交渉装置30へ提供されるオファー列の集合は、オファーポリシーπと表記される。そのため、オファーポリシーπは、π^1、π^2、・・・、π^N を含む。
【0023】
ポリシー生成装置100は、メインパーティーがパートナーパーティーとの交渉において良い結果を達成できるように、オファーポリシーを生成する。そのためには、メイン交渉器32とパートナー交渉器42との間の並行する交渉全体の品質を評価するための基準が必要である。本開示において、この基準は全体効用と呼ばれる。ポリシー生成装置100は、交渉の全体効用を評価するために、全体効用関数 u() を利用する。具体的には、全体効用関数 u() は、各メイン交渉器32から得られる結果の集合を入力として取り、これらの結果が得られる交渉全体の全体効用を表す実数を出力する。全体効用関数は、例えば、メインパーティーにおけるビジネス上の要求に基づいて予め定められ、ポリシー生成装置100からアクセスできるストレージデバイスに格納されている。
【0024】
後で詳細に述べるように、ポリシー生成装置100は、可能な限り全体効用が大きくなるように、オファーポリシーを生成する。そうすることで、ポリシー生成装置100は、メイン交渉器32とパートナー交渉器42との間の並行する交渉全体を正確に考慮して、オファーポリシオーを生成できる。これは、メインパーティーが、全体として効果的な交渉を複数のパートナーパーティーと並行して行えるようにする。
【0025】
<<機能構成の例>>
図2は、実施形態1のポリシー生成装置100の機能構成の例を表すブロック図である。ポリシー生成装置100は、取得部102、生成部104、及び出力部106を有する。取得部102は、パートナー交渉器42ごとの受諾モデル(後に詳述)を取得する。生成部104は、取得部102によって取得された受諾モデルを用いてオファーポリシーを生成する。出力部106は、メイン交渉器32がオファーポリシーに応じた交渉を行えるように、オファーポリシーを出力する。
【0026】
<<受諾モデル>>
メイン交渉器32-eについての受諾モデルは、メイン交渉器32-eによって行われる交渉において起こりうる全ての結果について、受諾される確率を表す。以下、メイン交渉器32-eについての受諾モデルは、a^e と表される。具体的には、a^e(w,i) は、メイン交渉器32-eの i 番目のオファーにおいて結果 w が受諾される確率(0から1の間の値)を表す。
【0027】
パートナー交渉器42の視点からは、受諾モデル a^e は、パートナー交渉器42-eがメイン交渉器32-eからのオファーを受諾する確率を表す。具体的には、a^e(w,i) は、i ラウンド目において結果 w に対応するオファーがパートナー交渉器42-eによって受諾される確率を表す。なお、結果に対応するオファーとは、当該結果となるオファーを表す。
【0028】
受容モデルは、可能性のある各交渉対象について、予め用意されている。交渉対象は、メインパーティーが交渉を行うパートナーパーティーであってもよいし、メインパーティーが交渉を行う商品とパートナーパーティーのペアであってもよい。例えば、メインパーティーが原材料 X1 を購入するためにパートナーパーティー P1 と交渉する場合、この交渉対象は (P1,X1) で表されうる。
【0029】
図3は、ストレージデバイスに格納されている受諾モデルの例をテーブル形式で表す。図3のテーブル200は、交渉対象210と受諾モデル220との対応関係を含む。交渉対象は、パートナーパーティー212及び商品214を含む。
【0030】
受諾モデルは、対応するパートナーパーティーについてメインパーティーが持つ知識に基づいて生成される。言い換えれば、或るパートナーパーティーについての受諾モデルは、そのパートナーパーティーに関する知識を要約するように生成される。例えば、或るパートナーパーティーについての受諾モデルは、メインパーティーとそのパートナーパーティーとの間で過去に行われた交渉の履歴に基づいて生成される。そうすることで、各パートナーパーティーについての受諾モデルを、そのパートナーパーティーがメインパーティーと交渉する際の具体的な基準(効用関数や交渉戦略など)について知ることなく、生成することができる。
【0031】
静的受諾モデル、単調増加受諾モデル、一般受諾モデルなどといった様々な種類の受諾モデルがありうる。静的受諾モデルは、その出力が時間の経過に伴って変化しない受諾モデルである。単調増加受諾モデルは、その出力が時間の経過に伴って増加のみする受諾モデルである。一般受諾モデルは、その出力が時間の経過と共に増加又は減少する受諾モデルである。
【0032】
<ポリシー生成装置100のハードウエア構成の例>
ポリシー生成装置100は、1つ上のコンピュータで実現されうる。1つ以上のコンピュータのそれぞれは、ポリシー生成装置100を実現するために作られた専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン、又はモバイルデバイスなどの汎用コンピュータであってもよい。ポリシー生成装置100は、コンピュータにアプリケーションをインストールすることによって実現されうる。そのアプリケーションは、コンピュータをポリシー生成装置100として動作させるコンピュータプログラムによって実現される。言い換えれば、そのコンピュータプログラムは、ポリシー生成装置100の各機能構成部が実現されたものである。
【0033】
図4は、ポリシー生成装置100を実現するコンピュータ1000のハードウエア構成の例を示すブロック図である。図4において、コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。
【0034】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータを送信及び受信するための、データ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などのプロセッサである。メモリ1060は、RAM(Random Access Memory)や ROM(Read Only Memory)などの一次記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの二次時記憶要素である。)入出力インタフェース1100は、ポリシー生成装置100と周辺装置(キーボード、マウス、又はディスプレイ装置など)との間のインタフェースである。ネットワークインタフェース1120は、ポリシー生成装置100とネットワークとの間のインタフェースである。そのネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。
【0035】
ストレージデバイス1080は、前述したコンピュータプログラムを格納しうる。プロセッサ1040は、ポリシー生成装置100の各機能構成部を実現するためにそのコンピュータプログラムを実行する。
【0036】
コンピュータ1000のハードウエア構成は、図4に示されている構成に限定されない。例えば前述したように、ポリシー生成装置100は、複数のコンピュータで実現されうる。この場合、これらのコンピュータは、ネットワークを介して互いに接続されうる。
【0037】
<処理の流れ>
図5は、実施形態1のポリシー生成装置100によって実行される処理の流れの例を示すフローチャートである。取得部102は、各パートナー交渉器42についての受諾モデルを取得する(S102)。生成部104は、受諾モデルを利用してオファーポリシーを生成する(S104)出力106はオファーポリシーを出力する(S106)。
【0038】
以下、上述の各ステップについて詳細に説明される。
【0039】
<受諾モデルの取得S102>
取得部102は、各メイン交渉器32についての受諾モデルを取得する(S102)。利用すべき受諾モデルを取得するためには、交渉装置30によって実行される交渉の対象を知る必要がある(例えば、パートナーパーティー20と商品のペア(図3参照))。例えば、取得部102は、交渉対象のリストを取得し、各対象についての受諾モデルを図3に示されているテーブルから取得する。
【0040】
<オファーポリシーの生成:S104>
生成部104は、受諾モデルを利用してオファーポリシーを生成する(S104)。図6は、オファーポリシーを生成する処理の流れの例を表すフローチャートを示す。生成部104は、オファーポリシーを初期化する(S202)。オファーポリシーを初期化する方法は様々である。例えば生成部104は、受諾モデルを考慮せずに、全体効用を最大化するオファーポリシーを算出し、このオファーポリシーを初期オファーポリシーとして利用する。その他にも例えば、生成部104は、オファーポリシーをランダムに初期化する。
【0041】
上述の方法では受諾確率が考慮されていないため、初期オファーポリシーに基づく交渉のうちのいくつかは、合意に達しない可能性が高い。言い換えれば、初期オファーポリシーは、そのオファーのいずれもが受諾されないオファー列を含みうる。そこで、生成部104は、オファーポリシーに応じた交渉が合意に達することができるように、受諾モデルを考慮してオファーポリシーを修正する。
【0042】
生成部104は、現在のオファー列に基づいて、各メイン交渉器32についての受諾確率を算出する(S204)。受諾確率は、以下の式を評価することによって得られうる。
【数1】
【0043】
上述の式に示されるように、メイン交渉器32-kについての受諾確率は、それについての受諾モデルに基づいて算出される。なお、メイン交渉器32-kが複数のパートナー交渉器42と交渉する場合、生成部104は、その複数のパートナー交渉器42に対応する受諾モデルの積を、メイン交渉器32-kについての受諾モデルとして利用する。メイン交渉器32-kが、パートナー交渉器42-x、パートナー交渉器42-y、及びパートナー交渉器42-zと交渉するとする。この場合、取得部102は、パートナー交渉器42-x、パートナー交渉器42-y、及びパートナー交渉器42-zのそれぞれに対応する受諾モデル a-x、a-y、及び a-z を取得する。そして、生成部104は、積 a_x*a_y*a_z を、メイン交渉器32-kについての受諾モデル a^k として利用する。
【0044】
上述した受諾確率は、現在のオファー列に基づく条件付き確率であるため、オファー列の変化は受諾確率を変化させる。さらに、後述するようにオファー列は受諾確率に基づいて変更されるため、受諾確率の変化もオファー列を変化させる。そのため、生成部104は、後述するようにオファーポリシーがある程度収束するまで、オファーポリシーの変更を繰り返し行う。
【0045】
ステップS206からS218は、オファーポリシー全体を変更する処理の列を含むループ処理L1を構成する。生成部104は、ある程度オファーポリシーが収束するまで、ループプロセスL1を繰り返す。具体的には、生成部104は、所定の終了条件が満たされるまで、ループ処理L1を繰り返す。所定の終了条件は、例えば、「前回のループにおいてオファーポリシーが変化していない」、「所定の時間が経過した(例えば、ループ処理L1が所定回数実行された)」、又は「効用の期待値が所定の定数よりも向上していない」でありうる。
【0046】
ステップS206において、生成部104は、前述した所定の条件が満たされているか否かを判定する。終了条件が満たされている場合、オファーポリシーの変更は終了し、S220が次に実行される(後に詳述)。一方、終了条件が満たされていない場合、S208が実行される(オファーポリシーの変更が継続される)。
【0047】
ステップS208からS216は、オファーポリシーの中の1つのオファー列を変更する処理の列を含むループ処理L2を構成する。ステップS208において、生成部104は、全てのオファー列が変更されたかを判定する。全てのオファー列が変更されたと判定された場合、ループ処理L2は終了し、ステップS218が次に実行される。一方、全てのオファー列が変更されてはいないと判定された場合、生成部104は、ループ処理L2の今回のイテレーションにおいて変更対象とするオファー列を、まだ変更されていないオファー列の中から選択する。ここで選択されるオファー列のインデックスは、eと表される。言い換えれば、メイン交渉器32-eについてのオファー列π^e が今回のイテレーションで変更される。
【0048】
ステップS208において、更新対象のオファー列を選択する方法は様々である。例えば生成部104は、オファー列のインデックスの順に、オファー列を選択する。すなわち、オファー列π^1 からπ^N がこの順で選択される。その他にも例えば、生成部104は、ランダムにオファー列を選択してもよい。
【0049】
生成部104は、メイン交渉器32-eを除く全てのメイン交渉器32について、受諾確率を算出する(S210)。この算出は、以下の式を評価することで実現されうる。
【数2】
【0050】
生成部104は、メイン交渉器32-eについて、重み付き全体効用の周辺分布(以下、効用期待値)を算出する(S212)。なお、結果集合の下での重み付き全体効用は、結果集合の発生確率で重み付けされたその結果集合の下での全体効用である。メイン交渉器32-eについての効用期待値は、重み付き全体効用においてω^-e を周辺化することで算出することができる。例えば、メイン交渉器32-eについての効用期待値は、以下の式を評価することで算出しうる。
【数3】
【0051】
数式(3)を計算する具体的な方法は後述される。
【0052】
生成部104は、効用期待値を用いて、オファー列π^e を変更する(S214)。この変更は、次のように実行されうる。
【数4】
【0053】
上記の式は、生成部104が、メイン交渉器32-eについての効用期待値の評価の和を最大化するメイン交渉器32-eからのオファーの列を特定し、特定されたオファーの列で、現在のオファーポリシーπの中におけるメイン交渉器32-eについてのオファー列を置き換えるということを意味する。そのようなオファーの列を特定する具体的な方法については後述する。
【0054】
生成部104は、式(1)を再評価することで、変更されたオファーポリシーの下でのメイン交渉器32-eについての受諾確率を算出する(S216)。これは、上述したように、オファーポリシーの変化によって受諾確率が変化するためである。なお、ステップS214においてオファーポリシーに変化がない場合、生成部104は、この算出を行わなくてもよい。
【0055】
ステップS218は、ループ処理L2の終端である。そのため、生成部104は、S218(ループ処理L2の最初のステップ)を次に実行する。前述したように、ループ処理L2は、全てのメイン交渉器32について実行されるまで継続される。
【0056】
ステップS220は、ループ処理L1の終端である。そのため、生成部104は、S214(ループ処理L1の最初のステップ)を次に実行する。前述したように、ループ処理L1は、所定の終了条件が満たされるまで継続される。
【0057】
<効用期待値の具体的な算出方法:S212>
ステップS212において、生成部104は、メイン交渉器32-eについての効用期待値を算出する。そのために、生成部104は、式(3)を評価してもよいし、式(3)を評価する代わりに式(3)の近似解を算出してもよい。前者の場合、生成部104は、起こりうる全ての結果集合それぞれについて全体効用を算出する。そして、生成部104は、重み付き全体効用の分布から、メイン交渉器32-e以外のメイン交渉器32についての結果を周辺化により消去することで、メイン交渉器32-eについて起こりうる結果のそれぞれについて、効用期待値を算出する。生成部104は、各結果ω^e がその結果の下での重み付き全体効用と対応づけられている、メイン交渉器32-eについての効用期待値を生成する。
【0058】
一方、式(3)の近似解は、例えば以下のように算出される。図7は、メイン交渉器32-eについての効用期待値の近似解を算出する処理の流れの例を表すフローチャートを示す。この処理の流れは、図6のステップS212の具体的な実装の例である。
【0059】
ステップS302からS314は、起こりうる各結果ω^e についての重み付き全体効用が算出されるループ処理L3を構成する。以下、メイン交渉器32-eによって行われる交渉において起こりうる全ての結果の集合は、Ω^e で表される。ステップS302において、生成部104は、Ω^e に含まれる全ての結果についてループ処理L3が実行されたか否かを判定する。Ω^e に含まれる全ての結果についてループ処理L3が実行されたと判定された場合、生成部104は、S316を次に実行する。一方、Ω^e に含まれる1つ以上の結果についてまだループ処理L3が実行されていないと判定された場合、生成部104は、それらの結果のうちの1つをΩ^e から抽出し、S304を実行する。なお、ここでΩ^e から抽出された結果は、w と表記される。すなわち、ω^e=w である。
【0060】
ステップS304からS310は、結果ω^e=w の下でのメイン交渉器32-eについての効用期待値が算出される、ループ処理L4を構成する。ループ処理L4は、所定の回数(S と表記される)繰り返される。ステップS304において、生成部104は、ループ処理L4が S 回実行されたか否かを判定する。ループ処理L4が S 回実行された場合、生成部104は、次にS312を実行する。まだループ処理L4が S 回実行されていない場合、生成部104は、S306を次に実行する。
【0061】
メイン交渉器32-e以外の各メイン交渉器32について、生成部104は、対応するメイン交渉器32についての受諾確率から結果をサンプルする(S306)。言い換えれば、生成部104は、1から N までの範囲(e を除く)に含まれる各 i について、メイン交渉器32-iについての受諾確率からランダムに結果を選ぶことにより、ω^i をサンプルする。
【0062】
生成部104は、ω^e=w 及びS306でサンプルされた他の結果の下での全体効用関数 u(ω^1,..,ω^N) を評価することで、それらの結果の下での全体効用を算出する(S308)。
【0063】
ステップS310は、ループ処理L4の終端である。そのため、生成部104は、ステップS304(ループ処理L4の最初のステップ)を次に実行する。
【0064】
ステップS312において、生成部104は、以下で示すように、前回のループ処理L4で得られた全体効用の平均値を EU^e(ω^e=w|π^e) の近似解として算出する。
【数5】
【0065】
ステップS314は、ループ処理L3の終端である。そのため、生成部104は、S302(ループ処理L3の最初のステップ)を次に実行する。
【0066】
図7の全ての処理を終えた時、生成部104は、起こりうる各結果ω^e について、全体効用の平均を得ている。これは、生成部104が、起こりうる各結果ω^e について、EU^e(ω^e|π^e) の近似解を得たことを意味する。そのため、生成部104は、EU^e(ω^e|π^e) として前述した、全体効用の平均値の集合を用いて、式(4)の積分を評価することができる。
【0067】
前述したサンプリング手法により、ポリシー生成装置100は、式(3)をそのまま評価する場合よりも速く、メイン交渉器32-eについての効用期待値を得ることができる。
【0068】
なお、S の値(ループ処理L4の繰り返しの回数)は、サンプリングによって得られる効用期待値の平均値が真の効用期待値と近くなるために十分な大きさであることが好ましい。例えば、効用期待値の近似解が、確度 c で真の期待値からεの範囲に含まれることを保証するために、-ln(1-c)/2ε^2-ln(1-c)/2ε^2 より大きい値が S に適用される。なお、εは、小さな正の実数であり、真の効用期待値からの許容される偏差を表す。
【0069】
<新たなオファー列を決定する具体的な方法:S214>
前述のように、ステップS212において、生成部104は、メイン交渉器32-eについての効用期待値の評価の和を最大化する、メイン交渉器32-eからのオファーの列を特定する。そのようにする具体的な方法は様々に存在する。例えば、生成部104は、そのようなオファーの列をブルートフォースで特定する。具体的には、起こりうる結果ω^e の各組み合わせについて、生成部104は、式(4)の積分を評価し、評価結果を比較する。
【0070】
その他にも例えば、生成部104は、メイン交渉器32-eについての効用期待値の評価の和を最大化する、メイン交渉器32-eからのオファーの列を特定するために、GCA(Greedy Concession Algorithm)アルゴリズムを実行してもよい。図8は、GCA アルゴリズムの擬似コードの例を示す。
【0071】
その他にも例えば、生成部104は、GCA の改良バージョンを実行してもよい。以下、このアルゴリズムは QGCA(Quick GCA)と呼ばれる。図9は、QGCA の擬似コードを例を示す。2行目から4行目は、初期化の処理である。QGCA の目的は、効用関数 EU^e 及び受諾モデル a^e の下での効用期待値の最大値を持つ、オファー列を特定することである。このアルゴリズムの背景にある主な理論的アイディアは次の通りである。すなわち、オファー列では、効用値が高い結果ほど先に現れるべきである。これは、静的受諾モデルについての最適なオファー列では正しいことが保証されているが、その他では保証されていない(このことが、このアルゴリズムが、一般受諾モデルについての最適なオファー列ではヒューリスティックにしかならない理由である)。このアルゴリズムは、2つの部分を含む。初期化(2行目から4行目)と、要求される長さ D に達するまで、長いオファー列を貪欲的に生成するループ(5行目から15行目)である。
【0072】
2行目において、生成部104は、アルゴリズムの最後において最適なオファー列が格納される空のリスト π^e を初期化する。
【0073】
3行目において、生成部104は、各結果について、オファー列に含まれる場合における位置を定めるリスト L を生成する。オファー列の長さが1の場合にはどのような結果であってもそのインデックスは0であることが分かるため、リストは全てが0に初期化される。リスト L のインデックスは、全ての結果についての何らかの所定の順序における、結果の順序である(具体的な順序はアルゴリズムに影響を及ぼさない)。
【0074】
4行目において、生成部104は、累積和 S_-1 を0に初期化し、かつ、累積積 P_-1 を1に初期化する。これら2つのリストは、以下の式を利用して13行目で計算される。
【数6】
【数7】
【0075】
6行目から11行目において、現在のオファー列に加えるべき結果が特定される。(最初のステップにおいて、このオファー列は空である)。
【0076】
オファー列では高い効用の結果は先に現れるため、8行目において、生成部104は、リスト L からその結果を挿入する位置を取得して変数 i にセットする。
【0077】
9行目において、生成部104は、閉形式の式を用いて、この挿入後の新たな効用期待値 EU を算出する。この式は、S^e、P^e、及びこの結果を加える前の EU の値を用い、かつ、正しいことが証明できる。
【数8】
【0078】
なお、生成部104は、結果ωを1つの位置に加えることを考えればよく、可能な位置全てについて試行する必要はない。これは、より効用が結果は全てその前になければならず、かつ、より効用が低い結果は全てその後になければならないことが分かっており、さらに、オファー列は既に効用の値でソートされているためである。
【0079】
10行目から11行目において、EU^e における増加を最大にする結果が追跡される(この結果は、ω^* と呼ばれる)。
【0080】
これまでのステップによってオファー列に加えるべき最良の結果(ω^*)が分かると、生成部104は、シンプルにそれをオファー列に加え(12行目)、新たなオファー列を反映するために S^e、P^e、及び L^e を更新する。前述したように、S^e と P^e,はそれぞれ、式(6)と式(7)を用いて更新される。L^e は、ω^* の効用よりも小さい効用の結果全てについて L^e_ωを1増加させ、かつ、L^e の残りについては変更せずにそのままとすることにより、更新される。
【0081】
交渉のプロトコルにおいて、互いに同一のオファーが繰り返されることが許容されない場合、たった今追加された結果ω^* は、オファー列への今後の追加のための結果の候補群(すなわち、Ω^e)から取り除かれる必要がある。そのため、もし繰り返しが許容されない場合(14行目における「no-repetition」)、生成部104はω^* をΩ^e から取り除く。
【0082】
なお、QGCA 及び GCA は全く同じポリシーを提供するものの、QGCA の計算量は O(DK) である一方で GAC の計算量は O(DK^2) である。ここで、D はオファー列(ポリシー)の長さであり、K は交渉スレッドごとの異なる結果の数である。そのため、1000程度の結果の空間であっても、QGCA は GCA よりも1000倍高速である。
【0083】
<オファーポリシーの出力:S106>
出力部106は、生成されたオファーポリシーに基づいて各メイン交渉器32が対応するパートナー交渉器42と交渉を行えるように、生成部104によって生成されたオファーポリシーを出力する。オファーポリシーを出力する方法は様々である。例えば、出力部106は、交渉装置30へオファーポリシーを送信する。交渉装置30は、受信したオファーポリシーを、各メイン交渉器32からアクセスできるストレージデバイスに格納する。各メイン交渉器32は、そのストレージデバイスから、使用すべきオファー列を抽出する。例えば、メイン交渉器32-eは、オファー列π^e をストレージデバイスから抽出する。その他にも例えば、出力部106は、交渉装置30と同じネットワークに属する NAS(network attached storage)などのように、交渉装置30からアクセス可能なストレージデバイスにオファーポリシーを格納してもよい。
【0084】
実施形態2
実施形態1では、交渉中に受諾モデルが変更されないことが仮定されている。しかしながら、実際には、交渉中に受諾モデルが変更されるケースがありうる。この場合、交渉の結果がより良くなる(すなわち、全体効用が高くなる)ように、受諾モデルの変化に対処することが好ましい。
【0085】
この実施形態において、ポリシー生成装置100は、受諾モデルの変化に対処する。具体的には、ポリシー生成装置100は、少なくとも1つの受諾モデルが変化したことを検出し、変化した受諾モデルに基づいてオファーポリシーを更新する。
【0086】
図10は、実施形態2における処理の基本的な流れを表すフローチャートを示す。このフローチャートでは、メインパーティーとパートナーパーティーとの間の交渉の各ラウンド後に(S404)、ポリシー生成装置100が、全ての受諾モデルに変化がないかどうかをチェックする(S406)。全ての受諾モデルに変化がないと判定された場合(S406:NO)、交渉装置30は、現在のオファーポリシーに従って、次のラウンドの交渉を行う(S404)。
【0087】
一方、1つ以上の受諾モデルが変化したと判定されたばあい(S406:YES)、ポリシー生成装置100は、オファーポリシーの更新を行って、更新されたオファーポリシーを出力する(S408)。その結果、次のラウンドの交渉において、交渉装置30は、更新されたオファーポリシーに従った交渉を行う。
【0088】
<機能構成の例>
図11は、実施形態2のポリシー生成装置100の機能構成の例を表すブロック図を示す。実施形態2のポリシー生成装置100は、検出部108をさらに含む。検出部108は、1つ以上の受諾モデルが変化したことを検出する。
【0089】
<ハードウエア構成の例>
実施形態2のポリシー生成装置100のハードウエア構成は、実施形態2のポリシー生成装置100の機能が実現されるプログラムがさらにストレージデバイス1080に格納されていることを除き、実施形態1のポリシー生成装置100のハードウエア構成と同じである。
【0090】
<受諾モデルの変化の検出>
受諾のモデルの変化を検出部108が検出する方法には、様々なものが存在する。例えば、長い交渉において、検出部108は、パートナーパーティーからのオファーの頻度が、受諾モデルに基づく予測から乖離する場合、受諾モデルが変化したことを検出する。その他にも例えば、受諾モデルが、市場における総需要などの環境変数に基づいており、かつ、交渉装置30がこの需要を予測する外部の方法を持つ場合、その需要の変化は受諾モデルの変化を含む。3つ目の可能性は、特定の交渉の発行(完全なオファーではない)についての異なる値の頻度をチェックし、それらを受諾モデルに基づく予測と比較し、それが所定の閾値より大きく予測から乖離している場合に、受諾モデルを更新することである。
【0091】
<オファーポリシーの更新>
1つ以上の受諾モデルが変化したことが検出された後、ポリシー生成装置100はオファーポリシーを更新する。例えば、ポリシー生成装置100は、図5に示される処理を通じて、オファーポリシーを最初から再度生成する。すなわち、取得部102が、変化したものが含まれる受諾モデルの新たな集合を取得し、生成部104が、受諾モデルの新たな集合を用いてオファーポリシーを生成し、出力部106が、次のラウンドから新たなオファーポリシーが交渉装置30によって参照できる態様で、新たなオファーポリシーを出力する。なお、取得部102は、全ての受諾モデルを取得する必要はなく、変化した受諾モデルのみを取得すればよい。
【0092】
上述の方法により、全ての受諾モデルが変化した場合でも、新たなオファーポリシーを生成することができる。しかしながら、大抵の場合、交渉の一回のラウンドで変化する受諾モデルは数個である。そのため、新たなオファーポリシーを生成する際、過去の計算結果のいくつかを再利用することが、高い確率で可能である。生成部104は、過去の沿うような計算結果を再利用してもよく、それにより、より速く新たなオファーポリシーを生成する。
【0093】
Θ内のω^d について、メイン交渉器32-dについての受諾モデル a^d(ω^d) が変化したとする。ここで、ΘはΩ^d の部分集合である。なお、Θは、Ω^d 内の全ての結果を含みうる。
【0094】
この仮定の下で、生成部104は、以下の処理を適用しうる。
【0095】
<<式(1)の評価:S206>>
ステップS206において、p^d(ω^d|π^d) の評価は、Θ内の ω^d についてのみ変化する。そのため、生成部104は、θ内の ω^d についての p^q(ω^d|π^d) を再評価する。一方、生成部104は、Θに含まれないω^d については、p^d(ω^d|π^d) の前回の評価を再利用する。さらに、d ではない k についての p^k(ω^k|π^k) の評価は変化しない。そのため、生成部104は、d ではない k についての p^k(ω^k|π^k) の前回の評価も再利用する。
【0096】
<<効用期待値の算出:S212>>
メイン交渉器32-eについての効用期待値の算出にサンプリング手法が利用される場合、変化した受諾モデルの下での効用期待値は、再度のサンプリングを行わずに算出可能である。具体的には、生成部104は、以下のように再評価された受諾確率を利用して、各サンプルを再度重み付けする。
【数9】
【0097】
交渉中における受諾モデルの変化に対処するため、オファーポリシーの算出を高速化することが好ましい。上述したように再度のサンプルを不要とすることで、O(-ln(1-c)K^2/ε^2) の高速化が達成される。これは、オファーポリシーを算出するアルゴリズムが、結果の区間のサイズに対してリニアとなることを意味する。
【0098】
本開示は上述のように実施形態を参照して説明されたが、本開示は前述した実施形態に限定されない。当業者によれば、本開示における構成や詳細に対し、発明の範囲内において様々な変更を行うことが理解できる。
【0099】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0100】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
少なくとも1つのプロセッサと、命令が格納されている記憶部とを有し、
前記少なくとも1つのプロセッサは、前記命令を実行することで、
各メイン交渉器について受諾モデルを取得し、各前記メイン交渉器は異なるパートナー交渉器と交渉を行い、
前記取得した受諾モデルを利用してオファーポリシーを生成し、前記オファーポリシーは、各前記メイン交渉器についてのオファー列を含み、前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記生成したオファーポリシーを出力する様に構成され、
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含み、
前記オファーポリシーの変更は、各前記メイン交渉器について、
そのメイン交渉器について重み付き全体効用の周辺分布を算出し、前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、そのメイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、
前記現在のオファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換し、前記オファー列の下における前記全体効用の期待値は、そのメイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される、ことを含むポリシー生成装置。
(付記2)
前記少なくとも1つのプロセッサは、前記オファーポリシーの変更を、前記オファーポリシーの変更によって前記オファーポリシーが変化しなくなるまで、繰り返し実行するようにさらに構成される、付記1に記載のポリシー生成装置。
(付記3)
特定メイン交渉器についての前記重み付き全体効用の周辺分布の算出は、
前記特定のメイン交渉器からの各結果について、前記特定のメイン交渉器以外の各前記交渉器についての前記結果をサンプルして、前記特定のメイン交渉器についてのその結果と前記サンプルされた結果との下での前記重み付き全体効用を算出することと、
前記特定のメイン交渉器からの各結果について算出された前記重み付き全体効用の集合を、前記特定のメイン交渉器についての前記重み付き全体効用の周辺分布として扱うこととを含む、付記1又は2に記載のポリシー生成装置。
(付記4)
前記少なくとも1つのプロセッサは、
前記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力するようにさらに構成される、付記1から3いずれか一項に記載のポリシー生成装置。
(付記5)
前記少なくとも1つのプロセッサは、
前記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力するようにさらに構成され、
前記オファーポリシーの前記再生成は、
変化前の前記受諾モデルの下における前記結果の集合の下における前記重み付き全体効用に対して変化率を掛けることで、その結果の集合の下における前記重み付き全体効用を算出することを含み、前記変化率は、変化前の前記受諾モデルの下における前記結果のその集合の発生確率に対する、前記変化した受諾モデルの下における前記結果のその集合の発生確率の比率である、付記3に記載のポリシー生成装置。
(付記6)
前記現在のオファーポリシーにおける前記メイン交渉器の前記オファー列の置換は、そのメイン交渉器の前記新たなオファー列を生成することを含み、
前記メイン交渉器の前記新たなオファー列を生成することは、
そのメイン交渉器について起こりうる各結果について候補位置を初期化することと、
繰り返し、
前記新たなオファー列に挿入されるべきオファーと、そのオファーが挿入されるべき前記オファー列内の位置とが決定される決定処理を実行することと、
前記決定されたオファーを前記新たなオファー列における前記決定された位置に挿入することとを行うことを含み、
前記決定処理は、
起こりうる各結果について、その結果が前記新たなオファーポリシーにおけるその結果の前記候補位置に挿入されるという仮定の下で、前記新たなオファーポリシーの下における前記効用期待値を算出することと、
前記効用期待値が最大化される前記結果を前記新たなオファー列に挿入すべき前記結果として決定し、かつ、前記決定された結果の前記候補位置を、前記決定された結果が挿入されるべき前記オファー列内の位置として決定することと、
前記決定された結果について算出された前記効用期待値よりも小さい前記効用期待値を持つ各結果の前記候補位置をインクリメントすることとを含む、付記1から5いずれか一項に記載のポリシー生成装置。
(付記7)
コンピュータによって実行される制御方法であって、
各メイン交渉器について受諾モデルを取得し、各前記メイン交渉器は異なるパートナー交渉器と交渉を行い、
前記取得した受諾モデルを利用してオファーポリシーを生成し、前記オファーポリシーは、各前記メイン交渉器についてのオファー列を含み、前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記生成したオファーポリシーを出力することを含み、
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含み、
前記オファーポリシーの変更は、各前記メイン交渉器について、
そのメイン交渉器について重み付き全体効用の周辺分布を算出し、前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、そのメイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、
前記現在のオファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換し、前記オファー列の下における前記全体効用の期待値は、そのメイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される、制御方法。
(付記8)
前記オファーポリシーの変更は、前記オファーポリシーの変更によって前記オファーポリシーが変化しなくなるまで、繰り返し実行される、付記7に記載の制御方法。
(付記9)
特定メイン交渉器についての前記重み付き全体効用の周辺分布の算出は、
前記特定のメイン交渉器からの各結果について、前記特定のメイン交渉器以外の各前記交渉器についての前記結果をサンプルして、前記特定のメイン交渉器についてのその結果と前記サンプルされた結果との下での前記重み付き全体効用を算出することと、
前記特定のメイン交渉器からの各結果について算出された前記重み付き全体効用の集合を、前記特定のメイン交渉器についての前記重み付き全体効用の周辺分布として扱うこととを含む、付記7又は8に記載の制御方法。
(付記10)
前記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力することをさらに含む、付記7から9いずれか一項に記載の制御方法。
(付記11)
前記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力することをさらに含み、
前記オファーポリシーの前記再生成は、
変化前の前記受諾モデルの下における前記結果の集合の下における前記重み付き全体効用に対して変化率を掛けることで、その結果の集合の下における前記重み付き全体効用を算出することを含み、前記変化率は、変化前の前記受諾モデルの下における前記結果のその集合の発生確率に対する、前記変化した受諾モデルの下における前記結果のその集合の発生確率の比率である、付記9に記載の制御方法。
(付記12)
前記現在のオファーポリシーにおける前記メイン交渉器の前記オファー列の置換は、そのメイン交渉器の前記新たなオファー列を生成することを含み、
前記メイン交渉器の前記新たなオファー列を生成することは、
そのメイン交渉器について起こりうる各結果について候補位置を初期化することと、
繰り返し、
前記新たなオファー列に挿入されるべきオファーと、そのオファーが挿入されるべき前記オファー列内の位置とが決定される決定処理を実行することと、
前記決定されたオファーを前記新たなオファー列における前記決定された位置に挿入することとを行うことを含み、
前記決定処理は、
起こりうる各結果について、その結果が前記新たなオファーポリシーにおけるその結果の前記候補位置に挿入されるという仮定の下で、前記新たなオファーポリシーの下における前記効用期待値を算出することと、
前記効用期待値が最大化される前記結果を前記新たなオファー列に挿入すべき前記結果として決定し、かつ、前記決定された結果の前記候補位置を、前記決定された結果が挿入されるべき前記オファー列内の位置として決定することと、
前記決定された結果について算出された前記効用期待値よりも小さい前記効用期待値を持つ各結果の前記候補位置をインクリメントすることとを含む、付記7から11いずれか一項に記載の制御方法。
(付記13)
各メイン交渉器について受諾モデルを取得し、各前記メイン交渉器は異なるパートナー交渉器と交渉を行い、
前記取得した受諾モデルを利用してオファーポリシーを生成し、前記オファーポリシーは、各前記メイン交渉器についてのオファー列を含み、前記メイン交渉器についての前記オファー列は、対応するメイン交渉器が対応するパートナー交渉器に対して提供するオファーの列を含み、
前記生成したオファーポリシーを出力することをコンピュータに実行させるプログラムが格納されており、
前記オファーポリシーの生成は、前記オファーポリシーの初期化と、前記オファーポリシーの変更を含み、
前記オファーポリシーの変更は、各前記メイン交渉器について、
そのメイン交渉器について重み付き全体効用の周辺分布を算出し、前記重み付き全体効用の分布は、各前記メイン交渉器によって得られる結果の集合と、その結果の集合の下における前記重み付き全体効用とを対応付けており、前記結果の集合の下における前記重み付き全体効用は、前記受諾モデルを利用して算出される前記結果の集合の発生確率によって重み付けされた全体効用であり、前記全体効用は、複数の前記メイン交渉器と複数の前記パートナー交渉器との間の交渉全体の品質の基準を表し、そのメイン交渉器についての前記重み付き全体効用の周辺分布は、前記重み付き全体効用の分布から、そのメイン交渉器について得られる前記結果以外の前記結果を周辺化によって消去することで算出され、
前記現在のオファーポリシーに含まれるそのメイン交渉器についての前記オファー列を、前記全体効用の期待値を最大化するそのメイン交渉器の新たなオファー列で置換し、前記オファー列の下における前記全体効用の期待値は、そのメイン交渉器についての前記重み付き全体効用の周辺分布を用いて、そのオファー列内の各前記オファーに対応づけられている前記重み付き全体効用を足し合わせることによって算出される、非一時的なコンピュータ可読記憶媒体。
(付記14)
前記オファーポリシーの変更は、前記オファーポリシーの変更によって前記オファーポリシーが変化しなくなるまで、繰り返し実行される、付記13に記載の記憶媒体。
(付記15)
特定メイン交渉器についての前記重み付き全体効用の周辺分布の算出は、
前記特定のメイン交渉器からの各結果について、前記特定のメイン交渉器以外の各前記交渉器についての前記結果をサンプルして、前記特定のメイン交渉器についてのその結果と前記サンプルされた結果との下での前記重み付き全体効用を算出することと、
前記特定のメイン交渉器からの各結果について算出された前記重み付き全体効用の集合を、前記特定のメイン交渉器についての前記重み付き全体効用の周辺分布として扱うこととを含む、付記13又は14に記載の記憶媒体。
(付記16)
前記プログラムは、
前記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力することを、前記コンピュータにさらに実行させる、付記13から15いずれか一項に記載の記憶媒体。
(付記17)
前記プログラムは、
前記受諾モデルの1つ以上が変化したことを検出し、
前記変化した受諾モデルに基づいて前記オファーポリシーを再生成し、
前記再生成されたオファーポリシーを出力することを、前記コンピュータにさらに実行させ、
前記オファーポリシーの前記再生成は、
変化前の前記受諾モデルの下における前記結果の集合の下における前記重み付き全体効用に対して変化率を掛けることで、その結果の集合の下における前記重み付き全体効用を算出することを含み、前記変化率は、変化前の前記受諾モデルの下における前記結果のその集合の発生確率に対する、前記変化した受諾モデルの下における前記結果のその集合の発生確率の比率である、付記15に記載の制御方法。
(付記18)
前記現在のオファーポリシーにおける前記メイン交渉器の前記オファー列の置換は、そのメイン交渉器の前記新たなオファー列を生成することを含み、
前記メイン交渉器の前記新たなオファー列を生成することは、
そのメイン交渉器について起こりうる各結果について候補位置を初期化することと、
繰り返し、
前記新たなオファー列に挿入されるべきオファーと、そのオファーが挿入されるべき前記オファー列内の位置とが決定される決定処理を実行することと、
前記決定されたオファーを前記新たなオファー列における前記決定された位置に挿入することとを行うことを含み、
前記決定処理は、
起こりうる各結果について、その結果が前記新たなオファーポリシーにおけるその結果の前記候補位置に挿入されるという仮定の下で、前記新たなオファーポリシーの下における前記効用期待値を算出することと、
前記効用期待値が最大化される前記結果を前記新たなオファー列に挿入すべき前記結果として決定し、かつ、前記決定された結果の前記候補位置を、前記決定された結果が挿入されるべき前記オファー列内の位置として決定することと、
前記決定された結果について算出された前記効用期待値よりも小さい前記効用期待値を持つ各結果の前記候補位置をインクリメントすることとを含む、付記13から17いずれか一項に記載の記憶媒体。
【符号の説明】
【0101】
10 メインパーティー
20 パートナーパーティー
30 交渉装置
32 メイン交渉器
40 交渉装置
42 パートナー交渉器
100 ポリシー生成装置
102 取得部
104 生成部
106 出力部
108 検出部
200 テーブル
210 交渉対象
212 パートナーパーティー
214 商品
220 受諾モデル
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11