千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 優(yōu)先隊(duì)列式分支限界法的通俗的解釋是什么?

優(yōu)先隊(duì)列式分支限界法的通俗的解釋是什么?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 07:29:58 1696980598

一、優(yōu)先隊(duì)列式分支限界法的通俗的解釋

分支界限法,就是用了某種方法來(lái)選擇較好的情況,略過(guò)不必要的情況,達(dá)到降低復(fù)雜度的目的。其實(shí)就是優(yōu)化(也稱剪枝)。用優(yōu)先隊(duì)列實(shí)現(xiàn)dijkstra就是問題中的例子。建議上oj手寫一下,動(dòng)手做過(guò)更能理解。

所謂“分支”就是采用廣度優(yōu)先(BFS)的策略,依次搜索E-結(jié)點(diǎn)的所有分支,也就是所有相鄰的結(jié)點(diǎn),拋棄不滿足約束的結(jié)點(diǎn),其余節(jié)點(diǎn)加入活結(jié)點(diǎn)表。然后從表中選擇一個(gè)結(jié)點(diǎn)作為下一個(gè)E-結(jié)點(diǎn),繼續(xù)搜索。

選擇下一個(gè)E-結(jié)點(diǎn)的方式不同,則會(huì)有幾種不同的分支搜索方式:1.FIFO搜索;2.LIFO搜索;優(yōu)先隊(duì)列式搜索。

分支界限法的一般過(guò)程

由于求解目標(biāo)不同,導(dǎo)致分支界限法與回溯法在解空間樹T上的搜索方式也不相同?;厮莘ㄒ陨疃葍?yōu)先的方式搜索解空間樹T,而分支界限法則以廣度優(yōu)先或以最小耗費(fèi)優(yōu)先的方式搜索解空間樹T:

搜索策略

在擴(kuò)展結(jié)點(diǎn)處,先生成所有的子結(jié)點(diǎn)(分支),然后從當(dāng)前的活結(jié)點(diǎn)表中選擇下一個(gè)擴(kuò)展結(jié)點(diǎn)。為了有效的選擇下一個(gè)擴(kuò)展結(jié)點(diǎn),以加速搜索的進(jìn)程,在每一活結(jié)點(diǎn)處,計(jì)算一個(gè)函數(shù)值(限界),并根據(jù)這些已經(jīng)計(jì)算出的函數(shù)值,從當(dāng)前活結(jié)點(diǎn)表中選擇一個(gè)最有利的結(jié)點(diǎn)作為擴(kuò)展結(jié)點(diǎn),使搜索朝著解空間樹上有優(yōu)異解的分支推進(jìn),以便盡快找出一個(gè)優(yōu)異解。

分支界限法以廣度優(yōu)先或以最小耗費(fèi)(最大效益)優(yōu)先的方式搜索問題的解空間樹。問題的解空間樹是表示問題解空間的一棵有序樹,常見的有子集樹和排列樹。在搜索問題的解空間樹時(shí),分支限界法與回溯法對(duì)當(dāng)前擴(kuò)展結(jié)點(diǎn)所使用的擴(kuò)展方式不同。在分支限界法中,每一個(gè)活結(jié)點(diǎn)只有一次機(jī)會(huì)稱為擴(kuò)展結(jié)點(diǎn)?;罱Y(jié)點(diǎn)一旦成為擴(kuò)展結(jié)點(diǎn),就一次性產(chǎn)生其所有子結(jié)點(diǎn)。在這些子結(jié)點(diǎn)中,那些導(dǎo)致不可行解或?qū)е路莾?yōu)異解的子結(jié)點(diǎn)被舍棄,其余子結(jié)點(diǎn)被加入活結(jié)點(diǎn)中。此后,從活結(jié)點(diǎn)表中取下一結(jié)點(diǎn)成為當(dāng)前擴(kuò)展結(jié)點(diǎn),并重復(fù)上述結(jié)點(diǎn)擴(kuò)展過(guò)程。這個(gè)過(guò)程一直持續(xù)到找到所求的解或活結(jié)點(diǎn)表為空時(shí)為止。

對(duì)某個(gè)節(jié)點(diǎn)進(jìn)行搜索時(shí),先估算出目標(biāo)的解,再確定是否向下搜索(選擇最小損耗的結(jié)點(diǎn)進(jìn)行搜索)在分支結(jié)點(diǎn)上,預(yù)先分別估算沿著它的各個(gè)兒子結(jié)點(diǎn)向下搜索的路徑中,目標(biāo)函數(shù)可能取得的界,然后把它的這些兒子結(jié)點(diǎn)和它們可能取得的界保存在一張結(jié)點(diǎn)表中,再?gòu)谋碇羞x擇界最小或最大的結(jié)點(diǎn)向下搜索。一般采用優(yōu)先隊(duì)列維護(hù)這張表。

延伸閱讀:

二、回溯法和分支界限法的區(qū)別

回溯法
1)(求解目標(biāo))回溯法的求解目標(biāo)是找出解空間中滿足約束條件的一個(gè)解或所有解。
2)(搜索方式深度優(yōu)先)回溯法會(huì)搜索整個(gè)解空間,當(dāng)不滿條件時(shí),丟棄,繼續(xù)搜索下一個(gè)兒子結(jié)點(diǎn),如果所有兒子結(jié)點(diǎn)都不滿足,向上回溯到它的父節(jié)點(diǎn)。
分支限界法
1)(求解目標(biāo))分支限界法的目標(biāo)一般是在滿足約束條件的解中找出在某種意義下的優(yōu)異解,也有找出滿足約束條件的一個(gè)解。
2)(搜索方式)分支限界法以廣度優(yōu)先或以最小損耗優(yōu)先的方式搜索解空間。
3)常見的兩種分支界限法
a.隊(duì)列式(FIFO)分支界限法(廣度優(yōu)先):按照隊(duì)列先進(jìn)先出原則選取下一個(gè)結(jié)點(diǎn)為擴(kuò)展結(jié)點(diǎn)。
b.優(yōu)先隊(duì)列式分支限界法(最小損耗優(yōu)先):按照優(yōu)先隊(duì)列規(guī)定的優(yōu)先級(jí)選取優(yōu)先級(jí)較高的結(jié)點(diǎn)成為當(dāng)前擴(kuò)展結(jié)點(diǎn)。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
軟件架構(gòu)如何能夠滿足ASPICE流程?

一、軟件架構(gòu)如何能夠滿足ASPICE流程架構(gòu)的用途是把整個(gè)產(chǎn)品劃分為更為細(xì)節(jié)的板塊:軟件、硬件、通信等。在這個(gè)基礎(chǔ)上軟件整體將按照用途、功能...詳情>>

2023-10-11 08:47:00
紅黑樹為什么叫紅黑樹?

一、紅黑樹叫紅黑樹的原因紅黑樹(Red-Black Tree)是一種自平衡的二叉搜索樹(Binary Search Tree),其在插入和刪除操作時(shí)能夠自動(dòng)調(diào)整樹的結(jié)...詳情>>

2023-10-11 08:42:41
為什么數(shù)組索引數(shù)據(jù)那么快速、有效?

一、數(shù)組索引數(shù)據(jù)快速、有效的原因1、連續(xù)內(nèi)存存儲(chǔ)數(shù)組在內(nèi)存中是連續(xù)存儲(chǔ)的,數(shù)組的元素在內(nèi)存中按照一定的順序排列,相鄰元素之間沒有間隔。...詳情>>

2023-10-11 08:36:19
數(shù)據(jù)結(jié)構(gòu)里的逐點(diǎn)插入法、排序二叉樹是什么?

一、數(shù)據(jù)結(jié)構(gòu)里的逐點(diǎn)插入法、排序二叉樹逐點(diǎn)插入法三角剖分是一種研究方法。三角剖分≠TIN三角剖分是代數(shù)拓?fù)鋵W(xué)里最基本的研究方法。 以曲面為...詳情>>

2023-10-11 08:08:01
在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思?

一、在數(shù)據(jù)結(jié)構(gòu)中i=L->length是什么意思在數(shù)據(jù)結(jié)構(gòu)中,i=L->length通常表示一個(gè)線性表L的長(zhǎng)度,即L中元素的個(gè)數(shù)。線性表是一種數(shù)據(jù)結(jié)構(gòu),它由n...詳情>>

2023-10-11 07:54:48
快速通道