国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

A*算法求解迷宮尋路問題實驗

這篇具有很好參考價值的文章主要介紹了A*算法求解迷宮尋路問題實驗。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、實驗?zāi)繕耍?/strong>

熟悉和掌握A*算法實現(xiàn)迷宮尋路功能,要求掌握啟發(fā)式函數(shù)的編寫以及各類啟發(fā)式函數(shù)效果的比較。

二、實驗內(nèi)容與完成情況:

尋路問題常見于各類游戲中角色尋路、三維虛擬場景中運動目標的路徑規(guī)劃、機器人尋路等多個應(yīng)用領(lǐng)域。迷宮尋路問題是在以方格表示的地圖場景中,對于給定的起點、終點和障礙物(墻),如何找到一條從起點開始避開障礙物到達終點的最短路徑。

假設(shè)在一個n×m 的迷宮里,入口坐標和出口坐標分別為(1,1)和(5,5) ,每一個坐標點有兩種可能:0或1,其中0表示該位置允許通過,1表示該位置不允許通過。

如地圖:

0 0 0 0 0

1 0 1 0 1

0 0 1 1 1

0 1 0 0 0

0 0 0 1 0

最短路徑應(yīng)該是:

A B 0 0 0

1 C 1 0 1

E D 1 1 1

F 1 J K L

G H I 1 M

即:(1,1)-(1,2)-(2,2) -(3,2)-(3,1)-(4,1)-(5,1)-(5,2)-(5,3)-(4,3)-(4,4)-(4,5) -(5,5)

以尋路問題為例實現(xiàn)A昇法的水解程序(編程語言不限),要求設(shè)計兩種不同的估價函數(shù)。

實驗要求:

1.畫出用A”算法求解迷宮最短路徑的流程圖。

2.設(shè)置不同的地圖,以及不同的初始狀態(tài)和目標狀態(tài),記錄A`算法的求解結(jié)果,包括最短路徑、擴展節(jié)點數(shù)、生成節(jié)點數(shù)和算法運行時間。

3.對于相同的初始狀態(tài)和目標狀態(tài),設(shè)計不同的啟發(fā)式函數(shù),比較不同啟發(fā)式函數(shù)對迷宮尋路速度的提升效果,包括擴展節(jié)點數(shù)、生成節(jié)點數(shù)和算法運行時間。

三、實驗步驟與結(jié)果:

首先在5×5的地圖上實現(xiàn)A*算法:

1、根據(jù)A*算法的特點:f(n) = g(n) + h(n),需要設(shè)計兩個函數(shù)來滿足A*算法。

g(n)為起點到當(dāng)前點的距離

h(n)是對當(dāng)前方格到目的地方格距離的估算,估算方法設(shè)計兩種:

  • 曼哈頓距離
  • 歐幾里得距離

2、定義一個地圖

A*算法求解迷宮尋路問題實驗

3、創(chuàng)建Openlist和Closelist,由于在本實驗中,設(shè)定的移動方向只有上、下、左、右,所以第一步從起始點開始判斷。

將起始點放入Openlist和Closelist中,從起始點開始判斷其周圍可以到達的方格點,將當(dāng)前點從Openlist中移除,找到周圍f最小的方格點。

A*算法求解迷宮尋路問題實驗

將其放入Openlist中,然后將當(dāng)前點放入Closelist中,Closelist中的方格點不可再訪問,所以需要在更新函數(shù)上增加對周圍方格點是否在Closelist的判斷。

當(dāng)移動到f最小的點后,重復(fù)上述操作。

4、 5×5實驗結(jié)果如下:

采用歐幾里得距離時:

A*算法求解迷宮尋路問題實驗

采用曼哈頓距離時:

A*算法求解迷宮尋路問題實驗

通過實驗結(jié)果我們可以看到,在地圖為5×5大小時,擴展節(jié)點數(shù),生成節(jié)點數(shù)和算法時間沒有明顯的差距。

5、下面通過20×20的地圖進行比較:

???? A*算法求解迷宮尋路問題實驗

曼哈頓距離函數(shù):

A*算法求解迷宮尋路問題實驗

點的移動軌跡為:

[1,1]-->[2,1]-->[3,1]-->[4,1]-->[4,2]-->[4,3]-->[3,3]-->[3,4]-->[3,5]-->[4,5]-->[5,5]-->[6,5]-->[7,5]-->[8,5]-->[9,5]-->[9,6]-->[9,7]-->[9,8]-->[9,9]-->[9,10]-->[9,11]-->[10,11]-->[10,12]-->[10,13]-->[9,13]-->[9,14]-->[9,15]-->[10,15]-->[11,15]-->[12,15]-->[13,15]-->[13,14]-->[12,14]-->[12,13]-->[12,12]-->[12,11]-->[12,10]-->[12,9]-->[12,8]-->[12,7]-->[13,7]-->[14,7]-->[15,7]-->[16,7]-->[16,6]-->[16,5]-->[16,4]-->[17,4]-->[18,4]-->[19,4]-->[19,5]-->[19,6]-->[19,7]-->[20,7]-->[20,8]-->[19,8]-->[19,9]-->[18,9]-->[18,10]-->[18,11]-->[19,11]-->[19,12]-->[18,12]-->[18,13]-->[18,14]-->[19,14]-->[20,14]-->[20,15]-->[19,15]-->[19,16]-->[19,17]-->[18,17]-->[18,18]-->[18,19]-->[18,20]-->[19,20]-->[20,20]

歐幾里得函數(shù):

A*算法求解迷宮尋路問題實驗

點的移動軌跡為:

[1,1]-->[2,1]-->[3,1]-->[4,1]-->[4,2]-->[4,3]-->[3,3]-->[3,4]-->[3,5]-->[4,5]-->[5,5]-->[6,5]-->[6,6]-->[7,6]-->[7,7]-->[8,7]-->[8,8]-->[9,8]-->[9,9]-->[9,10]-->[9,11]-->[10,11]-->[10,12]-->[10,13]-->[9,13]-->[9,14]-->[9,15]-->[10,15]-->[11,15]-->[12,15]-->[13,15]-->[13,14]-->[12,14]-->[12,13]-->[12,12]-->[12,11]-->[12,10]-->[12,9]-->[12,8]-->[12,7]-->[13,7]-->[14,7]-->[15,7]-->[16,7]-->[16,6]-->[16,5]-->[16,4]-->[17,4]-->[18,4]-->[19,4]-->[19,5]-->[19,6]-->[19,7]-->[19,8]-->[19,9]-->[18,9]-->[18,10]-->[18,11]-->[18,12]-->[18,13]-->[18,14]-->[18,15]-->[18,16]-->[18,17]-->[18,18]-->[18,19]-->[18,20]-->[19,20]-->[20,20]

??通過比較我們可以得到,歐幾里得距離函數(shù)相對于曼哈頓函數(shù)來說,擴展的節(jié)點數(shù)以及生成的節(jié)點數(shù)都要更少,算法的運行時間也要比曼哈頓距離算法的時間要更短一些,總體來說歐幾里得距離算法比曼哈頓距離算法的性能要更好。文章來源地址http://www.zghlxwxcb.cn/news/detail-444443.html

到了這里,關(guān)于A*算法求解迷宮尋路問題實驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 模擬退火算法與遺傳算法求解多目標優(yōu)化問題的算法實現(xiàn)(數(shù)學(xué)建模)

    模擬退火算法與遺傳算法求解多目標優(yōu)化問題的算法實現(xiàn)(數(shù)學(xué)建模)

    模擬退火算法是一種全局優(yōu)化算法,解決的問題通常是找到一個最小化(或最大化)某個函數(shù)的全局最優(yōu)解。它通過模擬物理退火的過程來搜索解空間,在開始時以一定的溫度隨機生成初始解,然后一步步降低溫度,同時在當(dāng)前解的周圍隨機搜索新的解,并根據(jù)一定概率接受

    2024年02月02日
    瀏覽(27)
  • 【數(shù)據(jù)結(jié)構(gòu) 迷宮問題求解】棧的應(yīng)用|c語言|迷宮問題

    【數(shù)據(jù)結(jié)構(gòu) 迷宮問題求解】棧的應(yīng)用|c語言|迷宮問題

    親測可行: 使用藍橋杯比賽編譯器:DEV C++? 求迷宮中從入口到出口的路徑是一個經(jīng)典的程序設(shè)計問題,通常采用“窮舉求解”的方法,即順著某一方向向前探索,若能走通,則繼續(xù)往前走;否則原路返回,換一個方向繼續(xù)探索,直至所有可能的通路都探索到為止。 因此,在

    2024年02月08日
    瀏覽(21)
  • DFS求解迷宮問題

    DFS求解迷宮問題

    ? ?下面來具體分析一下算法的具體實現(xiàn) 首先要進行搜索,對搜索方向的順序規(guī)定為:右--下--左--上 ? 按照搜索順序從起點開始搜索,在搜索的過程中將已經(jīng)搜索過的位置設(shè)為已訪問,這樣我們就可以得到如下圖所示的一條路線。 在到達終點后要進行回溯,利用 回溯 找到其

    2024年02月11日
    瀏覽(18)
  • 人工智能導(dǎo)論——遺傳算法求解TSP問題實驗

    人工智能導(dǎo)論——遺傳算法求解TSP問題實驗

    一、實驗?zāi)康模?熟悉和掌握遺傳算法的原理、流程和編碼策略,并利用遺傳算法求解組合優(yōu)化問題,理解求解TSP問題的流程并測試主要參數(shù)對結(jié)果的影響。 二、實驗原理: 旅行商問題,即TSP問題(Traveling Salesman Problem)是數(shù)學(xué)領(lǐng)域中著名問題之一。假設(shè)有一個旅行商人要拜

    2023年04月13日
    瀏覽(23)
  • 人工智能原理實驗4(1)——遺傳算法、蟻群算法求解TSP問題

    人工智能原理實驗4(1)——遺傳算法、蟻群算法求解TSP問題

    TSP問題是組合數(shù)學(xué)中一個古老而又困難的問題,也是一個典型的組合優(yōu)化問題,現(xiàn)已歸入NP完備問題類。NP問題用窮舉法不能在有效時間內(nèi)求解,所以只能使用啟發(fā)式搜索。遺傳算法是求解此類問題比較實用、有效的方法之一。下面給出30個城市的位置信息: 應(yīng)用遺傳算法和蟻

    2024年01月24日
    瀏覽(22)
  • 算法 |【實驗5.2】1-深度優(yōu)先搜索暴力求解旅行商問題

    算法 |【實驗5.2】1-深度優(yōu)先搜索暴力求解旅行商問題

    商品推銷員要去n個城市推銷商品,城市從1至n編號,任意兩個城市間有一定距離,該推銷員從城市1出發(fā),需要經(jīng)過所有城市并回到城市1,求最短總路徑長度。 把旅行商問題看作一種排列問題,不難想出,這道題的蠻力做法即窮舉所有路線。選定起點有n種選法,選定起點后的

    2023年04月08日
    瀏覽(48)
  • 【人工智能】實驗三 A*算法求解八/十五數(shù)碼問題實驗與基礎(chǔ)知識

    【人工智能】實驗三 A*算法求解八/十五數(shù)碼問題實驗與基礎(chǔ)知識

    熟悉和掌握啟發(fā)式搜索的定義、估價函數(shù)和算法過程,并利用A*算法求解N數(shù)碼難題,理解求解流程和搜索順序。 以8數(shù)碼問題和15數(shù)碼問題為例實現(xiàn)A*算法的求解程序(編程語言不限)。 設(shè)計兩種不同的估價函數(shù)。 設(shè)置相同的初始狀態(tài)和目標狀態(tài),針對不同的估價函數(shù),求得

    2024年02月03日
    瀏覽(419)
  • 算法設(shè)計與分析實驗二:動態(tài)規(guī)劃法求解TSP問題和01背包問題

    算法設(shè)計與分析實驗二:動態(tài)規(guī)劃法求解TSP問題和01背包問題

    【實驗內(nèi)容】 (1)tsp問題:利用動態(tài)規(guī)劃算法編程求解TSP問題,并進行時間復(fù)雜性分析。 輸入:n個城市,權(quán)值,任選一個城市出發(fā); 輸出:以表格形式輸出結(jié)果,并給出向量解和最短路徑長度。 (2)01背包問題:利用動態(tài)規(guī)劃算法編程求解0-1背包問題,并進行時間復(fù)雜性分

    2024年02月03日
    瀏覽(20)
  • 用棧求解迷宮問題的所有路徑及最短路徑程序(純c語言)

    用棧求解迷宮問題的所有路徑及最短路徑程序(純c語言)

    參考了這個博客 學(xué)校作業(yè),在各種地方搜了半天,看別人的要么就是有點錯,要么就是很復(fù)雜用了不少我不知道的庫,還要么就是只求了一條路徑,還要么就是用了c++沒學(xué)過。 寫了半天,寫出了一個應(yīng)該是比較簡單的方法,應(yīng)該是還能優(yōu)化,不過作業(yè)能跑就行,懶得搞了。

    2023年04月12日
    瀏覽(19)
  • 【任務(wù)分配】多目標粒子群算法求解多無人機多任務(wù)路分配及路徑規(guī)劃(最短路程+最短時間)問題【含Matlab源碼 3522期】

    【任務(wù)分配】多目標粒子群算法求解多無人機多任務(wù)路分配及路徑規(guī)劃(最短路程+最短時間)問題【含Matlab源碼 3522期】

    1 粒子群算法 粒子群算法是智能算法領(lǐng)域中除蟻群算法、魚群算法又一個智能群體算法。 PSO算法首先在可行解空間中初始化一群粒子,每個粒子都代表極值優(yōu)化問題的一個潛在最優(yōu)解。粒子在解空間中運動,通過跟蹤個體極值Pbest和群體極值Gbest更新個體位置。 粒子每更新一次

    2024年02月04日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包