人工智能十大算法 搜索的概念是什么?列舉幾個(gè)常見(jiàn)的搜索算法?
搜索的概念是什么?列舉幾個(gè)常見(jiàn)的搜索算法?搜索算法是利用計(jì)算機(jī)的高性能,有目的地窮盡問(wèn)題解空間中某些或全部可能的情況,從而找到問(wèn)題的解的一種方法。目前有枚舉算法、深度優(yōu)先搜索、廣度優(yōu)先搜索、a*算法、
搜索的概念是什么?列舉幾個(gè)常見(jiàn)的搜索算法?
搜索算法是利用計(jì)算機(jī)的高性能,有目的地窮盡問(wèn)題解空間中某些或全部可能的情況,從而找到問(wèn)題的解的一種方法。目前有枚舉算法、深度優(yōu)先搜索、廣度優(yōu)先搜索、a*算法、回溯算法、蒙特卡羅樹(shù)搜索、哈希函數(shù)等。在大規(guī)模實(shí)驗(yàn)環(huán)境中,通常在搜索前根據(jù)條件縮小搜索規(guī)模;根據(jù)問(wèn)題的約束條件進(jìn)行剪枝;在搜索過(guò)程中使用中間解,避免重復(fù)計(jì)算。
什么是禁忌搜索算法?
為了找到“全局最優(yōu)解”,我們不應(yīng)該拘泥于某個(gè)特定的區(qū)域。局部搜索的缺點(diǎn)是對(duì)局部區(qū)域及其鄰域的搜索過(guò)于貪婪,導(dǎo)致了盲目搜索。禁忌搜索是有意識(shí)地避開(kāi)局部最優(yōu)解的一部分(但不是完全孤立的),從而獲得更多的搜索間隔。當(dāng)兔子們找到泰山時(shí),其中一只會(huì)呆在這里,另一只會(huì)去別的地方。就這樣,繞了一大圈后,對(duì)比發(fā)現(xiàn)的幾座山峰,珠穆朗瑪峰脫穎而出。
當(dāng)兔子再次尋找它時(shí),他們通常會(huì)有意識(shí)地避開(kāi)泰山,因?yàn)樗麄冎浪麄円呀?jīng)在這里尋找過(guò)了,而且有一只兔子在看。這就是禁忌搜索中禁忌列表的含義。留在泰山的兔子通常不會(huì)在那里定居。一段時(shí)間后,它會(huì)回到部隊(duì)尋找最高峰,因?yàn)檫@個(gè)時(shí)候有很多新的消息。畢竟,臺(tái)山的高度不錯(cuò),這需要重新考慮。這種返回時(shí)間在禁忌搜索中稱為“禁忌長(zhǎng)度”,如果在搜索過(guò)程中,留在泰山的兔子還沒(méi)有回到隊(duì)伍中,但找到的地方都是華北平原等地勢(shì)相對(duì)較低的地方,兔子就要考慮再次選擇泰山,也就是說(shuō),當(dāng)一個(gè)有兔子的地方過(guò)于優(yōu)越于“最好所以”時(shí),“遠(yuǎn)”的狀態(tài)意味著我們可以考慮這個(gè)地方,不管是否有兔子留下來(lái)。這就是所謂的“赦免標(biāo)準(zhǔn)”。這三個(gè)概念是禁忌搜索與一般搜索準(zhǔn)則最大的區(qū)別,算法的優(yōu)化也是這里的關(guān)鍵。
搜索算法中,A算法A*算法的區(qū)別(急)?
算法通常指搜索算法的簡(jiǎn)單思想。A*是指采用啟發(fā)式搜索后的算法,即運(yùn)算速度會(huì)快得多,但可能無(wú)法保證最終的最優(yōu)解
1。順序搜索條件:無(wú)序或有序隊(duì)列。原則:按順序比較每個(gè)元素,直到找到關(guān)鍵字。時(shí)間復(fù)雜度:O(n)二進(jìn)制搜索(半搜索)條件:有序數(shù)組原則:搜索過(guò)程從數(shù)組的中間元素開(kāi)始。如果中間元素正好是要搜索的元素,則搜索過(guò)程結(jié)束。如果某個(gè)特定元素大于或小于中間元素,則該元素位于數(shù)組中大于或小于中間元素的那一半,然后按開(kāi)始時(shí)所做的那樣從中間元素進(jìn)行比較。如果某個(gè)步驟中的數(shù)組為空,則表示找不到它。這種搜索算法每次比較將搜索范圍縮小一半。時(shí)間復(fù)雜度:O(logn)3。哈希表(Hash table)條件:首先創(chuàng)建一個(gè)哈希表(Hash table)原則:根據(jù)鍵值進(jìn)行搜索,通過(guò)Hash函數(shù)定位數(shù)據(jù)元素。時(shí)間復(fù)雜度:幾乎為o(1),取決于沖突的數(shù)量。