導航:首頁 > 源碼編譯 > 啟發式演算法的特點是

啟發式演算法的特點是

發布時間:2022-11-28 03:18:06

① 啟發式演算法介紹 啟發式演算法簡介

1、啟發式演算法(heuristic algorithm)是相對於最優化演算法提出的。一個問題的最優演算法求得該問題每個實例的最優解。

2、啟發式演算法可以這樣定義:一個基於直觀或經驗構造的演算法,在可接受的花費(指計算時間和空間)下給出待解決組合優化問題每一個實例的一個可行解,該可行解與最優解的偏離程度一般不能被預計。現階段,啟發式演算法以仿自然體演算法為主,主要有蟻群演算法、模擬退火法、神經網路等。

② 採用准確優化技術和啟發式優化技術解決一個問題會存在什麼不同

採用准確優化技術和啟發式優化技術解決一個問題會存在的不同之處:

①確定性演算法和隨機性演算法是目前求解優化問題的方法。隨機性演算法一般是對社會行為和自然現象的模擬,具有對優化函數的解析性質要求低的特點,甚至對無顯示解析表達式的問題也可以求解,能較好解決優化中的雜訊、不可微、高維等問題。

②啟發式演算法作為隨機性演算法的一種,其良好的應用更加快了人們對各種優化方法的探索腳步。 近些年來不斷有學者將分形應用於優化中來,試圖運用分形思想來處理復雜的優化問題。

③其中,分形演算法通過對可行域的分形分割來尋優,是一種新穎的確定性演算法,但其局限性較大,只適用於低維簡單的問題,對於當今社會中高維復雜問題則幾乎無能為力,也使得該演算法的影響力微乎其微。

④啟發式技術是基於特徵值掃描技術上的升級,與傳統反病毒特徵值掃描技術相比,優點在於對未知病毒的防禦.是特徵值識別技術質的飛躍。


(2)啟發式演算法的特點是擴展閱讀

啟發式:簡化虛擬機和簡化行為判斷引擎的結合 Heuristic(啟發式技術=啟發式掃描+啟發式監控) 重點在於特徵值識別技術上的更新、解決單一特徵碼比對的缺陷.目的不在於檢測所有的未知病毒,只是對特徵值掃描技術的補充.主要針對:木馬、間諜、後門、下載者、已知病毒(PE病毒)的變種。

一、啟發式發展方向

現代啟發式演算法的研究,在理論方面還處於不斷發展中,新思想和新方法仍不斷出現。分析目前的現狀和發展方向,其發展方向有如下幾個方面:

①整理歸納分散的研究成果,建立統一的演算法體系結構。

②在現有的數學方法(模式定理、編碼策略、馬爾可夫鏈理論、維數分析理論、復制遺傳演算法理論、二次動力系統理論、傅立葉分析理論、分離函數理論、Walsh函數分析理論)的基礎上尋求新的數學工具。

③開發新的混合式演算法及開展現有演算法改進方面的研究。

④研究高效並行或分布式優化演算法。

二、啟發式演算法演算法機制特點

現代啟發式演算法在優化機制方面存在一定的差異,但在優化流程上卻具有較大的相似性,均是一種「鄰域搜索」結構。演算法都是從一個(一組)初始解出發,在演算法的關鍵參數的控制下通過鄰域函數產生若干鄰域解,按准則(確定性、概率性或混沌方式)更新當前狀態,而後按關鍵參數修改准則調整關鍵參數,一直優化到最優結果。

③ 深度學習演算法與啟發式演算法的區別

演算法導向不同,包含內容不同。
深度學習演算法包含回歸演算法,基於實例的演算法,正則化方法,貝葉斯方法,人工神經網路五類演算法。啟發式演算法通常是以問題為導向的(ProblemSpecific),也就是說,沒有一個通用的框架,每個不同的問題通常設計一個不同的啟發式演算法,通常被用來解組合優化問題。

④ 計算復雜性理論的理論與實踐

計算復雜性的初衷是理解不同演算法問題的難度,特別的是一些重要演算法問題的困難性。為了確切的描述一個問題的困難性,計算復雜性的第一步抽象是認為多項式時間是有效的,非多項式時間是困難的。這基於指數函數增長速度的「違反直覺」的特性:如果一個演算法的時間復雜性為2,取輸入的規模是100,在運算速度是10每秒(關於CPU速度,參見Instructions per second,其中報告截止2009年,主流個人電腦的運算速度可以看作是每秒

的情況下,該程序將會運行年,幾乎是宇宙年齡。這為多項式時間被看作是有效時間提供了直觀上的證據。
然而多項式的指數很大的時候,演算法在實踐中也不能看作是有效的。如n的多項式演算法,取問題規模大小為1000,那麼幾乎就是2的大小。另一方面,即便一個問題沒有多項式演算法,它可能會有近似比很好的近似演算法(參見近似演算法),或有很好的啟發式演算法(heuristics)。啟發式演算法的特點是在理論上沒有精確的行為的分析,或者可以表明存在很壞的輸入,在這些輸入上運行很慢。然而在大多數時候,它都能快速解決問題。計算復雜性中對應的理論分析是平均復雜性理論(average-case complexity theory)和光滑分析(smooth analysis)。實際中的例子包括en:Presburger arithmetic、布爾可滿足性問題(參見SAT solver)和背包問題。

⑤ 元啟發式演算法和啟發式演算法有什麼區別

啟發式演算法與元啟發式演算法對區別在於是否存在「隨機因素」。 對一個同樣的問題,啟發式演算法(heuristics)只要給定了一個輸入,那麼演算法執行的步驟就固定下來了,輸出也因此固定,多次運算結果保持一致。

而元啟發式演算法(meta-heuristics)裡麵包括了隨機因素,如GA中的交叉因子,模擬退火中的metropolis准則,這些隨機因素也使得演算法有一定概率跳出局部最優解而去嘗試全局最優解,因此元啟發式演算法在固定的輸入下,而輸出是不固定的。

啟發式演算法(Heuristic Algorigthm)是一種基於直觀或經驗構造的演算法,在可接受的花費(指計算時間、計算空間等)給出待解決優化問題的每一實例的一個可行解,該可行解與與最優解的偏離程度一般不可以事先預計。

啟發式演算法是一種技術,這種演算法可以在可接受的計算費用內找到最好的解,但不一定能保證所得到解的可行性及最優性,甚至大多數情況下無法闡述所得解與最優解之間的近似程度。

元啟發式演算法(MetaHeuristic Algorigthm)是啟發式演算法的改進,它是隨機演算法與局部搜索演算法相結合的產物,常見的啟發式演算法包括遺傳演算法、模擬退火演算法、禁忌搜索演算法及神經網路演算法等。

新興的元啟發式演算法有、粒子群優化演算法、差分進化演算法,蟻群優化演算法、螢火蟲演算法、布穀鳥演算法、和聲搜索演算法、差分進化演算法、隨機蛙跳演算法、細菌覓食演算法、蝙蝠演算法的演算法等。

⑥ 在什麼樣的情境下,人們喜歡用啟發法解決問題,並舉例說明

針對模型求解方法而言的,一種逐次逼近最優解的方法,這種方法對所求得的解進行反復判斷實踐修正直至滿意為止。啟發法的特點是模型簡單,需要進行方案組合的個數少,因此便於找出最終答案。此方法雖不能保證得到最優解,但只要處理得當,可獲得決策者滿意的近似最優解。

一般步驟包括:定義一個計算總費用的方法;報定判別准則;規定方案改選的途徑;建立相應的模型;送代求解。



(6)啟發式演算法的特點是擴展閱讀

計算機科學的兩大基礎目標,就是發現可證明其執行效率良好且可得最佳解或次佳解的演算法。而啟發式演算法則試圖一次提供一或全部目標。 例如它常能發現很不錯的解,但也沒辦法證明它不會得到較壞的解;它通常可在合理時間解出答案,但也沒辦法知道它是否每次都可以這樣的速度求解。

有時候人們會發現在某些特殊情況下,啟發式演算法會得到很壞的答案或效率極差,然而造成那些特殊情況的數據組合,也許永遠不會在現實世界出現。因此現實世界中啟發式演算法常用來解決問題。啟發式演算法處理許多實際問題時通常可以在合理時間內得到不錯的答案。

⑦ 對 啟發式演算法的理解

啟發式演算法是一種能在可接受的費用內尋找最好的解的技術,但不一定能保證所得解的可行性和最優性,甚至在多數情況下,無法闡述所得解同最優解的近似程度

⑧ 啟發式演算法

什麼是演算法?從枚舉到貪心再到啟發式(上)
目標 :要優化的東西
決策 :根據目標做出的決策
約束 :進行決策時必須遵循的條件
算例 :問題參數的具體化

枚舉法 :將問題所有的解一一枚舉出來,挨個去評價,選出最好的那個
1.枚舉法能夠找到問題的最優解
2.枚舉法求解時間隨問題規模增長而呈爆炸式增長

貪心法 :利用「構造」的方式生成解,速度相對而言會非常快,同時不會隨著問題規模的增長而大幅度增加,是平緩的線性增長
什麼是演算法?從枚舉到貪心再到啟發式(下)
啟發式演算法 :在一個合理的求解資源范圍內(合理的時間,合理的內存開銷等)求得一個較為滿意的解。目前主要包括鄰域搜索和群體仿生兩大類。
解空間 :所有該問題的解的集合,包括可行解和不可行解
局部搜索 :不完全遍歷解空間,只選擇一部分進行遍歷,進而大大降低搜索需要的資源。為了提高局部搜索的質量,大部分局部搜索演算法都會在搜索的時候不斷地抓取多個區域進行搜索,直到滿足演算法終止條件。
鄰域 :在鄰域結構定義下的解的集合,它是一個相對的概念,即鄰域肯定是基於某個解產生的
鄰居解 :鄰域內某個解的稱呼
鄰域結構 :定義了一個解的鄰域
鄰域結構的設計在啟發式演算法中非常重要,它直接決定了搜索的范圍,對最終的搜索結構有著重要的影響,直接決定了最終結果質量的好壞
搜索過程

不斷重復步驟2-步驟5,直到滿足終止條件,最後輸出全局最優解

所有的啟發式找到的都是滿意解,不能說是最優解(即便真的是),因為它遍歷的是解空間的局部。
一般情況下,啟發式演算法的時間是隨著問題規模增長而呈線性增長的
干貨 | 想學習優化演算法,不知從何學起?
鄰域搜索類
迭代局部搜索演算法
模擬退火演算法
變鄰域搜索演算法
禁忌搜索
自適應大鄰域搜索
群體仿生類
遺傳演算法
蟻群演算法
粒子群演算法
人工魚群演算法
演算法應用
禁忌搜索演算法求解帶時間窗的車輛路徑問題
基於樹表示法的變鄰域搜索演算法求解考慮後進先出的取派貨旅行商問題
變鄰域搜索演算法求解Max-Mean dispersion problem
遺傳演算法求解混合流水車間調度問題

⑨ 什麼是啟發式演算法(轉)

啟發式方法(試探法)是一種幫你尋求答案的技術,但它給出的答案是具有偶然性的(subjecttochance),因為啟發式方法僅僅告訴你該如何去找,而沒有告訴你要找什麼。它並不告訴你該如何直接從A點到達B點,它甚至可能連A點和B點在哪裡都不知道。實際上,啟發式方法是穿著小丑兒外套的演算法:它的結果不太好預測,也更有趣,但不會給你什麼30
天無效退款的保證。
駕駛汽車到達某人的家,寫成演算法是這樣的:沿167
號高速公路往南行至Puyallup;從SouthHillMall出口出來後往山上開4.5
英里;在一個雜物店旁邊的紅綠燈路口右轉,接著在第一個路口左轉;從左邊褐色大房子的車道進去,就是NorthCedar路714號。
用啟發式方法來描述則可能是這樣:找出上一次我們寄給你的信,照著信上面的寄出地址開車到這個鎮;到了之後你問一下我們的房子在哪裡。這里每個人都認識我們——肯定有人會很願意幫助你的;如果你找不到人,那就找個公共電話亭給我們打電話,我們會出來接你。
從上面的啟發式演算法的解釋可以看出,啟發式演算法的難點是建立符合實際問題的一系列啟發式規則。啟發式演算法的優點在於它比盲目型的搜索法要高效,一個經過仔細設計的啟發函數,往往在很快的時間內就可得到一個搜索問題的最優解,對於NP問題,亦可在多項式時間內得到一個較優解。

⑩ 有關啟發式演算法(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,那麼個體的適應度達到最小值。該遺傳演算法希望 最大化適應度 ,並提供適應度達到最大的個體所組成的群體。

想像有一隻螞蟻找到了食物,那麼它就需要將這個食物待會螞蟻穴。對於這只螞蟻來說,它並不知道應該怎麼回到螞蟻穴。

這只螞蟻有可能會隨機選擇一條路線,這條路可能路程比較遠,但是這只螞蟻在這條路上留下了記號(一種化學物質,信息素)。如果這只螞蟻繼續不停地搬運食物的時候,有其它許多螞蟻一起搬運的話,它們總會有運氣好的時候走到更快返回螞蟻穴的路線。當螞蟻選擇的路線越優,相同時間內螞蟻往返的次數就會越多,這樣就在這條路上留下了更多的信息素。

這時候,螞蟻們就會選擇一些路徑上信息素越濃的,這些路徑就是較優的路徑。當螞蟻們不斷重復這個過程,螞蟻們就會更多地向更濃的信息素的路徑上偏移,這樣最終會確定一條路徑,這條路徑就是最優路徑。

閱讀全文

與啟發式演算法的特點是相關的資料

熱點內容
app易語言post怎麼學 瀏覽:963
地梁的箍筋加密區位置 瀏覽:300
二分法排序程序及編譯結果 瀏覽:677
日語命令形和禁止型 瀏覽:283
安裝軟體用管理員解壓 瀏覽:503
編譯原理代碼塊 瀏覽:398
小孩可以用壓縮面膜嗎 瀏覽:12
錐形倒角怎麼計演算法 瀏覽:880
java合並鏈表 瀏覽:505
pic單片機編譯器 瀏覽:803
麗水四軸加工中心編程 瀏覽:689
國產系統怎麼解壓 瀏覽:552
戰雙程序員 瀏覽:483
him觸摸編程軟體 瀏覽:931
植物大戰僵屍存檔怎麼轉移安卓 瀏覽:852
java棧的元素 瀏覽:737
程序員與籃球事件 瀏覽:676
app反編譯不完整 瀏覽:789
電腦上的文件夾怎麼調整 瀏覽:8
伺服器無響應是什麼原因呀 瀏覽:985