特許第6973746号(P6973746)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 富士通株式会社の特許一覧 ▶ 国立大学法人九州大学の特許一覧

特許6973746マッチングプログラム、マッチング方法およびマッチング装置
<>
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000003
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000004
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000005
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000006
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000007
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000008
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000009
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000010
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000011
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000012
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000013
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000014
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000015
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000016
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000017
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000018
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000019
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000020
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000021
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000022
  • 特許6973746-マッチングプログラム、マッチング方法およびマッチング装置 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6973746
(24)【登録日】2021年11月8日
(45)【発行日】2021年12月1日
(54)【発明の名称】マッチングプログラム、マッチング方法およびマッチング装置
(51)【国際特許分類】
   G06Q 10/04 20120101AFI20211118BHJP
【FI】
   G06Q10/04
【請求項の数】7
【全頁数】31
(21)【出願番号】特願2017-192160(P2017-192160)
(22)【出願日】2017年9月29日
(65)【公開番号】特開2019-67155(P2019-67155A)
(43)【公開日】2019年4月25日
【審査請求日】2020年6月1日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(73)【特許権者】
【識別番号】504145342
【氏名又は名称】国立大学法人九州大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】岩下 洋哲
(72)【発明者】
【氏名】大堀 耕太郎
(72)【発明者】
【氏名】神山 直之
(72)【発明者】
【氏名】吉良 知文
【審査官】 山内 裕史
(56)【参考文献】
【文献】 特開2005−141401(JP,A)
【文献】 特開2010−165224(JP,A)
【文献】 特開2016−152020(JP,A)
【文献】 特開2005−038073(JP,A)
【文献】 特開2008−112342(JP,A)
【文献】 米国特許出願公開第2014/0279644(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
(57)【特許請求の範囲】
【請求項1】
それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングをコンピュータに実行させるマッチングプログラムであって、
前記マッチングに対応した展開型ゲームであって、前記複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、前記優先順位をプレイの順番と対応づけられ、かつ、前記複数のプレイヤーそれぞれは前記複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求め、
前記部分ゲーム完全均衡の結果に基づくマッチングを行い、
特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、当該カップリング要求の充足有無に対応して設定され、
前記展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を当該カップリング要求応募者のカップリング要求内容を参照して決定する、各処理をコンピュータに実行させ、
前記決定する処理は、前記複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の前記応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、当該手番より後の手番における当該プレイヤーのマッチング可能性有無を判定し、
当該手番より後の手番におけるマッチング可能性が有ると判定した場合、前記応募対象下界情報を更新し、
当該手番におけるマッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報を更新する、
ことを特徴とするマッチングプログラム。
【請求項2】
前記決定する処理は、前記カップリング要求応募者に対応するプレイヤーよりも前記カップリング要求応募者以外の応募者に対応するプレイヤーの手番を先に実行して更新した前記応募対象上界情報および前記応募対象下界情報をもとに、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を決定する、
ことを特徴とする請求項1に記載のマッチングプログラム。
【請求項3】
前記決定する処理は、前記マッチング可能性が有ると判定した場合、前記応募対象下界情報が示す下界の数を減少させ、マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報が示す下界の数を減少させる、
ことを特徴とする請求項1または2に記載のマッチングプログラム。
【請求項4】
前記カップリング要求に関連づけられた複数のカップリング要求応募者は、互いにきょうだい関係を有する応募者である、
ことを特徴とする請求項1乃至3のいずれか一項に記載のマッチングプログラム。
【請求項5】
前記マッチングは、優先順位が付された複数の子どもと、複数の保育所とのマッチングである、
ことを特徴とする請求項1乃至4のいずれか一項に記載のマッチングプログラム。
【請求項6】
それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングをコンピュータが実行するマッチング方法であって、
前記マッチングに対応した展開型ゲームであって、前記複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、前記優先順位をプレイの順番と対応づけられ、かつ、前記複数のプレイヤーそれぞれは前記複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求め、
前記部分ゲーム完全均衡の結果に基づくマッチングを行い、
特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、当該カップリング要求の充足有無に対応して設定され、
前記展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を当該カップリング要求応募者のカップリング要求内容を参照して決定する、各処理をコンピュータが実行し、
前記決定する処理は、前記複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の前記応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、当該手番より後の手番における当該プレイヤーのマッチング可能性有無を判定し、
当該手番より後の手番におけるマッチング可能性が有ると判定した場合、前記応募対象下界情報を更新し、
当該手番におけるマッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報を更新する、
ことを特徴とするマッチング方法。
【請求項7】
それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングを実行するマッチング装置であって、
前記マッチングに対応した展開型ゲームであって、前記複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、前記優先順位をプレイの順番と対応づけられ、かつ、前記複数のプレイヤーそれぞれは前記複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求め、前記部分ゲーム完全均衡の結果に基づくマッチングを行うマッチング処理部と、
特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、当該カップリング要求の充足有無に対応して設定され、
前記展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を当該カップリング要求応募者のカップリング要求内容を参照して決定する決定部と、を有し、
前記決定部は、前記複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の前記応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、当該手番より後の手番における当該プレイヤーのマッチング可能性有無を判定し、
当該手番より後の手番におけるマッチング可能性が有ると判定した場合、前記応募対象下界情報を更新し、
当該手番におけるマッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報を更新する、
ことを特徴とするマッチング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、マッチングプログラム、マッチング方法およびマッチング装置に関する。
【背景技術】
【0002】
従来、多くの応募者(例えば保育を希望する保護者の子ども)を応募対象(例えば保育機関)へ割り当てるマッチング処理では、Serial dictatorshipメカニズム(以下、SDメカニズム)が知られている。SDメカニズムでは、応募者に優先順位を付け、優先順位の高い応募者から順に、その時点で残っている応募対象の中で応募者が希望するものを割り当てていく。このSDメカニズムでは、優先順位の逆転が起こらないことが保証される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Svensson, Lars-Gunnar. "Strategy-proof allocation of indivisible goods." Social Choice and Welfare 16.4 (1999): 557-567.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、応募者の中にカップリングを要求する応募者が含まれている場合に適切に応募対象への割り当てを行うことが困難であるという問題がある。
【0005】
例えば、複数の保育所への応募においては、保護者がきょうだい(兄弟、兄妹、姉弟、姉妹)のカップリングを要求する場合がある。SDメカニズムは、きょうだいのカップリング要求のある応募者を考慮したメカニズムではないため、きょうだいのカップリング要求がある応募者を含む場合、適切なマッチング結果(割り当て)が得られないことがある。例えば、マッチングにおいて次の問題1〜3のいずれかが生じる場合がある。
【0006】
問題1:自分が入りたい保育所に、自分よりも優先順位が低い人が入っている(一人っ子/きょうだい関係なく)。
問題2:きょうだいとして、自分よりも双方が優先順位が低い人(きょうだいでなくても良い)が、自分の希望する保育所に入っている。
問題3:希望順位の低い保育所であっても、きょうだいが同じ保育所に入るほうが、個別の優先順位に従って別々の保育所に入るよりも良いのに、きょうだいが別々の保育所に入っている。
【0007】
図19図21は、第1〜3のケースを説明する説明図である。図19図21の例では、同じ応募対象情報201および応募者情報202をもとに、応募者202aの応募対象201aへのマッチングを行っている。
【0008】
なお、応募対象情報201は、応募対象201a(図示例では保育所)における受け入れ人数などを予め設定した応募対象201aについての情報である。図示例では、「S1」〜「S3」の各保育所で2人の受け入れが設定されている。
【0009】
応募者情報202は、保護者の申請ごとに、応募者202a(図示例では子ども)について予め設定した情報である。具体的には、応募者情報202は、申請を示す申請IDにおいて、応募する子どもを識別する子どもIDごとに、優先順位を決定するための点数と、希望する応募対象201aの順位を示す希望順とが設定されている。例えば、応募者202aには、応募者情報202における点数の高い順に優先順位が付与される。なお、同じ申請IDに複数の子どもIDが含まれる場合は、例えばきょうだい関係を有する子ども同士であり、子ども同士でのカップリング要求があるものとする。
【0010】
図19に示すように、第1のケースC1では、きょうだい関係(カップリング要求)を無視し、応募対象情報201および応募者情報202をもとに、SDメカニズムによって応募者202aを応募対象201aに割り当てていく。具体的には、優先順位の高い応募者202aから順に(図示例ではI1、J1、K1、K2、L1、I2の順)、応募者202aが希望する応募対象201aを割り当てていく(S201〜S206)。
【0011】
このように、カップリング要求を無視してSDメカニズムで割り当てを行う第1のケースC1では、問題3が生じている。具体的には、希望順位の低い保育所(例えばS2)であっても、K1、K2のきょうだいが同じ保育所に入れず、別々の保育所に入ることとなる。
【0012】
図20に示すように、第2のケースC2では、きょうだい関係(カップリング要求)でまとめた形で割り当てを行う(S211〜S214)。なお、第2のケースC2では、きょうだい関係でまとめた場合、カップリングした子ども同士の点数を高い方の点数に合わせるものとする。
【0013】
図21に示すように、第3のケースC3についても、きょうだい関係(カップリング要求)でまとめた形で割り当てを行う(S221〜S224)。なお、第3のケースC3では、きょうだい関係でまとめた場合、カップリングした子ども同士の点数を低い方の点数に合わせるものとする。
【0014】
このように、カップリング要求に沿ってまとめた形で割り当てを行う第2のケースC2および第3のケースC3では、個別の優先順位づけに歪みが生じてしまうため、問題1が生じている。具体的には、第2のケースC2では、L1よりも優先順位の低いI2の応募者202aが希望の応募対象201a(図示例ではS1)に割り当てられており、優先順位の逆転が生じている。また、第3のケースC3では、I1よりも優先順位の低いK1、K2の応募者202aが希望の応募対象201a(図示例ではS1)に割り当てられており、優先順位の逆転が生じている。
【0015】
このように、きょうだい関係(カップリング要求)を無視し、SDメカニズムで割り当てる場合は、問題3が頻発する。また、きょうだいをまとめた形(カップリング要求どおりに)で割り当てる場合は、問題1が頻発する。
【0016】
これらの問題を最小化するために、きょうだい関係でまとめた形でのマッチングを探索しようとすると、年齢別のクラスごとの募集人数が決まっているなどのマッチングにおける前提条件が変化する場合には、安定したマッチングを得ることが困難なものとなる。また、計算量も膨大なものとなる。
【0017】
1つの側面では、計算量を抑えて適切な応募対象への割り当てを求めることを可能とするマッチングプログラム、マッチング方法およびマッチング装置を提供することを目的とする。
【課題を解決するための手段】
【0018】
第1の案では、マッチングプログラムは、それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングをコンピュータに実行させる。マッチングプログラムは、マッチングを行う処理と、決定する処理とをコンピュータに実行させる。マッチングを行う処理は、マッチングに対応した展開型ゲームであって、複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、優先順位をプレイの順番と対応づけられ、かつ、複数のプレイヤーそれぞれは複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求める。また、マッチングを行う処理は、部分ゲーム完全均衡の結果に基づくマッチングを行う。特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、カップリング要求の充足有無に対応して設定される。決定する処理は、展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無をカップリング要求応募者のカップリング要求内容を参照して決定する。また、決定する処理は、複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、プレイヤーのマッチング可能性有無を判定する。また、決定する処理は、マッチング可能性が有ると判定した場合、応募対象下界情報を更新し、マッチングが成立すると判定した場合は、応募対象上界情報および応募対象下界情報を更新する。
【発明の効果】
【0019】
本発明の1実施態様によれば、計算量を抑えて適切な応募対象への割り当てを求めることができる。
【図面の簡単な説明】
【0020】
図1図1は、実施形態にかかるマッチング装置の機能構成例を示すブロック図である。
図2図2は、応募対象情報と、応募者情報とを説明する説明図である。
図3図3は、結果データを説明する説明図である。
図4図4は、利得表を説明する説明図である。
図5図5は、ゲーム木を説明する説明図である。
図6図6は、部分ゲーム完全均衡を説明する説明図である。
図7図7は、マッチング処理の一例を示すフローチャートである。
図8図8は、マッチング処理の具体例を説明する説明図である。
図9図9は、マッチング処理の具体例を説明する説明図である。
図10図10は、マッチング処理の具体例を説明する説明図である。
図11図11は、先読み処理の一例を説明する説明図である。
図12図12は、先読み処理後のマッチング処理の具体例を説明する説明図である。
図13図13は、第2の実施形態にかかる利得表を説明する説明図である。
図14図14は、第2の実施形態にかかる先読み処理の一例を説明する説明図である。
図15図15は、第2の実施形態にかかるマッチング処理の具体例を説明する説明図である。
図16図16は、先読み処理の比較例を説明する説明図である。
図17図17は、マッチング処理の比較例を説明する説明図である。
図18図18は、実施形態にかかるマッチング装置のハードウエア構成例を説明する説明図である。
図19図19は、第1のケースを説明する説明図である。
図20図20は、第2のケースを説明する説明図である。
図21図21は、第3のケースを説明する説明図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して、実施形態にかかるマッチングプログラム、マッチング方法およびマッチング装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するマッチングプログラム、マッチング方法およびマッチング装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0022】
図1は、実施形態にかかるマッチング装置の機能構成例を示すブロック図である。図1に示すマッチング装置1は、例えばPC(パーソナルコンピュータ)等の情報処理装置である。マッチング装置1は、入力された情報に基づいて、それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチング処理を行い、求めたマッチング結果を出力する。このマッチング結果をもとに、ユーザは、応募対象への応募者の割り当てを行う。
【0023】
なお、本実施形態では応募対象を保育所とし、応募者を保育所での保育を希望する保護者の子どもとしているが、応募対象および応募者については実施形態の例に限定しない。例えば、応募者を宿泊客、応募対象を客室として旅館における宿泊客の部屋割りに適用しても良い。
【0024】
図1に示すように、マッチング装置1は、記憶部10、入力部20、マッチング処理部30、選択肢決定部40および出力部50を有する。
【0025】
記憶部10は、各種情報をRAM(Random Access Memory)、HDD(Hard Disk Drive)等の記憶装置に格納する。具体的には、記憶部10は、入力部20より入力された応募対象情報11および応募者情報12等の入力情報、マッチング処理部30および選択肢決定部40による演算時の演算データ13およびマッチング処理部30により算出されたマッチング結果を示す結果データ14を格納する。
【0026】
応募対象情報11は、入力部20により入力されて予め設定された、応募対象についての情報である。応募者情報12は、入力部20により入力されて予め設定された、応募者についての情報である。
【0027】
図2は、応募対象情報11と、応募者情報12とを説明する説明図である。図2に示すように、応募対象情報11には、保育所IDで識別される保育所(応募対象)ごとの受け入れ人数などが設定されている。なお、各保育所においては、年齢別のクラス(0歳クラス、1歳クラス)ごとに受け入れ人数が設定されている。
【0028】
応募者情報12には、子どもIDで識別される子ども(応募者)ごとに、希望する保育所の順位を示す選好リストと、年齢と、割り当てについての優先順位とが設定されている。
【0029】
なお、応募者情報12において、同じ申請IDに複数の子どもIDが含まれる場合は、例えばきょうだい(兄弟、兄妹、姉弟、姉妹)関係を有する子ども同士であり、子ども同士でのカップリング要求があるものとする。カップリング要求とは、組みになった形で応募対象(保育所)への割り当て(マッチング)を要求するものである。
【0030】
例えば、a1およびa0と、b1およびb0とは、互いにきょうだい関係があり、お互いのカップリングを要求する応募者(カップリング要求応募者)であるものとする。a1およびa0と、b1およびb0とは、組みになった形での応募対象(保育所)への割り当て(マッチング)が申請者である保護者により希望されている。
【0031】
図1に戻り、演算データ13は、マッチング処理部30および選択肢決定部40による、複数の応募者と複数の応募対象とのマッチング処理の演算時におけるデータである。例えば、演算データ13には、利得表、ゲーム木(詳細は後述する)の探索にかかるデータなどがある。
【0032】
結果データ14は、マッチング処理部30および選択肢決定部40によるマッチング処理で算出された、応募者(子ども)の応募対象(保育所)への割り当て結果を示すデータである。
【0033】
図3は、結果データ14を説明する説明図である。図3に示すように、結果データ14では、子どもを示す子どもIDと、子どもの割り当て先の保育所を示す保育所IDとが対応付けられている。
【0034】
図1に戻り、入力部20は、例えばマウスやキーボードなどの入力装置より、応募対象情報11および応募者情報12等のマッチング処理にかかる入力情報を受け付ける。入力部20は、受け付けた応募対象情報11および応募者情報12を記憶部10に格納する。
【0035】
マッチング処理部30は、応募対象情報11および応募者情報12をもとに、それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチング処理を行う。このマッチング処理において、マッチング処理部30は、複数の応募者と複数の応募対象とのマッチングに対応した展開型ゲームを仮想する。そして、マッチング処理部30は、複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求めて、部分ゲーム完全均衡の結果に基づくマッチングを行う。
【0036】
展開型ゲームとは、ゲーム理論におけるゲームの表現形式の一つであり、各プレイヤーの手番の系列がゲーム木と呼ばれる木構造で表現されたものである。ゲーム木は、節点(ノード)と枝(ブランチ)と、葉(リーフ(ノード))とで表現される。節点は、プレイヤーごとの手番(ゲームの局面)を示す。枝は、プレイヤーの選択肢(戦略)を示す。葉は、ゲームの終了局面である。展開型ゲームでは、トップの節点から枝を経て葉に至る終了局面までの各プレイヤーの選択により、各プレイヤーの利得が与えられる。
【0037】
部分ゲームとは、元の展開型ゲームの全体または一部分であり、それ自身も展開型ゲームである。部分ゲーム完全均衡とは、全ての部分ゲームにおいてナッシュ均衡となるような(どのプレイヤーも他のプレイヤーの戦略に対する最善の戦略を選んでいる)選択肢が選ばれている状況である。
【0038】
マッチング処理部30は、応募者情報12における複数の応募者(子ども)それぞれを、各自の選好に対応した利得を有する独立した複数のプレイヤーとし、順に1回ずつプレイ(保育所の選択)する完全情報ゲームを仮想する。完全情報ゲームとは、全ての節点において、そこに至るまでの状態や選択肢が全て与えられている展開型ゲームを示す。すなわち、全てのプレイヤーは、ゲーム(割り当て)にかかる全ての情報(お互いの優先順位、年齢、きょうだい関係(カップリング要求の有無)、選好リストおよび各保育所/年齢クラスの受け入れ人数)を知っているものとする。
【0039】
先ず、マッチング処理部30は、応募者情報12をもとに、応募者に対応するプレイヤー(子ども)ごとの、戦略に応じた利得表を設定する。この利得表は、応募者情報12における選好リストや、カップリング要求の有無に対応して設定される。
【0040】
具体的には、各プレイヤーの戦略(選択肢)について、選好リストの順に、利得が高く設定される。また、互いに組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者については、カップリング要求を充足する場合に、利得が高く設定される。
【0041】
図4は、利得表を説明する説明図である。図4に示すように、カップリング要求のない応募者(c0、d1)については、選好リストの順に、利得を高くした利得表15B、15Cを設定する。なお、N/Aは、選好リスト内の保育所を予約できなかった場合を示す。
【0042】
また、カップリング要求応募者(a1、a0、b1、b0)については、次の1〜3の場合に応じた順序で利得を高くした利得表15Aを設定する。
1.きょうだいが同じ保育所を選択した場合(さらに、選択した保育所について、選好リストの順位に高くする)
2.きょうだいが異なる保育所を選択した場合(さらに、選択した保育所について、選好リストの順位に高くする)
3.選好リスト内の保育所を予約できなかった場合
【0043】
例えば、きょうだいが同じ保育所を選択した場合では、選好リスト(s→t→u)の順に、利得値を「6」、「5」、「4」とする。次いで、きょうだいが異なる保育所を選択した場合では、選好リスト(s→t→u)の順に、利得値を「3」、「2」、「1」とする。次いで、選好リスト内の保育所を予約できなかった場合(N/A)では、利得値を「0」とする。
【0044】
次いで、マッチング処理部30は、子どもの優先順位と同じ順序(図4の例ではa1、b1、c0、b0、a0、d1の順)で各プレイヤーのプレイ(選択肢の選択)を行う。各プレイヤーの戦略は、応募対象情報11の保育所の中で、自分の選好リスト内の保育所から定員に達していない(順序が上位のプレイヤーの選択数が受け入れ人数に達していない)保育所を選ぶことである。ただし、希望するどの保育所(選好リストに含まれる全ての保育所)も定員に達しているときは何もしないものとする。
【0045】
このとき、マッチング処理部30は、利得表15A〜15Cをもとに、各プレイヤーのプレイにおいて、利得値が最も高く、ナッシュ均衡となるような選択肢を選ぶものとする。これにより、マッチング処理部30は、ゲーム木の木構造に沿って葉(終了局面)に至る最初のパスであり、ナッシュ均衡となるようなパス(以下、均衡パス)の探索、すなわち部分ゲーム完全均衡を求める。
【0046】
図5は、ゲーム木を説明する説明図である。図5に示すように、ゲーム木16は、子どもの優先順位と同じ順序で、各プレイヤー(a1、b1、c0、b0、a0、d1)の局面を節点とし、各プレイヤーの選択肢(s、t、u)を枝とする木構造である。すなわち、ゲーム木16は、複数の応募者(a1、b1、c0、b0、a0、d1)と複数の応募対象(s、t、u)とのマッチングに対応した展開型ゲームの部分ゲームに対応したゲーム木である。
【0047】
図6は、部分ゲーム完全均衡を説明する説明図である。図6に示すように、マッチング処理部30は、ゲーム木16におけるトップノード(a1)から順にプレイして葉(d1)に至るパスの中でナッシュ均衡となる均衡パス(太線)を探索し、部分ゲーム完全均衡を求める。
【0048】
ここで、子どもの優先順位と同じ順序でプレイすることが、SDメカニズムにおいて優先順位の高い子どもから保育所の割り当てを行うことに対応する。そして、きょうだいがいない(カップリング要求がない)子どもは、常に利得最大とする選択が行われる(SDメカニズムの動作と一致)。また、きょうだい関係がある子ども(カップリング要求応募者)は、カップリングの充足の有無に対応した利得値を設定した利得表15Aにより、カップリングに関する選好がゲームの利得値として反映された上で、利得最大とする選択が行われる。
【0049】
このように、各プレイヤーの利得を最大化とする選択が、複数の応募者と複数の応募対象とのマッチングの安定に寄与する。そして、マッチング処理部30は、ナッシュ均衡となる均衡パス(太線)を探索し、部分ゲーム完全均衡を求めることで、複数の応募者の選好(選好リスト、カップリングの有無)に応じて適切な応募対象へ応募者を割り当てた結果(結果データ14)を得ることができる。
【0050】
図1に戻り、選択肢決定部40は、マッチング処理部30のマッチング処理における展開型ゲームのゲーム木の選択肢について、カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を、カップリング要求応募者のカップリング要求内容を参照して決定する。すなわち、選択肢決定部40は、決定部の一例である。
【0051】
例えば、カップリング要求応募者が選択する一つの戦略(選択肢)に対して最終的に決まる自分の利得は、カップリング要求を充足するか否か(例えばきょうだいの戦略が同じ場合/異なる場合)の2通りある。よって、他方もカップリング要求を満たすものと期待した利得とするか否かで場合分けできる。場合分け後は利得が1通りに決まる。これを利用し、選択肢決定部40は、他方もカップリング要求を満たすものと期待した利得とする選択肢を選んでおく。そして、選択肢決定部40は、期待した利得が得られず、期待が外れた場合はバックトラックして期待が外れた選択肢を外す。このように、選択肢決定部40は、利得が1通りに決まった後は、カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有とする。
【0052】
例えば、選択肢決定部40は、カップリング要求応募者に対応するプレイヤーの手番において、最初は、カップリング要求を満たすものと期待した中の最大利得の選択肢に決定する。次いで、優先順位の低い他方のカップリング要求応募者に対応するプレイヤーの手番において、保育所の受け入れ人数などの条件によりカップリング要求を充足する選択肢がなくなる場合がある。
【0053】
このような場合、優先順位の高いカップリング要求応募者に対応するプレイヤーの手番においてカップリング要求を満たすものと期待して選択した選択肢が期待外れであることが判明する。よって、選択肢決定部40は、優先順位の低い他方のカップリング要求応募者に対応するプレイヤーの手番においてカップリング要求を充足する選択肢を選べない場合、優先順位の高いカップリング要求応募者に対応するプレイヤーの手番にバックトラックして期待が外れた選択肢を外す。
【0054】
このように、選択肢決定部40では、ゲーム木16における選択肢の枝刈りを行う。この枝刈りにより、探索するパス数を削減できることから、マッチング処理部30は、部分ゲーム完全均衡を求める計算コストを削減できる。
【0055】
ここで、マッチング処理部30および選択肢決定部40によりマッチング処理の詳細を説明する。図7は、マッチング処理の一例を示すフローチャートである。
【0056】
図7に示すように、処理が開始されると、マッチング処理部30は、マッチング処理のプレイヤー順に対応する変数(i)の初期化(i←1)を行う(S1)。
【0057】
次いで、マッチング処理部30は、利得表15A〜15Cをもとに、プレイヤーiが自身に最大の利得をもたらす可能性のある戦略を選択する(S2)。ここで、カップリング要求応募者に対応するプレイヤーの手番では、他方もカップリング要求を満たすものと期待した利得とする戦略を選択する。
【0058】
次いで、選択肢決定部40は、プレイヤーiよりも優先順位の高いプレイヤーj(j<i)が期待した利得を達成できないことが確定したか否かを判定する(S3)。例えば、優先順位の低い他方のカップリング要求応募者に対応するプレイヤーiの手番においてカップリング要求を充足する選択肢を選べない場合、優先順位の高いカップリング要求応募者に対応するプレイヤーjが期待した利得を達成できないことが確定する。
【0059】
プレイヤーjが期待した利得を達成できないことが確定した場合(S3:YES)、選択肢決定部40は、プレイヤーjのノードまでマッチング処理部30におけるマッチング処理をバックトラックする(S7)。ついで、選択肢決定部40は、期待した利得を達成できないことが確定した戦略(選択肢)を外した上でi←jとし(S8)、S2へ処理を戻す。これにより、マッチング処理部30は、バックトラックして手番を戻したプレイヤーの手番から、期待外れの戦略を外した上で、戦略を選択することとなる。
【0060】
プレイヤーjが期待した利得を達成できないことが確定していない場合(S3:NO)、マッチング処理部30は、プレイヤーiが最後のプレイヤー(優先順位の最下位の応募者)であるか否かを判定する(S4)。
【0061】
最後のプレイヤーである場合(S4:YES)、ゲーム木の木構造に沿って葉(終了局面)に至る均衡パスを見つけたことから、マッチング処理部30は、処理を終了する。
【0062】
最後のプレイヤーでない場合(S4:NO)、マッチング処理部30は、優先順位が次の応募者に対応するプレイヤー(i+1)のノードを作成し(S5)、i←i+1として(S6)、S2へ処理を戻す。
【0063】
ここで、上記のマッチング処理の具体例を説明する。なお、以下で説明する具体例のサンプルデータは、図4の応募対象情報11および応募者情報12の値に準ずるものとする。また、サンプルデータにおけるゲーム木および部分ゲーム完全均衡については、図5図6に準ずるものとする。
【0064】
図8図10は、マッチング処理の具体例を説明する説明図である。なお、図8図10における各ステップ(S10〜S14、S20〜S23、S30〜S35)に対応する応募対象情報11では、各保育所(s、t、u)における0歳クラス、1歳クラスをプレイヤーが選択することで、受け入れ数を減ずるものとする。
【0065】
図8に示すように、マッチング処理部30は、優先順位の最も高い応募者に対応するプレイヤーから順(a1、b1、c0、b0、a0、d1の順)に、利得表15A〜15Cをもとに、プレイヤーが自身に最大の利得をもたらす可能性のある戦略を選択する(S10〜S13)。
【0066】
具体的には、a1のプレイヤーの手番では、きょうだい関係のあるa0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得6(sの選択)を目指す(S10)。次いで、b1のプレイヤーの手番では、きょうだい関係のあるb0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得5(tの選択)を目指す(S11)。
【0067】
次いで、c0のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S12)。次いで、b0のプレイヤーの手番では、b1の期待どおりの戦略(tの選択)ができる。よって、b1が利得「5」を獲得できることが確定する。また、ここまではb1以下の順の部分ゲームについて、均衡パスであることが確定する(S13)。
【0068】
次いで、a0の手番では、a1の期待どおりの戦略(sの選択)ができない。この場合、a1のプレイヤーは利得「6」を獲得できないことが確定する。よって、選択肢決定部40は、a1のプレイヤーの戦略から利得「6」を取得する戦略(sの選択)を除外し、a1のプレイヤーの手番までバックトラックする(S14)。
【0069】
図9に示すように、マッチング処理部30は、バックトラック後のa1のプレイヤーの手番から、プレイヤーが自身に最大の利得をもたらす可能性のある戦略を選択する(S20〜S22)。ただし、a1のプレイヤーの手番では、利得「6」を取得する戦略(sの選択)が除外されている。
【0070】
具体的には、a1のプレイヤーの手番では、きょうだい関係のあるa0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得5(tの選択)を目指す(S20)。次いで、b1のプレイヤーの手番では、きょうだい関係のあるb0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得6(sの選択)を目指す(S21)。
【0071】
次いで、c0のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S22)。
【0072】
次いで、b0のプレイヤーの手番では、b1の期待どおりの戦略(sの選択)ができない。この場合、b1のプレイヤーは利得「6」を獲得できないことが確定する。よって、選択肢決定部40は、b1のプレイヤーの戦略から利得「6」を取得する戦略(sの選択)を除外し、b1のプレイヤーの手番までバックトラックする(S23)。
【0073】
図10に示すように、マッチング処理部30は、バックトラック後のb1のプレイヤーの手番から、プレイヤーが自身に最大の利得をもたらす可能性のある戦略を選択する(S30〜S35)。ただし、b1のプレイヤーの手番では、利得「6」を取得する戦略(sの選択)が除外されている。
【0074】
具体的には、b1のプレイヤーの手番では、きょうだい関係のあるb0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得4(uの選択)を目指す(S30)。次いで、c0のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S31)。b0のプレイヤーの手番では、b1の期待どおりの戦略(uの選択)ができる。よって、b1が利得「4」を獲得できることが確定する。また、ここまではb1以下の順の部分ゲームについて、均衡パスであることが確定する(S32)。
【0075】
次いで、a0のプレイヤーの手番では、a1の期待どおりの戦略(tの選択)ができる。よって、a1が利得「5」を獲得できることが確定する。また、ここまではa1以下の順の部分ゲームについて、均衡パスであることが確定する(S33)。
【0076】
次いで、d1のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S34)。d1は最後のプレイヤーであることから、ゲーム全体の均衡パスが確定する(S35)。
【0077】
なお、選択肢決定部40は、最適戦略が明白なプレイヤーの行動を先読みする先読み処理を行い、先読みしたプレイヤーの行動結果をもとに、ゲーム木16における選択肢の枝刈りを行ってもよい。この先読み処理は、マッチング処理部30における均衡パスの探索に先立って実行してもよいし、均衡パスの探索の途中で実行してもよい。
【0078】
例えば、カップリング要求応募者以外の応募者は、単純に自身の利得を求めればよいことから、最適戦略が明白なものとなる。よって、選択肢決定部40は、カップリング要求応募者に対応するプレイヤーよりもカップリング要求応募者以外の応募者に対応するプレイヤーの手番を先に実行する。そして、選択肢決定部40は、カップリング要求応募者以外の応募者に対応するプレイヤーの戦略により、カップリング要求応募者が選ぶことができなくなった戦略を除外する。
【0079】
図11は、先読み処理の一例を説明する説明図である。図12は、先読み処理後のマッチング処理の具体例を説明する説明図である。
【0080】
なお、以下で説明する先読み処理と、先読み処理後のマッチング処理の例は、図4の応募対象情報11および応募者情報12の値をサンプルとしている。また、ゲーム木および部分ゲーム完全均衡については、図5図6に準ずるものとする。また、図11図12における各ステップ(S40〜S43、S50〜S56)に対応する応募対象情報11では、各保育所(s、t、u)における0歳クラス、1歳クラスをプレイヤーが選択することで、受け入れ数を減ずるものとする。
【0081】
図11に示すように、選択肢決定部40は、カップリング要求応募者に対応するプレイヤー(a1、b1)よりもカップリング要求応募者以外の応募者(c0、d1)に対応するプレイヤーの手番を先に実行する(S40〜S43)。
【0082】
具体的には、選択肢決定部40は、カップリング要求応募者に対応するプレイヤー(a1、b1)の手番をスキップする(S40)。次いで、選択肢決定部40は、c0の手番を実行する。ここで、c0は戦略(s)の0歳枠に空きがあればそれを選択するはずであることから、保育所(s)の0歳クラスの上界(受け入れ人数)が1以上である場合は1減少させる(S41)。
【0083】
このc0の手番の実行結果により、b0、a0の手番では、戦略(s)を選択できないことが確実なものとなる(S42)。よって、選択肢決定部40は、c0の手番の実行結果をもとに、b0、a0の手番における戦略(s)の選択を除外する。
【0084】
ついで、選択肢決定部40は、d1の手番を実行する。ここで、d1は戦略(s)の1歳枠に空きがあればそれを選択するはずであることから、保育所(s)の1歳クラスの上界(受け入れ人数)が1以上である場合は1減少させる(S43)。
【0085】
図12に示すように、上記の先読み処理により、ゲーム木16における選択肢の枝刈りが行われる。具体的には、b0、a0の手番における戦略(s)の選択が除外される。この除外により、a1、b1の利得表15Aaでは、きょうだい(b0、a0)の戦略にsが含まれないものとなる。また、b0、a0の利得表15Abでは、自分の戦略にsが含まれないものとなる。
【0086】
したがって、先読み処理後のマッチング処理では、b0、a0の戦略の中からsが除外された状態で処理が開始される。具体的には、マッチング処理部30は、優先順位の最も高い応募者に対応するプレイヤーから順(a1、b1、c0、b0、a0、d1の順)に、利得表15Aa、15Ab、15B、15Cをもとに、プレイヤーが自身に最大の利得をもたらす可能性のある戦略を選択する(S50〜S56)。
【0087】
a1のプレイヤーの手番では、きょうだい関係のあるa0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得5(tの選択)を目指す(S50)。次いで、b1のプレイヤーの手番では、きょうだい関係のあるb0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得4(uの選択)を目指す(S51)。
【0088】
次いで、c0のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S52)。次いで、b0のプレイヤーの手番では、b1の期待どおりの戦略(uの選択)ができる。よって、b1が利得「4」を獲得できることが確定する。また、ここまではb1以下の順の部分ゲームについて、均衡パスであることが確定する(S53)。
【0089】
次いで、a0のプレイヤーの手番では、a1の期待どおりの戦略(tの選択)ができる。よって、a1が利得「5」を獲得できることが確定する。また、ここまではa1以下の順の部分ゲームについて、均衡パスであることが確定する(S54)。
【0090】
次いで、d1のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S55)。d1は最後のプレイヤーであることから、ゲーム全体の均衡パスが確定する(S56)。
【0091】
このように、選択肢決定部40が先読み処理を行うことで、部分ゲーム完全均衡を求める際に探索するパス数をさらに削減でき、計算量を抑えることができる。
【0092】
図1に戻り、出力部50は、記憶部10に格納された結果データ14をもとに、マッチング処理部30および選択肢決定部40によるマッチング結果、すなわち、複数の応募対象への複数の応募者の割り当て結果を表示装置への表示、印刷装置への印字、ファイル出力などにより出力する。例えば、出力部50は、結果データ14をもとに、子どもごとに割り当てる保育所の表示を行う。これにより、ユーザは、保育所への子どもの割り当てを行うことができる。
【0093】
以上のように、マッチング装置1は、それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングを実行する装置であり、マッチング処理部30および選択肢決定部40を有する。マッチング処理部30は、マッチングに対応した展開型ゲームであって、複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、優先順位をプレイの順番と対応づけられ、かつ、複数のプレイヤーそれぞれは複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求める。そして、マッチング処理部30は、部分ゲーム完全均衡の結果に基づくマッチングを行い、結果データ14を得る。また、マッチング処理部30は、特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、カップリング要求の充足有無に対応して設定する。選択肢決定部40は、マッチング処理部30における展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無をカップリング要求応募者のカップリング要求内容を参照して決定する。
【0094】
このように、マッチング装置1は、マッチングに対応した展開型ゲームの部分ゲーム完全均衡を求めることで、複数の応募者の選好(選好リスト、カップリングの有無)に応じて適切な応募対象へ応募者を割り当てた結果(結果データ14)を得ることができる。また、マッチング装置1は、ゲーム木の選択肢の枝刈りを行うことで、部分ゲーム完全均衡を求める際に探索するパス数を削減でき、計算量を抑えて部分ゲーム完全均衡を求めることができる。
【0095】
ここで、本実施形態のマッチング装置1における次の設定条件での実験結果を表に示す。
[設定条件]
・保育所の数:2〜10施設
・各保育所の年齢別クラスの数:6クラス
・各保育所の受け入れ人数:4人
・子どもの数:48〜240人
・きょうだい関係を有する子どもの割合:0.4
・選好リストの長さ:2〜10
・上記のパラメータ設定ごとに、100個のランダム問題に対する実験結果の平均を求める。
【0096】
【表1】
【0097】
実験結果の表に示すように、本実施形態のマッチング品質では、上記の問題1を発生させることなく、問題2、3の発生を可能な限り抑えた安定したマッチング結果を得ることができる。また、ゲーム木が大きくなる場合であっても長大な計算時間となることを抑止できる。また、先読み処理を行う場合には、先読み処理を行わない場合と比較して、ゲーム木が大きくなる場合であっても、計算時間をより短く抑えることができる。
【0098】
(第2の実施形態)
上記の実施形態(第1の実施形態)では、複数のプレイヤーそれぞれの手番ごとに、最適戦略が明白なプレイヤーの行動を先読みする先読み処理において、手番における応募対象(保育所)の受け入れ人数の上界を用いて選択肢の枝刈り有無を決定していた。これに対し、第2の実施形態では、複数のプレイヤーそれぞれの手番の先読み処理において、応募対象の上界とともに、応募対象の下界を用いて選択肢の枝刈り有無を決定する。
【0099】
ここで、応募対象の上界とは、複数のプレイヤーそれぞれの手番において見積もられる、応募対象の受け入れ数(空き数)の上限である。言い換えると、複数のプレイヤーそれぞれの手番においては、多くても応募対象の上界しか空き数がないと言うこととなる。また、応募対象の下界とは、複数のプレイヤーそれぞれの手番において見積もられる、応募対象の受け入れ数(空き数)の下限である。言い換えると、複数のプレイヤーそれぞれの手番においては、少なくとも応募対象の下界だけ空き数があるということとなる。
【0100】
第2の実施形態において、選択肢決定部40は、応募対象の上界を示す応募対象上界情報と、応募対象の下界を示す応募対象下界情報とをメモリ等で管理する。そして、選択肢決定部40は、複数のプレイヤーそれぞれの手番の先読み処理において、応募対象上界情報および応募対象下限情報を参照し、手番におけるマッチング成立可否、および、プレイヤーのマッチング可能性有無を判定する。
【0101】
具体的には、選択肢決定部40は、複数のプレイヤーそれぞれの手番において、応募対象の上界も下界も0であり、応募対象の空き数がない場合、手番における応募対象(保育所)へのマッチング可能性がないものと判定する。すなわち、選択肢決定部40は、手番において、上界、下界ともに0である空きの無い保育所への入所可能性はないものと判定する。
【0102】
また、選択肢決定部40は、複数のプレイヤーそれぞれの手番において、上界が1以上、下界が0の応募対象には応募が確実ではないが、応募の可能性があることから、マッチング可能性ありと判定する。また、選択肢決定部40は、複数のプレイヤーそれぞれの手番において、上界および下界が1以上の応募対象には応募が確実であると判定する。
【0103】
また、選択肢決定部40は、条件通りの応募の可能性が残っている戦略(応募対象)の中で最も利得の高い応募対象への応募が確実であれば、その応募対象が最適戦略であるものと確定して、マッチング成立と判定する。なお、選択肢決定部40は、条件通りの応募の可能性が残っている戦略が複数あるなど、最適戦略とする応募対象がない場合は、マッチング不成立と判定する。
【0104】
例えば、選択肢決定部40は、応募が確実である応募対象が一つである場合はその応募対象への応募が最適戦略であるものと確定して、マッチング成立と判定する。また、選択肢決定部40は、応募が確実である応募対象が複数ある場合は、いずれかの応募対象への応募が確実であるが最適戦略は未確定(ただしマッチング可能性はあり)であることから、マッチング不成立と判定する。
【0105】
次いで、選択肢決定部40は、複数のプレイヤーそれぞれの手番において、プレイヤーが選択する可能性がある(マッチング可能性あり)と判定した場合、マッチング可能性ありの応募対象について応募対象下界情報における下界の数を更新する。例えば、選択肢決定部40は、手番の数に対応する分(例えば1プレイヤーの1つの手番に対応する1つ分)の下界を減らして応募対象下界情報における下界の数を更新する。
【0106】
また、選択肢決定部40は、複数のプレイヤーそれぞれの手番において、マッチング成立と判定した場合、マッチング成立の応募対象について、応募対象下界情報における下界の数および応募対象上界情報における上界の数を更新する。例えば、選択肢決定部40は、手番の数に対応する分(例えば1プレイヤーの1つの手番に対応する1つ分)の上界および下界を減らし、応募対象上界情報および応募対象下界情報における上界および下界の数を更新する。
【0107】
ここで、具体例を用いて第2の実施形態にかかる処理の詳細を説明する。図13は、第2の実施形態にかかる利得表を説明する説明図である。
【0108】
図13に示すように、応募対象情報11では、保育所IDで識別される応募対象(保育所)ごとの各クラスにおける受け入れ人数が設定されている。この応募対象情報11において設定された受け入れ人数が、応募対象上界情報および応募対象下界情報における初期値となる。
【0109】
また、応募者情報12では、子どもID(a1〜d1)で識別される子ども(応募者)ごとに、選好リスト、年齢、優先順位などが設定されている。第1の実施形態と同様、マッチング処理部30は、応募者に対応するプレイヤー(子ども)ごとの、戦略に応じた利得表15D、15E、15Fを設定する。
【0110】
次いで、選択肢決定部40は、応募対象上界情報および応募対象下界情報を参照し、プレイヤーの手番におけるマッチング成立可否、および、プレイヤーのマッチング可能性有無を判定して最適戦略が明白なプレイヤーの行動を先読みする先読み処理を行う。そして、選択肢決定部40は、先読みしたプレイヤーの行動結果をもとに、ゲーム木16における選択肢の枝刈りを行う。この先読み処理は、マッチング処理部30における均衡パスの探索に先立って実行してもよいし、均衡パスの探索の途中で実行してもよい。
【0111】
図14は、第2の実施形態にかかる先読み処理の一例を説明する説明図である。図15は、第2の実施形態にかかるマッチング処理の具体例を説明する説明図である。具体的には、図15は、図14に例示する先読み処理後のマッチング処理を説明する図である。
【0112】
図14に示すように、選択肢決定部40は、優先順位によるプレイ順(a1→b0→c0→b1→a0→d1)の手番ごとに、応募対象上界情報301および応募対象下界情報302を参照してマッチング成立可否、および、プレイヤーのマッチング可能性有無を判定する(S60〜S64)。なお、応募対象上界情報301および応募対象下界情報302における上界および下界の初期値は、応募対象情報11において設定された受け入れ人数である。
【0113】
具体的には、プレイヤーである子ども(a1)の手番では、選択肢決定部40は、応募対象下界情報302における応募対象(s・1歳、t・1歳)の下界でも空きがあるので、入所が確実と判定する。ここでは、入所が確実な応募対象が複数あることから、選択肢決定部40は、応募対象(s・1歳、t・1歳)について、マッチング可能性は有り、マッチング成立はなしと判定する。したがって、選択肢決定部40は、応募対象(s・1歳、t・1歳)における応募対象下界情報302の下界を1減少させて、応募対象下界情報302を更新する。なお、応募対象上界情報301の上界および応募対象下界情報302の下界について、最小値は0であり、更新時において0以下にはならないものとする。
【0114】
同様に、子ども(b0)の手番では、選択肢決定部40は、応募対象下界情報302における応募対象(s・0歳、t・0歳)の下界でも空きがあるので、入所が確実と判定する。ここでは、入所が確実な応募対象が複数あることから、選択肢決定部40は、応募対象(s・0歳、t・0歳)について、マッチング可能性は有り、マッチング成立はなしと判定する。したがって、選択肢決定部40は、応募対象(s・0歳、t・0歳)における応募対象下界情報302の下界を1減少させて、応募対象下界情報302を更新する(S60)。
【0115】
次いで、子ども(c0)の手番では、選択肢決定部40は、応募対象下界情報302における応募対象(t・0歳)の下界でも空きがあるので、入所が確実と判定する。ここでは、入所が確実な応募対象が一つであることから、選択肢決定部40は、子ども(c0)の手番で応募対象(t・0歳)を選択することが確定し、マッチング成立は有りと判定する。したがって、選択肢決定部40は、応募対象(t・0歳)における応募対象上界情報301の上界および応募対象下界情報302の下界を1減少させて、応募対象上界情報301および応募対象下界情報302を更新する(S61)。
【0116】
次いで、子ども(b1)の手番では、選択肢決定部40は、応募対象下界情報302における応募対象(s・1歳)の下界でも空きがあるので、入所が確実と判定する。ここでは、入所が確実な応募対象が一つであることから、選択肢決定部40は、子ども(b1)の手番で応募対象(s・1歳)を選択することが確定し、マッチング成立は有りと判定する。また、子ども(b0)についても応募対象(s・0歳、t・0歳)の中で応募対象(s・0歳)を選択することが確定する。したがって、選択肢決定部40は、応募対象(s・0歳、s・1歳、)における応募対象上界情報301の上界および応募対象下界情報302の下界を1減少させて、応募対象上界情報301および応募対象下界情報302を更新する(S62)。
【0117】
次いで、子ども(a0)の手番では、選択肢決定部40は、応募対象上界情報301における応募対象(s・0歳)の上界でも空きがないので、応募対象(s・0歳)を選択しないことが確定する。なお、応募対象(t・0歳)では空きがあるので、選択肢決定部40は、応募対象(t・0歳)についてマッチング可能性は有りと判定する(S63)。なお、選択肢決定部40は、応募対象(t・0歳)における応募対象下界情報302の下界は0まで減少していることから、応募対象下界情報302の下界はこのままの値とする。
【0118】
次いで、子ども(d1)の手番では、選択肢決定部40は、応募対象上界情報301における応募対象(s・1歳、t・1歳)の上界で空きがあるので、応募対象(s・1歳、t・1歳)ともにマッチング可能性は有りと判定する(S64)。なお、選択肢決定部40は、応募対象(s・1歳、t・1歳)における応募対象下界情報302の下界は0まで減少していることから、応募対象下界情報302の下界はこのままの値とする。
【0119】
図15に示すように、上記の先読み処理により、各プレイヤーの手番において確定した応募対象をもとに、選択肢の枝刈りが行われる。具体的には、a0の手番における戦略(s)の選択が除外される。また、b1、b0の手番における戦略(t)の選択が除外される。これらの除外により、a1の利得表15Daでは、きょうだい(a0)の戦略にsが含まれないものとなる。また、a0の利得表15Dbでは、自分の戦略にsが含まれないものとなる。また、b1、b0の利得表15Dcでは、自分の戦略にtが含まれないものとなる。
【0120】
したがって、先読み処理後のマッチング処理では、a0の戦略の中からsが除外され、b1、b0の中からtが除外された状態で処理が開始される。具体的には、マッチング処理部30は、優先順位の最も高い応募者に対応するプレイヤーから順(a1→b0→c0→b1→a0→d1の順)に、利得表15Da、15Db、15Dc、15Ea、15Fをもとに、プレイヤーが自身に最大の利得をもたらす可能性のある戦略を選択する(S70〜S74)。
【0121】
例えば、a1のプレイヤーの手番では、きょうだい関係のあるa0の手番でカップリング要求を満たす戦略を選ぶことを期待して、最大利得3(tの選択)を目指す(S70)。次いで、b0、c0、b1のプレイヤーの手番では、確定している戦略を選ぶ(S71)。
【0122】
次いで、a0のプレイヤーの手番では、a0の期待どおりの戦略(tの選択)ができる。よって、a1も利得「3」を獲得できることが確定する。また、ここまではa0以下の順の部分ゲームについて、均衡パスであることが確定する(S72)。
【0123】
次いで、d1のプレイヤーの手番では、きょうだい関係が無いためその場で最適戦略(sの選択)が確定する(S73)。d1は最後のプレイヤーであることから、ゲーム全体の均衡パスが確定する(S74)。
【0124】
このように、選択肢決定部40が応募対象上界情報301および応募対象下界情報302を参照し、プレイヤーの手番におけるマッチング成立可否、および、プレイヤーのマッチング可能性有無を判定して選択肢の枝刈りを行うことで、部分ゲーム完全均衡を求める際に探索するパス数をさらに削減できる場合がある。また、探索するパス数を削減できることで、計算量の増大を抑えることができる。
【0125】
ここで、第1の実施形態での先読み処理(比較例)と対比することで、第2の実施形態にかかる先読み処理により部分ゲーム完全均衡を求める際に探索するパス数を削減できることを説明する。
【0126】
図16は、先読み処理の比較例を説明する説明図である。図17は、マッチング処理の比較例を説明する説明図である。具体的には、図17は、図16に例示する先読み処理後のマッチング処理を説明する図である。
【0127】
図16に示すように、第1の実施形態での先読み処理では、選択肢決定部40は、カップリング要求応募者に対応するプレイヤー(a1、b0)の手番をスキップする(S80)。次いで、選択肢決定部40は、c0の手番を実行する。ここで、c0は戦略(t・0歳)に空きがあればそれを選択するはずである。よって、選択肢決定部40は、応募対象上界情報301aにおける応募対象(t・0歳)の上界(受け入れ人数)が1以上である場合は1減少させ、上界を更新する(S81)。
【0128】
次いで、選択肢決定部40は、カップリング要求応募者に対応するプレイヤー(b1、a0)の手番をスキップする(S82)。次いで、選択肢決定部40は、d1の手番を実行する。ここで、d1は戦略(s・1歳)に空きがあればそれを選択するはずである。よって、選択肢決定部40は、応募対象上界情報301aにおける応募対象(s・1歳)の上界(受け入れ人数)が1以上である場合は1減少させ、上界を更新する(S83)。
【0129】
以上のように、第1の実施形態での先読み処理では、カップリング要求応募者が選ぶことができなくなった戦略が存在せず、何も戦略が確定しないことから、除外する戦略はない。よって、マッチング処理部30は、図13に例示した利得表15D、15E、15Fをもとに、プレイヤーが自身に最大の利得をもたらす可能性のある戦略を選択するマッチング処理を行う。
【0130】
具体的には、図17に示すように、a1のプレイヤーの手番から順に、利得を最大とする戦略を選択するパス(a1が(s)を選択するパス)の探索が行われる(S90)。このパスでは、期待した利得が得られないことから、バックトラックして期待が外れた選択肢(a1が(s)を選択)を外す。次いで、a1が(t)を選択するパスの探索が行われ、ゲーム全体の均衡パスが確定することとなる(S91)。
【0131】
この比較例と、第2の実施形態(図15)とを較べると明らかなように、第2の実施形態では、比較例においてバックトラックが行われるパス分、探索するパスが少なくなっている。したがって、第2の実施形態では、比較例よりも計算量の増大を抑えることができる。
【0132】
以上のように、マッチング装置1は、それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングを実行する装置であり、マッチング処理部30および選択肢決定部40を有する。マッチング処理部30は、マッチングに対応した展開型ゲームであって、複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、優先順位をプレイの順番と対応づけられ、かつ、複数のプレイヤーそれぞれは複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求める。そして、マッチング処理部30は、部分ゲーム完全均衡の結果に基づくマッチングを行い、結果データ14を得る。また、マッチング処理部30は、特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、カップリング要求の充足有無に対応して設定する。選択肢決定部40は、マッチング処理部30における展開型ゲームの部分ゲームに対応したゲーム木16の選択肢について、カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無をカップリング要求応募者のカップリング要求内容を参照して決定する。また、選択肢決定部40は、複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の応募対象の上界および下界をそれぞれ示す応募対象上界情報301および応募対象下界情報302を参照して、手番におけるマッチング成立可否、および、プレイヤーのマッチング可能性有無を判定する。また、選択肢決定部40は、マッチング可能性が有ると判定した場合、応募対象上界情報301を更新し、マッチングが成立すると判定した場合は、応募対象上界情報301および応募対象下界情報302を更新する。
【0133】
このように、マッチング装置1は、マッチングに対応した展開型ゲームの部分ゲーム完全均衡を求める際に、複数のプレイヤーそれぞれの手番ごとに、応募対象上界情報301および応募対象下界情報302を用いてマッチング成立可否を判定する。これにより、マッチング装置1では、部分ゲーム完全均衡を求める際に探索するパス数を削減でき、計算量を抑えて部分ゲーム完全均衡を求めることができる。
【0134】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0135】
マッチング装置1で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、マッチング装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0136】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。図18は、実施形態にかかるマッチング装置1のハードウエア構成例を説明する説明図である。
【0137】
図18に示すように、マッチング装置1は、各種演算処理を実行するCPU101と、データ入力を受け付ける入力装置102と、モニタ103と、スピーカ104とを有する。また、マッチング装置1は、記憶媒体からプログラム等を読み取る媒体読取装置105と、各種装置と接続するためのインタフェース装置106と、有線または無線により外部機器と通信接続するための通信装置107とを有する。また、マッチング装置1は、各種情報を一時記憶するRAM108と、ハードディスク装置109とを有する。また、マッチング装置1内の各部(101〜109)は、バス110に接続される。
【0138】
ハードディスク装置109には、上記の実施形態で説明した各種の処理を実行するためのプログラム111が記憶される。また、ハードディスク装置109には、プログラム111が参照する各種データ112が記憶される。入力装置102は、例えば、マッチング装置1の操作者から操作情報の入力を受け付ける。モニタ103は、例えば、操作者が操作する各種画面を表示する。インタフェース装置106は、例えば印刷装置等が接続される。通信装置107は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【0139】
CPU101は、ハードディスク装置109に記憶されたプログラム111を読み出して、RAM108に展開して実行することで、各種の処理を行う。なお、プログラム111は、ハードディスク装置109に記憶されていなくてもよい。例えば、マッチング装置1が読み取り可能な記憶媒体に記憶されたプログラム111を、マッチング装置1が読み出して実行するようにしてもよい。マッチング装置1が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラムを記憶させておき、マッチング装置1がこれらからプログラムを読み出して実行するようにしてもよい。
【0140】
以上の実施形態に関し、さらに以下の付記を開示する。
【0141】
(付記1)それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングをコンピュータに実行させるマッチングプログラムであって、
前記マッチングに対応した展開型ゲームであって、前記複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、前記優先順位をプレイの順番と対応づけられ、かつ、前記複数のプレイヤーそれぞれは前記複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求め、
前記部分ゲーム完全均衡の結果に基づくマッチングを行い、
特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、当該カップリング要求の充足有無に対応して設定され、
前記展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を当該カップリング要求応募者のカップリング要求内容を参照して決定する、各処理をコンピュータに実行させ、
前記決定する処理は、前記複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の前記応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、当該プレイヤーのマッチング可能性有無を判定し、
マッチング可能性が有ると判定した場合、前記応募対象下界情報を更新し、
マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報を更新する、
ことを特徴とするマッチングプログラム。
【0142】
(付記2)前記決定する処理は、前記カップリング要求応募者に対応するプレイヤーよりも前記カップリング要求応募者以外の応募者に対応するプレイヤーの手番を先に実行して更新した前記応募対象上界情報および前記応募対象下界情報をもとに、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を決定する、
ことを特徴とする付記1に記載のマッチングプログラム。
【0143】
(付記3)前記決定する処理は、前記マッチング可能性が有ると判定した場合、前記応募対象下界情報が示す下界の数を減少させ、マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報が示す下界の数を減少させる、
ことを特徴とする付記1または2に記載のマッチングプログラム。
【0144】
(付記4)前記カップリング要求に関連づけられた複数のカップリング要求応募者は、互いにきょうだい関係を有する応募者である、
ことを特徴とする付記1乃至3のいずれか一に記載のマッチングプログラム。
【0145】
(付記5)前記マッチングは、優先順位が付された複数の子どもと、複数の保育所とのマッチングである、
ことを特徴とする付記1乃至4のいずれか一に記載のマッチングプログラム。
【0146】
(付記6)それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングをコンピュータが実行するマッチング方法であって、
前記マッチングに対応した展開型ゲームであって、前記複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、前記優先順位をプレイの順番と対応づけられ、かつ、前記複数のプレイヤーそれぞれは前記複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求め、
前記部分ゲーム完全均衡の結果に基づくマッチングを行い、
特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、当該カップリング要求の充足有無に対応して設定され、
前記展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を当該カップリング要求応募者のカップリング要求内容を参照して決定する、各処理をコンピュータが実行し、
前記決定する処理は、前記複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の前記応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、当該プレイヤーのマッチング可能性有無を判定し、
マッチング可能性が有ると判定した場合、前記応募対象下界情報を更新し、
マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報を更新する、
ことを特徴とするマッチング方法。
【0147】
(付記7)前記決定する処理は、前記カップリング要求応募者に対応するプレイヤーよりも前記カップリング要求応募者以外の応募者に対応するプレイヤーの手番を先に実行して更新した前記応募対象上界情報および前記応募対象下界情報をもとに、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を決定する、
ことを特徴とする付記6に記載のマッチング方法。
【0148】
(付記8)前記決定する処理は、前記マッチング可能性が有ると判定した場合、前記応募対象下界情報が示す下界の数を減少させ、マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報が示す下界の数を減少させる、
ことを特徴とする付記6または7に記載のマッチング方法。
【0149】
(付記9)前記カップリング要求に関連づけられた複数のカップリング要求応募者は、互いにきょうだい関係を有する応募者である、
ことを特徴とする付記6乃至8のいずれか一に記載のマッチング方法。
【0150】
(付記10)前記マッチングは、優先順位が付された複数の子どもと、複数の保育所とのマッチングである、
ことを特徴とする付記6乃至9のいずれか一に記載のマッチング方法。
【0151】
(付記11)それぞれに優先順位が付された複数の応募者と複数の応募対象とのマッチングを実行するマッチング装置であって、
前記マッチングに対応した展開型ゲームであって、前記複数の応募者それぞれの選好に対応した利得を有する独立した複数のプレイヤーに関し、前記優先順位をプレイの順番と対応づけられ、かつ、前記複数のプレイヤーそれぞれは前記複数のプレイヤーすべての利得を知っている展開型ゲームの部分ゲーム完全均衡を求め、前記部分ゲーム完全均衡の結果に基づくマッチングを行うマッチング処理部と、
特定の他の応募者と組になった形でのマッチングを要望するカップリング要求を有するカップリング要求応募者に対応するプレイヤーの利得は、当該カップリング要求の充足有無に対応して設定され、
前記展開型ゲームの部分ゲームに対応したゲーム木の選択肢について、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を当該カップリング要求応募者のカップリング要求内容を参照して決定する決定部と、を有し、
前記決定部は、前記複数のプレイヤーそれぞれの手番ごとに、マッチングが未成立の前記応募対象の上界および下界をそれぞれ示す応募対象上界情報および応募対象下界情報を参照して、当該手番におけるマッチング成立可否、および、当該プレイヤーのマッチング可能性有無を判定し、
マッチング可能性が有ると判定した場合、前記応募対象下界情報を更新し、
マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報を更新する、
ことを特徴とするマッチング装置。
【0152】
(付記12)前記決定部は、前記カップリング要求応募者に対応するプレイヤーよりも前記カップリング要求応募者以外の応募者に対応するプレイヤーの手番を先に実行して更新した前記応募対象上界情報および前記応募対象下界情報をもとに、前記カップリング要求応募者に対応するプレイヤーの手番における選択肢の枝刈り有無を決定する、
ことを特徴とする付記11に記載のマッチング装置。
【0153】
(付記13)前記決定部は、前記マッチング可能性が有ると判定した場合、前記応募対象下界情報が示す下界の数を減少させ、マッチングが成立すると判定した場合は、前記応募対象上界情報および前記応募対象下界情報が示す下界の数を減少させる、
ことを特徴とする付記11または12に記載のマッチング装置。
【0154】
(付記14)前記カップリング要求に関連づけられた複数のカップリング要求応募者は、互いにきょうだい関係を有する応募者である、
ことを特徴とする付記11乃至13のいずれか一に記載のマッチング装置。
【0155】
(付記15)前記マッチングは、優先順位が付された複数の子どもと、複数の保育所とのマッチングである、
ことを特徴とする付記11乃至14のいずれか一に記載のマッチング装置。
【符号の説明】
【0156】
1…マッチング装置
10…記憶部
11、201…応募対象情報
12、202…応募者情報
13…演算データ
14…結果データ
15A、15Aa、15Ab、15B、15C、15D、15Da、15Db、15Dc、15E、15Ea、15F…利得表
16…ゲーム木
20…入力部
30…マッチング処理部
40…選択肢決定部
50…出力部
101…CPU
102…入力装置
103…モニタ
104…スピーカ
105…媒体読取装置
106…インタフェース装置
107…通信装置
108…RAM
109…ハードディスク装置
110…バス
111…プログラム
112…各種データ
301、301a…応募対象上界情報
302…応募対象下界情報
C1〜C3…第1〜第3のケース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21