軟件設計師案例分析當天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設計師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設計師案例分析每日一練試題(2023/1/20)在線測試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2023/1/20
點擊查看:更多軟件設計師習題與指導
軟件設計師案例分析每日一練試題內(nèi)容(2023/1/20)
閱讀下列說明,回答問題1至問題2,將解答填入答題紙的對應欄內(nèi)。
【說明】
0-1背包問題可以描述為:有n個物品,對i=1,2,…,n,第i個物品價值為vi ,重量為wi(vi,和wi為非負數(shù)),背包容量為W(W為非負數(shù)),選擇其中一些物品裝入背包,使裝入背包物品的總價值最大,即

,且總重量不超過背包容量,即

,其中,xi∈{0,1},xi=0表示第i個物品不放入背包,xi=1表示第i個物品 放入背包。
【問題1】(8分)
用回溯法求解此0-1背包問題,請?zhí)畛湎旅鎮(zhèn)未a中(1)~(4)處空缺。
回溯法是一種系統(tǒng)的搜索方法。在確定解空間后,回溯法從根結(jié)點開始,按照深度優(yōu)先策略遍歷解空間樹,搜索滿足約束條件的解。對每一個當前結(jié)點,若擴展該結(jié)點己經(jīng)不滿足約束條件,則不再繼續(xù)擴展。為了進一步提高算法的搜索效率,往往需要設計一個限界函數(shù),判斷并剪枝那些即使擴展了也不能得到最優(yōu)解的結(jié)點?,F(xiàn)在假設已經(jīng)設計了BOUND(v,w,k,W)函數(shù),其中v, w, k和W分別表示當前已經(jīng)獲得的價值、當前背包的重量、己經(jīng)確定是否選擇的物品數(shù)和背包的總?cè)萘?。對應于搜索樹中的某個結(jié)點,該函數(shù)值表示確定了部分物品是否選擇之后,對剩下的物品在滿足約束條件的前提下進行選擇可能獲得的最大價值,若該價值小于等于當前已經(jīng)得到的最優(yōu)解,則該結(jié)點無需再擴展。
下面給出0-1背包問題的回溯算法偽代碼。
函數(shù)參數(shù)說明如下:
W:背包容量;n:物品個數(shù);w:重量數(shù)組;v:價值數(shù)組;fw:獲得最大價值時背包的重量;fp:背包獲得的最大價值;X:問題的最優(yōu)解。
變量說明如下:
cw:當前的背包重量;cp:當前獲得的價值;k:當前考慮的物品編號;Y:當前已獲得的部分解。

【問題2】(7分)
考慮表4-1的實例,假設有3個物品,背包容量為22。圖4-1中是根據(jù)上述算法構(gòu)造的搜索樹,其中結(jié)點的編號表示了搜索樹生成的順序,邊上的數(shù)字1/0分別表示選擇/不選擇對應物品。除了根結(jié)點之外,每個左孩子結(jié)點旁邊的上下兩個數(shù)字分別表示當前背包的重量和已獲得的價值,右孩子結(jié)點旁邊的數(shù)字表示擴展了該結(jié)點后最多可能獲得的價值。為獲得最優(yōu)解,應該選擇物品 (5) ,獲得的價值為 (6) 。

對于表4-1的實例,若采用窮舉法搜索整個解空間,則搜索樹的結(jié)點數(shù)為 (7) ,而用了上述回溯法,搜索樹的結(jié)點數(shù)為 (8) 。
信管網(wǎng)試題答案與解析:m.xiexiliangjiufa.com/st/3808721842.html
信管網(wǎng)考友試題答案分享:
信管網(wǎng)試題答案與解析:
m.xiexiliangjiufa.com/st/3808721842.html
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質(zhì)量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。