JP2008181549A - 双方向マッチングシステムおよび双方向マッチングプログラム - Google Patents

双方向マッチングシステムおよび双方向マッチングプログラム Download PDF

Info

Publication number
JP2008181549A
JP2008181549A JP2008059424A JP2008059424A JP2008181549A JP 2008181549 A JP2008181549 A JP 2008181549A JP 2008059424 A JP2008059424 A JP 2008059424A JP 2008059424 A JP2008059424 A JP 2008059424A JP 2008181549 A JP2008181549 A JP 2008181549A
Authority
JP
Japan
Prior art keywords
priority list
matching
elements
group
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008059424A
Other languages
English (en)
Other versions
JP4129052B1 (ja
Inventor
Atsushi Takeda
竹田  淳
Takashi Iwamoto
貴司 岩本
Yoshiki Ito
由樹 伊藤
Taiji Tsuchida
泰治 土田
Manabu Hashimoto
橋本  学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Information Systems Corp
Mitsubishi Electric Information Technology Corp
Original Assignee
Mitsubishi Electric Information Systems Corp
Mitsubishi Electric Information Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Information Systems Corp, Mitsubishi Electric Information Technology Corp filed Critical Mitsubishi Electric Information Systems Corp
Priority to JP2008059424A priority Critical patent/JP4129052B1/ja
Application granted granted Critical
Publication of JP4129052B1 publication Critical patent/JP4129052B1/ja
Publication of JP2008181549A publication Critical patent/JP2008181549A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】処理の途中で無限ループに陥ることもなく、安定なマッチングを得ることができる双方向マッチングシステムを得る。
【解決手段】複数の要素からなり、要素の一部に複数の要素を含むグループが属する集合Aと、複数の要素からなる集合Bの各要素をマッチングし、集合Aおよび集合Bの各要素は、相手の集合の全部または一部に対して一意に順位付けられた優先度リストを有し、集合Bの各要素は、集合Aに対する正整数の定員とを有している。集合Aおよび集合Bの各要素が有する前記優先度リストに基づき、集合Aの要素と集合Bの要素とをマッチングさせ、マッチングを繰り返した後、未処理の集合Aの要素がなくなったとき、マッチングを確定させる。このとき、当該マッチングの際に、集合Bの所定の要素の定員を、集合Bの所定の要素にマッチングされた集合Aの要素の中で、(最も要素数の多いグループの要素数−1)まで増員させる。
【選択図】図2

Description

この発明は、双方向マッチングシステムおよび双方向マッチングプログラムに関し、特に、双方向に優先度を持つ集合間でマッチングを行うための双方向マッチングシステムおよび双方向マッチングプログラムに関する。
就職志願者の集合と志願者を受け入れる企業の集合の間のマッチング問題のように、双方向に優先度を持つ集合間のマッチング問題においてマッチングを行うための手法が提案されつつある(例えば、非特許文献1参照。)。
ここで、各志願者は自分が就職したい企業を好みにより順位づけした優先度リストを持ち、一方各企業の方も受け入れたい志願者を順位づけした優先度リストを持つものとする。志願者aの優先度リストROL(a)は、企業の集合の部分集合であり、順位によって等号を含まない不等号によって順序づけられた全順序集合である。ここでは、志願者aがpをp'より好む場合に、p<p'と書くことにする(具体例を挙げれば、pが優先度第1位で、p'は優先度第3位の場合には、p(=1)<p'(=3)となる。)。また、企業pの志願者に対する優先度リストROL(p)についても同様である。また、各企業には志願者を受け入れる採用枠(定員)がある。企業pの定員Q(p)は1以上の整数である。マッチングMとは、志願者と企業とのペア(a,p)からなる集合であって次の2つの条件を満たすものとする。
1. 任意の志願者aに関して、aを含むペア(a,p)はMにおいて1個以下である。
2. 任意の企業pに関して、pを含むペア(a,p)はMにおいて、企業の定員Q(p)個以下である。
マッチングの一例を図7に示す。図7では、志願者の集合{a1,a2,a3,a4,a5,a6,a7}と企業の集合{p1,p2,p3,p4}の間のマッチングとして、{(a1,p1),(a2,p3),(a3,p4),(a5,p3),(a6,p4)}が得られている。このマッチングでは、志願者a4,a7と企業p2にはマッチング相手が存在しない。
また、図8に志願者と企業の優先度リストの例を示す。それぞれの優先度リストでは上に記載されているものほど好ましい相手を示す。言い換えれば、下に行くほど順位が大きくなる。図8の例では、志願者は3つの企業に対して、p1<p4<p3という順序をつけている。企業は6人の志願者にa7<a1<a4<a3<a5<a6という順序をつけている。マッチングすることをまったく望まない相手は優先度リストに記載しない。
マッチング問題とは、志願者の集合、企業の集合、全志願者および全企業の優先度リストが与えられたときに、志願者と企業の間のマッチングを求める問題のことを言う。マッチング方法とは、マッチング問題に対する解法、すなわち、志願者と企業の間のマッチングを求める方法のことである。従って、マッチングシステムとは、マッチング方法を実行するシステムのことである。
また、上記のようなマッチングには安定性を定義することができる。マッチングMが安定であるのは、次の2つの条件が共に満たされる場合を言う。
1.すべての志願者(企業)は、自分の優先度リストに載せた企業(志願者)としかマッチングしない。
2.マッチングMに含まれない志願者と企業のすべてのペア(a,p)はブロッキングペアではない。ここで、ブロッキングペアとは次の3つの条件を共に満たすものである。
2.0. aはpの優先度リストに記載され、かつ、pはaの優先度リストに記載されている。
2.1. Mにおいてaはどの企業ともマッチングしていないか、またはMにおいてaはp'とマッチングしていて、aの優先度リストにおいてp<p'が成り立つ。
2.2. Mにおいてpがマッチングしている志願者数は定員Q(p)より少ないか、または、Mにおいてpがマッチングしているある志願者a'が存在し、pの優先度リストにおいてa<a'が成り立つ。
マッチング問題においては、安定なマッチングを生成する方法が求められる。不安定なマッチングが得られた場合、自分が優先度リストに記載していない相手、すなわち、自分のまったく望まない相手とマッチングした志願者または企業が存在するか、あるいは、ブロッキングペアが存在する。ブロッキングペアを構成する志願者と企業の両者にとって、得られたマッチングよりブロッキングペアの相手の方が好ましいため、不安定なマッチングは公平でない。つまり、不安定なマッチングを生成する方法ではマッチングに対する信頼性が無くなり、マッチングの対象者がマッチングに参加する意思を損なうことになる。
図9に、上記非特許文献1に書かれているGale−Shapleyアルゴリズムを用いた従来のマッチング方法を示すフローチャート図を示す。全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なうのが特徴である。
図9の説明を行う前に、図10を用いて簡単に概要を説明する。図10の例は、4つの病院の集合と、それらの病院に就職を希望する8人の志願者の集合とのマッチング問題を想定している。明石さんから工藤さんまでの全志願者が順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行なう。
明石さんは、第1希望が双川病院であるので、先ず、はじめに、明石さんは双川病院にプロポーズする。双方病院では、明石さんが優先度リストの4位にあるので、(明石,双川病院)が仮マッチングされる。
次に、井上さんがプロポーズを行う。井上さんの優先度リストにおいては、第1希望が双川病院であるので、井上さんは双川病院にプロポーズする。双川病院では、井上さんが優先度リストの5位にあり、かつ、双川病院の定員は2名でまだ1名分空いているので、(井上,双川病院)が仮マッチングされる。
次に、上野さんがプロポーズを行う。上野さんの優先度リストにおいては、第1希望が双川病院であるので、上野さんは双川病院にプロポーズする。双川病院では、上野さんが優先度リストの6位にあり、かつ、双川病院の定員は空きがないので、優先度リストの第2希望の病院にプロポーズを行う。第2希望の一山病院では、上野さんは1位であるので、(上野,一山病院)が仮マッチングされる。
次に、江口さんは、第1希望の一山病院にプロポーズするが、一山病院の優先度リストに江口さんの名前はないため、拒絶され、第2希望の双川病院にプロポーズするが、双川病院の優先度リストの7位で、かつ、定員に空きがないため、拒絶され、第3希望の美村病院にプロポーズすると、6位に名前があるため、(江口,美村病院)が仮マッチングされる。
次に、大川さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、大川さんは3位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと5位の井上さんである。このため、最も順位の大きい井上さんが除外され、(大川,双川病院)が仮マッチングされる。
除外された井上さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直す。当該病院は一山病院である。しかしながら、一山病院の優先度リストに井上さんの名前はないため、拒絶される。井上さんの優先度リストには第2希望までしか登録されていないため、井上さんは、すべての病院から拒絶されたことになる。
次に、川口さんの処理を行う。川口さんの優先度リストにおいては、第1希望が双川病院であるので、川口さんは双川病院にプロポーズする。双川病院では、川口さんは優先度リストの8位にあり、かつ、双川病院の定員は川口さんより上位の志願者に占められ空きがないので、川口さんは川口さんの優先度リストの第2希望の病院にプロポーズを行う。第2希望の美村病院の優先度リストでは、川口さんの名前はないので、拒絶される。第3希望の一山病院でも同様に拒絶され、第4希望の四谷病院で、優先度リストの6位に名前があるので、(川口,四谷病院)が仮マッチングされる。
次に、木村さんは、第1希望の双川病院にプロポーズする。双川病院の優先度リストで、木村さんは1位である。定員は2名であり、すでに2名が仮マッチングされている。しかしながら、仮マッチングされているのは、優先度リストにおける4位の明石さんと3位の大川さんである。このため、最も順位の大きい明石さんが除外され、(木村,双川病院)が仮マッチングされる。
除外された明石さんは、双川病院の次に自分の優先度リストでの順位が小さい病院に対してプロポーズをやり直すが、明石さんの優先度リストには第1希望の双川病院しか登録されていないため、明石さんは、すべての病院から拒絶されたことになる。
次に、工藤さんは、第1希望の四谷病院にプロポーズする。四谷病院の優先度リストで、工藤さんは5位である。定員は2名であり、すでに1名が仮マッチングされているが、空きが1名分ある。そのため、(工藤,四谷病院)が仮マッチングされる。
ここで、すべての志願者が、いずれかの病院と仮マッチングされるか、または、自分の優先度リストに記載した病院すべてから拒絶されたので、処理は終了する。
マッチングの結果は、(大川,双川病院)、(木村,双川病院)、(上野,一山病院)、(江口,美村病院)、(川口,四谷病院)、(工藤,四谷病院)となり、明石さんと井上さんは自分の優先度リストに記載したすべての病院から拒絶されたことになった。
上記の図9のフローチャートを用いて、図10を例にして行ったこの処理について説明する。ステップS100において、あらかじめ仮マッチングを空集合にする。ステップS101において、未処理の志願者がなければ終了し、あればその志願者の1人aに対して以下の処理を行う。ステップS102において、志願者aが優先度リストROL(a)の何番目の企業に対してプロポーズするかの指標であるa.iを1に設定する。これは、全志願者は順番に、まず自分の優先度リストで順位の一番小さい企業に対してプロポーズを行うことを示す。ステップS103において、優先度リストROL(a)の要素数がa.iより小さければ、志願者aは最終的にどの企業ともマッチングできなかったことになり、ステップS101に戻る。一方、ステップS103において、優先度リストROL(a)の要素数がa.iより小さくなければ、ステップS104において、優先度リストROL(a)のa.i番目の企業をpとする。ステップS105において、aがpの優先度リストROL(p)に含まれなければ、a.iをa.i+1に設定し直して、ステップS103に戻る。これは、プロポーズされた企業pはプロポーズした志願者aがROL(p)に記載されていなけれ拒絶し、拒絶された志願者aは、自分の優先度リストROL(a)での順位が企業pの次に小さい企業にプロポーズをやり直すことに相当する。一方、ステップS105において、aがpの優先度リストROL(p)に含まれていれば、ステップS106において、その時点でpが仮マッチングしている志願者の数が定員Q(p)より少なければ、ペア(a,p)を仮マッチングに加えてステップS101に戻る。一方、ステップS106において、その時点でpが仮マッチングしている志願者の数が定員Q(p)より少なくなければ、ステップS107において、pと仮マッチングしている志願者の中で、pの優先度リストROL(p)で順位が最も大きいものをa1とする。a1とプロポーズしている志願者aとの間で、ROL(p)での順位を比較する。aの順位の方が大きければ、a.iをa.i+1に設定し直して、ステップS103に戻る。これは、aの順位の方が大きければ企業pはaを拒絶することに相当する。拒絶された志願者aは、pの次に自分の優先度リストROL(a)での順位が小さい企業にプロポーズをやり直すことになる。このステップS107以降では企業pと仮マッチングしている志願者数が定員Q(p)と等しい。ステップS108において、a1の順位の方がaの順位より大きいので、ペア(a,p)を仮マッチングに加え、ペア(a1,p)を仮マッチングから除外し、aをa1に設定し直す。ステップS109において、a.iをa.i+1に設定し直してステップS103に戻る。つまり、仮マッチングから除外された志願者(元のa1)は、pの次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図9の処理が終了するのは、ステップS101において、すべての志願者が、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。図9の処理が終了した段階で最終的に得られた仮マッチングをマッチング結果とする。Gale−Shapleyアルゴリズムにより得られるマッチングは安定であることが先行技術文献に記載されている。
「The Stable Marriage Problem」、D.Gusfield 及び R.W.Irving著、The MIT Press、1989年
上述した従来のGale−Shapleyアルゴリズムの問題点について説明する。その問題点とは、Gale−Shapleyアルゴリズムにおいては、志願者のカップルが存在する場合には、安定なマッチングを保証できなくなることである。ここで、カップルとは、同一の企業とマッチングすることを望み、同一の優先度リストを持つ志願者2人の組である。企業はカップルとカップルを構成しない志願者に対して順位を一意的につけた優先度リストを持つ必要がある。しかし、企業はあらかじめカップルを意識する必要がなく、カップルであるなしにかかわらず志願者個人に対する優先度リストを最初に持つとしてもよい。その場合には、マッチング処理を行う前に各企業の優先度リストROL(p)を次のように変更する。カップルを構成する両者が企業pの優先度リストに記載されているときにのみカップルを企業pの優先度リストROL(p)に挿入し、カップルを構成する志願者個人はROL(p)からすべて除外する。このとき、変更された企業の優先度リストにおいて、挿入したカップルに対して順位をつける必要がある。カップルに対する順位のつけ方は、最終的に得られる企業の優先度リストにおいて、カップルとカップルを構成しない志願者に対して順位が一意的につくようにすれば、どのような方法でも構わない。一例として、カップルの順位を例えばカップルの中で順位が大きい方の志願者(優先度リストから除外される)の順位に等しいと設定すると、カップルとカップルを構成しない志願者に対して、順位を一意的につけることができる。
図11に、企業の優先度リストをカップルを考慮するものに変更する方法の一例を示す。図11の左にもともとの志願者個人に対する企業の優先度リスト(符号10)の例を示す。もともとの優先度リストでの順位はa7<a1<a4<a3<a5<a6となっている。ここで、志願者a1とa5がカップルcであるとする。このとき、企業のカップルとカップルを構成しない志願者に対する優先度リストを、カップルを構成する志願者を優先度リストから除去し、カップルcを構成する志願者のうち、順位が大きい方のa5の位置にカップルcを挿入することにより作る。このようにして得られる優先度リストを図11の右に示す。図11の右の優先度リスト(符号11)は、カップルとカップルを構成しない志願者に対して一意的な順位a7<a4<a3<c<a6をつけることができる。
このようにカップルとカップルを構成しない志願者に対して一意的に順位がつけられると、カップルをあたかも1人の志願者のようにして、マッチングを行うことができる。しかしながら、このマッチングの処理に、Gale−Shapleyアルゴリズムを用いると、カップルを考慮しない場合と異なり、安定なマッチングを必ずしも見つけることができなくなるという問題がある。また、安定なマッチングを見つけることができない場合に、無理に安定なマッチングを得ようとすると無限ループに陥ることがある。例として次のようなマッチング問題を考える。
企業の集合が{p1,p2}、カップルの集合が{c}、カップルを構成しない志願者の集合が{a1,a2,a3,a4}とする。また、企業の定員はQ(p1)=Q(p2)=2とする。各優先度リストは次のように与えられるとする。
p1の優先度リスト={a1,c,a2,a3}
p2の優先度リスト={a2,a4,a1}
a1の優先度リスト={p2,p1}
a2の優先度リスト={p1,p2}
a3の優先度リスト={p1}
a4の優先度リスト={p2}
cの優先度リスト={p1}
ここで、優先度リストは左側の要素ほど順位が小さいものとする。例えば、p1の優先度リストは、a1<c<a2<a3である。また、企業の優先度リストはもともとの志願者個人に対する優先度リストから前記のように導出した、カップルとカップルを構成しない志願者に対する優先度リストであるとする。このマッチング問題に対して、Gale−Shapleyアルゴリズムを用いてマッチングを行うとする。ここで、カップルとカップルを構成しない志願者がa1,a2,a3,a4,cの順に自分の優先度リストで順位の小さい企業からプロポーズを行うとする。志願者a1からa4までプロポーズを行った段階(図9のステップS106)で、次のような仮マッチングが得られる。
p1の仮マッチング相手={a2,a3}
p2の仮マッチング相手={a4,a1}
次に、ステップS101に戻り、カップルcがプロポーズを行うことになる。カップルcは企業p1にのみプロポーズするが、すでに企業p1が仮マッチングしている志願者数は定員と等しい2であるので、図9でステップS108まで進むことになる。ここで、企業p1での順位はc<a2<a3であるが、志願者a3を仮マッチングから除いても、カップルcと企業p1のペアを仮マッチングに加えることができない。なぜならば、カップルcが企業p1とマッチングすると、p1の仮マッチング相手の志願者数が3となり定員を超えてしまうためである。したがって、カップルcをマッチングに加えることができなくなるが、このときペア(c,p1)は上記の仮マッチングに対するブロッキングペアになるので、安定なマッチングを得ることができないことになる。
また、ステップS108において、企業p1での順位はc<a2<a3であるので、志願者a2とa3の両方を仮マッチングから除くようにすると、カップルcを企業p1とマッチングさせることができ、次のような仮マッチングを得ることができる。
p1の仮マッチング相手={c}
p2の仮マッチング相手={a4,a1}
このとき、志願者a2が仮マッチングから除外されたので、a2は企業p1の次に優先度リストでの順位が小さい企業p2にプロポーズすることにより、Gale−Shapleyアルゴリズムを続行することになる。実際、企業p2において、a2<a4<a1なので、ペア(a2,p2)がブロッキングペアにならないようにするには、仮マッチングから、企業p2にマッチングしている順位が最大の志願者a1を除いて、ペア(a2,p2)を仮マッチングに加え、次のような仮マッチングを得ることになる。
p1の仮マッチング相手={c}
p2の仮マッチング相手={a2,a4}
今度は、仮マッチングから除外された志願者a1において、a1<cなので、ペア(a1,p1)がブロッキングペアにならないようにするため、仮マッチングからカップルcを除いてペア(a1,p1)を仮マッチングに加え、次のような仮マッチングを得ることになる。
p1の仮マッチング相手={a1}
p2の仮マッチング相手={a2,a4}
ところが、この仮マッチングにはペア(a2,p1)がブロッキングペアになってしまい、結局安定なマッチングは得られないことになる。
ここで、Gale−Shapleyアルゴリズムから外れるが、もしこのブロッキングペア(a2,p1)を解消しようとすると、次のような仮マッチングが得られる。
p1の仮マッチング相手={a1,a2}
p2の仮マッチング相手={a4}
ところが、今度はこの仮マッチングにはペア(a1、p2)がブロッキングペアになってしまう。このブロッキングペア(a1、p2)を解消しようとすると、次のような仮マッチングが得られる。
p1の仮マッチング相手={a2}
p2の仮マッチング相手={a4,a1}
ところが、この仮マッチングでは(a3,p1)がブロッキングペアになっているので、このブロッキングペア(a3,p1)を解消すると次のような仮マッチングになる。
p1の仮マッチング相手={a2,a3}
p2の仮マッチング相手={a4,a1}
ところがこれはカップルcが最初にプロポーズする前の段階での仮マッチングと等しく、ペア(c,p1)がブロッキングペアになっている。
以上の例から、カップルが存在する場合には、安定なマッチングが得られないだけでなく、安定なマッチングを得ようとすると処理が無限ループに陥る可能性もあることがわかる。
以上のように、従来のマッチング方法においては、志願者の中にカップルが存在する場合には、安定なマッチングが得られないだけでなく、安定なマッチングを得ようとすると処理が無限ループに陥る可能性があるという問題点があった。
この発明は、かかる問題点を解決するためになされたものであり、処理の途中で無限ループに陥ることもなく、安定なマッチングを得ることができる双方向マッチングシステムおよび双方向マッチングプログラムを得ることを目的としている。
この発明は、募集側の集合Bの各要素がそれぞれ保有する募集側コンピュータと、志願側の集合Aの各要素がそれぞれ保有する志願側コンピュータとが、通信ネットワークを介して、それぞれマッチング仲介コンピュータに接続されて、前記マッチング仲介コンピュータは、集合Aの要素を集合Bの要素と対応付けるマッチングを行い、集合Aおよび集合Bの各要素は互いに優先度リストに含まれる相手とのみ対応付けされる双方向マッチングシステムであって、集合Bの各要素ごとに定員が設定されており、集合Bの各要素に対して、集合Aの複数の要素が該定員の範囲で割り当て可能であって、前記マッチング仲介コンピュータは、前記募集側コンピュータから集合Bの各要素ごとの上記定員を示す正整数の値を受信する手段と、受信した前記値を、集合Bの各要素ごとに、それの定員として記憶する集合B定員記憶手段と、前記志願側コンピュータから、集合Aの各要素ごとに、集合Bの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、前記志願側コンピュータから受信した前記優先度リストを記憶する集合A優先度リスト記憶手段と、前記募集側コンピュータから、集合Bの各要素ごとに、集合Aの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、前記募集側コンピュータから受信した前記優先度リストを記憶する集合B優先度リスト記憶手段と、集合Aの要素のうちの2以上の所定の要素は1つのグループを構成しており、該グループの各要素は、集合Bの要素の全部または一部に対して付した一意的な対応付けのための優先度順位を示した同一の優先度リストを持ち、集合Aは該グループを1以上含んでいるものであって、集合Aの各該グループを他の要素と同様に1つの要素として置き換えた集合を集合A'とするとき、集合Bの各要素の前記優先度リストとして、前記集合B優先度リスト記憶手段が記憶している優先度リストにおいて、前記グループを構成する要素のうち、優先度順位が最も大きい要素に対する優先度順位を該グループの優先度順位とし、該グループを構成する他の要素に対する優先度順位を削除した、新しい優先度リストを生成する集合B優先度リスト生成手段と、前記集合B優先度リスト生成手段により生成された前記優先度リストと、前記集合B定員記憶手段に記憶されている前記定員の値と、前記集合A優先度リスト記憶手段に記憶されている前記優先度リストのうち前記グループを構成する要素についてはそれらの要素に対する前記同一の優先度リストを用いるとともにグループを構成しない要素については記憶されている当該要素の優先度リストを用いて、集合A’および集合Bの各要素のうち、互いが相手方の優先度リストに含まれている要素同士があるかを検索し、当該要素同士があれば、それらを優先度順位の小さい順に、かつ、集合Bの各要素ごとに設定された前記定員の範囲で、対応付けることで、集合Bの各要素と集合A’の各要素とを対応付けるマッチング処理を行うマッチング手段と、集合Bの要素と対応付けされる集合A'の要素の中で、集合Bの要素と対応付けされる集合A'の要素の最も順位が大きいものが前記グループである場合には、該集合Bの要素の前記定員を、((該グループの要素の個数)−1)だけ大きくする定員増員処理手段と、前記マッチング手段によるマッチング処理結果を出力する手段とを備えた双方向マッチングシステムである。なお、グループの一例としてカップルが挙げられるが、カップルとは2個の要素からなるグループのことである。
この発明によれば、募集側の集合Bの各要素がそれぞれ保有する募集側コンピュータと、志願側の集合Aの各要素がそれぞれ保有する志願側コンピュータとが、通信ネットワークを介して、それぞれマッチング仲介コンピュータに接続されて、前記マッチング仲介コンピュータは、集合Aの要素を集合Bの要素と対応付けるマッチングを行い、集合Aおよび集合Bの各要素は互いに優先度リストに含まれる相手とのみ対応付けされる双方向マッチングシステムであって、集合Bの各要素ごとに定員が設定されており、集合Bの各要素に対して、集合Aの複数の要素が該定員の範囲で割り当て可能であって、前記マッチング仲介コンピュータは、前記募集側コンピュータから集合Bの各要素ごとの上記定員を示す正整数の値を受信する手段と、受信した前記値を、集合Bの各要素ごとに、それの定員として記憶する集合B定員記憶手段と、前記志願側コンピュータから、集合Aの各要素ごとに、集合Bの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、前記志願側コンピュータから受信した前記優先度リストを記憶する集合A優先度リスト記憶手段と、前記募集側コンピュータから、集合Bの各要素ごとに、集合Aの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、前記募集側コンピュータから受信した前記優先度リストを記憶する集合B優先度リスト記憶手段と、集合Aの要素のうちの2以上の所定の要素は1つのグループを構成しており、該グループの各要素は、集合Bの要素の全部または一部に対して付した一意的な対応付けのための優先度順位を示した同一の優先度リストを持ち、集合Aは該グループを1以上含んでいるものであって、集合Aの各該グループを他の要素と同様に1つの要素として置き換えた集合を集合A'とするとき、集合Bの各要素の前記優先度リストとして、前記集合B優先度リスト記憶手段が記憶している優先度リストにおいて、前記グループを構成する要素のうち、優先度順位が最も大きい要素に対する優先度順位を該グループの優先度順位とし、該グループを構成する他の要素に対する優先度順位を削除した、新しい優先度リストを生成する集合B優先度リスト生成手段と、前記集合B優先度リスト生成手段により生成された前記優先度リストと、前記集合B定員記憶手段に記憶されている前記定員の値と、前記集合A優先度リスト記憶手段に記憶されている前記優先度リストのうち前記グループを構成する要素についてはそれらの要素に対する前記同一の優先度リストを用いるとともにグループを構成しない要素については記憶されている当該要素の優先度リストを用いて、集合A’および集合Bの各要素のうち、互いが相手方の優先度リストに含まれている要素同士があるかを検索し、当該要素同士があれば、それらを優先度順位の小さい順に、かつ、集合Bの各要素ごとに設定された前記定員の範囲で、対応付けることで、集合Bの各要素と集合A’の各要素とを対応付けるマッチング処理を行うマッチング手段と、集合Bの要素と対応付けされる集合A'の要素の中で、集合Bの要素と対応付けされる集合A'の要素の最も順位が大きいものが前記グループである場合には、該集合Bの要素の前記定員を、((該グループの要素の個数)−1)だけ大きくする定員増員処理手段と、前記マッチング手段によるマッチング処理結果を出力する手段とを備えた双方向マッチングシステムであるので、マッチングする集合Aの要素で最も順位が大きいものがグループの場合のみ、(最も要素数の多いグループの要素数−1)までのマッチングを許すことにより、グループが存在しても、無限ループに陥ることもなく、常に安定なマッチングを得ることができる。
実施の形態1.
以下では、企業と志願者の間のマッチングを例に取って記述するが、本発明は適用対象が何であれ(たとえば通信におけるパケットとチャネルの間のマッチング等)成立するものである。
まず、必要な用語を定義する。カップルcのサイズs(c)を2とし、カップルを構成しない志願者(以下シングルと呼ぶ)aのサイズs(a)を1とする。企業pのサイズを考慮したマッチング数SM(p)を、pとマッチングしている志願者個人の数とする。つまりSM(p)とはpとマッチングしているすべてのカップルまたはシングルbに対するサイズs(b)の総和である。
図1および図2に、この発明の実施の形態1に係る双方向マッチングシステムにおけるマッチング方法を示す。図1および図2より、この発明によるマッチングは次のように行なわれる。ステップS1において、あらかじめ仮マッチングを空集合にし、各企業pに対してSM(p)=0、各カップルに対してs(c)=2、各シングルaに対してs(a)=1と初期化する。このとき、各企業は、志願者の全部または一部に対して一意的な順位を付けた優先度リストの入力を済ませており、各志願者は、企業の全部または一部に対して一意的な順位を付けた優先度リストの入力を済ませているものとする。各企業の優先度リストは、順位をつけながら志願者の入力をしていった後に、志願者端末から登録された、どの志願者とどの志願者がカップルであるかのカップル構成情報をもとに、特定の規則に従って、図11で示したように、図11の左側の優先度リスト10を右側の優先度リスト11に変換することにより、優先度リストを生成するようにしてもよい。あるいは、各企業において、カップルとシングルとを混在させて、志願者を順位をつけながら入力していって(図11の優先度リスト11の例では、1位:a7、2位:a4、3位:a3、4位:c、・・・というように入力)、そのデータをもとに優先度リストを生成するようにしてもよい。
次に、ステップS2において、すべてのカップルまたはシングルに対して、bが優先度リストROL(b)の何番目の企業に対してプロポーズするかの指標であるb.iを1に設定する。これはカップルとシングルは順番に、まず自分の優先度リストで順位の一番小さい企業に対してプロポーズを行うことを示す。次に、ステップS3に進み、未処理のカップルまたはシングルが存在するか否かの判定を行う。判定の結果、未処理のカップルまたはシングルがなければ、ステップS13に進み、その時点での仮マッチングを最終的に得られたマッチングとして処理を終了する。一方、未処理のカップルまたはシングルがあれば、ステップS4に進み、そのカップルまたはシングルbに対して以下の処理を行う。ステップS4において、優先度リストROL(b)の要素数がb.iより小さいか否かの判定を行う。判定の結果、小さければ、bは最終的にどの企業ともマッチングできなかったことになり、ステップS3に戻る。一方、判定の結果、小さくなければ、ステップS5において、優先度リストROL(b)のb.i番目の企業をpとする。
次に、ステップS6において、bがpの優先度リストROL(p)に含まれているか否かの判定を行う。判定の結果、含まれていなければ、ステップS7で、b.iをb.i+1に設定し直した後に、ステップS4に戻る。これは、プロポーズされた企業pはプロポーズしたbがROL(p)に記載されていなければ拒絶し、拒絶されたbは、企業pの次に自分の優先度リストROL(b)での順位が小さい企業にプロポーズをやり直すことに相当する。一方、ステップS6の判定の結果、bがpの優先度リストROL(p)に含まれていた場合には、ステップS8に進む。ステップS8においては、ペア(b,p)を仮マッチングに加え、企業pのサイズを考慮したマッチング数SM(p)をSM(p)+s(b)に設定し直す。次に、ステップS9に進み、その時点でpが仮マッチングしている志願者個人の数SM(p)がpの定員Q(p)以下であるか否かの判定を行う。判定の結果、SM(p)が定員Q(p)以下であれば、ステップS3に戻る。一方、ステップS9の判定の結果、その時点でpが仮マッチングしている志願者個人の数SM(p)が定員Q(p)より大きければ、ステップS10において、pと仮マッチングしているカップルまたはシングルの中で、pの優先度リストROL(p)で順位が最も大きいものb1とする。
ステップS11において、SM(p)−s(b1)が定員Q(p)より小さいか否かの判定を行い、SM(p)−s(b1)が定員Q(p)より小さい場合には、ステップS3に戻る。一方、ステップS11の比較において、SM(p)−s(b1)が定員Q(p)より小さくない場合には、ステップS12に進む。
ステップS12において、ペア(b1,p)を仮マッチングから除外し、SM(p)をSM(p)−s(b1)に設定し直す。また、b1.iをb1.i+1に設定し直して、b1を未処理にし、ステップS10に戻る。未処理にされたb1は、これ以降の段階で、ステップS3において、未処理の志願者として選ばれることになり、pの次に自分の優先度リストでの順位が小さい企業に対してプロポーズをやり直すことになる。図1および図2の処理が終了するのは、ステップS3において、すべてのカップルまたはシングルが、いずれかの企業と仮マッチングされるか、または、自分の優先度リストに記載された企業すべてから拒絶されたときである。
この発明による双方向マッチングシステムにおけるマッチング方法は、カップルおよびシングルが順番に、まず自分の優先度リストで順位の一番小さい企業から順番にプロポーズを行っていき、ある企業がマッチングする相手により定員一杯になる場合、企業がマッチングする相手で最も順位の大きいものがカップルの場合に限り、定員より1人多い志願者とマッチングできるようにするのが特徴である。この特徴により、本マッチング方法はカップルが存在する場合にも安定なマッチングを生成して終了する。
このように、本実施の形態によれば、ある企業がマッチングにより定員一杯になる場合、企業がマッチングする相手で最も順位の大きいものがカップルの場合に限り、マッチング相手の志願者個人の数が定員より1人多くなっても構わないようにすることにより、安定なマッチングを保証できる。これを従来例で示した例を用いて説明する。次の仮マッチングが得られるところまでは従来例と同じである。
p1の仮マッチング相手={a2,a3}
p2の仮マッチング相手={a4,a1}
次に、ステップS3に戻り、カップルcがプロポーズを行うことになる。カップルcは企業p1にのみプロポーズするが、本実施の形態によれば、ステップS8まで進み、次のような仮マッチングが得られることになる。
p1の仮マッチング相手={c,a2,a3}
p2の仮マッチング相手={a4,a1}
このとき、SM(p1)=4であり、企業p1の定員Q(p1)が2であることから、ステップS12まで2回進んだ後、次の仮マッチングが得られた段階で、ステップS3に戻ることになる。
p1の仮マッチング相手={c}
p2の仮マッチング相手={a4,a1}
今度は、仮マッチングから除外された志願者a2において、ステップS3では未処理とみなされるので、企業p2にプロポーズすることになり、次の仮マッチングが得られることになる。
p1の仮マッチング相手={c}
p2の仮マッチング相手={a2,a4}
今度は、仮マッチングから除外された志願者a1において、ステップS3では未処理とみなされるので、企業p1にプロポーズすることになる。企業p1の優先度リストに志願者a1は記載されているので、志願者a1を企業p1と仮マッチングさせることになるが、このときカップルcを仮マッチングから除く必要はない。なぜなら、SM(p1)=3であるが、企業p1において、最も順位の大きい仮マッチング相手がカップルcであるので、s(c)=2であることから、SM(p1)−s(c)<Q(p1)となり、ステップS11の判定により、ステップS12に進むことなく、ステップS3に戻ることになるからである。ステップS11は、企業p1において、最も順位の大きい仮マッチング相手がカップルであれば、仮マッチングしている志願者個人の数は定員Q(p1)より一人多くても構わないことを示している。この結果、次のような仮マッチングを得ることになる。
p1の仮マッチング相手={a1,c}
p2の仮マッチング相手={a2,a4}
本実施の形態によれば、最終的にこの仮マッチングが正式なマッチング結果になる。この仮マッチングに対しては、どの志願者およびカップルもブロッキングペアを構成しない。したがって、本実施の形態におけるマッチング方法により、安定なマッチングが得られる。また、処理の途中で無限ループに陥ることもない。
なお、集合A'の各要素は集合Bの全部または一部に対する優先度リストを持ち、集合Bの各要素は集合A'の全部または一部に対する優先度リストを持つことにより、図1および図2におけるS1〜S13は、集合Bの要素と集合A'の要素とをマッチングさせることにより、集合Bの要素を集合Aの要素とマッチングさせるマッチング手段を構成している。また、図2におけるステップS9〜S12は、集合Bの要素とマッチングする集合A'の要素の中で、集合Bの要素と仮マッチングされた集合A'の要素の最も順位が大きいものが前記グループである場合には、該集合Bの要素の前記定員を、((該グループの要素の個数)−1)だけ大きくする定員増員処理手段を構成している。
以上のように、本実施の形態においては、Aの要素を他方のBの要素と対応付けるマッチングにおいて、Bの各要素はそれぞれ正整数の定員を持っており、また、Aの各要素はBの要素の全部または一部に対して一意的な順位を付けた優先度リストを持ち、Bの各要素はAの要素の全部または一部に対して一意的な順位を付けた優先度リストを持ち、互いに優先度リストに含まれる相手にのみマッチングを行う際に、Bの要素とマッチングするAの要素の中で、最も順位が大きいものがカップルの場合のみ、定員+1までのマッチングを許すことにより、カップルが存在していても常に安定なマッチングを得ることができる。
なお、この発明の実施の形態1の変形例として、特定の企業(複数でも可)はカップルをまったく受け付けないようにするマッチング方法がある。カップルをまったく受け入れない企業は、もともとの志願者個人に対する優先度リストからカップルを構成する志願者を除外し、カップルを一切付け加えない優先度リストを持つとみなすことにより実現できる。そのような企業は、カップルとマッチングすることが無いので、マッチングする志願者個人の数は必ず定員以下になることが保証される。なお、カップルをまったく受け入れない企業において、誤って、カップルを優先度リストに登録しないように、該企業の端末において入力された志願者がカップルか否かの判定を行って、カップルの場合には入力を拒否する入力確認手段を設けるようにしておいてもよい。さらには、優先度リストへの志願者の入力の際に、誤ってカップルを入力した場合には、「カップルのため登録できません。入力し直して下さい。」というメッセージを端末の画面に表示されるか、あるいは、アラームを発する等してユーザに知らせるようにしてもよい。なお、入力確認手段の動作のオン/オフは、企業の端末においてユーザが切り替えられるようにしておくとよい。マッチング処理後に誤入力に気づくと処理が無駄になり損失が大きいので、このように、入力確認手段を設けておくと、誤入力を未然に防ぐことができ、便利かつ効率的である。
なお、この発明の実施の形態1では、例として企業の集合と志願者の集合の間のマッチングについて述べたが、マッチングの対象としては企業と志願者の集合に限られるものではない。たとえば、学科や科目や専攻の集合と学生の集合の間のマッチング、役割の集合と人間の集合の間のマッチングなどにも適用できるものである。複数のグループを含む要素からなる集合Aと、正整数の定員を有する集合Bのマッチングであればよく、会社や工場や部署の集合と仕事の集合の間のマッチング、通信におけるチャネルやルートの集合とパケットの集合の間のマッチング、配送における配送手段(トラックなど)の集合と荷物の集合の間のマッチング、情報処理におけるタスクの集合とプロセッサの集合の間のマッチング、行政における地域の集合と施設の集合の間のマッチング、またお見合いや先生・生徒で構成される英会話教室、大学のゼミなどにも適用できる。
また、この発明の実施の形態1では、例として、志願者の中にカップルが存在する場合について述べたが、この場合に限らず、志願者3人のグループ等、志願者2人以上のグループが存在する場合にも適用可能である。但し、その場合には、グループの人数がN人であるとすると、グループのサイズはNであり、SM(p)は、最大Q(p)+(N−1)となる。
さらに、異なる人数のグループが志願者の中に存在する場合においても、この発明は適用可能である。すなわち、志願者の中に、M人のグループとN人のグループとL人のグループがそれぞれ1以上存在しているような場合でもこの発明を適用することができる。但し、その場合には、例えば、M,N,Lの中でLが最大値であるとすると、SM(p)は、最大Q(p)+(L−1)となる。すなわち、例えば、最大値Lが4だった場合には、企業の定員が30名であった場合、最大30+(4−1)=33まで企業の定員枠が増えることになる。従って、企業の定員枠が最大Q(p)+(L−1)まで増えてもよいことがこの変形例の条件となる(なお、定員枠を増やしたくない場合には、予め、定員を(L−1)だけ少ない値にしておくことも可能である。)。
実施の形態2.
本実施の形態においては、まず、各企業pごとに図3のような仮採用リストTmpList(p)を持つ。図3(a)に示すように、仮採用リストTmpList(p)(符号1)は、仮マッチングしているカップルまたはシングルに対するポインタと、そのカップルまたはシングルの優先度リストROL(p)における順位と、そのカップルまたはシングルのマッチング順位によって構成される要素からなるリストである。また、仮採用リスト(符号2)は、図3(b)の例に示すように、優先度リストにおける順位に関して、順位が小さい順に要素を並べたものである。ここで、マッチング順位は次のように定義され、また計算することができる。
仮採用リストの一番上の要素、つまり、ROL(p)における順位が最も小さい要素のマッチング順位を1とする。仮採用リストで、上から二番目の要素から順番に、直上の要素のマッチング順位に、直上の要素のサイズを足したものを自分のマッチング順位とする。たとえば、上から二番目の要素について考えると、直上の要素がカップルの場合、サイズが2なので、マッチング順位は1+2で3になる。一方、直上の要素がシングルの場合には、サイズが1なので、マッチング順位は1+1で2になる。
図3(b)の例は、カップル4組とシングル3組と仮マッチングしている仮採用リストであり、上記のように計算されたマッチング順位についても示している。仮採用リストの内容が変わるとマッチング順位も変化するが、常に優先度リストにおける順位と同様に昇順に並ぶことになる。
仮採用リストを用いたこの発明によるマッチング方法を図4に示す。図4より、この発明によるマッチングは次のように行なわれる。ステップS20において、あらかじめ仮マッチングを空集合にし、各企業pに対してSM(p)=0、各カップルに対してs(c)=2、各シングルaに対してs(a)=1と初期化する。ステップS21において、すべてのカップルまたはシングルbに対して、bが優先度リストROL(b)の何番目の企業に対してプロポーズするかの指標であるb.iを1に設定する。これは、カップルとシングルは順番に、まず自分の優先度リストで順位の一番小さい企業に対してプロポーズを行うことを示す。ステップS22において、未処理のカップルまたはシングルがなければ終了し、あればそのカップルまたはシングルbに対して、以下のステップS23以降の処理を行う。次に、ステップS23において、優先度リストROL(b)の要素数がb.iより小さければ、bは最終的にどの企業ともマッチングできなかったことになり、ステップS22に戻る。一方、ステップS23において、優先度リストROL(b)の要素数がb.iより小さくなければ、ステップS24に進む。ステップS24においては、優先度リストROL(b)のb.i番目の企業をpとする。次に、ステップS25において、企業pはbに対する仮採用テストを行う。なお、仮採用テストの処理は後述する。次に、ステップS26において、ステップS25の仮採用テストでカップルまたはシングルが1個または複数個返された場合、返されたカップルまたはシングルすべてに対して次の処理を行う。返されたカップルまたはシングルをb1とすると、b1.iをb1.i+1に設定し直して、b1を未処理とし、ステップS22に戻る。ここでb1はもともとのbと同じである場合もあり得る。一方、ステップS26において、ステップS25の仮採用テストで何も返されなかった場合は、何もせずにステップS22に戻る。
ステップS25における、企業pのカップルまたはシングルbに対する仮採用テストの処理を図5に示す。図5より仮採用テストの処理は次のように行われる。ステップS30において、bが優先度リストROL(p)に記載されていなければbを返して終了する。一方、ステップS30において、bが優先度リストROL(p)に記載されていれば、ステップS31に進む。ステップS31において、仮採用リストTmpList(p)の要素を上から順番に検索し、すべての要素がROL(p)での順位に関して上から昇順に並ぶように、bの要素をTmpList(p)に挿入する。次に、ステップS32において、TmpList(p)の一番上の要素のマッチング順位を1とする。次に、ステップS33において、TmpList(p)の上から二番目の要素から順番に一番下の要素まで、もし存在すれば、その要素をカップルまたはシングルb2の要素とし、その要素の直上の要素をカップルまたはシングルb3の要素とすると、b2のマッチング順位を直上の要素のマッチング順位に直上の要素のサイズs(b3)を足したものに設定する。ステップS34において、TmpList(p)の要素を下から順番に調べ、マッチング順位がpの定員Q(p)より大きい要素があれば、それらの要素すべてをTmpList(p)から除外し、それらの要素が持つカップルまたはシングルをすべて返して終了する。一方、ステップS34において、TmpList(p)の一番下の要素のマッチング順位がpの定員Q(p)より大きくない場合には、ステップS35において、何も返さずに終了する。なお、図5において、ステップS31とステップS32〜S33は同時に行うことができる。
以上のように、本実施の形態においては、図4と図5によるこの発明の双方向マッチングシステムにおけるマッチング方法により、カップルが存在する場合にも安定なマッチングを得ることができる。
なお、この発明の実施の形態2の変形例として、サイズが2のカップルだけでなく、サイズが3以上のグループを含んだ場合のマッチング方法がある。ここで、グループとは志願者の複数の組で、それぞれが同一の優先度リストを持ち、同一の企業とマッチングすることを望むものである。このようなグループが存在する場合には、仮採用リストおよび図4と図5において、カップルの代わりにグループを考え、グループのサイズを当該グループを構成する志願者個人の数に等しいと考えれば、この発明の実施の形態2のマッチング方法でカップルをグループに置き換えてマッチングを行うことができる。このとき、マッチングする相手で順位最大のものがグループである場合に、マッチングされる志願者個人の数が定員よりグループのサイズから1を引いた数だけ大きくなる可能性がある。この変形例により、グループが存在する場合にも安定なマッチングを得ることができる。
実施の形態3.
この発明の実施の形態3における双方向マッチングシステムにおけるマッチング方法は、この発明の実施の形態1における図1および図2のマッチング方法あるいは実施の形態2における図4のマッチング方法でマッチングを得た結果、どの企業ともマッチングできなかったカップルに対して次のような処理を行う。カップルcが優先度リストROL(c)に記載するどの企業ともマッチングできなかった場合、カップルを解消して、新たな未処理の2人のシングルa1、a2として図1および図2あるいは図4のマッチング処理を続行する。ただし、企業は、シングルと、カップルと、カップルを構成する個人とのすべてに対して、一意的な優先度リストを持つ必要があり、カップルを解消してもかまわない志願者個人は企業に対して、カップルとしての優先度リストの他に、シングルとしての優先度リストも持つ必要がある。ここでシングルとしての優先度リストはカップルの優先度リストと同じである必要はない。
図6に、カップルcが優先度リストROL(c)に記載するどの企業ともマッチングできない場合には、カップルを解消して志願者a1と志願者a5としてマッチングする場合の企業の優先度リストの変換例を示す。図6の左に、もともとの志願者個人に対する企業の優先度リストの一例(符号3)を示す。もともとの優先度リストでの順位は、a7<a1<a4<a3<a5<a6となっている。ここで、志願者a1とa5がカップルcであるとする。このとき、カップルと、シングルと、カップルを構成する志願者に対する企業の優先度リストを、カップルを構成する志願者を優先度リストに残したまま、カップルcを構成する志願者のうち順位が大きいものであるa5の真下の順位に、カップルcを挿入することにより作る。このようにして得られる優先度リストを図6の右に示す。図6の右の優先度リスト(符号4)での順位は、a7<a1<a4<a3<a5<c<a6となる。
以上のように、この発明の実施の形態3による双方向マッチングシステムでは、マッチングの結果、集合Aに含まれるカップル(またはグループ)が集合Bのいずれの要素ともマッチングできなかった場合に、該カップル(またはグループ)を、集合Aの2以上の要素に戻して、該2以上の要素と集合Bの要素のマッチングを行う再マッチング手段を備えるようにしたので、カップルとしてどの企業ともマッチングできなかった志願者個人が、カップルを解消することにより、どこかの企業にマッチングする可能性を持つことができるようになる。
実施の形態4.
この発明の上記の実施の形態1では、各企業において、マッチングする相手で順位最大のものがカップルである場合に、マッチングされる志願者個人の数が定員より1人多くなっても構わないとしたが、これを一部の企業または全企業で、マッチングを行う前に定員を実際より1だけ小さく設定し直しておくことにより、たとえマッチングする相手で順位最大のものがカップルであったとしても、該企業にマッチングされる志願者個人の数を必ずもともとの定員以下にすることができる。
また、上述のようにユーザが定員を入力する際に、定員より1人多くなって良いか否かを考慮して、定員の数を入力するようにしてもよいが、実施の形態4の変形例として、自動的にその処理を行うようにしてもよい。すなわち、企業の定員を入力する定員入力手段と、マッチングする志願者で最も順位の大きいものがカップルの場合に、定員+1までのマッチングを許すか否かの可否を入力する増員処理可否入力手段と、増員処理可否入力手段に可と入力された場合には、定員入力手段に入力された定員をそのまま登録し、増員処理可否入力手段に否と入力された場合に、定員入力手段に入力された定員から1を引いた数を定員として登録する定員数登録手段とを設けるようにする。これにより、定員+1までのマッチングを許さない企業においては、マッチングされる志願者個人の数を必ずもともとの定員以下にすることができる。
この発明の実施の形態1に係る双方向マッチングシステムの処理の流れを示したフローチャートである。 この発明の実施の形態1に係る双方向マッチングシステムの処理の流れを示したフローチャートである。 この発明の実施の形態2に係る双方向マッチングシステムにおける仮採用リストの一例を示した説明図である。 この発明の実施の形態2に係る双方向マッチングシステムの処理の流れを示したフローチャートである。 この発明の実施の形態2に係る双方向マッチングシステムの処理の流れを示したフローチャートである。 この発明の実施の形態3に係る双方向マッチングシステムにおける優先度リストの一例を示した説明図である。 従来のマッチング方法におけるマッチングの一例を示した説明図である。 従来のマッチング方法における優先度リストの一例を示した説明図である。 従来のマッチング方法の処理の流れを示したフローチャートである。 従来のマッチング方法を示した説明図である。 従来のマッチング方法における企業の優先度リストをカップルを考慮するものに変更する方法の一例を示した説明図である。
符号の説明
1 仮採用リスト、2 仮採用リスト、3 優先度リスト、4 優先度リスト、10 優先度リスト、11 優先度リスト。

Claims (4)

  1. 募集側の集合Bの各要素がそれぞれ保有する募集側コンピュータと、志願側の集合Aの各要素がそれぞれ保有する志願側コンピュータとが、通信ネットワークを介して、それぞれマッチング仲介コンピュータに接続されて、前記マッチング仲介コンピュータは、集合Aの要素を集合Bの要素と対応付けるマッチングを行い、集合Aおよび集合Bの各要素は互いに優先度リストに含まれる相手とのみ対応付けされる双方向マッチングシステムであって、
    集合Bの各要素ごとに定員が設定されており、集合Bの各要素に対して、集合Aの複数の要素が該定員の範囲で割り当て可能であって、
    前記マッチング仲介コンピュータは、
    前記募集側コンピュータから集合Bの各要素ごとの上記定員を示す正整数の値を受信する手段と、
    受信した前記値を、集合Bの各要素ごとに、それの定員として記憶する集合B定員記憶手段と、
    前記志願側コンピュータから、集合Aの各要素ごとに、集合Bの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、
    前記志願側コンピュータから受信した前記優先度リストを記憶する集合A優先度リスト記憶手段と、
    前記募集側コンピュータから、集合Bの各要素ごとに、集合Aの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、
    前記募集側コンピュータから受信した前記優先度リストを記憶する集合B優先度リスト記憶手段と、
    集合Aの要素のうちの2以上の所定の要素は1つのグループを構成しており、
    該グループの各要素は、集合Bの要素の全部または一部に対して付した一意的な対応付けのための優先度順位を示した同一の優先度リストを持ち、
    集合Aは該グループを1以上含んでいるものであって、
    集合Aの各該グループを他の要素と同様に1つの要素として置き換えた集合を集合A'とするとき、
    集合Bの各要素の前記優先度リストとして、前記集合B優先度リスト記憶手段が記憶している優先度リストにおいて、前記グループを構成する要素のうち、優先度順位が最も大きい要素に対する優先度順位を該グループの優先度順位とし、該グループを構成する他の要素に対する優先度順位を削除した、新しい優先度リストを生成する集合B優先度リスト生成手段と、
    前記集合B優先度リスト生成手段により生成された前記優先度リストと、前記集合B定員記憶手段に記憶されている前記定員の値と、前記集合A優先度リスト記憶手段に記憶されている前記優先度リストのうち前記グループを構成する要素についてはそれらの要素に対する前記同一の優先度リストを用いるとともにグループを構成しない要素については記憶されている当該要素の優先度リストを用いて、集合A’および集合Bの各要素のうち、互いが相手方の優先度リストに含まれている要素同士があるかを検索し、当該要素同士があれば、それらを優先度順位の小さい順に、かつ、集合Bの各要素ごとに設定された前記定員の範囲で、対応付けることで、集合Bの各要素と集合A’の各要素とを対応付けるマッチング処理を行うマッチング手段と、
    集合Bの要素と対応付けされる集合A'の要素の中で、集合Bの要素と対応付けされる集合A'の要素の最も順位が大きいものが前記グループである場合には、該集合Bの要素の前記定員を、((該グループの要素の個数)−1)だけ大きくする定員増員処理手段と、
    前記マッチング手段によるマッチング処理結果を出力する手段と
    を備えたことを特徴とする双方向マッチングシステム。
  2. 前記募集側コンピュータは、
    前記集合Bの要素ごとに、前記集合Aに含まれる前記グループとのマッチングを拒否する処理を行うか否かを設定する設定手段と、
    前記設定手段において前記処理を行うと設定されている場合に、前記優先度リストへ優先度順位が入力される集合Aの要素がグループを構成しているか否かを判定する判定手段と、
    前記判定手段によりグループであると判定された場合に集合Aの当該要素に対する優先度順位の入力を拒否する入力確認手段と
    を備えたことを特徴とする請求項1に記載の双方向マッチングシステム。
  3. 前記マッチング仲介コンピュータは、
    前記マッチング手段によるマッチング処理の結果、集合A’に含まれる前記グループが集合Bのいずれの要素ともマッチングできなかった場合に、前記グループを解消して、前記グループを構成する各要素を未処理の別々の要素としてマッチング処理を再度行うために、集合Bの各要素の前記優先度リストとして、前記集合B優先度リスト記憶手段が記憶している前記優先度リストにおいて、前記グループを構成する要素のうち、優先度順位が最も大きい要素に対する優先度順位に対して、それより1つ大きい順位を該グループの優先度順位として挿入し、当該挿入された優先度順位以降の要素について、それらの優先度順位を1つずつ繰り下げた、新しい優先度リストを生成する第2の集合B優先度リスト生成手段と、
    前記第2の集合B優先度リスト生成手段により生成された前記優先度リストと前記集合A優先度リスト記憶手段が記憶している前記優先度リストと前記集合B定員記憶手段に記憶されている前記定員の値とに基づいて、前記グループを構成していた各要素および集合Bの各要素のうち、互いが相手方の優先度リストに含まれている要素同士があるかを検索し、当該要素同士があれば、それらを優先度順位の小さい順に、かつ、集合Bの各要素ごとに設定された前記定員の範囲で、再度対応付けることで、集合Bの各要素と集合A’に含まれる前記グループを構成する各要素とを対応付けるマッチング処理を行う再マッチング手段と
    をさらに備えたことを特徴とする請求項1または2に記載の双方向マッチングシステム。
  4. 募集側の集合Bの各要素がそれぞれ保有する募集側コンピュータと、志願側の集合Aの各要素がそれぞれ保有する志願側コンピュータとが、通信ネットワークを介してそれぞれ接続されて、集合Aおよび集合Bの各要素を互いに優先度リストに含まれる相手とのみ対応付けするように、集合Aの要素を集合Bの要素と対応付けるマッチングを行うマッチング仲介コンピュータを、
    前記募集側コンピュータから、集合Bの各要素ごとに集合Aの複数の要素に対して設定された割り当て可能な定員を示す正整数の値を受信する手段と、
    受信した前記値を、集合Bの各要素ごとに、それの定員として記憶する集合B定員記憶手段と、
    前記志願側コンピュータから、集合Aの各要素ごとに、集合Bの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、
    前記志願側コンピュータから受信した前記優先度リストを記憶する集合A優先度リスト記憶手段と、
    前記募集側コンピュータから、集合Bの各要素ごとに、集合Aの要素の全部または一部に対して付した、対応付けのための一意的な優先度順位を示した優先度リストを受信する手段と、
    前記募集側コンピュータから受信した前記優先度リストを記憶する集合B優先度リスト記憶手段と、
    集合Aの要素のうちの2以上の所定の要素は1つのグループを構成しており、該グループの各要素は、集合Bの要素の全部または一部に対して付した一意的な対応付けのための優先度順位を示した同一の優先度リストを持ち、集合Aは該グループを1以上含んでいるものであって、集合Aの各該グループを他の要素と同様に1つの要素として置き換えた集合を集合A'とするとき、集合Bの各要素の前記優先度リストとして、前記集合B優先度リスト記憶手段が記憶している優先度リストにおいて、前記グループを構成する要素のうち、優先度順位が最も大きい要素に対する優先度順位を該グループの優先度順位とし、該グループを構成する他の要素に対する優先度順位を削除した、新しい優先度リストを生成する集合B優先度リスト生成手段と、
    前記集合B優先度リスト生成手段により生成された前記優先度リストと、前記集合B定員記憶手段に記憶されている前記定員の値と、前記集合A優先度リスト記憶手段に記憶されている前記優先度リストのうち前記グループを構成する要素についてはそれらの要素に対する前記同一の優先度リストを用いるとともにグループを構成しない要素については記憶されている当該要素の優先度リストを用いて、集合A’および集合Bの各要素のうち、互いが相手方の優先度リストに含まれている要素同士があるかを検索し、当該要素同士があれば、それらを優先度順位の小さい順に、かつ、集合Bの各要素ごとに設定された前記定員の範囲で、対応付けることで、集合Bの各要素と集合A’の各要素とを対応付けるマッチング処理を行うマッチング手段と、
    集合Bの要素と対応付けされる集合A'の要素の中で、集合Bの要素と対応付けされる集合A'の要素の最も順位が大きいものが前記グループである場合には、該集合Bの要素の前記定員を、((該グループの要素の個数)−1)だけ大きくする定員増員処理手段と、
    前記マッチング手段によるマッチング処理結果を出力する手段と
    して機能させるための双方向マッチングプログラム。
JP2008059424A 2008-03-10 2008-03-10 双方向マッチングシステムおよび双方向マッチングプログラム Expired - Fee Related JP4129052B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008059424A JP4129052B1 (ja) 2008-03-10 2008-03-10 双方向マッチングシステムおよび双方向マッチングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008059424A JP4129052B1 (ja) 2008-03-10 2008-03-10 双方向マッチングシステムおよび双方向マッチングプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003375967A Division JP2005141401A (ja) 2003-11-05 2003-11-05 双方向マッチングシステムおよび双方向マッチングプログラム

Publications (2)

Publication Number Publication Date
JP4129052B1 JP4129052B1 (ja) 2008-07-30
JP2008181549A true JP2008181549A (ja) 2008-08-07

Family

ID=39704970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008059424A Expired - Fee Related JP4129052B1 (ja) 2008-03-10 2008-03-10 双方向マッチングシステムおよび双方向マッチングプログラム

Country Status (1)

Country Link
JP (1) JP4129052B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165224A (ja) * 2009-01-16 2010-07-29 Mitsubishi Electric Information Systems Corp マッチングシステム
JP2011022910A (ja) * 2009-07-17 2011-02-03 Mitsubishi Electric Information Systems Corp マッチングシステム
JP5893701B1 (ja) * 2014-09-30 2016-03-23 三菱電機インフォメーションシステムズ株式会社 マッチングシステムおよびプログラム
JP2016071904A (ja) * 2015-12-01 2016-05-09 三菱電機インフォメーションシステムズ株式会社 マッチングシステムおよびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165224A (ja) * 2009-01-16 2010-07-29 Mitsubishi Electric Information Systems Corp マッチングシステム
JP2011022910A (ja) * 2009-07-17 2011-02-03 Mitsubishi Electric Information Systems Corp マッチングシステム
JP5893701B1 (ja) * 2014-09-30 2016-03-23 三菱電機インフォメーションシステムズ株式会社 マッチングシステムおよびプログラム
JP2016071904A (ja) * 2015-12-01 2016-05-09 三菱電機インフォメーションシステムズ株式会社 マッチングシステムおよびプログラム

Also Published As

Publication number Publication date
JP4129052B1 (ja) 2008-07-30

Similar Documents

Publication Publication Date Title
Kim et al. Acceptance of mobile technology by older adults: a preliminary study
US7177880B2 (en) Method of creating and displaying relationship chains between users of a computerized network
Asakawa Organizational tension in international R&D management: the case of Japanese firms
Beale Supporting social interaction with smart phones
US20060004623A1 (en) System and method for online professional services networks
US8473505B2 (en) System and method for providing delegation assistance
US20140032659A1 (en) Facilitating communications between users of multiple social networks
JP4129052B1 (ja) 双方向マッチングシステムおよび双方向マッチングプログラム
WO2013007084A1 (zh) 联系路径查找方法、系统及搜索服务器
JP2009294960A (ja) 人材検索方法、人材検索装置及び人材検索プログラム
JP2005141401A (ja) 双方向マッチングシステムおよび双方向マッチングプログラム
JP7013791B2 (ja) コンタクト支援プログラム、コンタクト支援方法、および、コンタクト支援装置
Alexander Institutionalist perspectives on planning: why? Where? How
Kıbrıs et al. Bargaining over a finite set of alternatives
Rani et al. Smart travel itinerary planning application using held-karp algorithm and balanced clustering approach
JP2006059195A (ja) 求職者・求人者マッチングシステムおよび求職者・求人者マッチング方法
JP6095753B2 (ja) マッチングシステムおよびプログラム
JP5286384B2 (ja) マッチングシステム
JP5893701B1 (ja) マッチングシステムおよびプログラム
Lim et al. Flexibly serving a finite number of heterogeneous jobs in a tandem system
JP6891542B2 (ja) 人脈情報作成装置、人脈情報作成プログラム及び人脈情報作成方法
JP4465328B2 (ja) マッチングシステム
Metz Ubuntu: curating the archive
JP4465327B2 (ja) マッチングシステム
Echenique et al. Efficiency in Random Resource Allocation and Social Choice

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080513

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080515

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4129052

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees