首頁 >後端開發 >php教程 >PHP寫遺傳演算法

PHP寫遺傳演算法

不言
不言原創
2018-04-26 16:51:072297瀏覽

這篇文章主要介紹了PHP寫遺傳演算法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

本文嘗試用PHP語言寫遺傳演算法

遺傳演算法的具體介紹,請自行搜索,本文也沒有完全按照網路上的寫法做,作者水平有限,使用的中間演算法也都不太高明,請各位帶著批評看文章。

本文所採用的遺傳演算法步驟
- ①初始族群
- ②淘汰
- ③交叉
- ④變異
- ⑤重建族群並迭代②-④步
- ⑥畫圖等額外操作







# #第一節故事前情與演算法梗概

一、故事前情
本文引入某大神關於扇貝的故事,PHP程式碼大致也是這麼寫的。 某海灘上有一群扇貝無憂無慮的生活著,上帝閒來無事派bob過來用遺傳算法整這群扇貝,bob來了之後,給扇貝提了要求:
①你們只能有16個扇貝,每一代我要殺死2個,哪2個貝殼上的圖案最不像谷歌瀏覽器圖標我就殺誰;②剩餘的14個中有4個扇貝兩兩結合生2個孩子,再湊夠16個,如此循環;
這些扇貝很是苦惱啊,可是又有什麼辦法呢,一些扇貝離開了,之後正好留下來16個,就是這些扇貝,創造了後來的chrome扇貝。 二、演算法梗概
遺傳演算法模擬達爾文孟德斯鳩這類神人的遺傳學規律,對族群進行篩選,繁殖,變異,如此經過多代,即可培育出那些符合規則的目標。 遺傳演算法的
第一步是要建立初始族群,初始族群可以是隨機建立的,例如故事中最開始的16個扇貝。 第二步是建立淘汰機制,也就是篩選程序,為此我們為扇貝增加一個適應度屬性,也就是扇貝背上的圖案,與我們的chrome圖標有多像,這裡的適應度計算標準為,像素點4通道差值(絕對值)總和,4通道包含透明通道。
本文嘗試用PHP語言編寫遺傳演算法遺傳演算法的具體介紹,請自行搜索,本文也沒有完全按照網路上的寫法做,作者水平有限,使用的中間演算法也都不太高明,請各位帶著批評看文章。

本文所採用的遺傳演算法步驟

-

①初始族群

-
②淘汰

-

③交叉

-

④變異

-
⑤重建族群並迭代②-④步

-

⑥畫圖等額外操作

#################################################### #第一節故事前情與演算法梗概######一、故事前情######本文引入某大神關於扇貝的故事,PHP程式碼大致也是這麼寫的。 ###某海灘上有一群扇貝無憂無慮的生活著,上帝閒來無事派bob過來用遺傳算法整這群扇貝,bob來了之後,給扇貝提了要求:###①你們只能有16個扇貝,每一代我要殺死2個,哪2個貝殼上的圖案最不像谷歌瀏覽器圖標我就殺誰;######②剩餘的14個中有4個扇貝兩兩結合生2個孩子,再湊夠16個,如此循環;###這些扇貝很是苦惱啊,可是又有什麼辦法呢,一些扇貝離開了,之後正好留下來16個,就是這些扇貝,創造了後來的chrome扇貝。 ######二、演算法梗概######遺傳演算法模擬達爾文孟德斯鳩這類神人的遺傳學規律,對族群進行篩選,繁殖,變異,如此經過多代,即可培育出那些符合規則的目標。 ###遺傳演算法的 ###第一步是要建立初始族群,初始族群可以是隨機建立的,例如故事中最開始的16個扇貝。 ###第二步是建立淘汰機制,也就是篩選程序,為此我們為扇貝增加一個適應度屬性,也就是扇貝背上的圖案,與我們的chrome圖標有多像,這裡的適應度計算標準為,像素點4通道差值(絕對值)總和,4通道包含透明通道。 ######相關推薦:#########PHP實作KMP演算法#######

以上是PHP寫遺傳演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn