データ構造とアルゴリズム

第十二回 (2012年 1月13日)

アルゴリズムの設計方針

http://www.sw.it.aoyama.ac.jp/2011/DA/lecture12.html

Martin J. Dürst

AGU

© 2009-12 Martin J. Dürst 青山学院大学

今日の予定

これからの予定

補講についての注意

アルゴリズムの設計方針

  

単純なアルゴリズム

ナップサック問題一般的な形

ナップサック問題の変形

  1. 同じ品を何個詰めるか
    解決: ナップサックの容量を品の重さで割る
    設計方針: 単純なアルゴリズム
  2. 品をできるだけ数多く詰む
    解決: 軽い品から容量を超える寸前まで詰む
    設計方針: 貪欲アルゴリズム
  3. 容量をできるだけ利用する (整数編)
    解決: 容量 c'c と品 s1,..., sk (kn) の部分問題を検討
    設計方針: 動的計画法
  4. 価値をできるだけ多くする
    設計方針: 総当たり方

これからの目的

問題例 1: 3-SAT

  

問題例 2: 独立集合

(Independent Set)

問題例 3: 巡回セールスマン

(Traveling Salesman)

問題例の共通点

多項式時間と指数的時間

多項式時間の特徴

授業改善のための学生アンケート

お願い: できるだけ自由記述を使って、具体的に書いてください

(悪い例: 発音が分かりにくい; 良い例: さ行が濁っているかどうか分かりにくい)