AlgorithmDesign01
Upcoming SlideShare
Loading in...5
×
 

AlgorithmDesign01

on

  • 2,066 views

 

Statistics

Views

Total Views
2,066
Views on SlideShare
2,052
Embed Views
14

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 14

http://coderwall.com 11
http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

AlgorithmDesign01 AlgorithmDesign01 Presentation Transcript

  • アルゴリズムデザイン 第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」を 受ける. 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 Endif Endwhile 婚約のペアの集合 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/52 Powered by Rabbit 0.5.9