搜索深度優(yōu)先剪枝課件.ppt

搜索深度優(yōu)先剪枝課件.ppt

ID:57296383

大?。?31.00 KB

頁數(shù):51頁

時(shí)間:2020-08-10

搜索深度優(yōu)先剪枝課件.ppt_第1頁
搜索深度優(yōu)先剪枝課件.ppt_第2頁
搜索深度優(yōu)先剪枝課件.ppt_第3頁
搜索深度優(yōu)先剪枝課件.ppt_第4頁
搜索深度優(yōu)先剪枝課件.ppt_第5頁
資源描述:

《搜索深度優(yōu)先剪枝課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、教學(xué)目標(biāo)深度優(yōu)先搜索的一般步驟如何剪枝如何編程內(nèi)容要點(diǎn)復(fù)雜問題如何切入化簡思維深度優(yōu)先搜索的一般步驟寫好遞歸程序1任務(wù):登山人選問題攀登一座高山,假定勻速前進(jìn),從山腳登到山頂需走N天,下山也需N天。山上沒有水和食品,給養(yǎng)要靠登山隊(duì)員攜帶,而每個(gè)隊(duì)員所攜帶的給養(yǎng)量要少于他登頂再返回山腳所消耗的給養(yǎng)量。因此,一定要組成一個(gè)登山隊(duì),在多人支援的情況下,保證有一個(gè)人登頂?,F(xiàn)在登山俱樂部有P個(gè)人待選,我們將P個(gè)人依次編號(hào)為k=1,2,…,P,令E[k]表示編號(hào)為k的人每日消耗的給養(yǎng)量,M[k]表示編號(hào)為k的人最多可攜帶的給養(yǎng)量。登山計(jì)劃要求所組成的登山隊(duì)所有成員同時(shí)

2、出發(fā),其中一些人分別在啟程若干天后返回,最終保證出發(fā)N天后至少有一人登頂,出發(fā)2N天后所有人都已返回山腳,無人滯留山上。2編程要求:用鍵盤輸入天數(shù)N(N<10)、俱樂部人數(shù)P(P<10)之后,依次輸入E[k]和M[k],k=1,2,…,P,分別輸出兩個(gè)登山組隊(duì)計(jì)劃,計(jì)劃1,要求參加登山的人數(shù)最少,在滿足這一條件之下消耗的總給養(yǎng)量最少。計(jì)劃2,要求消耗的總給養(yǎng)量最少。輸出的內(nèi)容是:有多少隊(duì)員參加登山,消耗的總給養(yǎng)量,在出發(fā)時(shí)每人分別攜帶多少給養(yǎng),每人分別在出發(fā)幾天后返回(幾天后開始下山)。題目數(shù)據(jù)保證有解?!据斎敫袷健康?行為2個(gè)小于10的整數(shù)N和P,兩個(gè)整

3、數(shù)之間有一個(gè)空格。第2行為P個(gè)整數(shù),分別是E[1],E[2],…,E[P],相鄰兩整數(shù)之間有一個(gè)空格。第3行為P個(gè)整數(shù),分別是M[1],M[2],…,M[P],相鄰兩整數(shù)之間有一個(gè)空格。3【輸出格式】第1行到第3行為計(jì)劃1的內(nèi)容,第1行有兩個(gè)整數(shù),前者是參加登山人數(shù)Q1,后者是消耗的總給養(yǎng)量。第2行是Q1個(gè)整數(shù),表示Q1個(gè)人在出發(fā)時(shí)每人攜帶的給養(yǎng)。第3行是Q1個(gè)整數(shù),表示Q1個(gè)人中的每個(gè)人在出發(fā)幾天后返回。第4行到第6行為計(jì)劃2的內(nèi)容,第4行有兩個(gè)整數(shù),前者是參加登山人數(shù)Q2,后者是消耗的總給養(yǎng)量。第5行是Q2個(gè)整數(shù),表示Q2個(gè)人在出發(fā)時(shí)每人攜帶的給養(yǎng)。第

4、6行是Q2個(gè)整數(shù),表示Q2個(gè)人中的每個(gè)人在出發(fā)幾天后返回。4【輸入樣例】661222337817182225【輸出樣例】24218246333818173631輸出表明:計(jì)劃1中有2個(gè)人組隊(duì),分別攜帶18和24的給養(yǎng)量,分別在出發(fā)6天和3天之后返回;計(jì)劃2中有3個(gè)人組隊(duì),分別攜帶18、17和3的給養(yǎng)量,分別在出發(fā)后6天、3天和1天之后返回。5《登山人選》解題思路當(dāng)我們遇到一道難題時(shí),先要想到:一、可不可以先從一個(gè)較簡單的情況分析起,把難度先降低一些,等從中總結(jié)出規(guī)律性的認(rèn)識(shí)后,再回到原題的要求上來;二、能不能先從一個(gè)特殊的例子分析起,再推廣到一般情況。為了

5、簡化問題,理出思路,可先將問題化簡為:每人所能攜帶的給養(yǎng)量相同,且每人每天消耗的給養(yǎng)量也相同,選擇一座不高的山,用一組人數(shù)不多的具體數(shù)據(jù)。比如有如下一組數(shù)據(jù):N=4從山腳到山頂需4天路程P=6登山俱樂部成員人數(shù)E=1每人每天消耗的給養(yǎng)量M=5每人最多攜帶的給養(yǎng)量6為了便于分析,圖1畫出了用上述數(shù)據(jù)組隊(duì)登山的思路圖。4下返回高度11山3321222231323311上41424344山001號(hào)隊(duì)員2號(hào)隊(duì)員3號(hào)隊(duì)員4號(hào)隊(duì)員71#2#3#的支援點(diǎn)h1#2#的支援點(diǎn)1#的支援點(diǎn)432211430012345678t4人登山的高度與時(shí)間圖8在圖中,山高是以(路程)天

6、為單位的。山頂?shù)母叨仁?天的路程。在1號(hào)隊(duì)員上下山的示意圖中,每個(gè)方塊代表一天的路程,1號(hào)隊(duì)員被選中為登頂者,用4天路程上山,再用4天路程下山。如果完全自食其力的話,1號(hào)隊(duì)員需要自帶8天的給養(yǎng),而題目限定的每人最多攜帶給養(yǎng)量M=5。因此,沒有同伴支援的話,1號(hào)隊(duì)員是無法登頂?shù)?。?號(hào)登頂后能安全下山考慮,下山只有他一個(gè)人,只能自己攜帶給養(yǎng)。因此,在做計(jì)劃時(shí)讓1號(hào)隊(duì)員上山時(shí),從山腳(高度0)到高度3使用同伴的給養(yǎng)。過了高度3之后再吃自帶的給養(yǎng)。在圖中小方塊內(nèi)所填的數(shù)字,表示在這一天的路程中由該號(hào)隊(duì)員供應(yīng)給養(yǎng)。從圖可見1號(hào)隊(duì)員上山的第一天(從高度0至高度1)由

7、4號(hào)隊(duì)員提供給養(yǎng);上山的第2天(從高度1至高度2)由3號(hào)隊(duì)員提供給養(yǎng);上山的第3天(從高度2至高度3)由2號(hào)隊(duì)員提供給養(yǎng);上山的第4天(從高度3至高度4)吃自己的給養(yǎng);登頂成功之后,下山的4天也均自食其力。從1號(hào)隊(duì)員登頂?shù)倪^程需要2號(hào)隊(duì)員支援的情況看,1號(hào)隊(duì)員需要在第3天吃2號(hào)隊(duì)員攜帶的給養(yǎng),這就意味著2號(hào)隊(duì)員要跟1號(hào)一起爬到高度3之后才能下山。9因此,2號(hào)隊(duì)員上山走3天,再下山走3天,自己要消耗6天的給養(yǎng),可是自己只能攜帶5天的給養(yǎng),當(dāng)然還需要3號(hào)支援他。可以這樣計(jì)劃:2號(hào)隊(duì)員上山時(shí),第1天由4號(hào)隊(duì)員供給;第2天由3號(hào)隊(duì)員供給;第3天將1份給養(yǎng)支援給1號(hào)

8、隊(duì)員,自己用掉1份給養(yǎng)。到了高度3之后,用還剩下的3份給養(yǎng)安全下山

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。