Genetic Algorithm


[Script จากรายการ Class A โดยอาจารย์ชยพล]

วิทยาศาสตร์คอมพิวเตอร์ประยุกต์เรื่องรอบตัวต่างๆมาใช้ในการหาคำตอบตลอดเวลาครับ เพราะนักวิทยาศาตร์คอมพิวเตอร์คือนักหาคำตอบ ไม่ได้ด้วยเล่ห์ ก็เอาด้วยกล ว่างั้น

วิธีหนึ่งที่ธรรมชาติทำอยู่ตลอดคือ Natural Selection การคัดเลือกโดยธรรมชาติ ผู้ที่เหมาะสม ผู้ที่แข็งแกร่งจะอยู่รอด และสืบทอดต่อมาผ่านการวิวัฒนาการ Gene ของมนุษย์ก็เช่นกัน Gene ที่ด้อย ก็จะหายไป Gene ที่สำคัญต่อการดำรงชีวิตก็จะยังอยู่และยังสามารถพัฒนาต่อไปให้แกร่งขึ้น เช่นคนอาฟริกาผิวเข้มเพื่อดำรงชีวิตอยู่ภายใต้แสงแดดได้

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

เราใช้เรื่อง Natural Selection นี้มาประยุกต์กับ Gene โดยมองการตั้งค่าคือ ค่า่ของแต่ละ Chromosome ใน Gene ตัว Chromosome ที่ก่อให้เกิดผลดี ก็จะถูกเก็บไว้ ก็คือ ค่านั้นๆจะถูกเก็บไว้ และค่าที่ไม่ดีก็จะหายไปในการวิวัฒนาการรอบต่อไป

เช่นถ้ามีเกม RPG สักเกม ที่เรามีหน้าที่ปรับแต่งค่าของตัวละคอน เราใส่ชุดเกราะแบบนี้ ใส่ดาบแบบนี้ ใส่ท่าไม้ตายแบบนี้ ปรับ Skill แบบนี้ แล้วปล่อยให้ไปสู้ เราทำได้เพียงนั่งดูตัวละคอนเราสู้จากค่าที่ปรับไว้ แล้วถ้าผลออกมาดี แปลว่าค่าชุดนี้เหมาะกับการต่อสู้แบบนี้ แต่หากแพ้กลับมา เราก็จะปรับแต่งแล้วกลับไปสู้ใหม่ จนกระทั่งพบค่าที่เหมาะสม นี่แหล่ะครับ Genetic Algorithm เราสามารถประยุกต์ได้อีกมากครับ

Comments