阅读下列说明,回答问题1和问题2,将解答填入对应栏内。[说明]0-1背包问题可以描述

题型:填空题

问题:

阅读下列说明,回答问题1和问题2,将解答填入对应栏内。

[说明]

0-1背包问题可以描述为:有n个物品,i=1,2,…,n,第i个物品价值为vi,重量为wi(vi和wi为非负数),背包容量为W(W为非负数),选择其中一些物品装入背包,使装入背包物品的总价值最大,即,且总重量不超过背包容量,即,其中,xi∈0,1,xi=0表示第i个物品不放入背包,xi=1表示第i个物品放入背包。

[问题1]

用回溯法求解此0-1背包问题,请填充伪代码中的空缺(1)~(4)。

回溯法是一种系统的搜索方法。在确定解空间后,回溯法从根结点开始,按照深度优先策略遍历解空间树,搜索满足约束条件的解。对每一个当前结点,若扩展该结点已经不满足约束条件,则不再继续扩展。为了进一步提高算法的搜索效率,往往需要设计一个限界函数,判断并剪枝那些即使扩展了也不能得到最优解的结点。现在假设已经设计了BOUND(v,w,k,w)函数,其中v、w、k和W分别表示当前已经获得的价值、当前背包的重量、已经确定是否选择的物品数和背包的总容量。对应于搜索树中的某个结点,该函数值表示确定了部分物品是否选择之后,对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值,若该价值小于等于当前已经得到的最优解,则该结点无须再扩展。

下面给出0-1背包问题的回溯算法伪代码。

函数参数说明如下:

W:背包容量;n:物品个数;w:重量数组;v:价值数组;fw:获得最大价值时背包的重量;fp:背包获得的最大价值;X:问题的最优解。

变量说明如下:

cw:当前的背包重量;cp:当前获得的价值;k:当前考虑的物品编号;Y:当前已获得的部分解。

BKNAP(W,n,w,v,fw,fp,X)

1 cw←cp←0

2 (1)

3 fp←-1

4 While true

5 while k≤n and cw+w[k]≤W do

6 (2)

7 cp←cp+v[k]

8 Y[k]←1

9 k←k+1

10 if k>n then

11 if fp<cp then

12 fp←cp

13 fw←cw

14 k←n

15 X←Y

16 else Y(k)←0

17 while BOUND(cp,cw,k,W)≤fp do

18 while k≠0 and Y(k)≠1 do

19 (3)

20 if k=0 then return

21 Y[k]←0

22 cw←cw←w[k]

23 cp←cp←v[k]

24 (4)

[问题2]

考虑表21-3所示的实例,假设有3个物品,背包容量为22。图21-12是根据上述算法构造的搜索树,其中结点的编号表示搜索树生成的顺序,边上的数字I/O分别表示选择/不选择对应物品。除了根结点之外,每个左孩子结点旁边的上下两个数字分别表示当前背包的重量和已获得的价值,右孩子结点旁边的数字表示扩展了该结点后最多可能获得的价值。为获得最优解,应该选择物品 (5) ,获得的价值为 (6)

 

对于表21-3所示的实例,若采用穷举法搜索整个解空间,则搜索树的结点数为 (7) ;而采用上述的回溯法,搜索树的结点数为 (8)

(7)处填()。

考点:计算机软件水平考试中级软件设计师软件设计师
题型:填空题

简述执法监察的基本内容。

题型:填空题

某人1999年出版了小说一部,取得稿酬6000元,同年该小说在一家晚报上连载,取得稿酬3500元,其稿酬所得应缴纳的个人所得税额为( )元。

A.1050

B.1330

C.1064

D.1500

题型:填空题

儿童在出生当日死亡的,无须记入儿童花名册,但必须填报儿童死亡报告卡。

题型:填空题

抵债资产的取得,原则上不得通过的()方式取得抵债资产。

A.法院裁定

B.仲裁机构仲裁

C.签订以资抵债协议

D.法院强制执行

题型:填空题

MRI诊断输尿管结石最有效、最直接的扫描方法是()

A.T1WI

B.T2WI

C.MRUP

D.脂肪抑制像

E.水抑制像

更多题库