ประโยชน์ของการใช้อัลกอริทึมทางพันธุกรรม


13

ทุกคนสามารถอธิบายถึงประโยชน์ของอัลกอริทึมทางพันธุกรรมให้ฉันเปรียบเทียบกับวิธีการค้นหาและการเพิ่มประสิทธิภาพแบบดั้งเดิมอื่น ๆ ได้หรือไม่


4
GA ประเภทใด เปรียบเทียบกับวิธี "ดั้งเดิม" แบบใด หากไม่มีสิ่งนี้สิ่งหนึ่งอาจพูดได้ว่า "การบรรจบกันเร็วขึ้นและอันตรายน้อยลงจากการติดอยู่ในท้องถิ่นที่เหมาะสมในบางแอพพลิเคชั่น" เช่นเดียวกับวิธีการเพิ่มประสิทธิภาพอื่น ๆ

คำตอบ:


19

เหตุผลหลักในการใช้อัลกอริทึมทางพันธุกรรมคือ:

  • มี optima ท้องถิ่นหลายรายการ
  • ฟังก์ชั่นวัตถุประสงค์ไม่ราบรื่น (ดังนั้นวิธีการอนุพันธ์ไม่สามารถนำมาใช้)
  • จำนวนพารามิเตอร์มีขนาดใหญ่มาก
  • ฟังก์ชั่นวัตถุประสงค์คือเสียงดังหรือสุ่ม

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


3
+1 ฉันเคยติดใจกับ GA แต่ตอนนี้มักจะหลีกเลี่ยงพวกเขา สำหรับฉันดูเหมือนว่าพวกเขาผ่านขั้นตอนการขัดต่อ hype เป็นแรงบันดาลใจของวิธีการแบบอะนาล็อกกับธรรมชาติ (ACO ฯลฯ ) แล้วจางหายกลับเข้าไปในช่อง เรียงความเหมือน Neural Nets ในอคติส่วนตัวของฉัน (ที่กล่าวว่าฉันเพิ่งใช้ ES เมื่อเร็ว ๆ นี้)
Wayne

1
เวย์นฉันเห็นด้วย ฉันมักจะพูดว่า "GA" สำหรับกลยุทธ์วิวัฒนาการใด ๆ และการผสมในเทคนิคอื่น ๆ ก็มักจะเป็นความคิดที่ดีเช่นกัน GA ดั้งเดิมไม่มีประสิทธิภาพอย่างน่ากลัว
Patrick Burns

7
  • แนวคิดง่ายต่อการเข้าใจ
  • แบบแยกส่วนจากแอปพลิเคชัน
  • รองรับหลายวัตถุประสงค์
  • การปรับให้เหมาะสมดีสำหรับสภาพแวดล้อมที่“ มีเสียงดัง”
  • คำตอบเสมอ คำตอบจะดีขึ้นเมื่อเวลาผ่านไป
  • โดยเนื้อแท้ขนาน กระจายได้ง่าย

ในงานของฉันการขนานที่ง่ายเป็นปัจจัยที่สำคัญที่สุดเพียงอย่างเดียวในการใช้อัลกอริทึมทางพันธุกรรมแทนที่จะเป็นสิ่งที่ต้องการการจำลองการหลอม
veryshuai

6

ขั้นตอนวิธีเชิงพันธุกรรมแตกต่างจากวิธีการค้นหาและการเพิ่มประสิทธิภาพแบบดั้งเดิมในสี่จุดสำคัญ:

  • อัลกอริทึมทางพันธุกรรมค้นหาแบบขนานจากประชากรของคะแนน ดังนั้นจึงมีความสามารถในการหลีกเลี่ยงการถูกขังอยู่ในโซลูชันที่ดีที่สุดในท้องถิ่นเช่นวิธีการดั้งเดิมซึ่งค้นหาจากจุดเดียว
  • อัลกอริธึมทางพันธุกรรมใช้กฎการเลือกความน่าจะเป็นไม่ใช่กฎเกณฑ์ที่กำหนดไว้
  • อัลกอริทึมทางพันธุกรรมทำงานบนโครโมโซมซึ่งเป็นรุ่นที่เข้ารหัสของพารามิเตอร์ที่เป็นไปได้ของโซลูชันแทนที่จะเป็นพารามิเตอร์เอง
  • อัลกอริทึมทางพันธุกรรมใช้คะแนนความเหมาะสมซึ่งได้มาจากฟังก์ชั่นวัตถุประสงค์โดยไม่มีข้อมูลอนุพันธ์หรือข้อมูลเสริมอื่น ๆ

3

อัลกอริทึมทางพันธุกรรมเป็นวิธีสุดท้าย สิ่งเหล่านี้มีประโยชน์ก็ต่อเมื่อโซลูชันการวิเคราะห์ไม่สามารถทำได้ (ดูคำตอบของ Patrick สำหรับสาเหตุที่พบบ่อยที่สุด) และคุณมีเวลา CPU มากในมือของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.