1. 元啟發式演算法和啟發式演算法有什麼區別
啟發式演算法與元啟發式演算法對區別在於是否存在「隨機因素」。 對一個同樣的問題,啟發式演算法(heuristics)只要給定了一個輸入,那麼演算法執行的步驟就固定下來了,輸出也因此固定,多次運算結果保持一致。
而元啟發式演算法(meta-heuristics)裡麵包括了隨機因素,如GA中的交叉因子,模擬退火中的metropolis准則,這些隨機因素也使得演算法有一定概率跳出局部最優解而去嘗試全局最優解,因此元啟發式演算法在固定的輸入下,而輸出是不固定的。
啟發式演算法(Heuristic Algorigthm)是一種基於直觀或經驗構造的演算法,在可接受的花費(指計算時間、計算空間等)給出待解決優化問題的每一實例的一個可行解,該可行解與與最優解的偏離程度一般不可以事先預計。
啟發式演算法是一種技術,這種演算法可以在可接受的計算費用內找到最好的解,但不一定能保證所得到解的可行性及最優性,甚至大多數情況下無法闡述所得解與最優解之間的近似程度。
元啟發式演算法(MetaHeuristic Algorigthm)是啟發式演算法的改進,它是隨機演算法與局部搜索演算法相結合的產物,常見的啟發式演算法包括遺傳演算法、模擬退火演算法、禁忌搜索演算法及神經網路演算法等。
新興的元啟發式演算法有、粒子群優化演算法、差分進化演算法,蟻群優化演算法、螢火蟲演算法、布穀鳥演算法、和聲搜索演算法、差分進化演算法、隨機蛙跳演算法、細菌覓食演算法、蝙蝠演算法的演算法等。
2. 根據心理學的研究結果,問題求解策略分為演算法式和啟發式兩大類,按照邏輯來求解問題的策略稱( )。
你好,
答案應該是「演算法式策略」。啟發式策略是一種按照經驗推論的思維策略。
3. 有關啟發式演算法(Heuristic Algorithm)的一些總結
節選自維基網路:
啟發法 ( heuristics ,源自古希臘語的εὑρίσκω,又譯作:策略法、助發現法、啟發力、捷思法)是指 依據有限的知識 (或「不完整的信息」)在短時間內找到問題解決方案的一種技術。
它是一種依據 關於系統的有限認知 和 假說 從而得到關於此系統的結論的分析行為。由此得到的解決方案有可能會偏離最佳方案。通過與最佳方案的對比,可以確保啟發法的質量。
計算機科學的兩大基礎目標,就是 發現可證明其運行效率良好 且可 得最佳解或次佳解 的演算法。
而啟發式演算法則 試圖一次提供一個或全部目標 。例如它常能發現很不錯的解, 但也沒辦法證明它不會得到較壞的解 ; 它通常可在合理時間解出答案,但也沒辦法知道它是否每次都可以這樣的速度求解。
有時候人們會發現在某些特殊情況下,啟發式演算法會得到很壞的答案或效率極差, 然而造成那些特殊情況的數據結構,也許永遠不會在現實世界出現 。
因此現實世界中啟發式演算法很常用來解決問題。啟發式演算法處理許多實際問題時通常可以在合理時間內得到不錯的答案。
有一類的 通用啟發式策略稱為元啟發式演算法(metaheuristic) ,通常使用隨機數搜索技巧。他們可以應用在非常廣泛的問題上,但不能保證效率。
節選自網路:
啟發式演算法可以這樣定義:一個 基於直觀或經驗構造 的演算法, 在 可接受的花費(指計算時間和空間)下給出待解決組合優化問題每一個實例的一個可行解 , 該可行解與最優解的偏離程度一般不能被預計。 現階段,啟發式演算法以仿自然體演算法為主,主要有蟻群演算法、模擬退火法、神經網路等。
目前比較通用的啟發式演算法一般有模擬退火演算法(SA)、遺傳演算法(GA)、蟻群演算法(ACO)。
模擬退火演算法(Simulated Annealing, SA)的思想借鑒於固體的退火原理,當固體的溫度很高的時候,內能比較大,固體的內部粒子處於快速無序運動,當溫度慢慢降低的過程中,固體的內能減小,粒子的慢慢趨於有序,最終,當固體處於常溫時,內能達到最小,此時,粒子最為穩定。模擬退火演算法便是基於這樣的原理設計而成。
求解給定函數的最小值:其中,0<=x<=100,給定任意y的值,求解x為多少的時候,F(x)最小?
遺傳演算法(Genetic Algorithm, GA)起源於對生物系統所進行的計算機模擬研究。它是模仿自然界生物進化機制發展起來的隨機全局搜索和優化方法,借鑒了達爾文的進化論和孟德爾的遺傳學說。其本質是一種 高效、並行、全局搜索 的方法,能在搜索過程中自動獲取和積累有關搜索空間的知識,並 自適應 地控制搜索過程以求得最佳解。
給定一組五個基因,每一個基因可以保存一個二進制值 0 或 1。這里的適應度是基因組中 1 的數量。如果基因組內共有五個 1,則該個體適應度達到最大值。如果基因組內沒有 1,那麼個體的適應度達到最小值。該遺傳演算法希望 最大化適應度 ,並提供適應度達到最大的個體所組成的群體。
想像有一隻螞蟻找到了食物,那麼它就需要將這個食物待會螞蟻穴。對於這只螞蟻來說,它並不知道應該怎麼回到螞蟻穴。
這只螞蟻有可能會隨機選擇一條路線,這條路可能路程比較遠,但是這只螞蟻在這條路上留下了記號(一種化學物質,信息素)。如果這只螞蟻繼續不停地搬運食物的時候,有其它許多螞蟻一起搬運的話,它們總會有運氣好的時候走到更快返回螞蟻穴的路線。當螞蟻選擇的路線越優,相同時間內螞蟻往返的次數就會越多,這樣就在這條路上留下了更多的信息素。
這時候,螞蟻們就會選擇一些路徑上信息素越濃的,這些路徑就是較優的路徑。當螞蟻們不斷重復這個過程,螞蟻們就會更多地向更濃的信息素的路徑上偏移,這樣最終會確定一條路徑,這條路徑就是最優路徑。
4. 啟發式演算法的特點是什麼呢
啟發式演算法的特點是在理論上沒有精確的行為的分析,或者可以表明存在很壞的輸入,在這些輸入上運行很慢
5. 演算法式策略和啟發式策略在哪一章
屬於第2章。
最常見的啟發式的問題解決策略,著名心理學家阿莫斯·特韋爾斯基和丹尼爾·卡尼曼發現主要可以有兩個來代表:一個是叫做代表性的啟發式,另外一個叫做可用性的啟發式。
代表性的啟發式講的是通常用一些特別鮮明的形象,來幫助我們做出思維和判斷;另外一個啟發式問題解決的方法,就是可用性的啟發式,任何信息如果很快的進到我們的大腦里頭,我們就會充分地使用這樣的信息。
分類
現代啟發式演算法的各種具體實現方法是相對獨立提出的,相互之間有一定的區別。從歷史上看,現代啟發式演算法主要有:模擬退火演算法(SA)、遺傳演算法(GA)、列表搜索演算法(ST)、進化規劃(EP)、進化策略(ES)、蟻群演算法(ACA)、人工神經網路(ANN)。如果從決策變數編碼方案的不同來考慮,可以有固定長度的編碼(靜態編碼)和可變長度的編碼(動態編碼)兩種方案。
6. 什麼是啟發式演算法
大自然是神奇的,它造就了很多巧妙的手段和運行機制。受大自然的啟發,人們從大自然的運行規律中找到了許多解決實際問題的方法。對於那些受大自然的運行規律或者面向具體問題的經驗、規則啟發出來的方法,人們常常稱之為啟發式演算法(Heuristic Algorithm)。現在的啟發式演算法也不是全部來自然的規律,也有來自人類積累的工作經驗。 駕駛汽車到達某人的家,寫成演算法是這樣的:沿167 號高速公路往南行至陽谷;從陽谷高速出口出來後往山上開4.5 英里;在一個雜物店旁邊的紅綠燈路口右轉,接著在第一個路口左轉;從左邊褐色大房子的車道進去,就是某人的家。 啟發式方法來描述則可能是這樣:找出上一次我們寄給你的信,照著信上面的寄出地址開車到這個鎮;到了之後你問一下我們的房子在哪裡。這里每個人都認識我們——肯定有人會很願意幫助你的;如果你找不到人,那就找個公共電話亭給我們打電話,我們會出來接你。
7. 演算法式與啟發式屬於哪一章
屬於第2章。
在計算機科學與運籌學,近似演算法是指用來發現近似方法來解決優化問題的演算法。近似演算法通常與NP-hard問題相關,由於不可能有效的多項式時間精確算來解決NP-hard問題,所以一個求解多項式時間次優解。
啟發式演算法可以這樣定義:一個基於直觀或經驗構造的演算法,在可接受的花費(指計算時間和空間)下給出待解決組合優化問題每一個實例的一個可行解,該可行解與最優解的偏離程度一般不能被預計。現階段,啟發式演算法以仿自然體演算法為主,主要有蟻群演算法、模擬退火法、神經網路等。
啟發式
指 「自我發現的能力」或「運用某種方式或方法去判定事物的知識和技能」, 是殺毒軟體能夠分析文件代碼的邏輯結構是否含有惡意程序特徵,或者通過在一個虛擬的安全環境中前攝性的執行代碼來判斷其是否有惡意行為。在業界前者被稱為靜態代碼分析,後者被成為動態虛擬機。
8. 深度學習演算法與啟發式演算法的區別
演算法導向不同,包含內容不同。
深度學習演算法包含回歸演算法,基於實例的演算法,正則化方法,貝葉斯方法,人工神經網路五類演算法。啟發式演算法通常是以問題為導向的(ProblemSpecific),也就是說,沒有一個通用的框架,每個不同的問題通常設計一個不同的啟發式演算法,通常被用來解組合優化問題。
9. 近似演算法和啟發式演算法的區別與聯系
在計算機科學與運籌學,近似演算法是指用來發現近似方法來解決優化問題的演算法。近似演算法通常與NP-hard問題相關; 由於不可能有效的多項式時間精確算來解決NP-hard問題,所以一個求解多項式時間次優解。與啟發式演算法不同,通常只能找到合理的解決方案相當快速,需要可證明的解決方案質量和可證明的運行時間范圍。理想情況下,近似值最優可達到一個小的常數因子(例如在最優解的5%以內)。近似演算法越來越多地用於已知精確多項式時間演算法但由於輸入大小而過於昂貴的問題。
啟發式演算法(heuristic algorithm)是相對於最優化演算法提出的。一個問題的最優演算法求得該問題每個實例的最優解。啟發式演算法可以這樣定義:一個基於直觀或經驗構造的演算法,在可接受的花費(指計算時間和空間)下給出待解決組合優化問題每一個實例的一個可行解,該可行解與最優解的偏離程度一般不能被預計。現階段,啟發式演算法以仿自然體演算法為主,主要有蟻群演算法、模擬退火法、神經網路等。
10. 什麼是啟發式演算法(轉)
它並不告訴你該如何直接從A點到達B點,它甚至可能連A點和B點在哪裡都不知道。實際上,啟發式方法是穿著小丑兒外套的演算法:它的結果不太好預測,也更有趣,但不會給你什麼30 天無效退款的保證。 駕駛汽車到達某人的家,寫成演算法是這樣的:沿167 號高速公路往南行至Puyallup;從SouthHillMall出口出來後往山上開4.5 英里;在一個雜物店旁邊的紅綠燈路口右轉,接著在第一個路口左轉;從左邊褐色大房子的車道進去,就是NorthCedar路714號。 用啟發式方法來描述則可能是這樣:找出上一次我們寄給你的信,照著信上面的寄出地址開車到這個鎮;到了之後你問一下我們的房子在哪裡。這里每個人都認識我們——肯定有人會很願意幫助你的;如果你找不到人,那就找個公共電話亭給我們打電話,我們會出來接你。 從上面的啟發式演算法的解釋可以看出,啟發式演算法的難點是建立符合實際問題的一系列啟發式規則。