ขั้นตอนวิธีเชิงพันธุกรรม (Genetic Algorithm) กับการเลียนแบบกระบวนการทางธรรมชาติเพื่อค้นหาคำตอบ

ขั้นตอนวิธีเชิงพันธุกรรม (Genetic Algorithm – GA) เป็นเทคนิคทางปัญญาประดิษฐ์อย่างหนึ่งที่ใช้ในการค้นหา การเพิ่มประสิทธิภาพ และการเรียนรู้ (Search, Optimization, and Learning) ด้วยการเลียนแบบทฤษฎีการวิวัฒนาการทางธรรมชาติ โดยขั้นตอนวิธีเชิงพันธุกรรมมีจุดเด่นในด้านความทนทานต่อความผิดพลาดในการค้นหาคำตอบจากแหล่งข้อมูลที่มีความซับซ้อนและยากที่จะสร้างแบบจำลองด้วยสมการคณิตศาสตร์ เนื่องจากเป็นกระบวนการค้นหาที่ไม่มีความเฉพาะเจาะจงกับแบบจำลองหรือลักษณะเฉพาะของข้อมูลแบบใดแบบหนึ่ง[1] ด้วยเหตุนี้ขั้นตอนวิธีเชิงพันธุกรรมจึงถูกนำมาประยุกต์ใช้ในการแก้ปัญหาได้หลากหลายรูปแบบ ตั้งแต่การจัดตารางเวลา (Timetable Scheduling) การออกแบบระบบควบคุมอัตโนมัติ (Control System Design) การออกแบบเพื่อเพิ่มประสิทธิภาพของระบบท่อส่งก๊าซ (Gas Pipeline Optimization) และการพัฒนาระบบปัญญาประดิษฐ์ที่สามารถเรียนรู้จากสภาพแวดล้อมได้ (Genetic Based Machine Learning) เป็นต้น[2] โดยหลักการของขั้นตอนวิธีเชิงพันธุกรรม เป็นการเลียนแบบกระบวนการวิวัฒนาการตามธรรมชาติ เพื่อพัฒนาหรือทำการ “วิวัฒนาการ” คำตอบที่ดีที่สุดในการแก้ปัญหา

ทฤษฎีวิวัฒนาการของ Charles Darwin

Charles Darwin เสนอทฤษฎีวิวัฒนาการตามธรรมชาติในหนังสือ The Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life[3] เมื่อปี ค.ศ.๑๘๕๙ หลังจากที่ได้รวบรวมข้อมูลจากการร่วมเดินทางกับเรือ HMS Beagle ในการสำรวจทวีปอเมริกาใต้ โดยทฤษฎีของ Darwin กล่าวถึงความหลากหลายตามธรรมชาติและความแตกต่างของสายพันธุ์สิ่งมีชีวิต ว่าสายพันธุ์ของสิ่งมีชีวิตต่างๆ มีที่มาร่วมกัน แต่อิทธิพลจากสภาพแวดล้อมและการกลายพันธุ์ตามธรรมชาติอย่างต่อเนื่องทำให้เกิดความหลากหลายของสายพันธุ์ต่างๆ ขึ้นในที่สุด ซึ่งสายพันธุ์ที่มีความเหมาะสมกับสภาพแวดล้อมจะมีโอกาสอยู่รอดได้มากและมีโอกาสถ่ายทอดลักษณะทางพันธุกรรมไปสู่ลูกหลานรุ่นต่อไป ในขณะที่สายพันธุ์ที่ไม่เหมาะสมกับสภาพแวดล้อมจะมีโอกาสอยู่รอดได้น้อยและมีโอกาสสูญพันธุ์ไปในที่สุด โดยกระบวนการคัดเลือกสายพันธุ์ที่เหมาะสมนี้เรียกว่ากระบวนการคัดเลือกทางธรรมชาติ (Natural Selection) ซึ่งการเปลี่ยนแปลงของสภาพแวดล้อมย่อมส่งผลให้เกิดการเปลี่ยนแปลงลักษณะและจำนวนประชากรของสายพันธุ์ที่เหมาะสมไปด้วย รวมถึงสายพันธุ์ที่ไม่สามารถปรับตัวให้เข้ากับสภาพแวดล้อมได้ทันอาจสูญพันธุ์ไป ตัวอย่างเช่น การศึกษานกที่อาศัยอยู่ในแหล่งอาหารที่แตกต่างกันจะพบว่ามีการวิวัฒนาการลักษณะของปากเพื่อให้เหมาะสมกับลักษณะของอาหารตามสภาพแวดล้อมของนกสายพันธุ์นั้น (ภาพที่ ๑) กล่าวโดยสรุปได้ว่าทฤษฎีวิวัฒนาการของ Charles Darwin คือการเปลี่ยนแปลงอย่างต่อเนื่องของสายพันธุ์และลักษณะทางพันธุกรรมเพื่อให้เหมาะสมกับการเปลี่ยนแปลงสภาพแวดล้อม

ภาพที่ ๑ วิวัฒนาการของปากนกตามลักษณะของอาหารตามทฤษฎีของ Charles Darwin (ที่มา: Biology Online)

ทฤษฎีการถ่ายทอดลักษณะทางพันธุกรรมของ Gregor Mendel

Gregor Mendel ได้เสนอทฤษฎีการถ่ายทอดลักษณะทางพันธุกรรม[4] จากการศึกษาความแตกต่างในสายพันธุ์ของพืช การเกิดลักษณะพันธุ์ทาง (Hybrids) จากการผสมพันธุ์พืชสายพันธุ์เดียวกัน และการถ่ายทอดลักษณะทางพันธุกรรมในการเพาะต้นถั่ว (ทฤษฎีของ Darwin ได้กล่าวถึงการถ่ายทอดลักษณะทางพันธุกรรมเช่นกัน แต่ยังไม่สามารถอธิบายกลไกการถ่ายทอดได้อย่างชัดเจน) จากการศึกษาพบว่าลักษณะทางพันธุกรรมที่ถ่ายทอดไปยังรุ่นลูกหลาน เช่น รูปร่างและสีของดอกไม้ สามารถแบ่งออกได้เป็น ๒ ลักษณะ ได้แก่ ลักษณะเด่น (Dominant Characters) กับลักษณะด้อย (Recessive Characters) ซึ่งการเกิดลักษณะทางพันธุกรรมในรุ่นลูกหลานเป็นผลมาจากการถ่ายทอดลักษณะทางพันธุกรรมของรุ่นพ่อแม่ผ่านกระบวนการสืบพันธุ์ โดยมีอัตราการเกิดลักษณะต่างๆ ที่คงที่และสามารถคำนวณโอกาสในการเกิดลักษณะนั้นล่วงหน้าได้ ตัวอย่างเช่น การผสมพันธุ์พืชสายพันธุ์เดียวกันที่มีลักษณะสูงกับลักษณะแคระจะให้โอกาสในการเกิดต้นแคระ ๑ ใน ๔ ในลูกหลานรุ่นที่ ๒ (ภาพที่ ๒)

ภาพที่ ๒ การถ่ายทอดลักษณะทางพันธุกรรมตามทฤษฎีของ Gregor Mendel (ที่มา: HC Biology 9 )

ทฤษฎีการถ่ายทอดลักษณะทางพันธุกรรมของ Gregor Mendel เป็นที่มาของการค้นพบหน่วยพันธุกรรม หรือ ยีน (Gene) ซึ่งเป็นหน่วยย่อยของโครโมโซม (Chromosome) ในการกำหนดลักษณะทางพันธุกรรมของสิ่งมีชีวิต และทำหน้าที่ถ่ายทอดลักษณะทางพันธุกรรมดังกล่าวไปยังรุ่นลูกหลาน ทั้งในส่วนของลักษณะที่มองเห็นได้ภายนอก (Phenotype) และลักษณะทางชีวะเคมีภายใน (Genotype) โดยทฤษฎีของ Gregor Mendel สามารถสรุปได้เป็นกฎสำคัญ ๒ ข้อ กล่าวคือ กฎการแยกตัว (Law of Segregation) ที่กล่าวว่า โดยปกติแล้วยีนที่กำหนดลักษณะทางพันธุกรรมแต่ละชนิดจะมีลักษณะเป็นคู่ของอัลลีล (Allele) โดยในการสืบพันธุ์คู่ของอัลลีลของพ่อแม่จะถูกแยกออกจากกัน และลูกจะได้รับอัลลีลที่เป็นคู่จากการสุ่มผสมอัลลีลแต่ละข้างของพ่อแม่ กับกฎการจัดเรียงอย่างอิสระ (Law of Independent Assortment) ที่กล่าวว่า ยีนที่กำหนดลักษณะทางพันธุกรรมแต่ละชนิดจะถูกถ่ายทอดไปยังรุ่นลูกโดยไม่มีความเกี่ยวข้องกับยีนของลักษณะอื่น ตัวอย่างเช่น การถ่ายทอดยีนที่เป็นลักษณะของสีดอกไม้ จะเป็นไปโดยอิสระไม่มีความเกี่ยวข้องกับการถ่ายทอดยีนที่เป็นลักษณะของรูปร่างดอกไม้

หลักการของขั้นตอนวิธีเชิงพันธุกรรม (Genetic Algorithm)

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

จุดเด่นของการค้นหาด้วยขั้นตอนวิธีเชิงพันธุกรรม คือความอ่อนตัวและความทนทานต่อการความผิดพลาดและความแตกต่างของแหล่งข้อมูลที่ใช้ในการค้นหาคำตอบ โดยทั่วไปแล้วการแก้ปัญหาและการค้นหาคำตอบจากชุดข้อมูลด้วยกระบวนการค้นหาและทำให้มีผลดีที่สุดแบบดั้งเดิม (Conventional Search and Optimization Techniques) สามารถแบ่งออกได้เป็น ๓ แบบ[6] คือการค้นหาด้วยหลักการแคลคูลัส (Calculus Based Search) การค้นหาแบบแจกแจงทีละข้อมูล (Enumerative Search) และการค้นหาแบบสุ่ม (Random Search) ซึ่งแต่ละแบบมีจุดแข็งและจุดอ่อนที่แตกต่างกันตามลักษณะเฉพาะสำหรับชุดข้อมูลที่ต้องการค้นหาคำตอบ

ขั้นตอนวิธีเชิงพันธุกรรม เป็นแนวคิดใหม่ (Novel Approach) ในการแก้ปัญหาและค้นหาคำตอบด้วยการเลียนแบบกระบวนการทางธรรมชาติ ซึ่งเป็นการผสมผสานระหว่างการค้นหาแบบสุ่มกับการเปรียบเทียบคำตอบที่ได้คล้ายค้นหาแบบ Hill Climbing Technique แต่ขั้นตอนวิธีเชิงพันธุกรรมต่างจาก Hill Climbing Technique ตรงที่ขั้นตอนวิธีเชิงพันธุกรรมใช้การผสมชุดคำตอบที่มีความเหมาะสมและคัดเลือกคำตอบที่ดีกว่าเพื่อสร้างชุดคำตอบที่ดียิ่งขึ้น แทนการเปรียบเทียบคำตอบข้างเคียงเพื่อปรับทิศทางการค้นหา ทำให้ขั้นตอนวิธีเชิงพันธุกรรมมีจุดแข็งในการที่สามารถใช้ค้นหาคำตอบจากชุดข้อมูลที่ไม่ต่อเนื่องได้ และการใช้ชุดคำตอบจำนวนหนึ่งแทนการเปรียบเทียบระหว่างคำตอบแต่ละคำตอบทำให้การค้นหาด้วยขั้นตอนวิธีเชิงพันธุกรรมสามารถหาคำตอบที่ดีที่สุด (Global Minima / Global Maxima) ได้โดยไม่ติดอยู่กับคำตอบที่ดีเฉพาะที่ (Local Minima / Local Maxima) อย่างไรก็ดี ขั้นตอนวิธีเชิงพันธุกรรมเป็นวิธีที่ใช้การคำนวณค่อนข้างมากและใช้เวลานาน จึงทำให้เป็นวิธีการที่ไม่เป็นที่นิยมมากนัก แต่ความก้าวหน้าของเทคโนโลยีคอมพิวเตอร์ในปัจจุบันทำให้สามารถลดเวลาในการดำเนินการตามกระบวนการของขั้นตอนวิธีเชิงพันธุกรรมได้เป็นอย่างมาก จนเป็นที่สนใจของนักวิจัยในปัจจุบัน[7]

กระบวนการของขั้นตอนวิธีเชิงพันธุกรรม เป็นการเลียนแบบกระบวนการวิวัฒนาการและการถ่ายทอดลักษณะทางพันธุกรรมตามธรรมชาติ โดยเริ่มต้นจากการกำหนดปัญหาในรูปของยีนและโครโมโซม และการกำหนดฟังก์ชันความเหมาะสม (Fitness Function) เพื่อใช้เป็นพื้นฐานในกระบวนการวิวัฒนาการชุดคำตอบ จากนั้นจะกำหนดชุดคำตอบชุดแรก (Initial Generation) ในรูปของโครโมโซมด้วยการสุ่ม และนำชุดคำตอบนั้นเข้าสู่กระบวนการวิวัฒนาการ ซึ่งเป็นกระบวนการต่อเนื่องที่ประกอบด้วยตัวดำเนินการ (Operator) ได้แก่ การสืบพันธุ์ (Reproduction) การผสมยีน (Crossover) กับการกลายพันธุ์ (Mutation) และนำไปประเมินความเหมาะสมด้วยฟังก์ชันความเหมาะสม (Fitness Function) โดยมีรายละเอียดดังนี้

๑. การกำหนดยีนและโครโมโซมในขั้นตอนวิธีเชิงพันธุกรรม  เป็นขั้นตอนแรกของกระบวนการในขั้นตอนวิธีเชิงพันธุกรรม มักกำหนดในรูปของแถวของอักขระ (String of Alphabet) หรือแถวของเลขฐานสอง (Bit string) เทียบเท่ากับแถวโครโมโซมที่ประกอบด้วยยีนย่อยๆ ในลักษณะทางพันธุกรรมตามธรรมชาติ การกำหนดโครโมโซมอย่างง่ายในขั้นตอนวิธีเชิงพันธุกรรมมักกำหนดเป็นเซ็ตของยีนที่เป็นเลขฐานสอง เช่น {100101} โดยตำแหน่งของยีนแต่ละยีนในโครโมโซมจะแทนลักษณะขององค์ประกอบย่อยของชุดคำตอบของปัญหา ซึ่งโครงสร้างของโครโมโซม และชุดคำตอบที่ถอดรหัสจากโครโมโซมมาแล้ว จะเทียบได้กับ Genotype และ Phenotype ตามลำดับ ตามทฤษฎีของ Mendel อย่างไรก็ดี การกำหนดยีนและโครโมโซม สามารถกำหนดในรูปแบบอื่นได้ ขึ้นอยู่กับโครงสร้างขององค์ประกอบย่อยของคำตอบและลักษณะของปัญหาที่ต้องการแก้ ตัวอย่างเช่น อาจกำหนดโครโมโซมเป็นเซ็ตของยีนที่เป็นเลขฐานสิบ หรืออาจกำหนดโครงสร้างของโครโมโซมเป็น Matrix ของยีนที่เป็นตัวเลขหรือตัวอักษร ตามความต้องการและลักษณะของปัญหาตัวอย่างของการกำหนดยีนและโครโมโซมเพื่อใช้แสดงค่าของฟังก์ชัน f(x) = x2 ในช่วงจำนวนเต็ม x = [0,31] สามารถแสดงได้โดยโครโมโซมที่เป็นเซ็ตของยีนที่เป็นเลขฐานสองจำนวน ๕ หลัก ตามตัวอย่างดังนี้

โครโมโซม                            f(x) = x2
01101                                   169
11000                                   576
01000                                     64
10011                                   361
01100                                   144
11001                                   625
11011                                   729
10000                                   256

๒. ตัวเนินการ (Operator) ที่ใช้ในขั้นตอนวิธีเชิงพันธุกรรม  ประกอบด้วยตัวดำเนินการหลัก ได้แก่ การสืบพันธุ์ (Reproduction) การผสมยีน (Crossover) และการกลายพันธุ์ (Mutation) โดยมีลำดับการนำไปใช้ในขั้นตอนวิธีเชิงพันธุกรรม ตาม Pseudo Code ในภาพที่ ๓ ดังนี้

ภาพที่ ๓ Pseudo Code สำหรับขั้นตอนวิธีเชิงพันธุกรรม (ที่มา K.Leelawong, ICCS 451 Lecture Note, March 2009.)

การสืบพันธุ์ (Reproduction) เป็นการสร้างประชากรใหม่ด้วยการสำเนาซ้ำจากการคัดเลือกประชากรชุดเดิม ด้วยการใช้ความน่าจะเป็นตามคะแนนความเหมาะสมที่ได้จากการประเมินด้วยฟังก์ชันความเหมาะสม (Fitness Function) ซึ่งเป็นการเลียนแบบกระบวนการคัดเลือกตามธรรมชาติ (Natural Selection) โดยสายพันธุ์ตามธรรมชาติที่มีความเหมาะสมกับสภาพแวดล้อมมากกว่าจะมีโอกาสในการอยู่รอดและสืบทอดสายพันธุ์ได้มากกว่า วิธีการทั่วไปที่ใช้สำหรับการคัดเลือกประชากรในกระบวนการสืบพันธุ์ของขั้นตอนวิธีเชิงพันธุกรรม[8] ได้แก่ การคัดเลือกแบบ Roulette Wheel คือการสุ่มเลือกด้วยการกำหนดความน่าจะเป็นในการถูกคัดเลือกตามสัดส่วนของคะแนนความเหมาะสมของประชากรจากผลรวมคะแนนทั้งหมด การคัดเลือกแบบ Tournament คือการสุ่มจับคู่เปรียบเทียบจากกลุ่มประชากรและคัดเลือกผู้ชนะจากการเปรียบเทียบนั้น และการคัดเลือกแบบ Linear Ranking คือการจัดอันดับคะแนนความเหมาะสมของประชากรและกำหนดความน่าจะเป็นในการถูกคัดเลือกตามการจัดอันดับนั้น

การผสมยีน (Crossover) เป็นการนำเอาโครโมโซมในประชากรที่ได้จากการสืบพันธุ์มาจับคู่และผสมยีนระหว่างกันให้ได้โครโมโซมใหม่เพื่อหาลักษณะทางพันธุกรรมใหม่ที่มีความเหมาะสมดีกว่า วิธีการผสมยีนที่นิยมใช้คือการผสมยีนแบบจุดเดียว (Single-Point Crossover)[9] คือการสุ่มเลือกจุดผสมยีนเพียงจุดเดียว และสลับยีนระหว่างคู่โครโมโซมพ่อแม่เพื่อให้ได้โครโมโซมลูก ตามภาพที่ ๔ นอกจากนี้ยังมีวิธีการอื่นในการผสมยีน เช่นการผสมยีนแบบสองจุด (Two-Point Crossover) และการผสมยีนแบบสม่ำเสมอ (Uniform Crossover) เป็นต้น

ภาพที่ ๔ การผสมยีนแบบจุดเดียว (ที่มา Goldberg, D.E. Genetic Algorithms in Search, Optimization, and Machine Learning.)

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

๓. การกำหนดฟังก์ชันความเหมาะสม (Fitness Function)  เป็นการกำหนดเกณฑ์การประเมินความเหมาะสมของโครโมโซม ฟังก์ชันความเหมาะสมอยู่ในรูปแบบที่สามารถคำนวณได้ด้วยคอมพิวเตอร์ เช่น ฟังก์ชันเชิงเส้น หรือฟังก์ชันเมทริกส์ โดยใช้ข้อมูลจากโครโมโซม ได้แก่ ยีนและตำแหน่งของยีนในโครโมโซม นอกจากนี้ฟังก์ชันความเหมาะสมยังสามารถรวมการคำนวณข้อจำกัด (Constraints) เช่น ค่าใช้จ่ายและทรัพยากรอื่นที่จำเป็น

สรุป

ขั้นตอนวิธีเชิงพันธุกรรม เป็นเทคนิคทางปัญญาประดิษฐ์ที่ใช้ในการค้นหาคำตอบด้วยการเลียนแบบกระบวนการวิวัฒนาการตามธรรมชาติ ที่มีความทนทานต่อความผิดพลาดและความหลากหลายของรูปแบบข้อมูล จุดเด่นของการค้นหาคำตอบด้วยขั้นตอนวิธีเชิงพันธุกรรม คือการค้นหาคำตอบจากชุดข้อมูลจำนวนมาก (กลุ่มประชากรของโครโมโซม) แทนการพิจารณาข้อมูลทีละคำตอบในวิธีการค้นหาแบบอื่นๆ โดยหลักการของขั้นตอนวิธีเชิงพันธุกรรมคือการคัดเลือกคำตอบที่ดีกว่าจากชุดคำตอบหรือกลุ่มประชากร และการผสมผสานรายละเอียดข้อมูลย่อยในชุดคำตอบ (การผสมผสานยีนในโครโมโซม) เพื่อค้นหาคำตอบที่ดียิ่งขึ้น ร่วมกับการสุ่มเปลี่ยนข้อมูลย่อยหรือการกลายพันธุ์เพื่อป้องกันการยึดติดกับคำตอบที่ดีเฉพาะที่ (Local Minima / Local Maxima) ด้วยเหตุนี้ ขั้นตอนวิธีเชิงพันธุกรรมเป็นกระบวนการค้นหาคำตอบที่กำลังเป็นที่สนใจในงานวิจัยด้านต่างๆ ในปัจจุบัน


อ้างอิง

[1] Goldberg, D.E. Genetic Algorithms in Search, Optimization, and Machine Learning. (Massachusettes: Addison-Wesley Publishing, 1989), p.7.

[2] Ibid., pp.125-141, pp.261-264.

[3] Darwin, Charles.  The Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. (6th ed.) (1872).

[4] Mendel, Gregor. “Versuche über Pflanzenhybriden.” Verhandlungen des naturforschenden Vereines in Brünn. (1865).

[5] Russel, Stuart and Norvig, Peter. Artificial Intelligence: A Modern Approach. (1995).

[6] Goldberg, op.cit.

[7] Davis, L. D., and Mitchell, M. Handbook of Genetic Algorithms. (New York: Van Nostrand Reinhold, 1991).

[8] “Fundamental of Genetic Algorithms Lecture Note.” Artificial Intelligence 1 June 2010 <http://www.myreaders.info/09_Genetic_Algorithms.pdf&gt; (31 May 2012). p.23.

[9] Ibid. pp.27-28.

[10] Goldberg, op.cit. p.4.

2 thoughts on “ขั้นตอนวิธีเชิงพันธุกรรม (Genetic Algorithm) กับการเลียนแบบกระบวนการทางธรรมชาติเพื่อค้นหาคำตอบ

  1. Pingback: การประยุกต์ใช้ขั้นตอนวิธีเชิงพันธุกรรม (Genetic Algorithm) ในการกำหนดกำลังรบ – กรณีศึกษากำลังรบทางเ

  2. Pingback: ป้ายโฆษณาอัจฉริยะทำงานด้วยระบบปัญญาประดิษฐ์ - Eworld นิตยสารไอทีสำหรับธุรกิจและเอนเทอร์ไพรซ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s