![KM算法是通過給每個(gè)頂點(diǎn)一個(gè)標(biāo)號(hào)叫做頂標(biāo)來把求最大_第1頁(yè)](http://file4.renrendoc.com/view/9f90caaa93c4d5e53d8e005eb1073903/9f90caaa93c4d5e53d8e005eb10739031.gif)
![KM算法是通過給每個(gè)頂點(diǎn)一個(gè)標(biāo)號(hào)叫做頂標(biāo)來把求最大_第2頁(yè)](http://file4.renrendoc.com/view/9f90caaa93c4d5e53d8e005eb1073903/9f90caaa93c4d5e53d8e005eb10739032.gif)
![KM算法是通過給每個(gè)頂點(diǎn)一個(gè)標(biāo)號(hào)叫做頂標(biāo)來把求最大_第3頁(yè)](http://file4.renrendoc.com/view/9f90caaa93c4d5e53d8e005eb1073903/9f90caaa93c4d5e53d8e005eb10739033.gif)
![KM算法是通過給每個(gè)頂點(diǎn)一個(gè)標(biāo)號(hào)叫做頂標(biāo)來把求最大_第4頁(yè)](http://file4.renrendoc.com/view/9f90caaa93c4d5e53d8e005eb1073903/9f90caaa93c4d5e53d8e005eb10739034.gif)
![KM算法是通過給每個(gè)頂點(diǎn)一個(gè)標(biāo)號(hào)叫做頂標(biāo)來把求最大_第5頁(yè)](http://file4.renrendoc.com/view/9f90caaa93c4d5e53d8e005eb1073903/9f90caaa93c4d5e53d8e005eb10739035.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
KM算法是通過給每個(gè)頂點(diǎn)一個(gè)標(biāo)號(hào)(叫做頂標(biāo))來把求最大權(quán)匹配的問題轉(zhuǎn)化為求完備匹配的問題的。設(shè)頂點(diǎn)Xi的頂標(biāo)為A[i],頂點(diǎn)Yi的頂標(biāo)為B
[i],頂點(diǎn)Xi與Yj之間的邊權(quán)為w[i,j]。在算法執(zhí)行過程中的任一時(shí)刻,對(duì)于任一條邊(i,j),A[i]+B[j]>=w[i,j]始終
成立。KM算法的正確性基于以下定理:
若由二分圖中所有滿足A[i]+B[j]=w[i,j]的邊(i,j)構(gòu)成的子圖(稱做相等子圖)有完備匹配,那么這個(gè)完備匹配就是二分圖的最大權(quán)匹配。
初始時(shí)為了使A[i]+B[j]>=w[i,j]恒成立,令A(yù)[i]為所有與頂點(diǎn)Xi關(guān)聯(lián)的邊的最大權(quán),B[j]=0。如果當(dāng)前的相等子圖沒有完備匹配,就按下面的方法修改頂標(biāo)以使擴(kuò)大相等子圖,直到相等子圖具有完備匹配為止。
我們求當(dāng)前相等子圖的完備匹配失敗了,是因?yàn)閷?duì)于某個(gè)X頂點(diǎn),我們找不到一條從它出發(fā)的交錯(cuò)路。這時(shí)我們獲得了一棵交錯(cuò)樹,它的葉子結(jié)點(diǎn)全部是X頂點(diǎn)?,F(xiàn)在我們把交錯(cuò)樹中X頂點(diǎn)的頂標(biāo)全都減小某個(gè)值d,Y頂點(diǎn)的頂標(biāo)全都增加同一個(gè)值d.d=min{A[i]+B[j]-w[i,j]|Xi在交錯(cuò)樹中,Yi不在交錯(cuò)樹中}
狀態(tài)空間搜索胡俊峰
2013-11-29狀態(tài)空間搜索適用范圍和意義盲目搜索方法優(yōu)化搜索技巧參考習(xí)題推薦材料狀態(tài)空間搜索適用范圍和意義盲目搜索方法優(yōu)化搜索技巧參考習(xí)題推薦材料狀態(tài)空間搜索適用范圍和意義盲目搜索方法優(yōu)化搜索技巧參考習(xí)題推薦材料盲目搜索方法定義狀態(tài)(state)對(duì)問題在某一時(shí)刻進(jìn)展情況的數(shù)學(xué)描述狀態(tài)轉(zhuǎn)移(state-transition)問題從一種狀態(tài)到轉(zhuǎn)移到另一種(或幾種)狀態(tài)的操作狀態(tài)空間(statespace)問題可以處于的所有狀態(tài)盲目搜索算法深度優(yōu)先搜索廣度優(yōu)先搜索*隨機(jī)化搜索深度優(yōu)先搜索(Depth-firstSearch)搜索順序:1->2->4->8->…“走迷宮”
深度優(yōu)先搜索實(shí)現(xiàn):棧式和遞歸空間開銷:棧的深度非遞歸的的實(shí)現(xiàn)框框架voidDfs(inta){while(棧不為且且尚未到到達(dá)目標(biāo)標(biāo)狀態(tài)){取出(pop)棧頂元素素進(jìn)行擴(kuò)擴(kuò)展將擴(kuò)展出出的元素素依次壓壓入(push)棧}}棧的應(yīng)用用迷宮老老鼠解決方案案盡可能前前進(jìn),回回溯,記記錄訪問問過的狀狀態(tài)…具體:依次探查查所有可可能的沒沒有被探探查過的的方向?qū)μ讲檫^過的位置置進(jìn)行標(biāo)標(biāo)記無法繼續(xù)續(xù)前進(jìn)則則回溯在某一位位置(i,j)進(jìn)行試探探:N(i-1,j)w(i,j-1)(i,j)E(i,j+1)S(i+1,j)drection[4][2]令k取0,1,2,3之一,則則試探位位置為:g=i+direction[k][0];h=j+direction[k][1];算法設(shè)計(jì)計(jì)走一步,,記一步步。方向試探探前進(jìn)push(current)無法前進(jìn)進(jìn)current=pop()求解迷宮宮中一條條路徑的的方法::從入口開開始,對(duì)對(duì)每個(gè)當(dāng)前位置置沿(E,S,W,N)四個(gè)方向向逐一進(jìn)進(jìn)行試探探,當(dāng)選選定一個(gè)個(gè)可通行行的方向向后,把把當(dāng)前所在位置置及所選的的方向記記錄下來來,然后后從下一一個(gè)位置置開始繼繼續(xù)探索索;若在在當(dāng)前位位置探索索不到可可通行的的方向,,則沿原原路一步步一步退退回來,,每后退退一步,,接著在在該點(diǎn)試試尚未試試過的一一個(gè)方向向。如此此重復(fù)直直到到達(dá)達(dá)出口。。用一個(gè)棧棧記錄走走過的位位置,棧中每每個(gè)元素素包括三三項(xiàng),分分別記錄錄當(dāng)前位位置的行行坐標(biāo)、、列坐標(biāo)標(biāo)以及在在該位置置上所選選的方向向(即directon數(shù)組的下標(biāo)標(biāo)值)。廣度優(yōu)先搜搜索(Breadth-firstSearch)搜索順序::1->2->3->4->5->…廣度優(yōu)先搜搜索實(shí)現(xiàn):隊(duì)列列空間開銷::可擴(kuò)展展結(jié)點(diǎn)+已擴(kuò)展結(jié)點(diǎn)點(diǎn)標(biāo)記廣度優(yōu)先搜搜索的實(shí)現(xiàn)現(xiàn)框架voidBFS(){while(隊(duì)列可擴(kuò)展展且尚未到到達(dá)目標(biāo)狀狀態(tài)){從隊(duì)首依次次取出隊(duì)列列中未擴(kuò)展展的結(jié)點(diǎn)進(jìn)進(jìn)行擴(kuò)展展,并將新新結(jié)點(diǎn)加入入隊(duì)尾。}}農(nóng)夫、狼、、羊、菜過過河狀態(tài):<wolf,sheep,cabbage,farmer>(0,1,0,1)0,1分別代表兩兩岸操作(算符符)4種:運(yùn)farmer、wolf運(yùn)farmer、sheep運(yùn)farmer、cabbage運(yùn)farmer狀態(tài)空間大大???24=16Map[2][2][2][2]可以轉(zhuǎn)化為為迷宮問題題?狀態(tài)=路口口操作=通路路限制條件=死胡同無形的迷宮宮。。。。。。。。。。地毯式搜索索!01234567891011121314。。。。。。。如何求得最最優(yōu)解?廣度優(yōu)先搜搜索層層推進(jìn)搜索的層數(shù)數(shù)不超過答答案所在的的層數(shù)01234567891011121314。。。。。。。廣度優(yōu)先搜索索01234567891011121314。。。。。。。隊(duì)列的特點(diǎn)隊(duì)列是一種特殊的的線性表,只只允許在表的的一端有插入入操作,而在在另一端有刪刪除操作。隊(duì)頭:允許刪除的的這一端叫隊(duì)隊(duì)列的頭。隊(duì)尾:允許插入的的這一端叫叫隊(duì)列的尾??贞?duì)列:當(dāng)隊(duì)列中沒沒有任何元素素時(shí),稱為空隊(duì)列。進(jìn)隊(duì)/出隊(duì):隊(duì)列的插入入操作通常稱稱為進(jìn)隊(duì)列或入隊(duì)列,隊(duì)列的刪除除操作通常稱稱為退隊(duì)列或出隊(duì)列。隊(duì)列的基本概概念:隊(duì)列也稱作先先進(jìn)先出表((FirstInFirstOut,F(xiàn)IFO表)。支持隊(duì)尾尾插入,隊(duì)頭頭刪除操作。a0a1a2an-1入隊(duì)列隊(duì)頭隊(duì)尾出隊(duì)列隊(duì)列的示意圖圖隊(duì)列ADTADTQueueisoperationsQueuecreateEmptyQueue(void);//創(chuàng)建一個(gè)空隊(duì)隊(duì)列。intisEmptyQueue(Queuequ);//判隊(duì)列qu是否為空隊(duì)列列。voidenQueue(Queuequ,DataTypex);//往隊(duì)列qu尾部插入一個(gè)個(gè)值為x的元素。voiddeQueue(Queuequ);//從隊(duì)列qu頭部刪除一個(gè)個(gè)元素。DataTypefrontQueue(Queuequ);//求隊(duì)列qu頭部元素的值值。endADTQueue基于環(huán)形存儲(chǔ)儲(chǔ)結(jié)構(gòu)的隊(duì)列列實(shí)現(xiàn)a1a2a3a4…anfrontrearmodMAXSIZEenQueue:{rear=(rear+1)%MAXSIZEqBuffer[rear]=inData;}deQueue:{outData=qBuffer[rear];rear=(rear+1)%MAXSIZE;}基于環(huán)形存儲(chǔ)儲(chǔ)結(jié)構(gòu)的隊(duì)列列實(shí)現(xiàn)把數(shù)組paqu->q[MAXNUM]從邏輯上看成成一個(gè)環(huán),這這種隊(duì)列稱為為環(huán)形隊(duì)列。當(dāng)表中已有MAXNUM-1個(gè)結(jié)點(diǎn)時(shí),如如果還要插入入,paqu->r和paqu->f就會(huì)重合,而而這與空隊(duì)列列的情形相混混。為區(qū)分空隊(duì)列列與滿隊(duì)列兩兩種情況的環(huán)環(huán)形隊(duì)列,一一般是犧牲隊(duì)隊(duì)列中的一個(gè)個(gè)結(jié)點(diǎn),當(dāng)隊(duì)隊(duì)列中已有MAXNUM-1個(gè)結(jié)點(diǎn)時(shí)就稱稱滿,再要插插入就發(fā)生溢溢出.paqu->rpaqu->f圖(a)空隊(duì)列a1a2a7a6a5a4a3paqu->fpaqu->r圖(b)隊(duì)列滿,判斷(paqu->r+1)==paqu->f環(huán)形隊(duì)列順序結(jié)構(gòu)隊(duì)列列的類型定義義順序結(jié)構(gòu)隊(duì)列列的操作定義義(ADT)BitwiseXORIllustration
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0kijk=i^jk=i^j^j=k深度與廣度優(yōu)優(yōu)先搜索比較較深度優(yōu)先搜索索棧式結(jié)構(gòu)空間開銷小最優(yōu)解需遍歷歷所有解才能能確定廣度優(yōu)先搜索索隊(duì)列結(jié)構(gòu)空間開銷大最先找到最優(yōu)優(yōu)解同學(xué)補(bǔ)充?狀態(tài)表示及狀狀態(tài)變換(生生成)用一個(gè)整數(shù)表表達(dá)一個(gè)狀態(tài)態(tài):109用1-8表示8個(gè)數(shù)字,9表示空位相對(duì)于x所在位置,Up,down,left,right四個(gè)位置的數(shù)數(shù)字有可能移移動(dòng)。位置變換:+3,-3,+1,-1數(shù)值變化:(d1-d2)(ten_p(d2))-ten_p(d1))廣度優(yōu)先搜索索的變形雙向廣度優(yōu)先先搜索雙向廣度優(yōu)先先搜索搜索順序兩個(gè)隊(duì)列(分分別來自初始始結(jié)點(diǎn)和目標(biāo)標(biāo)結(jié)點(diǎn)的擴(kuò)展展)交替擴(kuò)展展,每次都選選擇較小的一一個(gè)隊(duì)列進(jìn)行行擴(kuò)展。優(yōu)勢(shì)擴(kuò)展結(jié)點(diǎn)數(shù)明明顯減少存儲(chǔ)需求降低低條件初始狀態(tài)和目目標(biāo)狀態(tài)唯一一只適用于最優(yōu)優(yōu)解問題完全二叉樹、、堆、優(yōu)先隊(duì)隊(duì)列A*算法:F=G+H搜索與博弈經(jīng)典游戲博弈樹與極大大極小過程alpha-beta剪枝棋類游戲設(shè)計(jì)計(jì)概念與研究領(lǐng)領(lǐng)域什么是博弈??谷歌說:百度知道:人生是永不停停息的博弈過過程,博弈意意味著通過選選擇合適策略略達(dá)到合意結(jié)結(jié)果。作為博博弈者,最佳佳策略是最大大程度地利用用游戲規(guī)則;;作為社會(huì)的的最佳策略,,是通過規(guī)則則引導(dǎo)社會(huì)整整體福利的增增加?!安┺摹边@個(gè)詞詞聽起來高深深莫測(cè),其實(shí)實(shí)它就是“游游戲”的意思思。更準(zhǔn)確點(diǎn)點(diǎn)說,是可以以分出勝負(fù)的的游戲。博弈弈論如果直譯譯就是“游戲戲理論”。不不妨說,博弈弈論是通過““玩游戲”獲獲得人生競(jìng)爭(zhēng)爭(zhēng)知識(shí)的。研究領(lǐng)域博弈算法計(jì)算機(jī)的優(yōu)勢(shì)勢(shì)快速,內(nèi)存大大更嚴(yán)密人工智能領(lǐng)域域主要研究領(lǐng)域域挑戰(zhàn)條件:兩方、、公平。博弈樹雙方博弈背后后隱式圖:我們們可以把所處處的局面看作作是一個(gè)狀態(tài)態(tài)。那么博弈弈的過程就可可以看成是在在狀態(tài)空間中中遍歷。博弈樹:由于于雙方博弈的的過程具有明明顯的層次關(guān)關(guān)系,我們可可以依此構(gòu)建建一棵博弈樹樹?!緢D】象棋的4層博博弈弈樹樹博弈弈樹樹博弈弈樹樹上上的的搜搜索索數(shù)量量級(jí)級(jí)極極大大中國(guó)國(guó)象象棋棋,,平平均均一一次次40種走走法法,5層就就有有10^8個(gè)節(jié)節(jié)點(diǎn)點(diǎn)。。只能能向向下下搜搜索索幾幾層層為幾幾層層后后的的狀狀態(tài)態(tài)給給出出估估值值自下下而而上上依依次次對(duì)對(duì)每每個(gè)個(gè)狀狀態(tài)態(tài)進(jìn)進(jìn)行行估估值值極大大極極小小過過程程約定定雙雙方方都都用用最最好好的的策策略略把(甲方方得得分分-乙方方得得分分)作為為一一個(gè)個(gè)局局面面的的估估值值。。MAX/MIN節(jié)點(diǎn)點(diǎn)甲方方::在在子子節(jié)節(jié)點(diǎn)點(diǎn)中中選選擇擇估估值值最最大大的的節(jié)節(jié)點(diǎn)點(diǎn)(MAX)。即即Score(A)=Max{Ai|Ai∈∈F(A)}。乙方::在子子節(jié)點(diǎn)點(diǎn)中選選擇估估值最最小的的節(jié)點(diǎn)點(diǎn)(MIN)。即Score(B)=Min{Bi|Bi∈∈F(B)}?!緢D】一字棋棋極大大極小小過程程【圖】偽代碼碼(極大極極小算算法)負(fù)極大大值算算法極大極極小算算法的的改進(jìn)進(jìn)修改了了返回回估值值的符符號(hào)避免了了極大大極小小的交交替【圖】偽代碼碼(負(fù)負(fù)極大大值算算法))α-β剪枝α,β值MAX節(jié)點(diǎn)的的α值:當(dāng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度中藥材市場(chǎng)推廣與銷售代理協(xié)議
- 物流文化交流合作協(xié)議書(2篇)
- 二零二五年度商鋪轉(zhuǎn)租合同包括租賃期滿商鋪資產(chǎn)返還條款
- 物流合作模式協(xié)議書(2篇)
- 2025年度競(jìng)業(yè)禁止合同在知識(shí)產(chǎn)權(quán)密集型產(chǎn)業(yè)的應(yīng)用
- 二零二五年度裝卸工臨時(shí)用工安全生產(chǎn)責(zé)任追究協(xié)議
- 二零二五年度科技孵化器廠房租賃及支持服務(wù)合同
- 二零二五年度甲方因員工勞動(dòng)合同解除后競(jìng)業(yè)限制協(xié)議
- 二零二五年度股權(quán)激勵(lì)計(jì)劃下高管股權(quán)轉(zhuǎn)讓合同
- 二零二五年度運(yùn)動(dòng)品牌商標(biāo)授權(quán)及推廣協(xié)議
- 農(nóng)產(chǎn)品貯運(yùn)與加工考試題(附答案)
- 學(xué)校財(cái)務(wù)年終工作總結(jié)4
- 2025年人民教育出版社有限公司招聘筆試參考題庫(kù)含答案解析
- 康復(fù)醫(yī)學(xué)治療技術(shù)(士)復(fù)習(xí)題及答案
- 鋼鐵是怎樣煉成的鋼鐵讀書筆記
- 《血管性血友病》課件
- 2025年汽車加氣站作業(yè)人員安全全國(guó)考試題庫(kù)(含答案)
- 2024年司法考試完整真題及答案
- 高三日語一輪復(fù)習(xí)日語助詞「に」和「を」的全部用法課件
- 2024年山東省高考政治試卷真題(含答案逐題解析)
- 煙葉復(fù)烤能源管理
評(píng)論
0/150
提交評(píng)論