想入門遺傳演算法,書也買了,就是很疑惑市面上講解遺傳演算法的教材都是基於Matlab而非Python的?

時間 2021-05-29 23:01:45

1樓:Genepolymorphism

你去了解學科體系的發展,那麼就清楚是為什麼了。遺傳演算法屬於運籌學和最優化理論的範疇,實際運用在工程和管理領域,比如自動化下面的控制學領域。理工科中matlab早已建立了堅實的應用和市場。

不同領域圈子都有屬於他們自己的文化,包括工具的使用。比如統計學使用R,工程學科使用matlab,數學使用mathematica。而python在這次的蓬勃得意於機器學習深度學習發展浪潮,兩者屬於不同領域,即使兩者有交叉甚至仔細看區別也沒那麼大。

至於為什麼機器學習社群會選擇python,有其自身發展的功能性上的原因也有時代背景機遇也有人的因素。

2樓:Elias Huang

遺傳演算法本質上還是乙個優化問題,而這方面正是matlab的強項,matlab還有遺傳演算法工具箱,做起來很方便。

Python的也有啊,我覺得要更深入的理解遺傳演算法而不是只停留在用的層次上,可以自己用Python實現一遍遺傳演算法,本科乙個課程的大作業就是這。

3樓:李生

遺傳演算法(Genetic Algorithm, GA)起源於對生物系統所進行的計算機模擬研究。它是模仿自然界生物進化機制發展起來的隨機全域性搜尋和優化方法,借鑑了達爾文的演化論和孟德爾的遺傳學說。其本質是一種高效、並行、全域性搜尋的方法,能在搜尋過程中自動獲取和積累有關搜尋空間的知識,並自適應地控制搜尋過程以求得最佳解。

理解了遺傳演算法都會使用什麼數學工具之後,你也應該理解了對於函式視覺化,空間分布視覺化的重要性,和對解題的啟發性。Matlab是乙個整合了大量數學和幾何函式視覺化工具的視覺化互動式軟體。python是乙個鬆散的程式語言,視覺化是借助jupyter matplotlib這些第三方庫,也需要編碼獲得。

所以當你需要集中大量精力解決全域性搜尋和最優解的時候,最好在公式求解到視覺化就好了,中間加一道程式設計工作,對於大部分科學和研究人來說,不是什麼好事。當然總會有奇葩和例外,但是大體上Matlab是研發工具軟體,python是通用指令碼語言,當我們談論學習遺傳演算法的時候,Matlab優勢明顯。

MATLAB中的遺傳演算法如何實現

渣男自然卷 遺傳演算法 Genetic Algorithm 是模擬自然界生物進化機制的一種演算法,即遵循適者生存 優勝劣汰的法則,也就是尋優過程中有用的保留無用的去除。在科學和生產實踐中表現為,在所有可能的解決方法中找出最符合該題所要求的的條件的解決方法。及找出乙個最優解。遺傳操作就是模擬生物基因的...

蟻群演算法,遺傳演算法,模擬退火演算法等真的是人工智慧嗎?

CYan 模擬退火和人工智慧有什麼關係?人工智慧難道不是機器具有了學習能力?那麼乙個解決旅行商問題的騙分演算法,和人工智慧有半毛錢關係嗎?你怕不是對資訊學奧林匹克競賽和人工智慧有誤解。還有你所說的這些演算法,依我之見,基本都是數學,要麼是離散數學,或者其他。而且這並不高大上,爬山演算法只是貪心,其他...

遺傳演算法真的比窮舉法好嗎?

jerry chen GA屬於一種meta heuristic演算法。不嚴格的說,對於meta heuristics演算法,其最重要的是思想,即搜尋過程中如何diversification 搜尋空間多樣化 和intensification 如何強化搜尋 不管哪種元啟發示演算法,都是以一定的方式去實現...