91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種優(yōu)化的方法:記憶化搜索

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:小K算法 ? 作者:小K ? 2022-06-14 10:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 故事起源有一天小K去滑雪,雪山高低不平,當(dāng)然小K只能從高的地方向低的地方滑,那如何選擇路線才能滑的最遠(yuǎn)呢? 把這個問題抽象描述如下:

在一個二維地圖中,數(shù)值代表此處山的高度,在某個點只能滑向上下左右4個相鄰的點,最遠(yuǎn)的滑行路線,也就等價于找出一條最長的數(shù)值下降路線。

比如下圖中的紅色路線就是此時最長的一條路線,長度為10。那要如何找出這樣的一條路線呢?
64a37f7a-eb88-11ec-ba43-dac502259ad0.jpg ? ?02 分析在每個點上,只能向周圍4個方向滑行,當(dāng)然前提是此處的高度必須比周圍高。 64b7b616-eb88-11ec-ba43-dac502259ad0.jpg ?我們當(dāng)然可以選擇盡可能高的位置出發(fā),比如圖中17比15要高。 64ff5ffc-eb88-11ec-ba43-dac502259ad0.jpg ?但這種有可能會陷入局部最優(yōu)解,比如從下圖中的15開始,最大長度為2。而從13開始會更優(yōu),長度為5。 65127cb8-eb88-11ec-ba43-dac502259ad0.jpg ?所以啟示我們,不能簡單的貪心,而是要考慮全局最優(yōu),因為每一個起點都有可能是最優(yōu)的起點。
那就有了初步的框架了,從每一個起點出發(fā),把可行的路線都找出來,也就是能走的路線都走一遍,再比較全局最優(yōu)的就行了,而且這也正好符合深搜的算法框架。偽代碼

			intfind(inti,intj){  //向4個方向嘗試  for(i=0->3){  if(ok){  returnfind(next)+1  } } } intmain(){  for(i=0->n){  for(j=0->m) {  t=find(i,j)  ans=max(ans,t)  }  } }
			
									03
									問題上面的做法可以得到最優(yōu)解,但有一個問題。如下例,以15為起點的時候,會嘗試把6->5->4->3->2->1走一遍。但以16為起點的時候,還會嘗試把這條路線走一遍,這就會導(dǎo)致大量的重復(fù)計算。
			653bb826-eb88-11ec-ba43-dac502259ad0.jpg
			?那能不能優(yōu)化呢? 之所以重復(fù)計算,是因為每一次嘗試都是重新的開始,它并不知道這條路已經(jīng)走過了,也就是沒有記憶,所以我們引入一種優(yōu)化的方法,就是記憶化搜索。
			
									04
									記憶化搜索可以引入一個f[i][j]數(shù)組,記錄以(i,j)為起點所能找到的最長路線的長度,初始賦值為-1,表示還沒有走過。
			6544aac6-eb88-11ec-ba43-dac502259ad0.jpg
			?當(dāng)走過一點,就將對應(yīng)的f[i][j]更新為以(i,j)為起點的最大長度。 再回到上面的問題,因為之前肯定走過了(2,3),對應(yīng)的f[2][3]為6,當(dāng)嘗試從(2,4)出發(fā)時,會發(fā)現(xiàn)周圍已經(jīng)走過了,只需要更新當(dāng)前的值+1即可,就避免了重復(fù)計算。
			659bca36-eb88-11ec-ba43-dac502259ad0.jpg
			?
									?05
									代碼實現(xiàn)路線搜索

			intfind(vector<vector<int>>&snowMountain,vector<vector<int>>&f,inti,intj,intr,intc){ intx,y; if(f[i][j]!=-1) returnf[i][j]; f[i][j]=1; for(intk=0;k4;k++){ x=i+direction[k][0]; y=j+direction[k][1]; //validdirection if(x>=0&&x=0&&ysnowMountain[x][y]){ f[i][j]=maxOfTwo(f[i][j],find(snowMountain,f,x,y,r,c)+1); } } returnf[i][j]; }main函數(shù)

			intmain(){ ifstreamfin("a.in"); ofstreamfout("a.out"); inti,j,r,c,maxHeight=0; fin>>r>>c; vector<vector<int>>snowMountain(r,vector<int>(c,0)); vector<vector<int>>f(r,vector<int>(c,-1)); for(i=0;ifor(j=0;j>snowMountain[i][j]; for(i=0;ifor(j=0;jendl; fin.close(); fout.close(); return0; }
			
									06
									總結(jié)記憶化搜索是一種非常實用的算法,因為深搜用遞歸很容易實現(xiàn),記憶化又避免了重復(fù)子問題的計算,提高了運行效率。 這其實就是動態(tài)規(guī)劃的思想,常見的動態(tài)規(guī)劃用遞推實現(xiàn),相比記憶化搜索實現(xiàn)上會更難一點,而記憶化搜索就沒有這個問題。 算法的適用場景也需要根據(jù)具體的問題來分析,一般常用在地圖或者樹型結(jié)構(gòu)中。
			
			審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4784

    瀏覽量

    98103
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4970

    瀏覽量

    74019

原文標(biāo)題:啥是記憶化搜索?

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    淘寶搜索API:關(guān)鍵詞優(yōu)化工具,提升曝光率!

    搜索API的使用、關(guān)鍵詞優(yōu)化原理、工具開發(fā)方法以及實際應(yīng)用策略,幫助您高效提升曝光率。 1. 淘寶搜索API概述 淘寶搜索API是淘寶開放平
    的頭像 發(fā)表于 01-05 15:38 ?208次閱讀
    淘寶<b class='flag-5'>搜索</b>API:關(guān)鍵詞<b class='flag-5'>優(yōu)化</b>工具,提升曝光率!

    指令集測試的一種糾錯方法

    本文描述在進行指令集測試的一種糾錯方法 1.打開測試指令集對應(yīng)的dump文件 dump文件是指由匯編文件進行反匯編之后,可以供人閱讀指令的反匯編文件。其包含了每條指令的具體操作的信息。指令集測試
    發(fā)表于 10-24 14:04

    搜索商品ID獲取商品詳情接口

    ? ?在電商平臺或庫存管理系統(tǒng)中,通過商品ID快速搜索并獲取商品詳情是項核心功能。該接口允許用戶或應(yīng)用程序輸入唯的商品標(biāo)識符(ID),返回結(jié)構(gòu)數(shù)據(jù)如名稱、價格、庫存等。本文將逐步
    的頭像 發(fā)表于 10-20 15:46 ?609次閱讀
    <b class='flag-5'>搜索</b>商品ID獲取商品詳情接口

    京東:利用商品管理API自動調(diào)整商品上下架狀態(tài),優(yōu)化搜索排名

    ? 京東:利用商品管理API自動調(diào)整商品上下架狀態(tài),優(yōu)化搜索排名 在電商運營中,高效管理商品狀態(tài)是提升銷售的關(guān)鍵。京東作為領(lǐng)先的電商平臺,提供了強大的商品管理API,允許商家通過編程方式自動操作
    的頭像 發(fā)表于 09-08 16:09 ?1167次閱讀
    京東:利用商品管理API自動調(diào)整商品上下架狀態(tài),<b class='flag-5'>優(yōu)化</b><b class='flag-5'>搜索</b>排名

    一種無序超均勻固體器件的網(wǎng)格優(yōu)化方法

    近日,天津大學(xué)精密儀器與光電子工程學(xué)院的光子芯片實驗室研發(fā)了一種無序超均勻固體器件的網(wǎng)格優(yōu)化方法,成果獲中國發(fā)明專利(ZL202410659505.2)授權(quán)。
    的頭像 發(fā)表于 07-28 16:10 ?972次閱讀
    <b class='flag-5'>一種</b>無序超均勻固體器件的網(wǎng)格<b class='flag-5'>優(yōu)化</b><b class='flag-5'>方法</b>

    產(chǎn)品搜索與過濾API接口

    這些功能。本文將詳細(xì)介紹其原理、設(shè)計實現(xiàn)和實際應(yīng)用,幫助您逐步構(gòu)建可靠的API系統(tǒng)。 1. 什么是產(chǎn)品搜索與過濾API接口 產(chǎn)品搜索與過濾API接口是一種基于HTTP的接口,允許客戶端發(fā)送請求來查詢產(chǎn)品數(shù)據(jù),并根據(jù)特定條件篩選結(jié)
    的頭像 發(fā)表于 07-24 14:35 ?573次閱讀
    產(chǎn)品<b class='flag-5'>搜索</b>與過濾API接口

    根據(jù)標(biāo)題利用API優(yōu)化電商搜索功能:提升轉(zhuǎn)化率

    ? 在電商平臺中,搜索功能是用戶發(fā)現(xiàn)商品的核心入口。個高效的搜索系統(tǒng)不僅能提升用戶體驗,還能顯著提高轉(zhuǎn)化率——即用戶從搜索到實際購買的比率。然而,傳統(tǒng)
    的頭像 發(fā)表于 07-21 16:23 ?583次閱讀
    根據(jù)標(biāo)題利用API<b class='flag-5'>優(yōu)化</b>電商<b class='flag-5'>搜索</b>功能:提升轉(zhuǎn)化率

    一種高效智能的光伏電站管理平臺

    一體化(集成多種儲能管理功能等)。用戶根據(jù)自身場景和需求,選擇合適光伏電站管理平臺及功能應(yīng)用配置,從而實現(xiàn)發(fā)電效率最大化、運維成本最小及碳中和目標(biāo)。 光伏電站管理平臺作為一種智能光伏管理系統(tǒng),通過光伏智能管理
    的頭像 發(fā)表于 07-18 09:20 ?1096次閱讀
    <b class='flag-5'>一種</b>高效智能的光伏電站管理平臺

    一種環(huán)保型紅色發(fā)煙彈主裝藥配方設(shè)計與優(yōu)化

    (DSC)的功能,能夠在同實驗條件下同時獲得樣品的質(zhì)量變化和熱流信息。一種環(huán)保型紅色發(fā)煙彈主裝藥配方設(shè)計與優(yōu)化【(1、武警工程大學(xué)研究生大隊2、武警工程大學(xué)裝備
    的頭像 發(fā)表于 07-07 15:56 ?484次閱讀
    <b class='flag-5'>一種</b>環(huán)保型紅色發(fā)煙彈主裝藥配方設(shè)計與<b class='flag-5'>優(yōu)化</b>

    無刷直流電機滑模觀測器參數(shù)優(yōu)化設(shè)計方法

    摘要:滑模反電勢觀測器的增益參數(shù)會影響觀測器的收斂速度以及動態(tài)響應(yīng)性能,常見的設(shè)計方法是基于觀測器穩(wěn)定性理論進行設(shè)計。提出一種利用遺傳算法在穩(wěn)定域內(nèi)搜索觀測誤差最小的增益參數(shù)的新方法,
    發(fā)表于 06-27 16:48

    漢思新材料取得一種PCB板封裝膠及其制備方法的專利

    漢思新材料取得一種PCB板封裝膠及其制備方法的專利漢思新材料(深圳市漢思新材料科技有限公司)于2023年取得了項關(guān)于PCB板封裝膠及其制備方法的發(fā)明專利(專利號:CN20231015
    的頭像 發(fā)表于 06-27 14:30 ?773次閱讀
    漢思新材料取得<b class='flag-5'>一種</b>PCB板封裝膠及其制備<b class='flag-5'>方法</b>的專利

    Pea Puffer非球面:周長優(yōu)化的非球面CCP拋光

    摘要 : 一種用于小直徑非球面 CCP 拋光的新概念,稱為Pea Puffer非球面,能夠生成那些對于大多數(shù) CCP 拋光方法來說孔徑太小的非球面。Pea Puffer方法能夠在工業(yè)中以高質(zhì)量
    發(fā)表于 05-09 08:48

    記憶示波器校準(zhǔn)儀能校準(zhǔn)哪些參數(shù)?

    記憶示波器校準(zhǔn)儀是一種綜合性電子計量標(biāo)準(zhǔn)儀器,能夠校準(zhǔn)記憶示波器的多項關(guān)鍵參數(shù),主要包括以下方面:1. 垂直系統(tǒng)參數(shù) 幅度校準(zhǔn):通過標(biāo)準(zhǔn)信號源輸出精確電壓,校準(zhǔn)示波器的垂直靈敏度,確保幅度測量準(zhǔn)確
    發(fā)表于 04-11 14:05

    一種分段氣隙的CLLC變換器平面變壓器設(shè)計

    氣隙設(shè)計的優(yōu)點。 目錄1 概述2 一種分段氣隙的CLLC平面變壓器設(shè)計3 實驗驗證4 參考文獻 1 概述學(xué)者們從LLC拓?fù)湓?、新型器件、改進拓?fù)?、先進調(diào)制方法、諧振參數(shù)優(yōu)化方法、磁性
    發(fā)表于 03-27 13:57

    一種永磁電機用轉(zhuǎn)子組件制作方法

    一種永磁電機所使用的轉(zhuǎn)子組件,是由磁鋼與芯軸組裝而成,產(chǎn)品工作轉(zhuǎn)速80 000 r /mi n,磁鋼相對于芯軸的同軸度要小于O.015 mm?,F(xiàn)有的裝配方法是:先在芯軸兩端面制作中心孔,然后直接
    發(fā)表于 03-25 15:20