อัลกอริทึมทางพันธุกรรม - การกลายพันธุ์

รู้เบื้องต้นเกี่ยวกับการกลายพันธุ์

ในแง่ง่ายๆการกลายพันธุ์อาจถูกกำหนดให้เป็นการปรับแต่งแบบสุ่มเล็ก ๆ ในโครโมโซมเพื่อให้ได้โซลูชันใหม่ ใช้เพื่อรักษาและแนะนำความหลากหลายในประชากรทางพันธุกรรมและมักใช้กับความน่าจะเป็นต่ำ -pm. หากความน่าจะเป็นสูงมาก GA จะลดลงเป็นการค้นหาแบบสุ่ม

การกลายพันธุ์เป็นส่วนหนึ่งของ GA ซึ่งเกี่ยวข้องกับ "การสำรวจ" ของพื้นที่ค้นหา มีการสังเกตว่าการกลายพันธุ์มีความสำคัญต่อการบรรจบกันของ GA ในขณะที่ครอสโอเวอร์ไม่ใช่

ตัวดำเนินการกลายพันธุ์

ในส่วนนี้เราจะอธิบายถึงตัวดำเนินการการกลายพันธุ์ที่ใช้บ่อยที่สุด เช่นเดียวกับตัวดำเนินการครอสโอเวอร์นี่ไม่ใช่รายการที่ละเอียดถี่ถ้วนและผู้ออกแบบ GA อาจพบว่าวิธีการเหล่านี้รวมกันหรือตัวดำเนินการกลายพันธุ์เฉพาะปัญหามีประโยชน์มากกว่า

การกลายพันธุ์พลิกบิต

ในการกลายพันธุ์ของการพลิกบิตนี้เราจะเลือกบิตแบบสุ่มอย่างน้อยหนึ่งบิตและพลิกมัน ใช้สำหรับ GAs ที่เข้ารหัสไบนารี

การรีเซ็ตแบบสุ่ม

Random Resetting เป็นส่วนขยายของการพลิกบิตสำหรับการแทนค่าจำนวนเต็ม ในสิ่งนี้ค่าสุ่มจากชุดค่าที่อนุญาตจะถูกกำหนดให้กับยีนที่เลือกแบบสุ่ม

สลับการกลายพันธุ์

ในการกลายพันธุ์ของสว็อปเราเลือกสองตำแหน่งบนโครโมโซมแบบสุ่มและเปลี่ยนค่า ซึ่งเป็นเรื่องปกติในการเข้ารหัสตามการเปลี่ยนแปลง

การกลายพันธุ์ของการแย่งชิง

การกลายพันธุ์ของการแย่งชิงยังเป็นที่นิยมในการแสดงการเปลี่ยนแปลง จากโครโมโซมทั้งหมดชุดย่อยของยีนจะถูกเลือกและค่าของมันจะถูกรบกวนหรือสับแบบสุ่ม

การกลายพันธุ์ผกผัน

ในการกลายพันธุ์แบบผกผันเราเลือกชุดย่อยของยีนเช่นในการกลายพันธุ์ช่วงชิง แต่แทนที่จะสับชุดย่อยเราเพียงแค่สลับสตริงทั้งหมดในชุดย่อย