京都大学 情報学研究科 知能情報学専攻 2021年8月実施 情報学基礎 F2-2
Author
Isidore, 祭音Myyura
Description
ナップサック問題の入力は、非負整数の容量
アイテム | ||||||
---|---|---|---|---|---|---|
重さ | 2 | 3 | 3 | 4 | 4 | 5 |
価値 | 3 | 4 | 5 | 6 | 7 | 8 |
設問1 入力
設問2 アイテムを単位重さ当たりの価値が大きい順に「ナップサックに入れることができれば入れ、できなければ捨てる」という逐次処理をし、最後にナップサックに入っているアイテム集合を出力するアルゴリズムを考える。
ただし、単位重さ当たりの価値が同じアイテムが複数あれば、価値の高いものを先に処理する。
入力
設問3
設問4
設問5 設問4で定義した
- (1)
の値を答えよ。 - (2)
の値を答えよ。 - (3)
とし、 および を満たす全ての について が求まっているとする。 このとき を求める計算方法を答えよ。
Kai
設問1
The optimal value is
設問2
アイテム | ||||||
---|---|---|---|---|---|---|
The output value is
設問3
Design the input like below
w | 1 | 10 |
p | 2 | 10 |
p/w | 2 | 1 |
Obviously, by comparing the value per weight
, performing the algorithm defined in Q.2 will results in the output
However, the actual optimal value with solution is
which is 5 times better than the former.