PHP寫遺傳演算法

來源:互聯網
上載者:User

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

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

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

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

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

一、故事前情

本文引入某大神關於扇貝的故事,PHP代碼大致也是這麼寫的。
某海灘上有一群扇貝無憂慮的生活著,上帝閑來無事派bob過來用遺傳演算法整這群扇貝,bob來了之後,給扇貝提了要求:
①你們只能有16個扇貝,每一代我要殺死2個,哪2個貝殼上的圖案最不像Google瀏覽器表徵圖我就殺誰;

②剩餘的14個中有4個扇貝兩兩結合生2個孩子,再湊夠16個,如此迴圈;
這些扇貝很是苦惱啊,可是又有什麼辦法呢,一些扇貝離開了,之後正好留下來16個,就是這些扇貝,創造了後來的chrome扇貝。

二、演算法梗概

遺傳演算法類比達爾文孟德斯鳩這類神人的遺傳學規律,對種群進行篩選,繁殖,變異,如此經過多代,即可培育出那些符合規則的目標。
遺傳演算法的
第一步是要建立初始種群,初始種群可以是隨機建立的,比如故事中最開始的16個扇貝。
第二步是建立淘汰機制,也就是篩選程式,為此我們為扇貝增加一個適應度屬性,也就是扇貝背上的圖案,與我們的chrome表徵圖有多像,這裡的適應度計算標準為,像素點4通道差值(絕對值)之和,4通道包含透明通道。

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

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

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

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

一、故事前情

本文引入某大神關於扇貝的故事,PHP代碼大致也是這麼寫的。
某海灘上有一群扇貝無憂慮的生活著,上帝閑來無事派bob過來用遺傳演算法整這群扇貝,bob來了之後,給扇貝提了要求:
①你們只能有16個扇貝,每一代我要殺死2個,哪2個貝殼上的圖案最不像Google瀏覽器表徵圖我就殺誰;

②剩餘的14個中有4個扇貝兩兩結合生2個孩子,再湊夠16個,如此迴圈;
這些扇貝很是苦惱啊,可是又有什麼辦法呢,一些扇貝離開了,之後正好留下來16個,就是這些扇貝,創造了後來的chrome扇貝。

二、演算法梗概

遺傳演算法類比達爾文孟德斯鳩這類神人的遺傳學規律,對種群進行篩選,繁殖,變異,如此經過多代,即可培育出那些符合規則的目標。
遺傳演算法的
第一步是要建立初始種群,初始種群可以是隨機建立的,比如故事中最開始的16個扇貝。
第二步是建立淘汰機制,也就是篩選程式,為此我們為扇貝增加一個適應度屬性,也就是扇貝背上的圖案,與我們的chrome表徵圖有多像,這裡的適應度計算標準為,像素點4通道差值(絕對值)之和,4通道包含透明通道。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.