以下に、本願に係る選択装置、選択方法、および選択プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る選択装置、選択方法、および選択プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報提供装置について〕
まず、図1を用いて、選択装置の一例である情報提供装置10が実行する処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する選択処理の一例を示す図である。図1では、複数の利用者U1~U7が所有する財を交換する組み合わせを自動的に選択する選択処理の一例について説明する。
〔1-1.情報提供装置の概要〕
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図7を参照。)を介して、端末装置101~107(以下、「端末装置100」と総称する場合がある。)と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の端末装置100と通信可能であってよい。
端末装置101~107は、利用者U1~U7が利用する端末装置であり、例えば、PC(Personal Computer)やサーバ装置、各種のスマートデバイス等により実現される。例えば、端末装置200は、利用者から各種の情報の入力を受付けると、情報提供装置10と通信を行い、通信結果となる情報を出力する機能を有する。
このような構成の下、例えば、情報提供装置10は、各利用者U1~U7(以下、「利用者U」と総称する場合がある。)が所有する財の情報を収集し、収集した財の情報を各利用者Uに対して提示する。また、情報提供装置10は、各利用者Uから、自身の財と交換したい他人の財を示す情報を収集する。そして、情報提供装置10は、各利用者Uが交換結果に満足するように、どの利用者の財をどの利用者に提供するかといった財の交換を行う利用者Uの組み合わせ(以下、「交換組合せ」と総称する。)を選択し、選択した交換組合せを利用者Uに対して提示する。
〔1-2.財の交換について〕
ここで、利用者U間における財の交換について説明する。各利用者Uが所有する財とは、利用者Uが所有権を有する資産や、利用者U有する居住権等、何かしらの権利そのもの、若しくは権利の対象となるものであり、他の利用者に対して提供することができる対象となるものである。より具体的な例を挙げると、利用者Uが有する財とは、家具、家電、車両といった有形物であってもよく、部屋の居住権や、利用者Uが他の利用者に対して提供可能な役務といった無形物であってもよい。また、利用者Uが有する財とは、金銭等の各種貨幣であってもよく、クーポンやポイント等、限定的な通貨として利用可能な物であってもよい。また、財とは、土地等の不動産であってもよく、車や建物等の動産であってもよい。
ここで、利用者U間で財を交換する際には、円やドル等といった各国の政府又は政府関係機関が発行し又は保証する貨幣、小切手や手形といった債権等(以下、単に「貨幣」と総称する。)を介して交換が行われる。例えば、利用者U1が所有する財を利用者U2が所望し、利用者U2が所有する財を利用者U3が所望し、利用者U3が所有する財を利用者U1が所望する例が考えられる。このような場合、利用者U2は、利用者U1に対して財に対する対価としての貨幣を提供し、利用者U1から財の提供を受ける。同様に、利用者U3は、利用者U2に対して財に対する対価としての貨幣を提供し、利用者U2から財の提供を受ける。そして、利用者U1は、利用者U3に対して財に対する対価としての貨幣を提供し、利用者U3から財の提供を受ける。また、このような貨幣には、情報検索機能、言い換えれば「欲望の二重の一致」問題の解決策としての交換価値としての役割を有する。
一方で、各利用者Uが有する財を直接交換することで、情報提供装置10は、交換貨幣としての役割を果たすと考えられる。例えば、情報提供装置10は、2者間の財の交換のみならず、3者以上の利用者間での財の交換(すなわち、財の交換経路が閉路を構成する経路での財の交換)をも許容することで、交換貨幣としての役割を果たすことが可能である。
ここで、各利用者Uが交換対象とする財が分割できない、若しくは分割することが適切ではない非分割財を、初期保有に配慮しつつ再配分する非分割財交換問題が知られている。そして、ある社会においてn人の利用者Uが初期状態でそれぞれ1つの非分割財を保有し、分割可能な財を媒介することなく、これらの財の所有権の再配分のみを想定した分析の枠組みは、「非分割財交換モデル」と呼ばれている。このような非分割財交換モデルの一例として、Shapley-Scarfモデルが知られている。このようなShapley-Scarfモデルにおいては、各利用者Uが保有する財と各利用者Uの選好とを集計した選好行列に対してTTCアルゴリズムを適用することにより、一定の価値基準に基づく一意の最適解としての財配分が得られることが知られている。より具体的には、Shapley-Scarfモデルにおいて選好行列にTTCアルゴリズムを適用して得られる財配分は、「個人合理性」、「パレート最適」、および「強コア」のすべての価値基準を満たす唯一の解であることが知られている。
ここで、「個人合理性」とは、誰もが初期配分以上に望ましい財配分を得られることをいう。また、「パレート最適」とは、パレート改善する余地が残っていないことをいい、財配分が誰かの状態を悪化させることなく誰かの状態を改善する余地が残っていない配分、すなわち、効率的な配分を実現することをいう。また、「強コア」とは、各利用者Uの誰も損をさせずに誰かに得をさせる,全体の交換プロセスからの逸脱が、あらゆるグループにとって不可能な配分をいう。
しかしながら、TTCアルゴリズムによる財配分は、公平性を一切保証しない。このため、TTCアルゴリズムによる財配分は、各利用者Uが表明する選好や各選好に付加される希望順位に依存して、民主的な観点から望ましくない資源配分が実現される可能性がある。
例えば、TTCアルゴリズムにおいては、初期配分よりも優先度が低い財にダウングレードする利用者Uが生じるような交換組合せは選択されない。しかしながら、TTCアルゴリズムを用いて選択された交換組合せには、他の利用者と財の交換が行われない利用者が含まれる場合がある。
ここで、財の交換が行われない利用者が、他の利用者が所有する財を自身の財よりも優先度が高い財(好意的な財)と見做していなかった場合、TTCアルゴリズムを用いて選択された交換組合せは、各利用者の希望を満たすものであると言える。しかしながら、財の交換が行われない利用者が、自身の財よりも優先度が高い財として他の利用者が所有する財を登録していた場合、TTCアルゴリズムを用いて選択された交換組合せは、一部の利用者の希望を満たすものであるとは言えない。
また、TTCアルゴリズムでは、アップグレードの対象にならかなった利用者が、他の利用者が所有する財を自身の財よりも優先度が高い財と見做していなかった場合と、自身の財よりも優先度が高い財として他の利用者が所有する財を登録していた場合とで、同じ交換組合せを選択してしまう。換言すると、TTCアルゴリズムでは、アップグレードの希望が通らず初期配分の財を所有し続ける配分と、アップグレードしないという希望に沿って初期配分の財を所有し続ける配分とを区別しない。
このように、TTCアルゴリズムを用いた場合、全ての利用者の希望を満たす交換組合せを選択しているとは言えない場合がある。
〔1-3.選択処理について〕
そこで、情報提供装置10は、以下の選択処理を実行する。まず、情報提供装置10は、複数の利用者がそれぞれ表明した、各利用者が所有する財のうち自身が所有する財よりも好ましいと評価する財を示す選好情報を取得する。続いて、情報提供装置10は、選好情報に基づいて、複数の利用者間で財の交換を行う組み合わせを特定する。例えば、情報提供装置10は、自身の財を自身の財よりも好ましい他の利用者の財と交換する利用者の数が最大となる組み合わせを特定する。そして、情報提供装置10は、複数の組み合わせが特定された場合は、各利用者の他の財に対する好ましさの順位に基づいたTTCアルゴリズムにより、複数の組み合わせからいずれかの組み合わせを選択する。一方、情報提供装置10は、選好情報に基づいて単一の組み合わせが特定された場合は、かかる組み合わせを選択結果とする。
すなわち、全体的な見地から一般に受容しうる価値基準としては、民主主義に基づく多数決があげられるものの、伝統的な多数決や個人の効用に基づいて全体的な効用を集計する仕組みには限界がある。そこで、情報提供装置10は、自身の財をより好ましい財へとアップグレードできた利用者の数を最大化するとともに、自身の財をより好ましくない財へとダウングレードした利用者の数を最小化するような交換組合せを前処理において予め特定し、特定された交換組合せが複数存在する場合は、TTCアルゴリズムを用いて、いずれかの交換組合せの選択を行う。
換言すると、情報提供装置10は、個人の効用を集計した結果を社会的効用として集計し、より大きな社会的効用を達成する資源配分を民主主義の価値基準に基づき、より望ましい再配分であるとする。このような処理の結果、情報提供装置10は、財の交換を行う利用者全員の希望を満たす交換組合せ、すなわち、マジョリティを保証した交換組合せの選択を実現することができる。
〔1-4.選択処理の流れの一例〕
以下、図1を用いて、情報提供装置10が実行する選択処理の流れの一例を説明する。まず、情報提供装置10は、各利用者Uが所有する財の情報の登録を受付ける(ステップS1)。例えば、情報提供装置10は、各利用者Uが所有する財の内容を示す文字列や静止画像若しくは動画像等、財の内容を他の利用者に対して理解させるための情報の登録を受付ける。このような場合、情報提供装置10は、各利用者Uが所有する財の情報を他の利用者Uに対して提供する(ステップS2)。例えば、情報提供装置10は、各利用者Uが登録した財の情報をリスト化したコンテンツを各利用者Uに対して提供する。
続いて、情報提供装置10は、各利用者Uが所有する財を所望する優先度を示す優先度情報を取得する(ステップS3)。すなわち、情報提供装置10は、各利用者が表明した、各財を所望する優先度を示す情報を取得する。例えば、情報提供装置10は、利用者U1から、利用者U1が所望する財#1~#7の順番を示す優先度情報を取得する。より具体的な例を挙げると、情報提供装置10は、財#5、財#6、財#7、財#1、財#2、財#3、および財#4の順に利用者U1が財を所望している旨の優先度情報を取得してもよい。なお、情報提供装置10は、優先度情報として、利用者U1が所有する財#1よりも好ましい(優先度が高い)と利用者U1が考えている財#5、財#6、および財#7を示す優先度情報を取得してもよい。また、情報提供装置10は、他の利用者U2~U7からも、優先度情報をそれぞれ取得する。なお、実施形態では、各利用者Uが自ら優先度情報を入力する例について記載したが、実施形態は、これに限定されるものではない。例えば、各利用者Uは、各財に対する所望を口頭もしくは電子メールなどでオペレータに通知し、オペレータが、各利用者Uの所望に基づいて生成した優先度情報を情報提供装置100に登録してもよい。すなわち、利用者がシステムに対して直接選好を伝達するのではなく、オペレータが代行して選好を伝達してもよい。
そして、情報提供装置10は、優先度情報を取得元となる利用者の組を市場と見做し、市場に参加する利用者が自身の財よりも好ましいと考えている他の財を示す選好情報を取得する(ステップS4)。例えば、情報提供装置10は、利用者U1~U7から優先度情報を取得した場合、利用者U1~U7が市場に参加する参加利用者であると見做す。そして、情報提供装置10は、利用者U1~U7が登録した優先度情報から、利用者U1~U7が自身の財よりも高い優先度を設定した財の情報を取得する。
より具体的な例を挙げると、情報提供装置10は、利用者U1の優先度情報が、財#5、財#6、財#7、財#1、財#2、財#3、および財#4の順に利用者U1が財を所望している旨を示す場合、利用者U1の選好情報として、財#1よりも優先度が高い財#5、財#6、および財#7を示す情報を生成する。また、情報提供装置10は、利用者U2~U7から取得した優先度情報からも、各利用者U2~U7が自身の財よりも好ましいと考えている他の財を示す選好情報を生成する。
なお、情報提供装置10は、各利用者Uから、優先度情報とは別に選好情報を取得してもよい。また、情報提供装置10は、選好情報として、自身の財よりも優先度が高い財(すなわち、好ましい財)を示す情報を取得すればよく、自身の財よりも優先度が高い財の優先度を示さない情報を取得してもよい。例えば、情報提供装置10は、利用者U1の選好情報として、財#5、財#6、および財#7を示す情報を取得すればよく、財#5、財#6、および財#7のいずれが最も好ましいかといった優先度を示さない選好情報を取得してもよい。
続いて、情報提供装置10は、選好情報に基づいて、参加利用者に自身の財よりも好ましい財が提供される交換組合せの候補を特定する(ステップS5)。すなわち、情報提供装置10は、各利用者Uが自身の財よりも好ましいと考える財の情報に基づいて、交換組合せの候補を特定する。例えば、情報提供装置10は、各利用者Uが自身の財よりも好ましい財を取得できるような交換組合せの候補を特定する。なお、このような交換組合せの候補の決定手法については、後述する。
ここで、各利用者Uがどの利用者の財を所望するかによって、特定される交換組合せの候補は変化する。そこで、情報提供装置10は、交換組合せの候補が複数存在する場合は、各財に対する優先度に基づいたTTCアルゴリズムにより、交換組合せの候補からいずれかの候補を選択する(ステップS6)。なお、情報提供装置10は、交換組合せの候補として単一の候補が特定された場合は、その候補を選択結果として採用する。
そして、情報提供装置10は、選択した交換組合せでの財の交換を各利用者Uに対して提案する(ステップS7)。そして、情報提供装置10は、各利用者Uから提案した交換組合せに対する許諾を取得する(ステップS8)。このような場合、情報提供装置10は、各利用者の財を交換するための各種の処理を実行すればよい。例えば、情報提供装置10は、各利用者が財として所有する物品を交換するための配達キットの配送を行ってもよく、権利譲渡に関する各種の処理を実行してもよい。このような財の交換を行うための処理については、例えば、通信販売やネットオークション等における財の配送に関する各種公知技術が採用可能である。
このように、情報提供装置10は、各利用者Uの優先度情報からTTCアルゴリズムを用いて交換組合せを選択するのではなく、まず、各利用Uが自身の財よりも好ましいと考える他の財を示す選好情報に基づいて、交換組合せの候補を特定する前処理を実行する。このような処理の結果、情報提供装置10は、利用者の希望を保証する交換組合せ、すなわち、マジョリティが保証された交換組合せを提供できる。
例えば、図2は、実施形態に係る情報提供装置が実行する処理の概念を示す図である。例えば、情報提供装置10は、各利用者Uの選好情報を受付けると、前処理として、優先度を考慮せずに各利用者Uが自身の財よりも好ましい財を取得可能な交換組合せを候補として特定する。例えば、情報提供装置10は、選好情報を用いて、自身の財が他の利用者の財と交換される利用者の数が多くなるように、交換組合せの候補を選択する。このような処理の結果、情報提供装置10は、一人でも多くの利用者が財をアップグレードできるマジョリティを保証する。
そして、情報提供装置10は、交換組合せの候補が複数存在する場合は、優先度情報を用いたTTCアルゴリズムにより、候補の中から単一の交換組合せを選択する。このように、情報提供装置10は、マジョリティを保証しつつ、優先順位を用いたTTCアルゴリズムにより、強コア性を保証する交換組合せを提供することができる。
〔1-5.選択処理の具体例〕
以下、図3~図6を用いて、情報提供装置10が交換組合せの候補を特定する処理、および、特定した交換組合せの中からいずれかの交換組合せを選択する処理の具体例について説明する。
例えば、図3は、実施形態に係る情報提供装置が優先度情報から選好情報を生成する処理の一例を示す図である。例えば、図3に示す例では、情報提供装置10は、優先度が高い方から順に、財#5、財#6、財#7、財#1、財#2、財#3、財#4を示す旨の優先度情報を利用者U1から取得する。また、情報提供装置10は、優先度が高い方から順に、財#3、財#4、財#5、財#6、財#7、財#1、財#2を示す旨の優先度情報を利用者U2から取得する。また、情報提供装置10は、優先度が高い方から順に、財#4、財#5、財#2、財#7、財#1、財#3、財#6を示す旨の優先度情報を利用者U3から取得する。また、情報提供装置10は、優先度が高い方から順に、財#1、財#2、財#3、財#4、財#5、財#6、財#7を示す旨の優先度情報を利用者U4から取得する。また、情報提供装置10は、優先度が高い方から順に、財#4、財#5、財#2、財#3、財#6、財#7、財#1を示す旨の優先度情報を利用者U5から取得する。また、情報提供装置10は、優先度が高い方から順に、財#7、財#1、財#2、財#3、財#4、財#5、財#6を示す旨の優先度情報を利用者U6から取得する。また、情報提供装置10は、優先度が高い方から順に、財#1、財#7、財#4、財#5、財#6、財#3、財#2を示す旨の優先度情報を利用者U7から取得する。
このように、各利用者Uから取得した優先度情報を行列形式に変換すると、情報提供装置10は、図3に示す優先度行列PMを取得することができる。なお、優先度行列PMの各行は、利用者Uから取得した優先度情報に対応する。
なお、図3に示す例では、各利用者U1~U7が少なくとも自身の財よりも好ましい財を1つ以上選択する例について記載したが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、自身の財の優先度を最も高くすることで、自身の財よりも好ましい財が存在しないと考えている利用者の優先度情報を取得してもよい。後述する説明により明らかとなるように、情報提供装置10は、このような交換を所望しない利用者については、他の利用者と財の交換を行う利用者としては選択しない。
続いて、情報提供装置10は、優先度行列PMから、各利用者Uが自身の財よりも好ましいと考えている財を示す選好情報を生成する。例えば、情報提供装置10は、利用者U1の優先度情報から、利用者U1の財よりも優先度が高い財#5、財#6、および財#7を特定する。また、情報提供装置10は、他の利用者U2~U7についても、自身の財よりも好ましいと考えている財を示す選好情報を特定する。この結果、情報提供装置10は、優先度行列PMのうち、点線で囲んだ範囲CIを各利用者Uの選好情報として特定する。
そして、情報提供装置10は、選好情報を示す選好行列CMを生成する。例えば、情報提供装置10は、各行に各利用者Uを対応付けるとともに、各列に各利用者Uが所有する財を対応付ける。そして、情報提供装置10は、各利用者Uが所望する財と対応するセルに「1」を格納し、他のセルに「0」を格納した選好行列CMを生成する。また、情報提供装置10は、行方向に存在する「1」の数、すなわち、ある利用者が自身の財よりも好ましいと考えている財の数を「Out」として示し、縦方向に存在する「1」の数、すなわち、ある利用者の財を所望する他の利用者の数を「In」として示す選好行列CMを生成する。
ここで、このような選好行列CMは、各利用者Uが自身の財よりも好ましいと考える財(以下、「選好する財」と記載する。)を示し、現在の財よりも好ましくないと考える財に対する選好が表明されてない点に留意されたい。また、選好行列CMは、財に対する優先度を示していない点、すなわち、利用者Uの選好が無差別なものとして取り扱われている点に留意されたい。また、このような選好行列CMは、グラフ理論の隣接行列と見做すことができる。例えば、選好行列CMは、各利用者U(若しくは、各利用者Uが所有する財)をノードとし、各利用者Uのノードから選好する財を所有する他の利用者Uのノードへと向かうリンクを含むグラフの隣接行列となる。
続いて、情報提供装置10は、図4に示すように、選好行列CMを用いて、財の交換組合せの候補を特定する。図4は、実施形態に係る情報提供装置が交換組合せの候補を特定する処理の一例を示す図である。まず、情報提供装置10は、選好行列CMの複製である選好行列CM1を生成し、選好行列CM1から、各利用者Uが選好する財を1つ選択し、選択した財以外の財を「0」とした選好行列CM2を生成する。すなわち、情報提供装置10は、各利用者Uが選好する財の組み合わせである選好組の中から処理対象となる選好組を選択する。この結果、選好行列CMの「Out」の値は、それぞれ「1」となる。
ここで、選好組において他の利用者の選好とならかった財を所有する利用者は、他の財と交換を行うことができない。そこで、情報提供装置10は、他の利用者の選好とならなかった財を所有する利用者による選好を除去する。例えば、選好行列CM3は、選好行列CM2に処理を模式的に示す点線を付した者である。選好行列CM3に示すように、情報提供装置10は、「In」の数が「0」となっている財、すなわち、他の利用者から選好されなかった財#2、財#3、財#6、および財#7を特定し、特定した財を所有する利用者U2、U3、U6、U7の選好を「0」とする。この結果、情報提供装置10は、選好行列CM4を得ることとなる。
ここで、選好行列CM3においては、利用者U1が有する財#1に対して、利用者U2、U3、U4、U6、U7が選好を所望する結果、同一の財に対する競合関係が発生していた。しかしながら、上述したように、情報提供装置10は、他の利用者の選好とならなかった財を所有する利用者U2、U3、U6、U7による選好を除去することで、競合関係の剪定が行う。この結果、情報提供装置10は、「In」の値が全て「1」以下となる選好行列CM4、すなわち、競合関係が発生していない選好行列CM4を得ることができる。例えば、情報提供装置10は、利用者U1が利用者U5の財#5を獲得し、利用者U4が利用者U4の財#4を獲得し、利用者U4が利用者U1の財#1を獲得する旨を示す選好行列CM4、すなわち、閉路となる財の交換経路UGCを示す選好行列CM4を生成する。
なお、図4に示す例では、1度の剪定で競合関係を解消することができたが、選好組によっては、1度の剪定で競合関係を解消できない場合がある。しかしながら、選好の剪定を行った結果、新たに他の利用者の選好とならなかった財を所有する利用者、すなわち非選好利用者が発生する。このような非選好利用者の選好をさらに剪定し、さらに生じた日選好利用者の選好をさらに剪定するという処理を繰り返し実行することで、情報提供装置10は、「In」の値が全て「1」以下となる選好行列を得ることができる。
また、図4に示す例では、閉路となる財の交換経路UGCを1つ示す選好行列を生成したが、実施形態は、これに限定されるものではない。例えば、選好組の内容によっては、複数の交換経路を示す選好行列を生成する場合がある。例えば、情報提供装置10は、選好組の内容によっては、利用者U1が利用者U5の財#5を獲得し、利用者U4が利用者U4の財#4を獲得し、利用者U4が利用者U1の財#1を獲得する交換経路と、利用者#6が利用者U7の財#7を獲得し、利用者#7が利用者#6の財#6を獲得する交換経路と、利用者#2が利用者U3の財#3を獲得し、利用者#3が利用者#2の財#2を獲得する交換経路とを示す選好行列、すなわち、3つの交換経路を示す選好行列を生成する場合がある。
続いて、情報提供装置10は、剪定処理により「In」の値が全て「1」以下となる選好行列CM4を得た場合、「In」の値の合計、若しくは「Out」の値の合計を算出し、算出した値「3」を社会的効用として記録する。かかる社会的効用の値は、自身の財よりも好ましいと表明した財を取得した利用者Uの数、すなわち、自身の財を各利用者U自身の価値基準においてアップグレートした利用者Uの数に対応する。
例えば、選好行列CM4は、選好行列CM1が示すグラフにおいて、利用者U1の財#1を利用者U5に提供し、利用者U5の財#5を利用者U4に提供し、利用者U4の財#4を利用者#1に提供するという交換態様を示す閉路UCGを構成するノードとリンクとを示す隣接行列に対応する。このような閉路UCGにおいては、財がアップグレードされる利用者U1、U4、U5が含まれるため、社会的効用の値が「3」となる。
そして、情報提供装置10は、選好行列CM4が示す交換組合せの候補と、社会的効用の値「3」とを対応付けて記憶する。情報提供装置10は、上述した処理を選好情報CIから生成される全ての選好組合せについて実行することで、選好情報CIと対応する交換組合せの候補と、社会的効用の値との対応を得る。
ここで、図3に例示する選好情報CIが得られる場合、選好組の総数は、1620組となる。情報提供装置10は、このような選好情報CIから求められる全ての選好組について、社会的効用の値を算出し、算出した社会的効用の値が最も大きい選好組を交換組合せ候補として特定する。例えば、図5は、交換組合せ候補の一例を示す図である。例えば、図3に例示する選好情報CIから求められる全ての選好組において、社会的効用の最大値は、全ての利用者Uの財がアップグレードされる「7」となる。そこで、図5に示す例では、図3に例示する選好情報CIから求められる全ての選好組のうち、社会的効用が「7」となる14個の選好組#1~#7を示した。例えば、図5に示す例では、選好組#1は、利用者U1に財#5が提供され、利用者U2に財#6が提供され、利用者U3に財#2が提供され、利用者U4に財#3が提供され、利用者U5に財#4が提供され、利用者U6に財#7が提供され、利用者U7に財#1が提供される交換組合せの候補を示す。ここで、図5に示す交換組合せ候補は、全て社会的効用が最大となる「7」であり、マジョリティが保証される交換組合せ候補である点に留意されたい。
ここで、図5に示す例では、社会的効用が最大となる複数の交換組合せの候補が得られている。そこで、情報提供装置10は、TTCアルゴリズムにより、交換組合せの候補の中からいずれかの候補を選択する。例えば、図6は、TTCアルゴリズムを用いて交換組合せを選択する処理の一例を説明する図である。例えば、情報提供装置10は、選好行列CMから、図5に示す選好組を構成しない選好を作御する。例えば、図5に示す選好組においては、利用者U2の財#4に対する選好、利用者U3の財#1に対する選好、利用者U3の財#4に対する選好、利用者U4の財#1に対する選好、および利用者U6の財#4に対する選好が達成されていない。そこで、情報提供装置10は、選好行列CMのうち、達成されない選好と対応するセルの値を「0」とした選好行列CM5を生成する。
そして、情報提供装置10は、選好行列CM5を用いて、TTCアルゴリズムにより、交換組合せの選択を行う。例えば、情報提供装置10は、選好行列CM5に基づいて、各利用者が選好する財を特定するとともに、優先度行列PMから、特定した財に対する各利用者Uの優先度を特定する。そして、情報提供装置10は、特定した財と優先度とに基づいて、TTCアルゴリズムにより、交換組合せを選択する。例えば、情報提供装置10は、利用者#1が財#6を獲得し、利用者#6が財#7を獲得し、利用者#7が財#1を獲得し、利用者#2が財#3を獲得し、利用者#3が財#5を獲得し、利用者#5が財#4を獲得し、利用者#4が財#2を獲得する交換組合せECを特定する。このような交換組合せは、図5に示す選好組のうち、選好組#4に対応する。
このような処理を実行した場合、情報提供装置10は、各利用者による選好を満たす交換組合せのうち、財のアップグレードが行われる利用者の数が最大となる交換組合せを選択することができる。この結果、情報提供装置10は、マジョリティを保証することで、交換結果に満足する利用者の数を最大化するという民主的公平性と、TTCアルゴリズムが優先度に基づいて交換組合せを選択することにより達成される経済的効率性との調和を図ることができる。
一方、TTCアルゴリズムにおいては、各利用者によって各財に対して異なる優先度が設定されており、同じ優先度が設定されておらず、かつ、すべての財に対して優先度が設定されている場合、すなわち、利用者によって無差別な選好が含まれない場合には、強コア性を満たす一意の解が得られることが知られている(例えば、非特許文献2参照)。しかしながら、このようなTTCアルゴリズムにおいては、利用者が無差別な選好を行った場合に、一意な解を得ることができない。また、上述したように、TTCアルゴリズムにおいては、民主的公平性を満たす交換組み合わせを得ることができない場合がある。
そこで、上述したように、情報提供装置10は、各利用者による選好から直接TTCアルゴリズムで交換組み合わせを選択するのではなく、各利用者の選好から、財のアップグレードが行われる利用者の数が最大となる交換組合せ、すなわち、社会的効用が最大となる交換組み合わせの候補をあらかじめ選択する。そして、情報提供装置10は、TTCアルゴリズムを用いて、社会的効用が最大となる交換組み合わせの候補から交換組み合わせを選択する。このような処理を行った場合、情報提供装置10は、各利用者が無差別な選好を行った場合であっても、社会的効用が最大となる交換組み合わせの候補を選択し、選択した候補からTTCアルゴリズムにより一意な交換組み合わせを選択することができる。このため、情報提供装置10は、非特許文献2に開示されているような技術と比較して、利用者が無差別な選好を行いうる状態、すなわち、より現実的な状態においても、適切な交換組み合わせを選択することができるという有利な効果を奏する。
また、情報提供装置10は、利用者が自身の財よりも好ましい財を得ることができる選択組み合わせの候補をあらかじめ特定し、特定結果からTTCアルゴリズムにより、選好組み合わせを選択する。このように、情報提供装置10は、利用者が自身の財よりも好ましくない財を得るような選好組み合わせ(すなわち、想定外の選好組み合わせ)をあらかじめ剪定するので、利用者が想定外の財と自身の財とを交換しなければならないといった事態を防ぐことができる。
また、情報提供装置10は、各利用者が無差別な選好を行った場合であっても、TTCアルゴリズムにより一意な結果を得るための情報を各利用者が自身の財よりも好ましいと考える財の情報のみから生成することができる。すなわち、情報提供装置10は、自身の財よりも好ましい財に対する優先度が設定されていない場合であっても、TTCアルゴリズムにより交換組み合わせを選択可能な情報を生成することができる。そして、情報提供装置10は、生成した情報からTTCアルゴリズムを用いて、交換組み合わせを選択するので、一意な結果を保証することができる。このように、情報提供装置10は、一意な結果を保証することができる結果、上述した選択処理を実行するための各処理の分散処理を可能とすることができる。
なお、上述した処理において、利用者は、自身が所有する財よりも好ましいと考えている財以外の財(すなわち、自身の財よりも好ましくない財)に対する選好については、表明を行わずともよい。すなわち、情報提供装置10は、自身の財よりも好ましくない財に関する情報の登録を受け付けずともよく、処理の前に削除してもよい。より詳細には、情報提供装置10は、優先度の情報が欠損した行列から、交換組み合わせの候補を特定することができる。このような場合であっても、情報提供装置10は、利用者の選好を満たす交換組み合わせの候補を特定することができるので、適切な交換組み合わせの選択を実現できる。換言すると、上述した選択処理においては、マジョリティ保証を導入することにより、利用者が少なくとも前処理をする段階において、他の財を無差別に選好することができる。
〔1-6.適用対象について〕
上述した例では、情報提供装置10は、各利用者の財を交換するための交換組合せの選択を行った。ここで、情報提供装置10は、任意の財の交換を交換するための交換組合せを選択してもよい。例えば、情報提供装置10は、各利用者が居住する部屋や社宅の再配置のため、上述した交換組合せを選択してもよい。また、情報提供装置10は、各利用者が所属する店舗や部署を財と見做し、各利用者が働きたいと所望する店舗や部署を選好と見做すことで、上述した処理により、各利用者の人員配置を最適化する交換組合せを選択してもよい。
また、情報提供装置10は、各店舗を利用者と見做し、各店舗に存在する在庫を財と見做すことで、各店舗の在庫の再配置や最適化を行うための交換組合せを選択してもよい。このような交換組合せの選択を行う際、情報提供装置10は、例えば、各店舗間の距離の近さや、配送のしやすさ等に応じて、各店舗が所望する財の優先度を自動的に設定してもよい。例えば、情報提供装置10は、ある店舗が他店舗の在庫を所望する場合、より近傍に位置する店舗の在庫の優先度を他の店舗の在庫よりも高い優先度に設定してもよい。
また、サスティナブルな商品に対する需要の高まりから、リユース市場に対する効率化が求められている。そこで、情報提供装置10は、各利用者が所有する衣類等の財を交換するための交換組合せを選択してもよい。
すなわち、情報提供装置10は、交換対象を行う主体から、主体の選好(すなわち、交換を所望する他の主体の交換対象)との情報から、上述した選択処理を実行することにより、交換組合せを選択するのであれば、任意の主体および任意の交換対象に対し、上述した選択処理を適用してよい。
また、情報提供装置10は、上述した財以外にも、任意の財について、上述した処理の適用を行ってもよい。例えば、情報提供装置10は、飛行機や列車などといった移動手段における座席の交換に上述した選択処理を適用してよい。例えば、情報提供装置10は、各利用者が所有している飛行機の座席の情報と、各利用者が所望する他の利用者の座席の情報(すなわち、選好)とを取得し、上述した選択処理を行うことで、より好ましい座席の配置を特定してもよい。また、情報提供装置10は、美容室やマッサージなどの予約の交換を行うために、上述した選択処理を実行してもよい。すなわち、情報提供装置10は、各利用者が所有している各種権利の交換に、上述した選択処理を適用してもよい。
また、情報提供装置10は、複数の利用者間で債権と債務を相殺し、その差額を決済することにより債権・債務関係を消滅させるネッティングに、上述した選択処理を適用してもよい。例えば、情報提供装置10は、各利用者から信用状や手形などの債務や債券の情報を収集し、社会的効用として、債券と債務の相殺額が最大となるように、交換組み合わせの候補を特定し、交換組み合わせの選択を行ってもよい。すなわち、情報提供装置10は、ネッティングに上述した選択処理を適用してもよい。このような処理を実行する場合、情報提供装置10は、例えば、各利用者から優先度を取得せずとも、債券や債務の期日が早いか否かに応じて自動的に設定される優先度に基づいて、もしくは、利用者が所有する債券や債務の期日よりも早いか否かに応じて、自動的に選好の設定を行ってもよい。
また、情報提供装置10は、所定のゲームにおける武器アイテムやカードアイテム、その他各種のアイテムなど、仮想敵な財の交換に上述した選択処理を適用してもよい。すなわち、情報提供装置10は、交換可能なものであれば、実際の権利の交換組み合わせの選択を行ってもよく、仮想敵な権利の交換組み合わせの選択を行ってもよい。
〔1-7.制約条件について〕
また、情報提供装置10は、各種制約を考慮して、交換組み合わせの候補を特定してもよい。例えば、情報提供装置10は、複数の財の関係性が所定の条件を満たす交換組み合わせの候補のうち、社会的効用が最大となる交換組み合わせの候補を特定してもよい。より具体的な例を挙げると、情報提供装置10は、2つもしくは3つの連続する席の権利が所定の利用者に対して提供される交換組み合わせの候補のうち、社会的効用が最大となる交換組み合わせの候補を特定してもよい。また、情報提供装置10は、ある利用者があらかじめ指定した財が必ずその利用者に対して提供される交換組み合わせの候補のうち、社会的効用が最大となる交換組み合わせの候補を特定してもよい。すなわち、情報提供装置10は、各利用者から非パブリックな制約条件を受け付け、受け付けた制約条件を満たすように、交換組み合わせの候補を特定してもよい。
また、情報提供装置10は、パブリックな制約条件を受け付け、受け付けた制約条件を満たすように、交換組み合わせの候補を特定してもよい。例えば、情報提供装置10は、席の交換を行う場合、女性の隣の席が男性に提供されないように、交換組み合わせの候補を特定してもよい。このように、情報提供装置10は、あらかじめ利用者から設定された財に関する制約条件(すなわち、非パブリックな制約条件)や、あらかじめ設定された各利用者に対して適用される制約条件(すなわち、パブリックな制約条件)を満たすように交換組み合わせの候補を特定することで、制約条件を満たす交換組み合わせを選択することができる。
〔1-8.選好組のバッファについて〕
ここで、上述したように、情報提供装置10は、選好情報から社会的効用が最大となる選好組を交換組合せの候補として選択する。しかしながら、このような選好組の選択は、市場に参加する利用者の数や選好する財の数が増大するに従って、計算量が増大する。この結果、情報提供装置10は、有用な時間内に交換組合せを選択することができなくなる恐れがある。
そこで、情報提供装置10は、ある選好情報が与えられた際に社会的効用が最大となる選好組をバッファ(交換候補情報)として予め算出してもよい。例えば、情報提供装置10は、市場に参加する利用者の数ごとに、取得されうる優先度情報の候補を全て生成する。また、情報提供装置10は、上述した処理を実行することで、生成した優先度情報の候補が取得される場合に生成されるであろう選好組であって、社会的効用が最大となる選好組を交換組合せの候補として特定する。そして、情報提供装置10は、取得されうる優先度情報の組と、特定した交換組合せの候補とを対応付けて記憶する。
一方、情報提供装置10は、各利用者Uから優先度情報を取得した場合、取得した優先度情報の組と対応付けられた交換組合せの候補を特定する。そして、情報提供装置10は、特定した交換組合せの候補から、TTCアルゴリズムを用いて、交換組合せの選択を行ってもよい。一方、情報提供装置10は、各利用者Uから取得した優先度情報の組と対応付けられた交換組合せの候補が記憶されていない場合は、上述した処理を実行することで、交換組合せの候補を特定し、TTCアルゴリズムを用いて、交換組合せの選択を行ってもよい。
また、情報提供装置10は、優先度情報の組ごとに、交換組合せの候補ではなく、交換組合せの候補からTTCアルゴリズムにより選択された交換組合せを対応付けて記憶してもよい。このような処理の結果、情報提供装置10は、各利用者Uから優先度情報を取得した場合、取得した優先度情報の組と対応付けられた交換組合せを即座に特定することができる。
〔1-9.ブロックチェーンへの適用について〕
また、情報提供装置10は、ブロックチェーンの技術を用いて、上述した各種処理を実現してもよい。例えば、各利用者Uが利用する端末装置100は、暗号通貨が有するブロックチェーンに対し、自身が所有する財を示す情報を追加して他の端末装置100へと送信する。また、端末装置100は、暗号通貨のブロックチェーンを参照し、他の利用者が所有する財の情報を取得するとともに、他の利用者が所有する財のうち利用者Uが選好する財を示す優先度情報をブロックチェーンに追加する。
続いて、情報提供装置10或いは端末装置100は、ブロックチェーンに登録された優先度情報から、市場に参加する利用者Uを決定する。そして、情報提供装置10或いは端末装置100は、決定した利用者U間において財を交換するための交換組合せを特定してもよい。
また、端末装置100は、ブロックチェーン内に予め登録したバッファを格納してもよい。例えば、端末装置100は、ブロックチェーン内に登録されたバッファを参照し、また、交換組合せの候補等が登録されていない優先度情報の組み合わせを特定する。このような場合、端末装置100は、特定した優先度情報の組み合わせについて、交換組合せの選択を行う。そして、端末装置100は、特定した優先度情報の組み合わせと交換組合せとの組を示すバッファをブロックチェーンに追加してもよい。このような処理を行った場合、情報提供装置10や端末装置100は、ブロックチェーン内に登録されたバッファを用いて、優先度情報から交換組合せの特定を行うこととなる。なお、このようなブロックチェーンを用いた処理の具体的な例示については、後述する。
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図7は、実施形態に係る情報提供装置の構成例を示す図である。図7に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、財情報データベース31、およびバッファデータベース32を記憶する。
財情報データベース31には、各利用者が所有する財に関する情報である財情報が登録される。例えば、図8は、実施形態に係る財情報データベースに登録される情報の一例を示す図である。図8に示すように、財情報データベース31には、「利用者ID(Identifier)」、「利用者情報」、「所有財ID」、および「所有財情報」といった項目を有する情報が登録される。
ここで、「利用者ID」とは、利用者を識別する識別子である。また、「利用者情報」とは、利用者の名前等といった利用者に関する各種の情報である。また、「所有財ID」とは、対応付けられた利用者IDが示す利用者が現在所有する財であり、交換対象として市場に示した財を識別する識別子である。また、「所有財情報」とは、対応付けられた所有財IDが示す財に関する情報であり、例えば、財の名称や説明、画像等のデータである。
例えば、図8に示す例では、財情報データベース31には、利用者ID「U#1」、利用者情報「利用者情報#1」、所有財ID「G#1」、および所有財情報「所有財情報#1」といった情報が登録されている。このような情報は、利用者ID「U#1」が示す利用者に関する情報が「利用者情報#1」であり、所有財ID「G#1」が識別する財を有している旨を示す。また、このような情報は、所有財ID「G#1」が識別する財が、所有財情報「所有財情報#1」によって説明される財である旨を示す。なお、図8に示す例では「利用者情報#1」や「所有財情報#1」といった概念的に値を記載したが、実際には、利用者に関する各種情報を示す文字列や、財を説明するための各種データが登録されることとなる。
バッファデータベース32には、予めバッファとして選択された交換組合せと優先度情報の組み合わせとが対応付けて登録される。例えば、図9は、実施形態に係るバッファデータベース32に登録される情報の一例を示す図である。
図9に示すように、バッファデータベース32には、「バッファID」、「市場人数」、「優先度情報組合せ候補」、および「交換組合せ」といった項目を有する情報が登録される。例えば、「バッファID」とは、バッファを識別する識別子である。また、「市場人数」とは、参加利用者の人数である。また、「優先度情報組合せ候補」とは、対応付けられた「市場人数」が示す人数の参加利用者が存在する場合に想定されうる優先度情報の組み合わせの候補を示す情報である。また、「交換組合せ」とは、対応付けられた「優先度情報組合せ候補」が示す優先度情報の組み合わせが取得される場合に、上述した処理により選択される交換組合せを示す情報である。
例えば、図9に示す例では、バッファID「B#1」、市場人数「7」、優先度情報組合せ候補「優先度情報#1-1、優先度情報#1-2・・・」、および交換組合せ「交換組合せ#1」といった情報が対応付けて登録されている。このような情報は、バッファID「B#1」が示すバッファとして、参加利用者の人数が「7」人である際に、各参加利用者から取得されうる優先度情報の一例が「優先度情報#1-1、優先度情報#1-2・・・」であり、このような優先度情報が取得された場合に選択されるび交換組合せが「交換組合せ#1」である旨を示す。
なお、図9に示す例では、「優先度情報#1-1」や「交換組合せ#1」といった概念的な値を記載したが、実際には、各参加利用者が他の財を所望する優先度を示す数値や行列等のデータ、各利用者の財をどの利用者の財と交換するかを示す数値や行列等のデータが登録されることとなる。
図7に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図7に示すように、制御部40は、取得部41、特定部42、選択部43、出力部44、生成部45および設定部46を有する。
取得部41は、複数の利用者がそれぞれ表明した、各利用者が所有する財のうち自身が所有する財よりも好ましいと評価する財を示す選好情報を取得する。例えば、取得部41は、各利用者から財の情報を取得すると取得した財の情報を財情報データベース31に登録する。また、取得部41は、所定の利用者から他の利用者が所有する財の情報の要求を受付けると、財情報データベース31に登録された情報をリスト化し、所定の利用者に対して提供する。
続いて、取得部41は、各利用者から、利用者が自身の財よりも好ましいと評価する財と、各財に対する好ましさの順位とを示す優先度情報を取得する。このような場合、取得部41は、取得した優先度情報から、選好情報を取得する。例えば、取得部41は、利用者が自身の財よりも好ましいと評価する財の情報のみを示し、各財の優先度を示さない選好情報を生成する。なお、取得部41は、取得した優先度情報や選好情報を記憶部30に登録してもよい。例えば、取得部41は、図3に例示した優先度行列PMや選好行列CMを生成し、生成した優先度行列PMや選好行列CMを記憶部21に登録してもよい。
特定部42は、選好情報に基づいて、複数の利用者間で財の交換を行う組み合わせを特定する。具体的には、特定部42は、取得部41が取得した選好行列CM、すなわち、利用者が自身の財よりも好ましいと評価する財のみを示し、優先度を示さない情報に基づいて、複数の利用者間で財の交換を行う組み合わせを特定する。
例えば、特定部42は、選好行列CMから、実現可能な選好組を全て特定する。例えば、特定部42は、各利用者Uが自身の財よりも好ましいと評価する財の中から1つの財を選択した場合の組を選好組として、全て特定する。例えば、特定部42は、4人の利用者Uがそれぞれ2つずつ、自身の財よりも好ましい財を選択していた場合、12通りの選好組を特定することとなる。
続いて、特定部42は、各選好組ごとに、閉路となる財の交換経路UGCを特定する。例えば、特定部42は、選好組から、自身の財が他の利用者から所望されていない利用者を特定し、特定した利用者が所望する他の財の情報を削除する。すなわち、特定部42は、他の利用者から好ましいと評価される財を所有していない利用者を財の交換対象から除外する処理を繰り返し実行する。換言すると、特定部42は、選好組と対応するグラフにおいて、1方向のリンクしか設定されていないノードを選定する。このような処理を繰り返し実行することで、特定部42は、選好組に対応する財の交換経路UGCを特定することができる。
ここで、選好組に対応する財の交換経路UCGにおいては、全ての利用者の財が自身の財よりも優先度が高い財へとアップグレードされる。そこで、特定部42は、選好組に対応する財の交換経路UGCに含まれる利用者の数を社会的効用として計数する。そして、特定部42は、社会的効用の値が最大となる1つ若しくは複数の選好組を特定する。すなわち、特定部42は、自身の財を自身の財よりも好ましい他の利用者の財と交換する利用者の数が最大となる組み合わせを特定する。
なお、利用者の中には、自身の財を他の利用者の財と交換したくない利用者も存在する。しかしながら、情報提供装置10は、優先度情報から選好情報を生成する際に、自身お財よりも優先度が高い財のみを抽出するため、このような利用者の選好情報は、他の全ての財に対して「0」となる。この結果、情報提供装置10は、自身の財を他の利用者の財と交換したくない利用者については、他の財との交換を行わない選好組を自然とせんたくすることとなる。このため、情報提供装置10は、財がアップグレードされる利用者の数と、自身の財を他の財と交換したくない利用者であって、利用者の財を他の利用者の財と交換しない利用者の数との合計が最大となる組み合わせを特定することができる。
なお、特定部42は、自身の財を自身の財よりも好ましくない他の利用者の財と交換する利用者の数が最小となる組み合わせを特定してもよい。すなわち、特定部42は、自身の財を自身の財よりも好ましくない他の利用者の財と交換する利用者の数を負の社会的効用として算出し、算出した負の社会的効用の数が最小となる選好組を特定してもよい。
なお、特定部42は、優先度情報が取得される度に、上述した処理を実行する必要はない。例えば、特定部42は、選好情報と、選好情報が取得された場合に可能な前記組み合わせであって、自身の財を自身の財よりも好ましい他の利用者の財と交換する利用者の数が最大となる組み合わせとを対応付けた交換候補情報に基づいて、選好情報から、複数の利用者間で財の交換を行う組み合わせを特定してもよい。
例えば、特定部42は、優先度情報を取得すると、バッファデータベース32を参照し、優先度情報組合せ候補の中から、取得した優先度情報と一致するレコードを特定する。例えば、特定部42は、優先度情報を取得した利用者の数を市場人数としてレコードの絞り込みを行い、絞り込んだレコードの中から、取得した全ての優先度情報が優先度情報組合せ候補として登録されているレコードを検索する。そして、特定部42は、取得した全ての優先度情報が優先度情報組合せ候補として登録されているレコードが存在する場合は、係るレコードに登録されている交換組合せを特定する。
一方、特定部42は、取得した全ての優先度情報が優先度情報組合せ候補として登録されているレコードが存在しない場合は、上述した処理を実行することで、社会的効用が最大となる交換組合せを特定する。なお、特定部42は、例えば、優先度情報や選好情報を生成部45に提供し、生成部45に上述した処理を実行させることで、社会的効用が最大となる交換組合せを特定してもよい。また、特定部42は、社会的効用が最大となる交換組合せを特定した場合は、特定した交換組合せと、市場人数と、元となる優先度情報とを対応付けてバッファデータベース32に登録してもよい。
選択部43は、特定部42が単一の交換組合せを特定した場合は、係る交換組合せを選択された交換組合せとして出力部44に提供する。一方、選択部43は、特定部42により複数の組み合わせが特定された場合は、各利用者の他の財に対する好ましさの順位に基づいたTTCアルゴリズムにより、複数の組み合わせからいずれかの組み合わせを選択する。
例えば、選択部43は、選好行列が示す選好のうち、特定部42によって特定された組み合わせを構成する選好以外の選好を除外した選好行列を生成し、生成した選好行列に基づいて、優先度行列を編集する。すなわち、選択部43は、社会的効用が最大となる交換組合せの候補を実現する選好に対し、優先度を付加した行列を生成する。そして、選択部43は、生成した行列を用いて、TTCアルゴリズムにより単一の交換組合せを選択する。
出力部44は、単一の組み合わせた特定された場合は、複数の利用者間で行われる財の交換態様を示す交換情報として当該特定された組み合わせを出力し、複数の組み合わせが特定された場合は、交換情報として選択部43により選択された組み合わせを出力する。例えば、出力部44は、交換組みあわせを示すコンテンツを生成し、生成したコンテンツを市場の各利用者が利用する端末装置100に対して送信する。
生成部45は、利用者の数、若しくは、各利用者が自身が所有する財よりも好ましいと評価する他の利用者の財の組み合わせごとに、交換候補情報を生成する。例えば、生成部45は、バッファデータベース32を参照し、市場人数ごとに、取得されうる全ての優先度情報の組み合わせが登録されているか否かを判定する。そして、生成部45は、登録されていない優先度情報の組み合わせが存在する場合は、係る組み合わせの優先度情報が取得された際に選択されうる交換組合せを生成する。
例えば、生成部45は、登録されていない優先度情報が取得されたものとして、選好情報を生成し、生成した選好情報から選好組を生成する。また、生成部45は、生成した選好組について、上述した剪定を繰り返し実行し、財のアップグレードが行われる利用者の数を社会的効用として算出する。そして、生成部45は、算出した社会的効用の値が最大となる選好組が複数存在する場合は、TTCアルゴリズムを用いて、いずれかの選好組を交換組合せとして選択する。なお、生成部45は、特定部42および選択部43に上述した処理を実行させることで、交換組合せの選択を行ってもよい。
そして、生成部45は、市場人数と、優先度情報と、交換組合せとを対応付けてバッファデータベース32に登録する。このような処理の結果、情報提供装置10は、実際に優先度情報を取得した際に社会的効用が最大となる選好組を特定する処理に係る計算リソースや処理に要する時間を削減することができるので、現実的な時間内に交換組合せの提供を行うことができる。
なお、生成部45は、自身で交換組みあわせの選択を行う必要はない。例えば、生成部45は、登録されていない優先度情報を、利用者の端末装置100へと送信し、上述した処理を端末装置100に実行させることで、対応する交換組合せを選択する。なお、生成部45は、例えば、複数の端末装置100を用いて、並列計算による交換組合せの選択を行ってもよい。そして、生成部45は、選択した交換組合せをバッファデータベース32に登録する。
設定部46は、交換候補情報を生成した端末装置100を利用する利用者に対し、所定の報酬を設定する。例えば、設定部46は、生成部45による指示に従って、登録されていない優先度情報から交換組合せの選択を行った端末装置100を特定する。そして、設定部46は、特定した端末装置100を利用する利用者に対し、所定の報酬を付与する。
例えば、設定部46は、所定のポイントやクーポン等を管理する管理サーバに対し、特定した端末装置100を利用する利用者を通知するとともに、通知した利用者にポイントやクーポンを付与するように指示してもよい。また、設定部46は、所定の決済サーバ等に特定した端末装置100を利用する利用者を通知するとともに、かかる利用者の口座に所定の額の金銭を報酬として振り込むように指示してもよい。
〔3.情報提供装置が実行する処理の流れの一例〕
続いて、図10を用いて、情報提供装置10が実行する選択処理の流れについて説明する。図10は、実施形態に係る情報提供装置が実行する選択処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、各利用者から優先度情報を取得する(ステップS101)。このような場合、情報提供装置10は、優先度情報から、各利用者が自身の財よりも好ましいと評価する財を示す選好情報を取得する(ステップS102)。続いて、情報提供装置10は、選好情報に基づいて、マジョリティが保証される交換組合せの候補を特定する(ステップS103)。そして、情報提供装置10は、候補が複数存在するか否かを判定し(ステップS104)、存在する場合は(ステップS104:Yes)、TTCアルゴリズムを用いて、複数の候補から採用する組み合わせを選択する(ステップS105)。一方、情報提供装置10は、候補が複数存在しない場合は(ステップS104:No)、候補を採用する組み合わせとする(ステップS106)。
〔4.仮想通貨の仕組みを用いた選択処理について〕
上記では、情報提供装置10が各利用者Uの端末装置100から収集した優先度情報に基づいて、社会的効用が最大となる交換組合せの選択を行った。しかしながら、実施形態は、これに限定されるものではない。
例えば、ビットコイン等の仮想通貨には、ブロックチェーンと呼ばれる電子台帳が組み込まれている。このようなブロックチェーンの技術においては、仮想通貨の取引データと、直前のブロックのハッシュ値とを格納したブロックと呼ばれる単位を鎖状につなげることで、取引データの改ざんを困難にしている。
一方で、このようなブロックチェーンの技術においては、取引の合意形成として、プルーフオブワークと呼ばれるアルゴリズムが採用されている。例えば、ビットコインにおいては、仮想通貨の取引データと、直前のブロックのハッシュ値とに加えて、ナンスと呼ばれる値が格納される。そして、このようなブロックのデータを所定のハッシュ関数でハッシュ値に変換した場合に、非常に小さな値となるようなナンスの値を求める。
このようなナンスの値を求める作業は、マイニングと呼ばれ、多くの処理リソースが要求されることが知られている。そして、ビットコインの技術においては、最初にナンスの値を求めた利用者、すなわち、ブロック承認者に対しては、各種の報酬が提供される。
しかしながら、このようなプルーフオブワークの合意形成アルゴリズムでは、多くの計算リソースを提供可能な利用者に対して有利な合意が形成されてしまう。このため、ビットコイン等の電子通貨では、各利用者が所望する財の交換を公平に実現することができない可能性がある。
一方で、上述した選択処理においては、より優先度が高い財にアップグレートするような財の交換組合せが選択されるため、社会的効用が高く、各利用者の満足度が高い交換組合せを選択可能である。このような選択処理のアルゴリズムを財の交換の合意形成手段として見做した場合、各利用者が所望する財の交換を公平に実現することができると考えられる。
そこで、情報提供装置10は、電子通貨の合意形成アルゴリズムとして、上述した選択処理を実行してもよい。例えば、情報提供装置10は、各利用者が所有する電子通貨を、各利用者が所有する財の所有権を示すトークンと見做し、各利用者から、各利用者が所有するトークンを所望する優先度を示す優先度情報を取得する。そして、情報提供装置10は、上述した選択処理により、トークンを交換するための交換組合せ(すなわち、財を交換する交換組合せ)を選択し、選択組合せで各利用者のトークンの所有権を変更してもよい。
また、情報提供装置10は、上述したバッファを各利用者の端末装置100に生成させ、新たな優先度情報の組み合わせについて交換組合せを最初に選択した利用者に対して、所定の報酬を設定してもよい。また、情報提供装置10は、このようなバッファを含むブロックをブロックチェーンに格納させてもよい。
以下、図11を用いて、ブロックチェーンの技術と、選択処理とを組み合わせた処理の一例について説明する。図11は、実施形態に係る選択処理をブロックチェーンと組み合わせた処理の流れの一例を示す図である。なお、図11に示す例では、市場に利用者U1~U3が参加している場合の例について記載した。
例えば、各端末装置101~103は、前処理として、自身の財の情報をブロックに格納した電子通貨を各端末装置101~103へと送信しているものとする。続いて、端末装置101は、ブロックチェーンを参照し、バッファに登録されていない優先度情報の組み合わせを特定する。そして、端末装置101は、特定した優先度情報の組み合わせに対応する交換組合せを交換候補情報として特定する(ステップS107)。続いて、端末装置101は、選出した交換候補情報を含むブロックをブロックチェーンに追加して、優先度情報とともに、各端末装置102、103に提供する。例えば、端末装置101は、優先度情報を含むブロックを追加したブロックチェーンを含む電子通貨を提供する。
一方、端末装置103は、交換候補情報の生成を行うことなく、優先度情報を含むブロックを追加したブロックチェーンを含む電子通貨を端末装置102等に提供する(ステップS3)。このような場合、端末装置102は、ブロックチェーンに含まれる交換候補情報と優先度情報とに基づいて、交換組合せを決定する(ステップS4)。例えば、端末装置102は、ブロックチェーンにブロックとして含まれる優先度情報を参照し、所定の条件を満たす市場が形成されているか否かを判定する。
例えば、端末装置102は、所定の期間内において優先度情報を提供した利用者の数が所定の閾値を超えているか否か、自身の財よりも優先度が高い財を示す優先度情報を提供した利用者の数が所定の閾値を超えているか否か、自身の財よりも優先度が高いとされた財の延べ数が所定の閾値を超えているか否か等、優先度情報が示す各種の情報に基づいて、所定の条件を満たす市場が形成されているか否かを判定する。
そして、端末装置102は、所定の条件を満たす市場が形成されていると判定された場合は、上述した選択処理を実行する。例えば、端末装置102は、ブロックチェーンに含まれる交換候補情報を参照し、市場に参加する利用者の優先度情報の組み合わせと対応する交換組合せが登録されているか否かを判定する。なお、端末装置102は、市場に参加する利用者の優先度情報の組み合わせと対応する交換組合せが登録されていない場合は、上述した選択処理により、交換組合せの候補を選択してもよい。
そして、端末装置102は、市場に参加する利用者の優先度情報の組み合わせと対応する交換組合せが登録されている場合は、かかる交換組合せの内容を他の端末装置101、103へと通知する(ステップS5)。そして、端末装置101~103は、通知された交換組合せの内容に対して各利用者U1~U3が同意した場合は、各財を交換するための各種処理を実行する。
例えば、端末装置101~103は、各財を交換組合せに従った交換する内容の取引履歴を含むブロックをブロックチェーンに対して追加してもよい。また、端末装置101~103は、各利用者U1~U3が所有する財の配送先(すなわち、財を得る利用者Uの居住地等)を示す情報をやり取りすることで、財の交換を実現してもよい。
ここで、図12は、実施形態に係る端末装置がブロックチェーンに情報を追加する態様の一例を示す図である。例えば、図12に示す例では、ブロックチェーンとして、取引履歴#1を含むブロック、交換候補情報#1を含むブロック、優先度情報#1を含むブロック、および交換候補情報#2を含むブロックが順番に登録されている。例えば、端末装置101~103は、交換候補情報#1や交換候補情報#2が、優先度情報#1と優先度情報#2との組合せに対応する交換組合せを示しているかを判定し、示している場合は、かかる交換組合せで各利用者Uの財を交換する旨を決定すればよい。そして、端末装置101~103は、交換組合せが示す交換に対して各利用者が同意を行った場合は、交換前に各利用者Uが所有していた財の情報と、交換後に所有する財の情報とを示す取引履歴#1を含むブロックを生成し、生成したブロックをブロックチェーンの末尾に登録すればよい。
なお、上述した処理を端末装置100が実行する場合、端末装置100は、図7に示す取得部41、特定部42、選択部43、出力部44、および生成部45と同様の機能を発揮する機能構成を有していればよい。例えば、端末装置100は、各部41~45の機能を発揮するためのアプリケーションが電子通貨のクライアントアプリケーションとしてインストールされていればよい。
〔5.バリエーションについて〕
上述した例では、情報提供装置10または端末装置100による選択処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、選択処理のバリエーションについて説明する。
〔5-1.処理の実行主体について〕
上述した例では、情報提供装置10または端末装置100が単体で実行する処理の一例について記載した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10および端末装置100は、上述した処理の一部を他の装置に実行させてもよい。また、情報提供装置10が有する財情報データベース31やバッファデータベース32に登録された情報は、ブロックチェーン内にブロックとして登録されてもよい。
〔5-2.優先度情報と選好情報とについて〕
情報提供装置10は、各利用者から取得した優先度情報から選好情報を生成した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、優先度情報と選好情報とを個別に受け付けてもよい。また、情報提供装置10は、優先度情報として、自身の財よりも好ましい財についての優先度のみを示す優先度情報を取得してもよい。
〔5-3.交換対象について〕
上述した例では、端末装置100は、電子通貨のブロックチェーンを用いて、財の交換を実施した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100は、上述した選択処理により、電子通貨そのものの取引を行ってもよい。すなわち、端末装置100は、電子通貨の取引における合意形成アルゴリズムとして、上述した選択処理を実行し、実行結果により得られる交換組合せに従って、各利用者の電子通貨の取引を実現してもよい。このような処理の結果、例えば、端末装置100は、各種の企業が発行する私的な電子通貨の取引のみならず、例えば、国家により発行される電子通貨、すなわち、ソブリンクリプトカレンシーの取引を実現してもよい。例えば、端末装置100は、ビットコインとイーサリアムとの交換のため、上述した選択処理を実行してもよく、また、電子通貨と各種商品や役務との交換のため、上述した選択処理を実行してもよい。
〔5-4.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5-5.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図13に示すような構成のコンピュータ1000によって実現される。図13は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔6.効果〕
上述したように、情報提供装置10は、複数の利用者がそれぞれ表明した、各利用者が所有する財のうち自身が所有する財よりも好ましいと評価する財を示す選好情報を取得する。そして、情報提供装置10は、選好情報に基づいて、複数の利用者間で財の交換を行う組み合わせを特定する。また、情報提供装置10は、複数の組み合わせが特定された場合は、各利用者の他の財に対する好ましさの順位に基づいたTTC(Top Trading Cycle)アルゴリズムにより、その複数の組み合わせからいずれかの組み合わせを選択する。このような処理の結果、情報提供装置10は、各利用者の財がアップグレードするような交換組合せを選択することができるので、適切な財の交換を実現することができる。
また、情報提供装置10は、利用者が自身の財よりも好ましいと評価する財と、各財に対する好ましさの順位とを示す優先度情報に基づいて、選好情報を取得する。そして、情報提供装置10は、利用者が自身の財よりも好ましいと評価する財の情報のみに基づいて、複数の利用者間で財の交換を行う組み合わせを特定する。そして、情報提供装置10は、単一の組み合わせた特定された場合は、複数の利用者間で行われる財の交換態様を示す交換情報としてその特定された組み合わせを出力し、複数の組み合わせが特定された場合は、交換情報として選択部により選択された組み合わせを出力する。このため、このため、情報提供装置10は、各利用者の財がアップグレードするような交換組合せを選択することができる。
また、情報提供装置10は、自身の財を自身の財よりも好ましい他の利用者の財と交換する利用者の数が最大となる組み合わせを特定する。また、情報提供装置10は、自身の財を自身の財よりも好ましい他の利用者の財と交換する利用者の数と、自身の財を他の財と交換したくない利用者であって、その利用者の財を他の利用者の財と交換しない利用者の数との合計が最大となる組み合わせを特定する。また、情報提供装置10は、自身の財を自身の財よりも好ましくない他の利用者の財と交換する利用者の数が最小となる組み合わせを特定する。このような処理の結果、情報提供装置10は、社会的効用が最大となる交換組合せを提供することができる。
また、情報提供装置10は、各利用者のうち、他の利用者から好ましいと評価される財を所有していない利用者を財の交換対象から除外する処理を繰り返し実行することで、財の交換を行う利用者の組み合わせを特定する。このため、情報提供装置10は、社会的効用が最大となる交換組合せの候補を特定することができる。
また、情報提供装置10は、利用者の数、若しくは、各利用者が自身が所有する財よりも好ましいと評価する他の利用者の財の組み合わせごとに、交換候補情報を生成する。そして、情報提供装置10は、選好情報と、その選好情報が取得された場合に可能な組み合わせであって、自身の財を自身の財よりも好ましい他の利用者の財と交換する利用者の数が最大となる組み合わせとを対応付けた交換候補情報に基づいて、選好情報から、複数の利用者間で財の交換を行う組み合わせを特定する。このため、情報提供装置10は、有用な時間内に、交換組合せの特定および選択を実現することができる。
また、情報提供装置10は、利用者が利用する端末装置に交換候補情報を生成させ、交換候補情報を生成した端末装置を利用する利用者に対し、所定の報酬を設定する。このため、情報提供装置10は、交換候補情報の生成を各利用者に促す結果、選択処理の効率化を実現することができる。
また、情報提供装置10は、利用者に対して提供されるトークンが有するブロックチェーンに対し、生成された交換候補情報を含むブロックを追加する。また、情報提供装置10は、選択された組み合わせに従って財の交換が行われた場合は、利用者に対して提供されるトークンが有するブロックチェーンに対し、財の交換に関する交換情報を含むブロックを追加する。このような処理の結果、情報提供装置10は、上述した選択処理を合意形成アルゴリズムとした電子通貨を実現することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えるてもよい。また、上記してきた「情報提供装置10」は、適宜「端末装置100」と読み替えられてもよい。