行業(yè)產(chǎn)品

  • 行業(yè)產(chǎn)品

杭州藍芯科技有限公司


當前位置:杭州藍芯科技有限公司>技術文章>準確高效 藍芯科技給您推薦路徑搜索

經(jīng)營模式:生產(chǎn)廠家

商鋪產(chǎn)品:200條

所在地區(qū):浙江杭州市

聯(lián)系人:方女士 (市場部)

技術文章

準確高效 藍芯科技給您推薦路徑搜索

閱讀:1608發(fā)布時間:2019-12-4

引言

正所謂在家靠父母,出門靠高德。在那錯綜復雜的工廠里,我們的機器人哪怕視力驚人,也沒辦法一眼看到目的地。為了準確又高效的把貨物送到目的地,小藍(杭州藍芯科技有限公司簡稱)只能祭出殺招了,那就是----搜索算法。在路徑搜索問題中,搜索算法可以生成一個精確的優(yōu)解,按照搜索邏輯不同,可以分為深度優(yōu)先法和廣度優(yōu)先法。但是,在實際工程上會使用一些近似算法去解決路徑搜索問題,主要分為啟發(fā)式搜索的A*、D*、Focused D*算法和準啟發(fā)式搜索的退火、進化、蟻群優(yōu)化算法。本文通過介紹啟發(fā)式搜索的A*算法和準啟發(fā)式搜索的遺傳進化算法,讓大家感受這兩類算法的特色與魅力。

 

A*算法

A*算法作為經(jīng)典啟發(fā)式搜索算法,正廣泛運用于智能機器人、無人駕駛等領域。詳細來說,A*算法是一種靜態(tài)路網(wǎng)中求解短路徑有效的直接搜索方法,也是許多其他問題的常用啟發(fā)式算法。從公式上的描述是:
f(n)=g(n)+h(n),
f(n) 是從初始狀態(tài)經(jīng)由狀態(tài)n到目標狀態(tài)的代價估計,
g(n) 是在狀態(tài)空間中從初始狀態(tài)到狀態(tài)n的實際代價,
h(n) 是從狀態(tài)n到目標狀態(tài)的低的估計代價。

那么什么是代價呢,為了便于理解,你可以直接認為這里的代價就是距離。假設如圖1中場景,小藍要從出發(fā)點begin到目標點end,該如何選擇路線呢?首先從出發(fā)點開始,可以選擇去a點,也可以選擇去d點。那么究竟去哪個點更合適呢?d點說了,我到目標點的直線距離是4.5,出發(fā)點到我距離是2,近預估總距離只要6.5,選我選我~。a點輕蔑的一笑道:我到目標點的直線距離是4,出發(fā)點到我的距離只要1.5,近的預估總距離只要5.5。于是小藍立馬投向了a點的懷抱。

那么機智的小藍下一步該怎么走呢,小藍只能從a點出發(fā),去往*的目的地b點,掐指一算,已經(jīng)走過的距離是3.5,到目標點的直線距離是2,總距離還是5.5。小藍輕輕瞟了一眼躲在角落懷揣6.5的d點,二話不說向b點奔去。

到了b點以后,抬頭一看,下面只有c點。到了c點以后,已經(jīng)走過的距離變成了6.5,到目標點的直線距離是4,總距離一下子變成了10.5。于是小藍深情的看著d點已經(jīng)它手中的6.5的牌牌,留下了悔恨的淚水。俗話說,浪子回頭金不換,d點也接受了小藍,讓他可以重新開始。

重新選擇了從d點出發(fā)的小藍,抬頭望向了e點。嗯很好,到e點實際距離也只有5,到目標點的直線距離是2,總距離也只有7。又回憶起c點的10.5的預估距離,小藍不禁一陣后怕。

到達e點,小藍便見到了金光閃閃的終點二字。這便結束了么?不,如今的小藍已經(jīng)可以稱得上是一個lao江湖了,萬一后是一段望山跑死馬的遠路,豈不是得虧虧虧死…于是再次打起了自己的小算盤,e點到終點的距離是2,那么走過的總距離是7,掰掰手指頭就知道比途徑c點更近。于是小藍便方向大膽的邁向了終點,獲取了一條低代價的路徑。

這就是一次A*搜索的全部過程啦。為了加深大家的記憶,小藍決定再次祭出學習A*算法之*組圖,看看在棋盤格地圖中,小藍是如何進行A*路徑搜索滴。

 

 

 

 

 

 

 

 

 

 

進化算法

進化算法也是在人工智能領域中用于解決優(yōu)化問題的一種準啟發(fā)式搜索算法。進化算法的思想?yún)⒖剂松锝绲倪z傳進化理論,讓達爾文爺爺?shù)乃枷霃耐愣诡I域出發(fā),進軍計算機領域。簡單來說,進化算法將優(yōu)化問題的解(特征值集合)表示為一個編碼串,稱為個體或者染色體,個體中的每一位,就叫做基因。那么很多個體就可以組成一個種群。進化算法同樣借鑒了生物學中的遺傳/突變/自然選擇以及雜交等。

那么進化算法是如何為后路徑搜索服務的呢,小藍通過遺傳算法進行舉例說明,假設下圖中,小藍要從0點出發(fā)到15點。
 

 

那么首先要對該圖進行整理,也就是編碼過程,編碼表格如下所示:

 

 

然后檢查兩點之間是否可達,形成路徑連接表,如下表所示:

 

 

這樣就可以通過適應度函數(shù)進行路徑評估了,不可達的路徑的適應度為0。適應度函數(shù)表達如下所示:

 

 

這樣,通過添加隨機數(shù),并加入首尾后,就能生成一群初始化群體了。生成初始化群體以后,小藍就萬事俱備,開始遺傳啦。遺傳過程如下圖所示,通過選擇,交叉和變異產(chǎn)生新的群體,然后按照適應度進行篩選,通過重采樣的方式留下適應度高的個體,進行下一輪的計算。

 

 

看到想加幾個就加幾個的基因,故而遺傳算法是可以同時對多個可行解進行搜索。同時還允許使用非常復雜的適應度函數(shù),還能對變量的變化范圍加以限制。但是很遺憾的是,遺傳算法目前都還沒有一個很完美的數(shù)學解釋,所以遺傳算法還是非??简炍覀兇a農(nóng)的技術滴。

總結

到這里又要和大家說拜拜啦,通過介紹啟發(fā)式搜索中的A*算法和準啟發(fā)式搜索的遺傳進化算法后,想必大家對路徑搜索方法已經(jīng)有所了解了。其實類似的方法很多,同樣方法的下變化也很多,在實際工程應用中要結合實際情況,進行靈活選擇和調(diào)整。這才是我們工程師存在的意義啊~

 

本文屬于純原創(chuàng)文章,轉載請注明杭州藍芯科技有限公司


農(nóng)機網(wǎng) 設計制作,未經(jīng)允許翻錄必究 .? ? ? Copyright(C)?2021 http://epigene.com.cn,All rights reserved.

以上信息由企業(yè)自行提供,信息內(nèi)容的真實性、準確性和合法性由相關企業(yè)負責,農(nóng)機網(wǎng)對此不承擔任何保證責任。 溫馨提示:為規(guī)避購買風險,建議您在購買產(chǎn)品前務必確認供應商資質(zhì)及產(chǎn)品質(zhì)量。

會員登錄

×

請輸入賬號

請輸入密碼

=

請輸驗證碼

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~