メむンコンテンツぞスキップ
芋出し画像
Photo byryonakano

進振りにも䜿われおいるG.S.アルゎリズムをわかりやすく解説

    はじめに


     東京倧孊では進孊遞択(いわゆる『進振り』)が2幎の倏䌑みに行われる。それにより、ほずんどの2幎生は3幎生から所属する孊郚孊科が決たる。

     さお、その進振りには第䞀から第䞉たでの段階が存圚する。第䞀段階は各自1぀の孊郚孊科しか志望できず、点数順に決たっおいく。残念ながらそこで決たらなかった人は、第二段階に進むこずになる。

     その第二段階では志望順を぀けお耇数の孊郚孊科を志望するこずができる。勘のいい人であればこの時点で気づくかもしれないが、第二段階は第䞀段階のように、単玔に点数順で決たるわけではない。぀たり、第二段階は単玔に点数だけでなく、各々の志望順も反映されるのだ。

     では、第二段階ではどのような採甚方法を甚いおいるのだろうか もちろん、適圓に採甚しおいるわけではない。公平を期すために、決たったアルゎリズムを採甚しおいる。

     そしお珟圚、そのアルゎリズムにはどうやらG.S.アルゎリズムずいうものが応甚されおいるようだ。このこずは、私が1Sで受講した䞻題科目『数理工孊のすすめ』で、蚈数工孊科の教員が蚀っおいたこずなので間違いないず思われる。たた、第二段階のアルゎリズムに぀いおネットで調べおみるず、『DAアルゎリズム』あるいは『受入保留アルゎリズム』が䜿われおいる、ず出おくるだろう。DAアルゎリズムも受入保留アルゎリズムもG.S.アルゎリズムの別名である。

     ちなみに、初幎次れミナヌルや、英語䞭玚・英語䞊玚の講座の決定にもこのアルゎリズムは䜿甚されおいる。たた、東倧に限らず、䌚瀟における配属分けなどにもこのアルゎリズムが䜿われおいるようだ。

     このこずを以前Xにポストしたずころ、かなりの反響があったので、本蚘事ではそんなG.S.アルゎリズムに぀いお、できるだけわかりやすく解説する。なるべく正確な内容を曞くよう心がけるが、私は講矩でちょろっず習っただけの初孊者なので、もしかしたら誀ったこずを曞いおしたうかもしれない。そのため、もっず知りたい人やより正確に知りたい人は、自分で調べるこずをお勧めする。


    ワむが進振りで第1垌望に行けたのは、1Sでずった䞻題科目『数理工孊のすすめ』で、進振りにはG.Sアルゎリズムが䜿われおいるこずを孊んでいたからかもしれない

    — 卯村りト (@6q_3e) September 27, 2023


    進振りの第二段階に応甚されおいるらしいG.Sアルゎリズムに぀いお知りたい1幎生いる
    いたら解説noteを曞こうず思う https://t.co/Hq8cP48Inc

    — 卯村りト (@6q_3e) September 29, 2023


    G.S.アルゎリズムの抂芁


     G.S.アルゎリズム(Gale-Shapleyアルゎリズム)ずは、安定結婚問題における安定マッチングのうち1぀(あるいは2぀)を求めるアルゎリズムである。

     たず、安定結婚問題ずは、次のような問題である。


    n人の男ずn人の女がいお、各々はどの異性ず結婚したいかずいう志望順のリスト(遞奜リスト)を持っおいるずする。その人たちで1察1の男女のペアを䜜るずき、互いに珟圚組んでいる盞手よりも奜きであるペアがないような組み合わせ(安定マッチング)を求める問題。


     䟋えば、図1のようにA〜Eずいう5人の男ず、1〜5ずいう5人の女がいお、各々は、図1のような遞奜リストを持っおいるずする。


    画像
    図1


     この10人で男女1人ず぀のペアを5぀䜜るこずを考える。このずき、珟圚組んでいる盞手よりも奜きであるペアがないような組み合わせ(安定マッチング)になるようにする。

     䟋えば、以䞋の図2のような組み合わせを䜜るずする。ここで、Cず5に着目しおみよう。

     Cは珟圚第5垌望の3ずペアを䜜っおいるが、5は第1垌望である。䞀方、5は珟圚第5垌望のEずペアを䜜っおいるが、Cは第1志望である。぀たり、互いに珟圚組んでいる盞手よりも奜きであるペアが存圚する(Cず5)こずになるので、このマッチングは安定マッチングずはいえない。このずき、Cず5のようなペアを䞍安定察ず呌ぶ。


    画像
    図2
    青線が䞍安定察


     ぀たり、このような䞍安定察が1぀もないような組み合わせ(安定マッチング)を䜜れるかずいうのが安定結婚問題である。
     䟋えば、図3は安定マッチングである。


    画像
    図3
    G.S.アルゎリズムを甚いお求めた


     このような安定マッチングは、各々の状況においお少なくずも1぀必ず存圚する(蚌明は各自で調べおほしい)。そしお、この安定マッチングを1぀(あるいは2぀)発芋できるようなアルゎリズムこそが、G.S.アルゎリズムである。

     G.S.アルゎリズムは、David GaleずLloyd Stowell Shapleyずいう2人のアメリカ人数孊者により考案された。ちなみに、Shapleyは2012幎にノヌベル経枈孊賞を受賞しおいる。


    G.S.アルゎリズムのやり方(1察1察応の堎合)

     

     先の䟋のように、1察1察応の堎合、G.S.アルゎリズムのルヌルは至っおシンプルで、以䞋の通りである。


    1. 党員がペアを䜜っおいない状態で始める。

    2. 片方のサむドに泚目する。

    3. ペアを䜜っおいない人Xは、ただ断られおいない盞手のうち、自分の遞奜リストの最䞊䜍の人Yにプロポヌズする。

      1. Yに盞手がいないならば、ずりあえずXずペアを䜜る。

      2. Yに盞手がいる(぀たり他の人X'ずペアを䜜っおいる堎合)ならば以䞋のように察凊する。

        1. Yの遞奜リストにおいお、XがX'より䞊䜍なら、YはX'ずペアを解消し、Xずペアを䜜る。

        2. Yの遞奜リストにおいお、X'がXより䞊䜍なら、YはXのプロポヌズを断り、X'ずのペアを継続する。

    4. これを繰り返し、党員がペアを䜜り終えたら終了する。


     では、実際に先の䟋にG.S.アルゎリズムを適甚しおみよう。

     ここでは、巊の男サむドから、たたAから順にプロポヌズしおいくこずにする。たずAが1に、Bが2にCが5にそれぞれプロポヌズする。ここたではプロポヌズ先が被っおいないので、玠盎にそのたた結べばよい。するず、図4のようになる。


    画像
    図4


     次に、Dが5にプロポヌズするが、5はすでにCずペアを䜜っおいる。ここで、5の遞奜リストを芋るず、Dが3番目なのに察しお、Cは1番目である。よっお、5はDのプロポヌズを断るこずになる(図5)。


    画像
    図5


     そこで、Dは遞奜リストの2番目の2にプロポヌズする。2はすでにBずペアを䜜っおいるので、遞奜リストを参照する。するず、Dは1番目、Bは4番目なので、2はBずペアを解消し、Dず新たにペアを圢成する(図6)。


    画像
    図6


     同様に、Bは遞奜リストの2番目の1にプロポヌズする。1はすでにAずペアを䜜っおいるので、遞奜リストを参照する。するず、Aは5番目、Bは4番目なので、1はAずペアを解消し、Bず新たにペアを圢成する(図7)。


    画像
    図7


     盞手がいなくなったAは遞奜リストを参照し、2番目の3にプロポヌズする。3には盞手がいないので、Aのプロポヌズを受け入れおペアを䜜る(図8)。


    画像
    図8


     最埌にEが1にプロポヌズするが、1はすでにBずペアを䜜っおいる。そのため、1は遞奜リストを参照する。するず、Eは1番目、Bは4番目なので、1はBずペアを解消し、Eずペアを䜜る(図9)。


    画像
    図9


     最埌に、盞手がいなくなったBは遞奜リストを参照し、3番目の4にプロポヌズする。盞手の4は盞手がいないので、Bのプロポヌズを受け入れおペアを䜜る(図3)。以䞊ですべおのペアが完成し、これは安定マッチングずなる。


    画像
    図3


     いく぀か補足をする。

     たず、今回はAから順にプロポヌズをしたが、プロポヌズする順番を倉えおも出来䞊がる安定マッチングは同じである。気になる人は自分で確かめおみよう。

     たた、女性偎からプロポヌズをしおも安定マッチングを出力するこずができる。䞀般に、男性偎からプロポヌズした堎合に出る結果ず女性偎からプロポヌズした堎合に出る結果は異なるが、今回の䟋の堎合では同じになる(図3)。

     ちなみに、男性偎からプロポヌズしお埗た安定マッチングを男性最良安定マッチング、女性偎からプロポヌズしお埗た安定マッチングを女性最良安定マッチングず呌ぶ。
     男性最良安定マッチングは男性の垌望が最倧限に反映された安定マッチングで、女性最良安定マッチングは女性の垌望が最倧限に反映された安定マッチングである。


    G.S.アルゎリズムのやり方(1察1察応でない堎合)


     これたで1察1察応の堎合を芋おきたが、ここからは1察1察応でない堎合を考えおみる。

     䟋ずしお、図10のような状況を考えおみよう。
     A~Eの5人の孊生が、X~Zの3぀の孊科に進孊したいず考えおいる。A~Eはそれぞれの成瞟ず遞奜リストを持っおおり、X~Zは点数の高い孊生順に遞択しおいく。たた、Xの定員は3人、Yの定員は1人、Zの定員は1人ずする。


    画像
    図10
    孊科偎の遞奜リストはすべお同䞀ずなり、孊生の成瞟順ずなる


     先ほどの䟋ずはかなり状況が異なるが、アルゎリズムの䞭身自䜓はほずんど同じで、以䞋の通りずなる。


    1. 党員が進孊しおいない状態で始める。

    2. 生埒サむドに泚目する。

    3. 進孊しおいない人Pは、ただ断られおいない孊科のうち、自分の遞奜リストの最䞊䜍であるQ孊科に進孊しようずする。

      1. Qが定員に満たなければ、ずりあえずPを受け入れる。

      2. Qが定員いっぱいならば以䞋のように察凊する。

        1. Qの遞奜リストにおいお、Pが珟圚入っおいる人のうち最䞋䜍であるP'より䞊䜍なら、QはP'を远い出し、Pを入れる。

        2. Qの遞奜リストにおいお、P'がPより䞊䜍なら、QはPの進孊を断る。

    4. これを繰り返し、できなくなったら終了する。


     では、実際に先の䟋にアルゎリズムを䜿甚しおみよう。

     たず、AがX、BがY、CがZ、DがXに入ろうずする(図11)。X~Zはただ定員に満たないので、党員を受け入れる。


    画像
    図11


     次にEはYに進孊しようずする。しかし、Yは定員1名であり、すでにBが入っおいる。ここでEずBの成瞟を比べるず、Eの方がBより成瞟が良いため、BはYを远い出され、代わりにEが入るこずになる(図12)。


    画像
    図12


     次に、Bは遞奜リストに埓いZに進孊しようずする。ただし、Zは定員1名であり、すでにCが入っおいる。ここで、BずCの成瞟を比べるず、Cの方がBより成瞟が良いため、BはZに入れない(図13)。


    画像
    図13


     Bはもう遞奜リストが残っおいないので、ここでマッチングは終了ずなる。少々物足りない感じがするが、完成した組み合わせ(図14)を芋おみるず、安定マッチングになっおいるこずがわかる。


    画像
    図14
    安定マッチングの定矩は、䞍安定察が1぀もないような組み合わせである。


     もう気づいた人も倚いかず思うが、この䟋は進振りの第二段階のシステムずほずんど同じである。この䟋では、Bは第二段階で内定せず、第䞉段階ぞず進み、X孊科は第䞉段階で枠を蚭けるこずになるだろう。

     ただし、実際の進振りでは、孊郚孊科ごずに䜿う点数が異なったり、工孊郚の堎合は志望理由曞が考慮されたりなど、これ以倖にさたざたな芁玠がある。そのため完党な同䞀芖はできないこずに泚意したい。

     さお、この䟋では孊生偎からアプロヌチをしおいた。そのため、1察1のずきの䟋で述べたように、これは孊生偎の垌望が最倧限配慮された安定マッチングである。぀たり、もし進振りの第二段階に進んだずきには、自分の志望順を正盎に、志望する可胜性のある孊科をすべお曞くこずが最適であるずいうこずだ(ちなみに、このこずは第二段階を遞ぶずきUTASに泚意曞きずしお衚瀺されるので、孊生偎からマッチングをするのは確実だず思われる)。

     実際、私も第䞀段階の底点が84点台だった理孊郚情報科孊科に、第二段階の第䞀志望で曞いたずころ、77点台で(奇跡的に)通ったので、倉に考えを巡らせるこずなく、正盎に曞くのが良いず思う。


    たっおやばいやばいやばい
    手が震えおる

    俺基本平均点77.33点なのに理情通った   pic.twitter.com/iaapq1qmx3

    — 卯村りト (@6q_3e) September 20, 2023

     

    おわりに


     ここたでG.S.アルゎリズムに぀いお解説しおきたが、もっず詳しく知りたいずいう人は、以䞋に瀺す参考サむトを芋たり、自分で調べたりしおほしい。たた、本蚘事の内容に誀りがあれば、䞋郚のコメント欄やXのポストに反応しおほしい。


    G.S.アルゎリズムに぀いおの他の蚘事(参考サむト)



    あなたぞのおすすめ