AlgorithmDesign01

1,409 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,409
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AlgorithmDesign01

  1. 1. アルゴリズムデザイン 第1章まとめ 中村 成洋 ネットワーク応用通信研究所 Powered by Rabbit 0.5.9
  2. 2. 今日の 話
  3. 3. アルゴリズムデザイン 2/52
  4. 4. アルゴリズムデザイン 定価 15,750円 とにかく分厚い 鈍器 従来のアルゴリズム本とは違う アルゴリズムを紹介するだけではない 3/52
  5. 5. 今日はこの本 の第一章のま とめをやりま す.
  6. 6. 今日の話 序文 安定マッチング 5/52
  7. 7. 序文
  8. 8. アルゴリズム を学ぶと何が 嬉しいか?
  9. 9. アルゴリズムデザインの解 色んな所の根本にアルゴリズム的な考えは あるよ アルゴリズムを知ってると色んな物が見えて くるよ 「アルゴリズムを知ってたおかげで大病院に 就職できました!」 ニューヨークの○○さん談 8/52
  10. 10. 従来のアルゴリズム本 サーチ ソート 技法のみしか記載されていない! 9/52
  11. 11. アルゴリズムだけ知ってても 駄目だよ 現実的なプログラミングでは... 「これこれを探索して!」 「じゃb-search使えますね!」 いや,ないない! きれいにまとまった数学的な形をした問題と してやってこない 10/52
  12. 12. アルゴリズム的な思考とは 二つの基本要素からなる 問題の中の数学的に綺麗な核を見つける 石山からダイヤの原石をみつける 適切なアルゴリズム設計技法を見極める 適切に研磨し,カットする 11/52
  13. 13. アルゴリズムデザインでは 2つのアクションに、手法を提供する 複雑な計算問題から、問題の定式化を発見 する手法を紹介 定式化に基づく、効率よいアルゴリズムの設 計する手法を紹介 12/52
  14. 14. 安定マッチング 安定マッチングは好例 問題が自然に生じた 定式化が明快 アルゴリズムも簡単 これから説明していきます 13/52
  15. 15. 問題の背景 1962年 David Gale & Lloyd Shapley 数理経済学者 14/52
  16. 16. David Gale 15/52
  17. 17. Lloyd Shapley 16/52
  18. 18. 問題提起 大学入試 就職活動 これらのプロセスを自己規制的であるように設 計できるだろうか? (自己規制的:裏取引とか制限できないか なー) 17/52
  19. 19. 具体例 夏期インターンの話 中村君は大手の電話会社「N」から内定 数日後,ベンチャー企業の「H」から内定 中村君は「H」の方が良かった. 18/52
  20. 20. 具体例 夏期インターンの話 「N」の内定をキャンセル. 「N」は店員が割れを気にして別の佐藤君に 声を掛ける 佐藤君は地元企業「F」から内定を貰ってい た.でも「N」の方が 佐藤君は「F」の内定をキャンセルして「N」を 受ける. 19/52
  21. 21. これ なんて カオス?
  22. 22. 問題点 すべての人が利己的であった 中村君も佐藤君も会社も利己的 利己的な考えはカオスの序章 21/52
  23. 23. 利己的にならなければ 夏期インターンの話 中村君は大手の電話会社「N」から内定 数日後,ベンチャー企業の「H」から内定 中村君,これを断る 「ごあいにくさま!」 22/52
  24. 24. この問題をア ルゴリズムに 落としてみま しょう!
  25. 25. 問題の 定式化
  26. 26. 問題が複雑 応募者は一つの企業を求める 各企業は複数の応募者を採用 定員オーバー 定員割れ 応募者がすべての企業に応募するわけでも ない 25/52
  27. 27. 的確な単純化 的確な単純化 問題の本質を損なわないように より一般的な問題に容易に拡張可能なよう に 26/52
  28. 28. 単純化 n人の応募者 n社の企業 各応募者はすべての企業へ応募 各企業は最終的に1人の応募者を採用 とする. 27/52
  29. 29. もっと分かりやすい問題に n人の男性とn人の女性の結婚問題 n人の男性の集合 M = {m_1 ... m_n} n人の女性の集合 W = {w_1 ... w_n} 28/52
  30. 30. もっと分かりやすい問題に n人の男性とn人の女性の結婚問題 M×W m∈M かつ w∈W からなる順序対(m, w)の集合 nのn乗になり凄い数 S M×Wの部分集合 29/52
  31. 31. マッチング 部分集合S中の順序対 MとWの各要素について、それ含む対は高々 1個な状態 (多くて1個ある状態) 夫婦になれた人もいれば,なれなかった人 もいる マッチング(matching)と呼ぶ 30/52
  32. 32. 完全マッチング MとWの各要素について、それ含む対はちょ うど1個の状態 各人がちょうど1人の異性と夫婦になる状態 多重婚もなし 完全マッチング(perfect matching)と呼ぶ 31/52
  33. 33. 好意順 各男性 m∈M は好きな女性にランクを付け る m は w より w' が好き m1 --- w2 |--w3 +--w1 32/52
  34. 34. 好意順を作ると不安定性を 導ける 夫婦(m, w)と(m', w')を考える 実は m は w より w' が好き 実は w' は m' より m が好き この結婚は自己規制的ではない 不安定性をもつペア 33/52
  35. 35. 目標 不安定性をもつペアを作らずに完全マッチン グさせること 不満のない夫婦を 不満のないインターンシップを つまり安定なマッチング(安定マッチング) 34/52
  36. 36. 例1 m と w は好き同士 つまり (m, w), (m', w') が安定マッチング 35/52
  37. 37. 例1 (m', w), (m, w')にしてしまうと.. m と w は好き同士 m, w はそれぞれのパートナーから離れたい! 不安定性のペアである 36/52
  38. 38. 例2 この場合,好みが互いに逆になっている. (m, w), (m', w') 二人の男性は満足 (w, m'), (w', m) 二人の女性は満足 37/52
  39. 39. 例2 この場合は二つの異なる安定マッチングがある. 安定マッチングは唯一とは限らない(*これ重要*) 38/52
  40. 40. 安定マッチ ングアルゴ リズム
  41. 41. 安定マッチングアルゴリズム Gale-Shapleyアルゴリズム G-Sアルゴリズム 40/52
  42. 42. 安定マッチングアルゴリズム 最初はみんな未婚 未婚の男性 m が一番好きな人 w にプロ ポーズ プロポーズを受けた w は一応婚約しておく (m, w) 他の未婚の男性 m' が一番好きな人 w に プロポーズ 41/52
  43. 43. 安定マッチングアルゴリズム w は m と m' どっちが好きか判断 w は m との婚約を破棄, m' と婚約 自由な身の人がいなくなるとアルゴリズム 終了 完全マッチング,婚約は結婚へ 42/52
  44. 44. 安定マッチングアルゴリズム 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 Endif Endwhile 婚約のペアの集合 S を返す. 43/52
  45. 45. アルゴリズ ムの解析
  46. 46. アルゴリズムの終了時に返さ れる S は完全マッチングであ るか? 終了時に m はすべての女性にプロポーズ 済み 自由な m はいない つまり完全マッチングである 45/52
  47. 47. Sは安定マッチングである か? Sに不安定性のペアがあると仮定する 46/52
  48. 48. 不安定性のペア 不安定性のペアとは (m, w)と(m', w')に対して m は w' > w w は m > m' m と w' が好き同士 47/52
  49. 49. こういうペア が存在しう るだろうか?
  50. 50. 不安定性のペアが存在する と仮定 (m, w)ということは最後に m は w にプロポー ズした その前に m は w' にプロポーズしただろうか? しなかったとすると w > w' になり,好意順と矛 盾する 49/52
  51. 51. 不安定性のペアが存在する と仮定 プロポーズしたとすれば w' が断った事になる しかし w' は m > m' のため断るはずがない つまり (m, w'),(m', w) のペアになる 不安定性のペアが存在する仮定は矛盾する 50/52
  52. 52. G-Sアルゴリズムの特徴 男性を優遇する不公平性がある 好意順が完全に食い違うときは男性が一番好き な女性と結婚できる G-Sアルゴリズムはプロポーズを受ける側が 不満足な結果になる 男性がプロポーズすると男性が不満足 女性がプロポーズすると男性が不満足 51/52
  53. 53. おわり 第一章で27p 全体で730pほどある 1/27程度(先は長い) (第2章に続く) 52/52 Powered by Rabbit 0.5.9

×