阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。 【说明】 0—1背包问题可以描述为:
阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。
【说明】
0—1背包问题可以描述为:有n个物品,对i=l,2,…,n,第i个物品价值为vi,重量为wi(vi和wi为非负数),背包容量为w(W为非负数),选择其中一些物品装入背包,使装入背包物品的总价值最大,即,且总重量不超过背包容量,即
,其中,xi∈{O,1},xi=0表示第i个物品不放入背包,xi=1表示第i个物品放入背包。
用回溯法求解此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←cp0
2 (1)
3 fp←l
4 while true
5 while k≤n and cw+w[k]≤w d。
6 (2)
7 cp←cp+v[k]
8 Y[k]←l
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)←O
17 while BOUND(cp,cw,k,W) ≤fp do
18 while k≠O and Y(k)≠l d0
19 (3)
20 if k=0 then return
2l Y[k]←0
22 cw←cw-w[k]
23 cp←cp-v[k]
24 (4)
(1)k←1(2)cw←cw+w[k](3)k←k-1(4)k←k+l
湖北神农架科学考察队在丛林处松软平整的泥地上发现“野人”行走时留下的新鲜脚印,队员小明和方格纸描下 物理 2020-06-22 …
湖北神农架科学考察队在丛林深处松软平整的泥地上发现“野人”行走时留下的脚印,队员小明用方格纸描下了 物理 2020-06-22 …
用半透明纸描下来的画怎么画纸上 数学 2020-06-25 …
湖北神农架科学考察队在丛林深处松软平整的泥地上发现“野人”行走时留下的新鲜脚印,队员小明用方格纸描下 物理 2020-11-02 …
下面语段横线处依次填入的词语,最恰当的一组是()传统的剪纸,仅凭一把剪刀,顷刻便在一张薄纸上幻化出千 语文 2020-11-04 …
下列关于造纸术的表述中,不正确的一项是A.中国是世界上最早发明纸的国家B.西汉早期已出现用于绘图的纸 历史 2020-11-08 …
湖北神农架科学考察队在丛林深处松软平整的泥地上发现“野人”行走时留下的新鲜脚印,队员小明用方格纸描下 物理 2020-11-25 …
关于造纸术发明的叙述,不正确的是A.中国是世界上最早发明纸的国家B.西汉前期就已出现用于书写和绘画的 历史 2020-12-02 …
关于造纸术发明的叙述,A.中国是世界上最早发明纸的国家B.西汉前期就已出现用于书写和绘画的纸C.东汉 历史 2020-12-02 …
某同学用氢氧化钠溶液在易吸水的白纸上写了“化学”两个字,晾干后纸上无明显痕迹。要使字迹马上显现出来, 物理 2020-12-02 …