• 検索結果がありません。

バックトラックアルゴリズム

N/A
N/A
Protected

Academic year: 2021

シェア "バックトラックアルゴリズム"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

アルゴリズムとデータ構造 補足資料 10-3

「ナップザック問題」

横浜国立大学 理工学部 数物・電子情報系学科 富井尚志

(2)

バックトラックアルゴリズム

• とりあえずやってみる

• ダメなら戻って別の道を探る

– あのとき別の道を選んでいたら、、、

• 試行錯誤( trial and error )

– 結局全部のケースをやってみる(完全解)

– その中で最適な解を選ぶ

(最適解を覚えておく)

(3)

ナップザック問題( Knapsack problem )

A) n 個の品物を旅行カバンの中に入れて旅行す る.持って歩ける重量には制限がある

B) 個々の品物には,重さ と 価値(重要度) の 情報が与えられている.

C) n 個の品物からいくつか選択して,制限重量

以下で価値の総和が最大になるようにする.

(4)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

重量制限が

500g

のとき 現在の最大総価値

0

(5)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

500g

; あと一つ載せたら

OUT

重量制限が

500g

のとき 現在の最大総価値

10

(6)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

500g

; あと一つ載せたら

OUT

重量制限が

500g

のとき 現在の最大総価値

90

(7)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

重量制限が

500g

のとき 現在の最大総価値

90

1,300g

OUT

(8)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

320g

重量制限が

500g

のとき 現在の最大総価値

190

1,300g

OUT

(9)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

320g

重量制限が

500g

のとき 現在の最大総価値

190

1,300g

OUT

720g

OUT

(10)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

320g

重量制限が

500g

のとき 現在の最大総価値

190

1,300g

OUT

720g

OUT 520g

OUT

(11)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

320g

重量制限が

500g

のとき 現在の最大総価値

290

1,300g

OUT

720g

OUT 520g

OUT

330g

(12)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g 航空券

100

10g

洗面用具

50

300g

320g

重量制限が

500g

のとき 現在の最大総価値

390

1,300g

OUT

720g

OUT 520g

OUT

330g

340g

(13)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g 航空券

100

10g 洗面用具

50

300g 320g

重量制限が

500g

のとき 現在の最大総価値

390

1,300g

OUT

720g

OUT 520g

OUT

330g

340g

640g

OUT

(14)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g 航空券

100

10g 洗面用具

50

300g 320g

重量制限が

500g

のとき 現在の最大総価値

390

1,300g

OUT

720g

OUT 520g

OUT

330g

340g

640g

OUT

解候補 現在の最大総価値

390

(15)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

重量制限が

500g

のとき 現在の最大総価値

390

1,300g

OUT

(16)

ナップザック問題( Knapsack problem )

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

1 1 1 1 1 1 1 1 1 1

10

500g

90

500g

下着

90

300g

ジャケッ

30

1,000g

MDプレー

20

400g

100

20g

地図

70

200g

宿チケッ

100

10g

航空券

100

10g

洗面用具

50

300g

0 0 0 0 0 0 0 0 0 0

最悪時: 上記の全とおりの組み合わせについて、総重量と総価値を計算して、

一番良いものを選ぶ。

O(2

n

)

(17)

バックトラックアルゴリズム

• とりあえずやってみる

• ダメなら戻って別の道を探る

– あのとき別の道を選んでいたら、、、

• 試行錯誤( trial and error )

– 結局全部のケースをやってみる(完全解)

– その中で最適な解を選ぶ

(最適解を覚えておく)

参照

関連したドキュメント

東京工業大学

東京工業大学

情報理工学研究科 情報・通信工学専攻. 2012/7/12

関東総合通信局 東京電機大学 工学部電気電子工学科 電気通信システム 昭和62年3月以降

理工学部・情報理工学部・生命科学部・薬学部 AO 英語基準入学試験【4 月入学】 国際関係学部・グローバル教養学部・情報理工学部 AO

清水 悦郎 国立大学法人東京海洋大学 学術研究院海洋電子機械工学部門 教授 鶴指 眞志 長崎県立大学 地域創造学部実践経済学科 講師 クロサカタツヤ 株式会社企 代表取締役.

静岡大学 静岡キャンパス 静岡大学 浜松キャンパス 静岡県立大学 静岡県立大学短期大学部 東海大学 清水キャンパス

講師:首都大学東京 システムデザイン学部 知能機械システムコース 准教授 三好 洋美先生 芝浦工業大学 システム理工学部 生命科学科 助教 中村