วิวัฒนาการสองชั้นภายใน-ภายนอกแยก “การแก้ปัญหางานเฉพาะเจาะจง” ออกจาก “การปรับปรุงวิธีแก้ปัญหา” ให้เป็นสองวงจรวิวัฒนาการที่โต้ตอบกัน:ชั้นในมุ่งเน้นการแก้ปัญหางานและสร้างผลการดำเนินงาน ส่วนชั้นนอกจะวิวัฒนาการการตั้งค่าและกลยุทธ์ของอัลกอริทึมชั้นในโดยอิงจากผลการดำเนินงานเหล่านี้ จึงเกิดเป็นกลไกปรับปรุงอัลกอริทึมที่สามารถปรับตัวอัตโนมัติได้ ไม่ใช่แค่การนำอัลกอริทึมสองตัวมาต่อกันแบบง่าย ๆ แต่เป็นการเพิ่มชั้นควบคุมเมตา (meta-layer) ที่วิวัฒนาการได้ไว้เหนือชั้นการแก้ปัญหางาน ทำให้ระบบเปลี่ยนจาก “การกำหนดอัลกอริทึมด้วยมือ” ไปสู่ “อัลกอริทึมที่ปรับให้เข้ากับงานได้เอง”
การแบ่งหน้าที่ระหว่างชั้นในและชั้นนอก
- หน้าที่ชั้นใน: แก้ปัญหางานจริง สร้างคำตอบที่เป็นไปได้ ค่าฟังก์ชันเป้าหมาย และข้อมูลผลการดำเนินงาน รับหน้าที่ “ทำโจทย์ให้สำเร็จ”
- หน้าที่ชั้นนอก: ไม่แก้ปัญหางานต้นทางโดยตรง แต่วิวัฒนาการการตั้งค่า กลยุทธ์ และพารามิเตอร์ของอัลกอริทึมชั้นใน รับหน้าที่ “ทำให้วิธีการทำโจทย์ดีขึ้น”
- วงจรป้อนกลับ: ผลการประเมินของงานชั้นในถูกรวมเป็นสัญญาณค่าความเหมาะสมของชั้นนอก ใช้สำหรับคัดเลือก กลายพันธุ์ และอัปเดตการตั้งค่าชั้นในที่ดีขึ้น
- กลไกปรับตัวอัตโนมัติ: ชั้นนอกปรับกลยุทธ์ชั้นในอย่างต่อเนื่องตามการเปลี่ยนแปลงของงานและสภาพแวดล้อม
- การสนับสนุนแบบขนาน: GPU สามารถรันงานชั้นในจำนวนมากแบบขนาน ให้ข้อมูลป้อนกลับทางสถิติที่เพียงพอต่อวิวัฒนาการชั้นนอกยิ่งขึ้น และลดต้นทุนการรอคอยระหว่างการค้นหา
MetaDE: ใช้วิวัฒนาการปรับปรุงวิวัฒนาการ
ยกตัวอย่าง MetaDE ชั้นใน DE รับผิดชอบงานปรับให้เหมาะสมเฉพาะเจาะจง ส่วนอัลกอริทึมวิวัฒนาการชั้นนอกจะคัดเลือกและปรับการตั้งค่าและกลยุทธ์ของ DE ตามผลการดำเนินงานของชั้นใน ผลลัพธ์จากงานชั้นในจำนวนมากจะย้อนกลับมาชี้แนะการเลือกการตั้งค่าของชั้นนอก เกิดเป็นวงจรป้อนกลับสองชั้นแบบ “ใช้วิวัฒนาการปรับปรุงวิวัฒนาการ”
วัตถุประสงค์การเรียนรู้
เข้าใจความสัมพันธ์เชิงความร่วมมือระหว่างการแก้ปัญหางานของชั้นในและการปรับกลยุทธ์ของชั้นนอก เข้าใจว่าวิวัฒนาการของวิธีการคือการเพิ่มชั้นควบคุมเมตาที่วิวัฒนาการได้ไว้เหนือชั้นใน และสามารถอธิบายได้ว่าการประมวลผลขนานด้วย GPU ให้ข้อมูลป้อนกลับทางสถิติที่เชื่อถือได้มากกว่าต่อชั้นนอกได้อย่างไร
