臨床研修マッチングのアルゴリズムを学ぼう

ルシファーが医師として働くためには2つの関門がある。

1つは国試であり、もう1つはマッチングだ。

国試は現在4浪目であり、浪数を重ねるほど受かりにくくなるという性質の試験であることから、 これを突破すること自体がほぼ不可能だと思うが、 マッチングに関しても彼にとっては同程度に困難であると考える。

今回は、臨床研修のマッチングアルゴリズムについて学ぼう。

臨床研修のマッチングは、以下のような問題を解く。

  1. 各研修医は、病院の希望順位表を持っている。(全病院に対して希望を出す必要はない)
  2. 各病院は、研修医の希望順位表を持っている。(志望している全研修医に対して順位をつける必要はない。面接した時点で不合格の場合もある)

この中で、

  1. 各研修医から見て、自分が勝てる病院の中でもっとも希望順位の高いところにマッチングする
  2. 各病院から見て、出来るだけ病院側の希望順位の高い研修医とマッチングする

というのが良いマッチングの指標として考えられるが、 実際には1のみを優先したアルゴリズムが採用されているようである。 つまり、病院A,Bがあるとして、AはXくんを熱望していて、BはXくんをそこまでは欲しくない場合でも、 XくんにとってBの希望順位が高ければ、Bにマッチングする。 ただし、このアルゴリズムには問題があり、実はBくんにとってBが第一志望だけどAは第二志望の場合、 Aに行く方が歓迎してもらえるし、きっと熱心に教育してもらえる可能性が高いのだが、 そういったことが無視されてしまう。 研修医を男、病院を女と言い換えて、同じようなマッチングをすることを考えれば、 ほとんど男の都合だけでマッチングが決まってしまうのはかなりおぞましい話と感じられるだろう。 まぁ、研修医が女で病院が男、病院側は全員の名前を書くというのであれば、それは現実を表してるかも知れないが。

このアルゴリズムを改良して、 病院側の希望順位も汲むようにするためには、 例えば、双方の希望順位を加味した上で辺に重みを与えて、 重み付きの二部マッチング問題に落とし込むなどが考えられそうだが、 おそらくこれをやると無職の人が増えてしまうので、やめているのだと思う。 あるいは、病院側が譲歩せよということなのだろう。

実際のアルゴリズムについては、 パラパラ漫画のアニメーション があったので見るといい。 実質O(研修医数)くらいで計算出来るアルゴリズムだ。研修が1万人くらいなので、どう考えても1秒はかからない。

このアルゴリズムによると、仮にルシファーがたくさんの病院に対して希望を出したとしても、 どの病院も希望順位表にルシファーの名前を書かなければ、確実にマッチしないことになる。 そして、過去にマッチングを受けた時にも全敗したということは、おそらくどの病院もルシファーの名前を書かなかったのだろう。

そう考えると、国試に受かることよりも、臨床研修のマッチングに成功することの方が難しい気がしてきた。 実家が超金持ちならば、病院にめちゃくちゃ寄付する代わりに研修医に受け入れてもらうということは出来るのかも知れないが、 予備校にすら行けないのだからそれも叶わない。神童だったはずなのにどうしてこうなってしまったのか。

関連記事