53
アルゴリズムデザイン 第1章まとめ 中村 成洋 ネットワーク応用通信研究所 Powered by Rabbit 0.5.9

アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

Powered by Rabbit 0.5.9

Page 2: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

今日の話

Page 3: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

アルゴリズムデザイン

2/52

Page 4: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

とにかく分厚い

鈍器

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

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

3/52

Page 5: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

す.

Page 6: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

今日の話序文

安定マッチング

5/52

Page 7: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

序文

Page 8: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

嬉しいか?

Page 9: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

8/52

Page 10: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

ソート

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

9/52

Page 11: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

いや,ないない!

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

10/52

Page 12: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

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

11/52

Page 13: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

12/52

Page 14: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

問題が自然に生じた

定式化が明快

アルゴリズムも簡単

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

13/52

Page 15: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

問題の背景1962年

David Gale & Lloyd Shapley

数理経済学者

14/52

Page 16: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

David Gale

15/52

Page 17: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

Lloyd Shapley

16/52

Page 18: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

問題提起大学入試

就職活動

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

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

17/52

Page 19: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

18/52

Page 20: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

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

「F」は...19/52

Page 21: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

これなんて

カオス?

Page 22: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

21/52

Page 23: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

中村君,これを断る

「ごあいにくさま!」

22/52

Page 24: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

しょう!

Page 25: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

問題の定式化

Page 26: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

定員オーバー

定員割れ

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

25/52

Page 27: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

26/52

Page 28: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

単純化n人の応募者

n社の企業

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

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

とする.

27/52

Page 29: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

n人の男性の集合

M = {m_1 ... m_n}

n人の女性の集合

W = {w_1 ... w_n}

28/52

Page 30: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

M×W

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

nのn乗になり凄い数

S

M×Wの部分集合

29/52

Page 31: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

(多くて1個ある状態)

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

マッチング(matching)と呼ぶ

30/52

Page 32: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

多重婚もなし

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

31/52

Page 33: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

m は w より w' が好き

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

32/52

Page 34: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

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

不安定性をもつペア

33/52

Page 35: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

不満のない夫婦を

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

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

34/52

Page 36: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

例1

m と w は好き同士

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

35/52

Page 37: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

例1

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

m と w は好き同士

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

不安定性のペアである

36/52

Page 38: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

例2

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

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

二人の男性は満足

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

二人の女性は満足37/52

Page 39: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

例2

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

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

38/52

Page 40: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

安定マッチングアルゴ

リズム

Page 41: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

G-Sアルゴリズム

40/52

Page 42: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

41/52

Page 43: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

42/52

Page 44: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

Page 45: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

アルゴリズムの解析

Page 46: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

自由な m はいない

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

45/52

Page 47: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

46/52

Page 48: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

不安定性のペア

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

m は w' > w

w は m > m'

m と w' が好き同士

47/52

Page 49: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

Page 50: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

Page 51: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

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

Page 52: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

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

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

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

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

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

51/52

Page 53: アルゴリズムデザイン 第1章まとめ - narihiro.infoアルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う

おわり第一章で27p

全体で730pほどある

1/27程度(先は長い)

(第2章に続く)

52/52Powered by Rabbit 0.5.9