è·é›¢ä¸Šæ¬¡ä»‹ç´¹åŸºå› æ¼”ç®—æ³•çš„ç¬¬ä¸€ç¯‡å·²ç¶“å¥½ä¹…äº†ï¼Œé‡æ–°å›žé¡§æ‰ç™¼ç¾ä¸¦æ²’有在技巧上é¢èªªæ˜Žå¾—很清楚,所以打算å†ç¹¼çºŒé€™å€‹ä¸»é¡Œï¼ŒæŠŠåŸºå› 演算法åšä¸€å€‹å®Œæ•´çš„介紹…
如果您ä¸çŸ¥é“åŸºå› æ¼”ç®—æ³•æ˜¯ä»€éº¼ï¼Œå»ºè°æ‚¨å¯ä»¥å…ˆåƒè€ƒä¸Šä¸€ç¯‡ã€‚
å…ˆå‰æåˆ°åŸºå› æ¼”ç®—æ³•çš„åŸºæœ¬æ¦‚å¿µï¼Œä½†æ˜¯è¦æ€Žéº¼å¯«ç¨‹å¼å‘¢ï¼Ÿé¦–å…ˆæˆ‘å€‘å…ˆä¾†æŽ¢è¨ŽåŸºå› æ¼”ç®—æ³•çš„å¹¾å€‹åŸºæœ¬å…ƒç´ ã€‚
ç¬¬ä¸€å€‹æ˜¯åŸºå› ï¼›æ²’æœ‰åŸºå› ä¾†ç•¶ä½œåª’ä»‹ï¼Œæˆ‘å€‘æ²’æœ‰è¾¦æ³•é€²è¡ŒåŸºå› æ¼”ç®—æ³•ï¼Œä½†æ˜¯è¦æ€Žéº¼è¡¨ç¾åŸºå› 呢?以電腦世界而言,最常見的就是 0 å’Œ 1 的組åˆå½¢æˆçš„"Bit String",例如:0010 就是一個四個ä½å…ƒçš„ bit string。用四個ä½å…ƒå°±å¯ä»¥è¡¨ç¾å‡ºåå…ç¨®åŸºå› çµ„åˆï¼Œè€Œä¸åŒçš„åŸºå› çµ„åˆåˆå¯ä»¥å°ç…§åˆ°ä¸åŒçš„"表ç¾åž‹"上,例如第一個 bit 表示é¡è‰²ã€ç¬¬äºŒå€‹ bit 表示長度,第三個 bit 表示色調ç‰ç‰ã€‚
é™¤äº†å›ºå®šé•·åº¦çš„åŸºå› ä¹‹å¤–ï¼Œä¹Ÿå¯ä»¥æŽ¡ç”¨ä¸å®šé•·åº¦çš„åŸºå› ï¼›ä¾‹å¦‚ï¼Œå‡å¦‚è¦ç”¨è‹±æ–‡å—測試是å¦èƒ½å¤ 演化出一本莎士比亞全集,就å¯ä»¥æŽ¡ç”¨ä¸å®šé•·åº¦çš„åŸºå› ï¼Œè®“èŽŽå£«æ¯”äºžå…¨é›†ç”±æœ€æ—©çš„è‹±æ–‡å–®å—逿¼¸é•·åˆ°åŽšåŽšæ•¸æœ¬æ›¸é€™éº¼å¤§ã€‚
利用é©åˆçš„åŸºå› è¡¨é”æ–¹å¼ï¼Œæ‰èƒ½å¤ 讓å•é¡Œæ›´å®¹æ˜“åˆ©ç”¨æ¼”åŒ–çš„æ–¹å¼æ‰¾åˆ°è§£ç”。如果å•題本身ä¸é©åˆç”¨å›ºå®šé•·åº¦ä¾†è¡¨é”,就å¯ä»¥è€ƒæ…®ç”¨ä¸å®šé•·åº¦çš„åŸºå› ï¼›ç›¸å°çš„,如果å•題本身ä¸éœ€è¦ä¸å®šé•·åº¦å°±å¯ä»¥è§£æ±ºï¼Œç”¨ä¸å®šé•·åº¦åŸºå› åž‹åè€Œæœƒé€ æˆç¨‹å¼æ›´æ…¢æ‰¾åˆ°è§£ç”。
ç¬¬äºŒå€‹æ˜¯é©æ‡‰å‡½å¼(fitness function)ï¼›é©æ‡‰å‡½å¼æ˜¯ç”¨ä¾†æ¸¬è©¦å€‹é«”在ç¾åœ¨çš„環境ä¸çš„驿‡‰ç¨‹åº¦ï¼Œä¸€èˆ¬è€Œè¨€ï¼Œé©æ‡‰å¾—越好得分越高,也就會給它更高的機會傳éžå®ƒçš„åŸºå› çµ¦ä¸‹ä¸€ä»£ã€‚èˆ‰ä¾‹ä¾†èªªï¼Œå¦‚æžœè¦ç¨‹å¼è¦æ‰¾å‡ºåŸºå› ä¸å…¨éƒ½æ˜¯ 1 沒有 0 çš„å€‹é«”ï¼Œé‚£éº¼é©æ‡‰å‡½å¼å°±å¯ä»¥è¨ˆç®—ç¾åœ¨å€‹é«”çš„åŸºå› ä¸æœ‰å¹¾å€‹ 1。
驿‡‰å‡½å¼å…¶å¯¦å°±æ˜¯æ‰€è¬‚çš„"環境"ï¼›é©æ‡‰å‡½å¼ä¸ä½†è¦è€ƒæ…®å€‹é«”ç›¸å°æ–¼æ•´é«”的表ç¾ï¼Œé‚„è¦è€ƒæ…®åœ¨ä¸åŒæ™‚期給予個體ä¸åŒçš„壓力。例如,程å¼ä¸å¤ªå¯èƒ½åœ¨ä¸€é–‹å§‹å°±äº‚數產生出英文ä¸åˆæ–‡æ³•çš„å¥åï¼Œé€™æ™‚å€™å°±è¦æ¯”較寬容一點給分給鬆一點;ç‰åˆ°å¾ŒæœŸç¨‹å¼å·²ç¶“抓到語法的訣竅,那麼有一個拼å—錯誤,或許就會被扣ä¸å°‘分數。
ç¬¬ä¸‰å€‹æ˜¯é¸æ“‡å‡½å¼(selection function)ï¼›ä¸€èˆ¬ä¾†èªªï¼Œé¸æ“‡å‡½å¼éƒ½æœƒä¾ç…§é©æ‡‰å‡½å¼çš„åˆ†æ•¸ä¾†ä½œç‚ºåˆ¤æ–·ä¾æ“šï¼Œä½†é¸æ“‡æœ‰å¾ˆå¤šæ–¹å¼ï¼Œæœ€ç°¡å–®çš„就是å‰é¢ä¸€åŠå°±æ™‰ç´šï¼Œå¦å¤–也有ä¾ç…§å¾—åˆ†å¤šå¯¡åŠ æ¬Šè¨ˆç®—æ©ŸçŽ‡çš„ï¼Œç”šè‡³æ–¼ä¿é€åˆ°ä¸‹ä¸€ä»£çš„æ–¹å¼ã€‚鏿“‡å‡½å¼åšçš„就是"天擇"的動作。ä¸åŒçš„鏿“‡å‡½å¼å„有優缺點,也有其é“ç†æ‰€åœ¨ï¼Œè«‹å®¹ä»¥å¾Œå†è©³è¿°ã€‚
ç¬¬å››å€‹æ˜¯äº¤é…æ–¹å¼(crossover)ï¼›ç”±é¸æ“‡å‡½å¼ä¸é¸å‡ºçš„å…©å€‹å€‹é«”çš„åŸºå› è¦å¦‚何é‡çµ„?在固定的點切開一人一份,還是å¯ä»¥åœ¨ä»»æ„點切開來組åˆï¼Ÿå°ä¸å®šé•·åº¦çš„åŸºå› ï¼Œæ˜¯ç”¨æ¨¡çµ„/å€å¡Šçš„æ–¹å¼é‡çµ„交é…é‚„æ˜¯åŒæ¨£åœ¨å›ºå®šé»žåˆ‡é–‹ï¼Ÿé€™éƒ½è¦ä¾ç…§ç›®æ¨™çš„ä¸åŒè€Œèª¿æ•´ã€‚
最後是çªè®Šæ–¹å¼(mutation);個體在什麼樣的狀æ³ä¸‹æœƒçªè®Šï¼Ÿçªè®Šçš„åœ°æ–¹åˆæ˜¯åœ¨å“ªè£¡ï¼Ÿçªè®Šä¹‹å¾Œæœƒè®Šæˆä»€éº¼å€¼ï¼Ÿé€™äº›éƒ½æ˜¯å¯ä»¥è€ƒæ…®çš„。
ä»¥ä¸Šäº”å€‹æ˜¯åŸºå› æ¼”ç®—æ³•ç¨‹å¼è¨è¨ˆä¸ï¼Œæœ€é‡è¦çš„幾個架構,至於æ¯å€‹æž¶æ§‹æœ‰ä»€éº¼æ¨£çš„考é‡ï¼Œä¹‹å¾Œå†å°ˆæ–‡èªªæ˜Žã€‚