蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?
8 個回答
苏苏思量
2019-03-25

我在研究生期間就是做粒子群,蟻群以及學習自動機算法研究的,並且也主動了解過和上述算法相近的遺傳算法以及模擬退火算法。可以說,與普通算法比起來,題主說的這些算是人工智能算法,接下來我們通過介紹原理來說明為什麼它們屬於智能算法。

人工智能

人工智能是通過大量數據,通過確定不同的模型,分類規則進行學習,從而模擬人類的行為與思考,看起來就好像機器具有了人類的能力一樣。人工智能的基礎是數學,經濟學,計算機工程,控制論,語言學等等學科,被廣泛應用在生活中的方方面面。而人工智能算法的四大分支,目前公認的有模式識別,機器學習,數據挖掘以及智能算法。

那麼上面的算法的原理分別是什麼呢?

蟻群算法

蟻群算法的提出者是意大利人,他們發現單個螞蟻覓食的軌跡非常簡單,但是當群體行動的時候,卻可以表現出一種智能行為——螞蟻之間就會通過交流信息素來達到“即便不走遍全場,也知道東南方向沒有食物”這樣一個效果。這樣的過程如果抽象成數學其實就是用螞蟻的行走路徑表示待優化問題的最優解,而最優解自然就是最好的食物,在螞蟻的探索過程中,可以學習到其他螞蟻留下的信息素經驗(參數),達到(半)瞭解全場的效果。這樣的描述也許就清晰了,螞蟻將其它成員的經驗知識應用在自己的行為優化上,而且自己的行為又能影響全體,這就是一種智能算法。

蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

模擬退火算法

模擬退火算法的靈感來自固體退火原理,是一種與概率論息息相關的算法。它基於蒙特卡洛迭代求解策略的隨機尋優算法,假設從某一較高初溫出發,伴隨溫度不斷下降,利用概率突跳特性,在解空間中隨機尋找目標函數的全局最優解(相當於螞蟻找到最大最好吃的食物),與蟻群算法比起來,模擬退火算法的分子之間並沒有信息素的交流,更多的是依賴了數學經驗。由於其核心思想具有啟發式的特點,因此也算是一種智能算法。

蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

遺傳算法

遺傳算法就非常有趣了,它模擬達爾文生物進化論中的自然選擇與遺傳學中DNA的概念。從有代表問題解的種群開始,每個種群中的個體都有由不同的DNA決定,每次迭代都會盡量將父輩的優秀的DNA傳遞給下一代,同時又引入一定概率的基因突變,即保證了多樣性,實現了交叉與變異,產生下一代解集,通過多次迭代,不斷驅使解集像最優解靠攏。從這個描述中可以看出,遺傳算法也是具有啟發式的特點,通過不斷的自我優化,來模擬了高等生物的行為與思想。

蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

根據上面的介紹,想必大家都瞭解了為什麼這三個算法屬於人工智能算法了。如果你覺得有點啟發,歡迎給我點個贊或者留下你的評論。

我是蘇蘇思量,來自BAT的Java開發工程師,每日分享科技類見聞,歡迎關注我,與我共同進步。

日冲信息 黄
2019-10-11

我是人工智能的小白,不能告訴你這幾個算法是否是人工智能,不過碰巧多年前學習優化算法時,接觸過這些算法。在這裡分享幾個關於算法的故事吧。

貨郎擔問題

有個快遞小哥要跑遍全城送貨,您打算幫他規劃一條最短的路線。該怎麼做呢,最直接的辦法是窮舉法。羅列出所有可能的線路,計算出每條線路的距離,尋求最短的路徑。看起來很簡單吧。可是在實際的路網上,路線組合是非常多的。如果有15個目的地,組合的數量至少是15的階乘。更何況還要考慮路況,收費免費,時間段等各種條件的組合,這樣的計算量恐怕是量子計算機也不能在可接受的時間裡完成。這象是對條件不足多元方程組求解,要從無窮多的解中找出最接近期望值的解。於是,人們想出了許多快速逼近最優解的辦法。

螞蟻算法

螞蟻出來覓食時,先是向四面八方出動,發現食物的螞蟻會掉頭回來通知其它的螞蟻。接到通知的螞蟻就會向食物的方向移動。螞蟻移動時會在路線上留下氣味。這樣在通向食物的路線上氣味就越來越濃,後面的螞蟻不用直接接到信息,只要追著最濃的氣味就可以找到食物。人們受到這個現象的啟發,設立出來先按隨機條件計算,在小範圍內找到局部最優解之後,就為這些條件加分。一定時間後就圍繞著分數高的條件計算,不斷反覆後得到的解被當作近似最優解。這就是螞蟻算法的原理。

神經網絡

和螞蟻算法類似,人的記憶是通過神經元的突出建立起聯繫實現的。類似的刺激會使聯繫增強。達到一定刺激量之後,就可以形成長久的記憶。模仿這一過程,人們把各種約束條件當作神經元,隨機選取路線,輸入各種條件,當路徑傾向於縮短時,就按照權重給各條件加分,反之就給條件減分,然後,根據分數,以最有利於優化的條件為主重新選擇路線,反覆該過程直到達到邊界條件時,就認為得到了近似最優解。遺傳算法,模擬退火算法,也都是用一定的方法,縮小計算範圍,通過求局部最優解逼近最優解的。就不囉嗦了。

人工智能和優化算法

優化算法實際上是從早期人工智能的研究發展起來的,從這個意義上說,這些算法也可以說是人工智能吧。

傅渥成
2019-01-21

這依賴於對「人工智能算法」的定義,從廣義的角度來看,它們當然也都屬於人工智能的算法。「人工智能」這個詞的強調的是人類通過設計方法來達成智能的效果,而不是要求「通過用人類的方法來實現智能」,只要最後能實現看起來「智能」的效果,那麼用怎樣的算法其實是不重要的。例如一個分類問題,我們可以用神經網絡來實現,也可以用支持向量機實現,還可以用決策樹或者隨機森林來實現……如果這些方法都實現的是分類的同樣效果,那麼它們就都屬於人工智能的算法。

可能也有人會指出,這些算法與近年來大家提到的人工智能算法看起來有些不同,因為這些算法解決的問題都只是優化問題,這些優化問題與人工智能研究關心的問題之間仍然有一定的距離。事實上,優化問題是人工智能研究的基礎,在機器學習問題中,不管是監督學習還是無監督學習,都可能遇到各種優化問題(例如最小化損失函數,最大化互信息……),蟻群算法、遺傳算法和模擬退火算法就可以為這些優化問題提供解決方案。人工智能「算法」真正重要的一點就在於我們怎樣將看起來是「智能」的一些現象,翻譯成具體的「優化問題」。舉個例子來說,我們很可能需要用人工智能的方法來預測一些事情,「預測」看起來是一件很智能的事情,儘管預測問題本身很難解決,我們可以考慮將其變成變成「擬合」問題,然後把點到曲線的距離定義為損失,最小化這個損失函數。怎樣去最小化這個損失函數呢?那麼就可以採用蟻群算法、遺傳算法、模擬退火算法等等算法了。

镁客网
2019-10-11

是的。

通常我們總會把人工智能和看到的科幻電影聯繫在一起,比如終結者系列、黑客帝國系列以及星球大戰系列等,但是這些終究是科幻電影,並不是目前真實存在的,因此我們總覺得人工智能缺乏真實感。

無人汽車、機器人等人工智能的研發在近些年大火,但對於人工智能到底是什麼很多人是不清楚的,因此需要先梳理一下人工智能的定義,再來講講為啥蟻群算法、遺傳算法、模擬退火算法等真的是人工智能。

蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

人工智能是類人行為,類人思考,理性的思考,理性的行動。人工智能的基礎是哲學,數學,經濟學,神經科學,心理學,計算機工程,控制論,語言學。它是研究、開發用於模擬、延伸和擴展人的智能理論、方法、技術及應用系統的一門新興技術科學,是計算機科學的一個分支。

人工智能技術的四大分支分別是:模式識別,機器學習,數據挖掘,智能算法

蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

那麼答案出現了,我們人類通過提煉總結日常生活中的發現而衍生出了各種各樣的知識技術算法等。例如人們發現螞蟻沒有視覺卻能排成整齊的隊伍尋找食物並正確的走回家,於是提煉出了蟻群算法用於解決最優化問題;生物進化遵循著達爾文的“物競天擇,適者生存”的法則,也就是進化論,而遺傳算法正是通過研究我們繁衍後代過程中染色體的“選擇、交叉、變異、複製”歸納總結出一套優化算法,可以解決生活中工程中很多優化問題;模擬退火算法是貪心算法的一種,說出這個名字大家因該能猜出一二了,模擬退火算法正是根據人的性格結合金屬退火過程而提煉出來的一套貪婪算法。

因此,蟻群算法、遺傳算法、模擬退火算法等是人工智能,屬於人工智能中進行數據處理的算法分支。

WeisseZorn
2019-01-21

碩士時候研究過,現在改行計算數學課了。此類算法屬於群體智能算法,優勢是無論目標函數的凸和非凸,都可以求解。我推薦使用PSO即粒子群算法,該算法比遺傳算法具有更快的收斂速度,而且編程容易,基本PSO大概也就100行以內,如果循環部分用C Mex的話更快。群體智能的問題是後期容易發生早熟,從而陷入局部最優值。還有群體智能算法屬於仿生算法類,不像數值迭代方法比如牛頓法或隨機梯度下降可以利用Lipschitz 連續討論其收斂性。目前群體智能流行的還有蜂群,狼群,貓群算法,大同小異,但是差分進化比較好。國內幾個大牛推薦,華南理工的詹志輝和鄭州大學的Liang Jingjing 這兩位是IEEE TRANS. Evolution computation的副主編。歡迎留言討論。

螺旋桨飞机1
2019-02-02

專業的回答哦。前兩個都算人工智能,模擬退火算法不是。這個要從基本概念上講起,人工智能其實是從自動控制學科發展來的,按照自動控制學科的觀點,工業發展分為五個階段,第一是工業化,第二是機械化,第三自動化,第四最優化,第五智能化。手工業,人力畜力風車水輪,這些東西實現了最初的工業化,然後一聲巨響,蒸汽機出現了,這種新型動力推動我們進入了機械化,後來電被發現了,隨之而來的是電路,用電路實現對機械的控制,這就是自動化,自動化發展到PID,宣告成熟,之後的發展就是最優化,所謂最優化,就是保證這種方案是最優的,最快,最準確,最穩定,顯然PID並不滿足這個要求,於是各種算法應運而生,其中就包括模擬退火算法,也包括遺傳算法等,後來人們更加貪心了,人們覺得自己去找一個最優的方案,不如告訴機器如何確定一個最優的方案,能自己確定最優方案的機器就是人工智能,也就是智能化了,從最優化到智能化,最簡單的辦法就是找到一種最優化的方法,使它在多數情況下都適用,智能化就實現了。從學科的角度上講,智能化這裡包含的有三個內容,遺傳算法,神經網絡和模糊或者專家系統,蟻群算法和粒子群算法等都可以視作遺傳算法的發展變形,因此都屬於人工智能,模擬退火算法提出時還沒有人工智能這個概念,因此可能科學家覺得它比較老舊,不夠智能,停留在最優化的階段,不屬於人工智能。

不過時下,人工智能大紅大紫,大IP,把模擬退火算法等等尋優算法都歸進去也沒什麼不可以,從本質上它解決的問題和遺傳算法並沒有什麼區別,只不過從學科沿革上講,這是不嚴謹的。

另外來說,雖然現在人工智能抄的話題很熱,但工業中主流的解決方案還是PID,也就是仍然停留在自動化階段,連最優化都沒有達到,更別提智能化了。
蟻群算法、遺傳算法、模擬退火算法等真的是人工智能嗎?

已经工作的小硕士
2019-03-31

我是菜鳥玩家,剛入行AI。

其實,我覺得AI的本質思想就是仿生學+邏輯算法+代碼實現。

你所說的幾種東西都是第二部分。

举栗科技
2019-03-25

不能說某種算法本身就是人工智能,人工智能是由各種算法組合成的,和算法是包含關係;準確的說題上所述都是人工智能項目中的常用算法。

相關推薦

推薦中...