アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価...

Preview:

Citation preview

アルゴリズムデザイン第1章まとめ

中村 成洋ネットワーク応用通信研究所

Powered by Rabbit 0.5.9

今日の話

アルゴリズムデザイン

2/52

アルゴリズムデザイン定価 15,750円

とにかく分厚い

鈍器

従来のアルゴリズム本とは違う

アルゴリズムを紹介するだけではない

3/52

今日はこの本の第一章のまとめをやりま

す.

今日の話序文

安定マッチング

5/52

序文

アルゴリズムを学ぶと何が

嬉しいか?

アルゴリズムデザインの解色んな所の根本にアルゴリズム的な考えはあるよ

アルゴリズムを知ってると色んな物が見えてくるよ

「アルゴリズムを知ってたおかげで大病院に就職できました!」

ニューヨークの○○さん談

8/52

従来のアルゴリズム本サーチ

ソート

技法のみしか記載されていない!

9/52

アルゴリズムだけ知ってても駄目だよ

現実的なプログラミングでは...

「これこれを探索して!」

「じゃb-search使えますね!」

いや,ないない!

きれいにまとまった数学的な形をした問題としてやってこない

10/52

アルゴリズム的な思考とは二つの基本要素からなる

問題の中の数学的に綺麗な核を見つける

石山からダイヤの原石をみつける

適切なアルゴリズム設計技法を見極める

適切に研磨し,カットする

11/52

アルゴリズムデザインでは2つのアクションに、手法を提供する

複雑な計算問題から、問題の定式化を発見する手法を紹介

定式化に基づく、効率よいアルゴリズムの設計する手法を紹介

12/52

安定マッチング安定マッチングは好例

問題が自然に生じた

定式化が明快

アルゴリズムも簡単

これから説明していきます

13/52

問題の背景1962年

David Gale & Lloyd Shapley

数理経済学者

14/52

David Gale

15/52

Lloyd Shapley

16/52

問題提起大学入試

就職活動

これらのプロセスを自己規制的であるように設計できるだろうか?

(自己規制的:裏取引とか制限できないかなー)

17/52

具体例夏期インターンの話

中村君は大手の電話会社「N」から内定

数日後,ベンチャー企業の「H」から内定

中村君は「H」の方が良かった.

18/52

具体例夏期インターンの話

「N」の内定をキャンセル.

「N」は店員が割れを気にして別の佐藤君に声を掛ける

佐藤君は地元企業「F」から内定を貰っていた.でも「N」の方が

佐藤君は「F」の内定をキャンセルして「N」を受ける.

「F」は...19/52

これなんて

カオス?

問題点すべての人が利己的であった

中村君も佐藤君も会社も利己的

利己的な考えはカオスの序章

21/52

利己的にならなければ夏期インターンの話

中村君は大手の電話会社「N」から内定

数日後,ベンチャー企業の「H」から内定

中村君,これを断る

「ごあいにくさま!」

22/52

この問題をアルゴリズムに落としてみま

しょう!

問題の定式化

問題が複雑応募者は一つの企業を求める

各企業は複数の応募者を採用

定員オーバー

定員割れ

応募者がすべての企業に応募するわけでもない

25/52

的確な単純化的確な単純化

問題の本質を損なわないように

より一般的な問題に容易に拡張可能なように

26/52

単純化n人の応募者

n社の企業

各応募者はすべての企業へ応募

各企業は最終的に1人の応募者を採用

とする.

27/52

もっと分かりやすい問題にn人の男性とn人の女性の結婚問題

n人の男性の集合

M = {m_1 ... m_n}

n人の女性の集合

W = {w_1 ... w_n}

28/52

もっと分かりやすい問題にn人の男性とn人の女性の結婚問題

M×W

m∈M かつ w∈W からなる順序対(m, w)の集合

nのn乗になり凄い数

S

M×Wの部分集合

29/52

マッチング部分集合S中の順序対

MとWの各要素について、それ含む対は高々1個な状態

(多くて1個ある状態)

夫婦になれた人もいれば,なれなかった人もいる

マッチング(matching)と呼ぶ

30/52

完全マッチングMとWの各要素について、それ含む対はちょうど1個の状態

各人がちょうど1人の異性と夫婦になる状態

多重婚もなし

完全マッチング(perfect matching)と呼ぶ

31/52

好意順各男性 m∈M は好きな女性にランクを付ける

m は w より w' が好き

m1 --- w2 |--w3 +--w1

32/52

好意順を作ると不安定性を導ける

夫婦(m, w)と(m', w')を考える

実は m は w より w' が好き

実は w' は m' より m が好き

この結婚は自己規制的ではない

不安定性をもつペア

33/52

目標不安定性をもつペアを作らずに完全マッチングさせること

不満のない夫婦を

不満のないインターンシップを

つまり安定なマッチング(安定マッチング)

34/52

例1

m と w は好き同士

つまり (m, w), (m', w') が安定マッチング

35/52

例1

(m', w), (m, w')にしてしまうと..

m と w は好き同士

m, w はそれぞれのパートナーから離れたい!

不安定性のペアである

36/52

例2

この場合,好みが互いに逆になっている.

(m, w), (m', w')

二人の男性は満足

(w, m'), (w', m)

二人の女性は満足37/52

例2

この場合は二つの異なる安定マッチングがある.

安定マッチングは唯一とは限らない(*これ重要*)

38/52

安定マッチングアルゴ

リズム

安定マッチングアルゴリズムGale-Shapleyアルゴリズム

G-Sアルゴリズム

40/52

安定マッチングアルゴリズム最初はみんな未婚

未婚の男性 m が一番好きな人 w にプロポーズ

プロポーズを受けた w は一応婚約しておく (m, w)

他の未婚の男性 m' が一番好きな人 w にプロポーズ

41/52

安定マッチングアルゴリズムw は m と m' どっちが好きか判断

w は m との婚約を破棄, m' と婚約

自由な身の人がいなくなるとアルゴリズム終了

完全マッチング,婚約は結婚へ

42/52

安定マッチングアルゴリズム

While すべての女性にはプロポーズしていない自由の身の男性 m がいる そのような男性 m を選ぶ w を m の好意順リストで m がまだプロポーズしていない女性の中で, 最も好きな女性とする m が w プロポーズする If w が自由な身である then (m, w) は婚約する Else w は現在 m'と婚約しているとする If w は, m より m'が好きである then m は自由な身で在り続ける Else (w は m'より m が好きである) (m, w) は婚約する m'は自由な身になる Endif EndifEndwhile婚約のペアの集合 S を返す.

43/52

アルゴリズムの解析

アルゴリズムの終了時に返される S は完全マッチングであるか?

終了時に m はすべての女性にプロポーズ済み

自由な m はいない

つまり完全マッチングである

45/52

Sは安定マッチングであるか?

Sに不安定性のペアがあると仮定する

46/52

不安定性のペア

不安定性のペアとは (m, w)と(m', w')に対して

m は w' > w

w は m > m'

m と w' が好き同士

47/52

こういうペアが存在しうるだろうか?

不安定性のペアが存在すると仮定

(m, w)ということは最後に m は w にプロポーズした

その前に m は w' にプロポーズしただろうか?

しなかったとすると w > w' になり,好意順と矛盾する 49/52

不安定性のペアが存在すると仮定

プロポーズしたとすれば w' が断った事になる

しかし w' は m > m' のため断るはずがない

つまり (m, w'),(m', w) のペアになる

不安定性のペアが存在する仮定は矛盾する50/52

G-Sアルゴリズムの特徴男性を優遇する不公平性がある

好意順が完全に食い違うときは男性が一番好きな女性と結婚できる

G-Sアルゴリズムはプロポーズを受ける側が不満足な結果になる

男性がプロポーズすると男性が不満足

女性がプロポーズすると男性が不満足

51/52

おわり第一章で27p

全体で730pほどある

1/27程度(先は長い)

(第2章に続く)

52/52Powered by Rabbit 0.5.9

Recommended